Commit Graph

904 Commits

Author SHA1 Message Date
Viktor Szakats
addea6d04e 2008-05-22 08:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
- contrib/hbmisc/dbftools.c
   * contrib/hbmisc/common.mak
   * contrib/hbmisc/Makefile
     - Removed to avoid collision with similar file in hbct.
       Notice the content was also similar, except that 
       in hbct it was updated and extended. There was also 
       FIELDTYPE() implemented which was colliding with 
       function with the same name in core.

   * include/hbextern.ch
   * source/rdd/dbcmd.c
   * source/rdd/dbdrop.c
   * source/rdd/dbexists.c
   * source/rdd/fieldhb.c
     + Added HB_ prefixed versions of DBDROP(), 
       DBEXISTS(), FIELDDEC(), FIELDLEN(), FIELDTYPE()

   * source/rdd/rddinfo.c
     ! Comment.

   * tests/multifnc/Makefile
     ! Updated lib names.

   * contrib/hbapollo/apollo.c
     ! Fixed MSVC errors.

   * contrib/mtpl_b32.bat
   * contrib/mtpl_vc.bat
     ! Removed one obsolete line.
     + Now defines _HB_MAKELOG.

   * contrib/hbapollo/make_b32.bat
   * contrib/hbapollo/make_vc.bat
   * contrib/hbfimage/make_b32.bat
   * contrib/hbgd/make_b32.bat
   * contrib/hbhpdf/make_b32.bat
   * contrib/hbmysql/make_b32.bat
   * contrib/hbodbc/make_b32.bat
   * contrib/hbodbc/make_vc.bat
   * contrib/hbpgsql/make_b32.bat
   * contrib/hbpgsql/make_vc.bat
   * contrib/hbw32ddr/make_b32.bat
   * contrib/hbw32ddr/make_vc.bat
   * contrib/hbzlib/make_b32.bat
   * contrib/rddads/make_b32.bat
     + Redirects .lib creation (implib, lib) output to log file.

   * contrib/xhb/hbcompat.ch
     + Added some more converions for xhb code.

   * contrib/rddads/ads1.c
     + Added two TODOs. (to adsDrop and adsExists)

   * source/pp/hbppgen.c
     ! MSVC warning fixed.

   * make_vc.mak
     ! Typo in prev commit.
2008-05-22 06:09:35 +00:00
Viktor Szakats
40c3c7c2a8 2008-05-15 03:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/db_brows.prg
     ! Removed note of hbmisc requirement.

   * tests/Makefile
   - tests/twirl.prg
   + contrib/hbmisc/tests/twirl.prg
     ! Test moved to local test dir.

   * source/vm/cmdarg.c
     ! hb_cmdargIsInternal(): Removed '--' as internal option marker, 
       since it will disallow any application code to accept 
       such options. We will now stick with '//' prefix for 
       Clipper compatible internal options.

   * contrib/hbzlib/tests/myzip.prg
   * contrib/hbzlib/tests/myunzip.prg
   * contrib/hbzlib/hbmzip.c
     + Added support for password on Harbour API level.
     ; NOTE: This password is not at the moment compatible 
             with .zip passwords added by standard .zip 
             utilities.
2008-05-15 02:26:49 +00:00
Viktor Szakats
0e243cee8e 2008-05-14 13:04 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/bld4dll.bat
   * tests/gnu_test.bat
   - tests/test.ch
   - tests/testinc.prg
   - tests/db_brows.ch
   * tests/db_brows.prg
   - tests/entries.ini
   - tests/hversion.prg
   - tests/cgi.ch
   * tests/testcgi.prg
     ! Cleanups.
2008-05-14 11:05:51 +00:00
Viktor Szakats
9f2b4366d7 2008-05-12 19:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/Makefile
     + Added hbpcre to the list of libs.
2008-05-12 17:33:27 +00:00
Viktor Szakats
006724dc11 2008-05-12 14:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/bld.bat
     + Added hbpcre to lib list.

   * source/rtl/hbini.prg
     ; Some formatting.

   * tests/Makefile
   + tests/parseini.prg
   + tests/parseini.ini
   + tests/parseins.ini
     + Added .ini handling tests. Adapted from xhb.
2008-05-12 12:26:37 +00:00
Viktor Szakats
e5c0ea79ba 2008-05-08 21:14 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/ads.ch
   * contrib/rddads/rddads.h
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
   * contrib/rddads/adsmgmnt.c
     * Lots of minor code cleanups, formatting fixes, optimizations, 
       and several minor fixes.
     ! Lib version related fixes. (some features were not updated 
       for newer ACE versions).
     + Automatic version detection extended with 6.20 and 5.00.
       6.00 is still missing, if someone has it, pls send it to 
       me. Even 6.11-8.00 versions disappeared from the vendor's 
       site lately.
     + Added support for all possible properties in
       ADSDDGETDATABASEPROPERTY()
       ADSDDSETDATABASEPROPERTY()
     * ADSMGGETUSERNAMES() will now always return an array of 
       users with 6 elements in each item, all data which 
       is not available for the compiled version of the lib, 
       will be filled with empty strings. Previously the 
       number of elements depended on the compiled version.
     ; Besides the above, no functionality change should be 
       experienced.
     ; Please test.

   * contrib/rddads/make_b32.bat
   * contrib/rddads/make_vc.bat
     ! Changed to never look for ace32.dll in system32 dir 
       to generate the ace32.lib.
     ! Some other fixes to prev change where ADS_VER 
       was obsoleted.

   * contrib/hbct/ctwfunc.c
   * contrib/hbct/ctextern.ch
     + Added hbct_MaxRow()/hbct_MaxCol() emulating 
       the original overloaded MaxRow()/MaxCol() 
       functions of CT3 lib.

   * source/rtl/maxrow.c
     * Reverted previous change on request, thus introducing 
       a 3rd party lib specific function parameter extension.
       Users of CT3 lib's overloaded MaxRow(.T.)/MaxCol(.T.) 
       functions are encouraged to change the app code 
       to rather use hbct_MaxRow()/hbct_MaxCol() 
       or hb_ScrMaxRow()/hbScrMaxCol(). These functions are 
       easy to implement in CA-Cl*pper too (simple wrappers 
       to Max*()).

   * source/compiler/hbmain.c
     * Reverted previous change on request. Some outputs 
       are not exactly CA-Cl*pper compatible this way, but 
       functionally it probably doesn't matter for most ppl.

   * contrib/xhb/hbcompat.ch
     ! Corrected MaxRow()/MaxCol()/hb_ScrMaxRow()/hb_ScrMaxCol()
       translations. (hopefully, someone using xhb please test)

   - tests/ctwtest.prg
   + contrib/hbct/tests/ctwtest.prg
     * Moved CT lib specific test to contrib local test 
       directory (containing lots of other CT tests 
       already). Building these is yet to be solved.

   * contrib/hbct/tests/math.prg
   * contrib/hbct/tests/trig.prg
   * contrib/hbct/tests/num1.prg
     ! Added SVN header.

   * include/hbgtinfo.ch
     * Minor comment.

   * contrib/rddads/make_gcc.sh
     * Help text sync with *.bat.
2008-05-08 19:26:20 +00:00
Viktor Szakats
afe85d8f42 2008-04-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     ! Fixed to not extend ::left(), ::right(), ::backspace(), 
       ::delete() with an internally used (but also externally 
       accessible) extra parameter. This is interface is now 
       made fully C5x compatible.

   * tests/rto_tb.prg
     ! Fixed to override __eInstVar53() (instead of _eInstVar())

   * include/hbextern.ch
   * common.mak
   * source/rdd/Makefile
   + source/rdd/dbcmdhb.c
     + Added non-internal versions of __dbPack() and __dbZap(), 
       named: hb_dbPack() and hb_dbZap(). If group needs it I 
       can add dbPack() and dbZap() too in separate files to 
       lessen the problem of name collision with app code.

   * source/rtl/inkey.c
     * Formatting.
     + HB_KEYPUT(): Now possible to pass an array with string elements.
       (see feature in xhb/__KEYBOARD())
     * HB_KEYPUT(): For string parameter it now uses hb_inkeySetText()
       API, rather than a loop of hb_inkeyPut()s.

   * contrib/xhb/xhbfunc.c
     ! xhb flavour of __KEYBOARD() sync fixed. (hb_inkeySetText() got 
       extended in xhb, so here we're using hb_inkeyPut() for single 
       numeric key codes).
     ; Now same code is used as in HB_KEYPUT().

   * source/vm/memvars.c
   * source/vm/hvm.c
   * source/vm/arrayshb.c
     + Added HB_C52_STRICT branches for the remaining RTEs 
       which produced different results in hbtest.
     ! Fixed HB_C52_STRICT RTE for AFill().
     ; NOTE: It's not possible to build Harbour currently when 
             HB_C52_STRICT, so it's not easy to test these.

   * include/hbclass.ch
     ! Typos.

   * source/rtl/memoedit.prg
   * source/rtl/achoice.prg
   * source/rtl/treport.prg
     * Formatting.

   * source/rtl/tobject.prg
     * Formatting.
     % Minor opt.
2008-04-26 06:39:37 +00:00
Viktor Szakats
33069925d0 2008-04-23 20:11 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     + Some protected object vars renamed to better show their roles.
     ! Fixed ::setFocus() to not mess with width related vars.
     ! Fixed ::PutMask() to not mess with display width.
     ! Fixed ::varPut() to only accept certain var types.
     ! Fixed ::picture() to more consistently reset picture related vars.
     ! Hack added to ::Reform() to try to set ::nDispLen like CA-Cl*pper.
     ! Fixed ::posInBuffer() to only work when in focus.
       (I didn't test if this is XPP compatible, but it surely avoids 
       a possible RTE now.)
     ! Removed ::display() non-compatible 'lForce' parameter.
     ! Minor cleanups.
     ; NOTE: Now o[16] (aka ::nDispLen) is almost totally CA-Cl*pper 
             compatible.

   * tests/rto_get.prg
     + Added some more tests.
2008-04-23 18:14:54 +00:00
Viktor Szakats
1100bf13dc 2008-04-23 14:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     ! Fixed o[13] and o[14] content (they were swapped) in C5.3 mode.
     ! Fixed ::varPut() to not have the extra Harbour parameter.
     ! Fixed ::picture to not mess with ::nDispLen when @S is used.
       Now solved with new internal var ::nPicLen.
     % ::ResetPar() internal method moved inside ::display()
     ! Fixed ::updateBuffer() to set ::xVarGet (o[19] in C5.3 mode 
       and o[11] in C5.2 mode when ::hasFocus) to ::original.
     ! Fixed ::display() behavior when not in focus.
     ! Fixed ::reset() to be more compatible by setting ::xVarGet.
     ! Fixed ::undo() for non-gettable variable types.
     ! Fixed ::killFocus() to never call ::assign().
     ! Fixed ::varPut() to never touch internal vars (old 'lReFormat' mode).
     ! Fixed ::varGet() to not touch ::xVarGet internal var.
     ! Fixed ::insert()/::overStrike() to call ::display() in 
       out of bound and rejected cases.
     ! Fixed ::insert()/::overStrike() to not set ::Rejected 
       when position is out of bound.
     ! Fixed internal ::PutMask() to never initiate a ::block 
       evaluation.
     ; NOTE: Since Get() object is a highly complicated beast, 
             bumps are expected. Pls test this code with your 
             applications and report any problems with reduced 
             code snippet. I'll include those tests in the 
             regression test suite.
             Notice that after these changes, the number of 
             differences between C5.x and Harbour are further 
             reduced, especially regarding the "object as array" 
             kind of access and regarding block evaluation.
             Currently, differences are mostly present in o[16] 
             in C5.3 mode, plus some odd cases testing 
             mostly invalid picture values, and a few other minor 
             differences here and there. Plus of course further 
             differences may happen to exist in cases not covered 
             by rto_get.prg.

   * source/rtl/einstvar.prg
     ! Fixed to only include _eInstVar() if HB_C52_UNDOC is 
       #defined (it is by default).

   * source/rtl/tbrowse.prg
     + Added missing XPP methods (three synomyms to 
       existing methods).

   * tests/rto_get.prg
     + Added even more tests.
     + Added some additional info about errors.
     ! Fixed ::block SETGET tracing.
2008-04-23 12:08:49 +00:00
Viktor Szakats
b007d20e6b 2008-04-21 14:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/rto_get.prg
   * tests/rto_tb.prg
     + Added more tests.
     + Enabled object as array results by default.
     + More details for TGet test results.

   * bin/bld_os2.cmd
     ! Fixed lib names. Thanks David.

   * source/rtl/tobject.prg
     * Formatting.

   * source/rtl/tget.prg
     ! Delimiter colors in C5.3 mode made compatible.
     ! ::colorSpec handling in C5.3 mode made compatible 
       for some invalid parameter types.
     ! Fixed handling decimals in :row, :col, :pos 
       methods.
     ! Fixed to compile in C5.2 mode without warning
       (introduced in recent commit).

   * source/rtl/tbrowse.prg
     ! Fixed handling decimals in :nTop, :nBottom, :nLeft, :nRight.
     + Added unfinished XPP method :viewArea()
     + Added untested XPP method :firstScrCol()
     ; Few minor formatting.

   * include/hbextern.ch
   * source/rtl/einstvar.prg
     + Added _eInstVar52() which is the C5.2 compatible version 
       of this function. It also replicates a bug.
     * _eInstVar() renamed to _eInstVar53().
     * _eInstVar() made a stub to call _eInstVar53().

   * source/rtl/checkbox.prg
   * source/rtl/listbox.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/scrollbr.prg
   * source/rtl/symbol.prg
   * source/rtl/teditor.prg
   * source/rtl/tget.prg
   * source/rtl/tget1.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tmenusys.prg
   * source/rtl/tpopup.prg
   * source/rtl/ttopbar.prg
     * Formatting (EXPORT: -> EXPORTED:)

   * contrib/hbtip/thtml.prg
   * contrib/hbtip/ftpcln.prg
     ! Fixed to work regardless of SET EXACT setting.
     ; NOTE: I'd suggest an optional compiler warning 
             to detect plain "=" usage. It's bad practice 
             in most cases.

   TODO: make_os2_gcc.cmd -> make_gcc_os2.cmd
   TODO: TGET test case for my vtgetlst problem.
   TODO: TGET fix for the above.
   TODO: _eInstVar() -> _eInstVar53()
2008-04-21 12:56:13 +00:00
Viktor Szakats
a1a3a527f7 2008-04-18 01:04 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/rto_tb.prg
     + Added some assigment tests using numerics with decimals.
     ! Fixed typo in prev commit.
2008-04-17 23:08:10 +00:00
Viktor Szakats
4d2778e296 2008-04-18 00:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/rto_tb.prg
     + Added some C5.3 var tests.
     + Added object as array info.
     * Suppressed _eInstVar() difference by including 
       a strictly compatible copy of it for Harbour.
     * Exclude incompatible binary array elements of the object.

   * tests/rto_get.prg
     * Exclude incompatible binary array elements of the object.

   + bin/bld_os2.cmd
     + Added OS/2 build command file.
     ; Someone pls test and update the content if needed.
2008-04-17 22:03:40 +00:00
Viktor Szakats
5941be9152 2008-04-15 13:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     + TGet instance variable ordering in class definition 
       made CA-Cl*pper compatible, so that it's now possible to 
       access object vars as array elements the same way.
       Read-only access is strongly recommended when using this 
       unofficial access method, and the practice is overall 
       discouraged.
       NOTE: oGet[8] is not supported in Harbour.
       NOTE: in oGet[11] (in C52 mode), oGet[17] (in C53 mode) 
             only the first char is compatible, which is the 
             type. The rest is 'trash' in CA-Cl*pper.

   * tests/rto_get.prg
     + Extended tests with regards to array access of the 
       TGet object.

   * source/rtl/tbcolumn.prg
     * Formatting.

   * source/common/hbstr.c
   * source/compiler/ppcomp.c
   * source/compiler/hbgenerr.c
   * utils/hbpp/hbpp.c
     ! Fixed some BCC58 warnings.
     ; TOFIX: These remain:
       Warning W8017 C:\devl\BCC58\Include\stdint.h 77: Redefinition of 'INT16_MIN' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 78: Redefinition of 'INT32_MIN' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 79: Redefinition of 'INT64_MIN' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 82: Redefinition of 'INT16_MAX' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 83: Redefinition of 'INT32_MAX' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 84: Redefinition of 'INT64_MAX' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 87: Redefinition of 'UINT16_MAX' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 88: Redefinition of 'UINT32_MAX' is not identical
       Warning W8017 C:\devl\BCC58\Include\stdint.h 89: Redefinition of 'UINT64_MAX' is not identical
       Warning W8084 source\rtl\hbinet.c 507: Suggest parentheses to clarify precedence in function HB_FUN_HB_INETINIT

   * utils/hbtest/rt_main.h
     ! Typo.

   * utils/hbtest/make_c5x.bat
     + Cleanups, fixes, enhancements.
     * Changed invocation for C53. Now "53" (without quotes) 
       should be used as command line parameter.
     + Now automatically selects linker.
     ! Fixed MSC parameters for C53.
     + Copyright added.
2008-04-15 11:38:16 +00:00
Przemyslaw Czerpak
9cb4e6047d 2008-03-05 19:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/screen2.c
    ! fixed possible vary bad bug (memory buffer overflow) in SCREENSTR()

  * harbour/source/rtl/hbffind.c
    ! fixed possible GPF in some *nixes

  * harbour/source/vm/classes.c
    ! do not execute the same destructor inherited from different parent
      classes more then once

  * harbour/source/rtl/transfrm.c
    ! fixed bug with '9' used as stop condition of function pattern
      this character cannot be stripped, f.e.:
        ? transform( "abc", "@_99*" )
    ! fixed bug with '*' or '$' used with @), f.e.:
        ? transform( -12345, "@) $999999" )
    ! fixed replacing '.' with ',' when @E is used without picture part, f.e.:
        ? transform( 123.45, "@E" )
    ! fixed ',' conversions
        ? transform( 12.34,"@E ab,cd.ef9,9.99,.--" )
    ! fixed bug with picture starting with ".", f.e.:
	? transform( 0.3456, ".999" )
    ! fixed "@(" and "@)" conversions, f.e.:
        ? transform( -12345, "@) 1999*999" )
    ! fixed late oveflow detection in "@(" and "@)", f.e.:
        ? transtest( -12345, "@( 6798^999" )
    ! fixed "@E" conversion for dates to keep user delimiters set in
      _SET_DATEFORMAT, f.e.:
        set( _SET_DATEFORMAT, "mm:dd:yyyy" ); ? transform( date(), "@E" )
        set( _SET_DATEFORMAT, "yyyy<mm>dd" ); ? transform( date(), "@E" )
      Please note that Harbour is not strictly Clipper compatible here
      because it respects _SET_DATEFORMAT set by user.
    ! fixed 64bit integer conversion by eliminating conversion to
      'double' f.e.:
        ? transform(  1234567890123456789, "99999999999999999999" )
        ? transform( -1234567890123456789, "99999999999999999999" )
    ! some other fixes, see regression test transtst.prg
    % speed improvement in numeric conversions

  + harbour/tests/transtst.prg
    + added regression test for transform function

  * harbour/utils/hbtest/rt_trans.prg
    * disabled transform() tests for "@E" and result smaller then 5 bytes
      CA-Cl*pper do not check result size and always exchanges
      bytes 1-2 with bytes 4-5 for @E conversion. It's buffer overflow
      bug and I do not want to replicate it inside our transform
      implementation. It also causes that the results for for strings
      smaller then 5 bytes behaves randomly.
      In fact precise tests can show that it's not random behavior
      but CA-Cl*pper uses static buffer for result and when current one
      is smaller then 5 bytes then first two bytes are replaced with
      4-5 bytes from previous result which was length enough, f.e.:
               ? transform( "0123456789", "" )
               ? transform( "AB", "@E" )
               ? transform( "ab", "@E" )
      Replicating exact CA-Cl*pper behavior it's trivial (it will be enough
      to use static buffer two and not check the size of current result) but
      IMHO it's bug.

  * harbour/source/rtl/round.c
    * added strictly Clipper compatible code covered by HB_C52_STRICT
      and comment about possible difference in Harbour.

  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtwvt/gtwvt.c
    + added HB_GTI_ISUNICODE - it returns logical value with information
      about Unicode mode in active GT driver - it's necessary for proper
      CP initialization in some GTDs which can work in both mode depending
      on client side settings

  * harbour/source/rtl/gttrm/gttrm.c
    * improved UTF-8 detection
    * added automatic PuTTY detection
    * improved PuTTY and some xterm key handling
    * added some missing RXVT keys
2008-03-05 18:10:52 +00:00
Viktor Szakats
a92f87015d 2008-01-26 06:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/gfx.prg
   * tests/wcecon.prg
   * tests/gtchars.prg
   * tests/gtkeys.prg
   * include/hbgtinfo.ch
   * source/rtl/hbgtcore.c
   * source/rtl/gtkbstat.c
   * source/rtl/gtdos/gtdos.c
   * source/rtl/gtwin/gtwin.c
   * source/rtl/gtxwc/gtxwc.c
   * source/rtl/gtos2/gtos2.c
   * source/rtl/gtcrs/gtcrs.c
   * source/rtl/gtalleg/gtalleg.c
   * source/rtl/gtstd/gtstd.c
   * source/rtl/gtsln/gtsln.c
   * source/rtl/gttrm/gttrm.c
   * source/rtl/gtpca/gtpca.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtcgi/gtcgi.c
   * source/rtl/gtwvt/gtwvt.c
   * contrib/hbgtwvg/gtwvg.c
     ! Some minor formatting to the .ch file. Removed 
       reference to non-existing doc/gtinfo.txt.
     * Using HB_GTI_* instead of GTI_* in Harbour files.
2008-01-26 05:29:20 +00:00
Viktor Szakats
b9c3cbccfc 2008-01-25 21:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour-ce-spec
   * harbour-w32-spec
   * bin/bld.bat
   * harbour.spec
   * common.mak
   * source/pp/Makefile
   * source/lang/Makefile
   * source/macro/Makefile
   * source/rtl/Makefile
   * source/vm/mainstd/Makefile
   * source/vm/Makefile
   * source/vm/mainwin/Makefile
   * source/main/Makefile
   * source/debug/Makefile
   * source/codepage/Makefile
   * source/common/Makefile
   * source/rdd/nulsys/Makefile
   * source/rdd/Makefile
   * source/rdd/hsx/Makefile
   * source/rdd/usrrdd/Makefile
   * source/compiler/Makefile
   * contrib/hbct/tests/Makefile
   * contrib/hbodbc/tests/bld_b32.bat
   * contrib/hbole/tests/bld_b32.bat
   * contrib/hbapollo/tests/bld.bat
   * contrib/hbfbird/tests/bld_b32.bat
   * contrib/hbfbird/tests/Makefile
   * contrib/hbpgsql/tests/Makefile
   * contrib/hbfimage/tests/bld_b32.bat
   * contrib/hbgd/tests/bldtest.bat
   * contrib/hbmisc/tests/Makefile
   * contrib/hbgf/tests/bld_b32.bat
   * contrib/hbbtree/tests/Makefile
   * contrib/examples/guestbk/Makefile
   * contrib/examples/pe/Makefile
   * contrib/examples/dbu/Makefile
   * contrib/examples/misc/Makefile
   * contrib/examples/hscript/Makefile
   * utils/hbdoc/Makefile
   * utils/hbextern/Makefile
   * utils/hbdot/Makefile
   * utils/hbmake/Makefile
   * utils/hbmake/hbmutils.prg
   * utils/hbmake/hbmake.prg
   * utils/hbpp/Makefile
   * utils/hbpptest/Makefile
   * utils/hbtest/Makefile
   * utils/hbrun/Makefile
   * tests/Makefile
     * Core libs renamed to be prefixed with hb, while 
       having the first significant 5 chars unique.

       Old name    New name
       --------    --------
       codepage -> hbcpage 
       common   -> hbcommon
       compiler -> hbcplr  
       debug    -> hbdebug 
       hbsix    -> hbsix   
       hsx      -> hbhsx   
       lang     -> hblang  
       macro    -> hbmacro 
       pp       -> hbpp    
       rtl      -> hbrtl   
       vm       -> hbvm    
       rdd      -> hbrdd
       dbfcdx   -> rddcdx
       dbffpt   -> rddfpt
       dbfntx   -> rddntx
       nulsys   -> hbnulrdd
       usrrdd   -> hbusrrdd
       mainwin  -> hbmainwin
       mainstd  -> hbmainstd

       NOTE/TODO: We're currently not in sync with contribs, 
                  regarding hb prefixing, since in contrib 
                  rdds and gts (rightly) also have hb prefixes.
                  The only reason not to add them in core this
                  time, is to keep compatibility with DJGPP.
                  Maybe we should remove those prefixes from 
                  contrib.

       NOTE/TODO: Do tests in as many platforms and as many contrib 
                  tests as possible. Feedback from hbmake users is 
                  also welcome.

       !!! Please update your local make files !!!

   * include/hbgtinfo.ch
     + Added HB_ prefixed versions for all GTI_ macros.
       Unprefixed GTI_ macros are to be considered xhb 
       compatible (or legacy) ones, and they can be 
       excluded by #defining HB_GT_NO_XHB if they seem to 
       collide with user code.
       TODO: Switch to use HB_GTI_* inside Harbour code.
2008-01-25 20:40:49 +00:00
Przemyslaw Czerpak
b6112676bc 2007-11-23 05:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtwvt/gtwvt.h
  * harbour/source/rtl/gtwvt/gtwvt.c
    * removed foreground and background from GLOBAL_DATA
      - they are not necessary
    + added support for gfxPrimitive() - fixed xHarbour code

  * harbour/contrib/gtwvg/gtwvt.c
    + added support for gfxPrimitive() - fixed xHarbour code
    * removed some methods which can be safely replaced by
      default ones

  * harbour/tests/gfx.prg
  * harbour/tests/wcecon.prg
  * harbour/tests/gtchars.prg
    * updated the order of changed font parameters

  * harbour/contrib/xhb/hbcompat.ch
    ! added missing closing square bracket
2007-11-23 04:09:55 +00:00
Przemyslaw Czerpak
50d37bb233 2007-11-05 18:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/wcecon.prg
    + added small test for DBF/FPT/CDX file creation and browsing
      in PocketPC/WinCE
2007-11-05 17:36:10 +00:00
Przemyslaw Czerpak
ec423de877 2007-10-19 16:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/source/rtl/cdpapi.c
    + added hb_cdpGetChar()

  + harbour/tests/wcecon.prg
    + added demonstration console program for WinCE,
      compile it using:
         hbmk -n -w -es2 -gtwvt wcecon

  * harbour/include/hbwince.h
  * harbour/source/common/hbwince.c
  * harbour/contrib/win32/w32_ole.c
  * harbour/contrib/odbc/odbc.c
    * use UNICODE macro instead of HB_WINCE to allow using Unicode
      WINAPI also in other MS-Windows versions

  * harbour/source/rtl/gtwvt/gtwvt.h
  * harbour/source/rtl/gtwvt/gtwvt.c
    + added support for Unicode IO

  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/disksphb.c
     ! fixed wrongly set error code
     ! fixed possible access to uninitialized memory
     * use GetDiskFreeSpaceEx() on WinCE instead of GetDiskFreeSpace()
       for disk larger then 4GB - I do not know if PocketPC have such
       large devices now or if WinCE can support it but for sure it will
       somewhere in the future
2007-10-19 14:16:35 +00:00
Viktor Szakats
bac5436f68 2007-10-18 12:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ contrib/win32
   + contrib/win32/test
   + contrib/win32/test/testw32p.prg
   + contrib/win32/test/oleenum.prg
   - test/oleenum.prg
   + contrib/win32/Makefile
   + contrib/win32/makefile.bc
   + contrib/win32/makefile.vc
   + contrib/win32/make_b32.bat
   + contrib/win32/make_vc.bat
   + contrib/win32/w32_tole.prg
   + contrib/win32/w32_tprn.prg
   + contrib/win32/tprinter.c
   + contrib/win32/w32_ole.c
   + contrib/win32/w32_prn.c
     + Added a Win32 contrib lib by merging win32prn and ole2 
       libs. The name of the new library is "hbwin32".
     ; directx was not added for now.
2007-10-18 10:23:19 +00:00
Mindaugas Kavaliauskas
bde1c66062 2007-10-10 21:11 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/tests/multifnc/t0.prg
  * harbour/tests/multifnc/t1.prg
  * harbour/tests/multifnc/t2.prg
    + one more test for function overload with C function
2007-10-10 18:12:16 +00:00
Mindaugas Kavaliauskas
3c909a6e05 2007-10-09 00:11 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/source/vm/dynsym.c
    * minor optimzation
  * harbour/tests/multifnc/t0.prg
  * harbour/tests/multifnc/t1.prg
  * harbour/tests/multifnc/t2.prg
    + one more test for function overload
2007-10-08 21:10:12 +00:00
Przemyslaw Czerpak
bc5b34f088 2007-10-04 13:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/multifnc/t0.prg
    * show information about Harbour version and used C compiler
2007-10-04 11:15:14 +00:00
Przemyslaw Czerpak
0efe049e5d 2007-10-03 17:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/tests/oleenum.prg
    + added Enrico example and test code for enumerators and OLE objects

  * harbour/contrib/Makefile
    * enabled hbole, ado_rdd, hybodbc in most of Windows builds

  * harbour/contrib/ole2/win32ole.prg
  * harbour/contrib/ole2/w32ole.c
    * synced with recent Ron's modifications in xHarbour
      I'd like to ask Windows users to make tests with above
      oleenum.prg and example sent by Luis

  * harbour/source/rtl/gttrm/gttrm.c
    * disable ACS mode before sending BEL on Linux compatibile terminals
      - some of them may try to display chr(7) instead of generating
        sound when ACSC is enabled

  * harbour/source/vm/proc.c
    + added support for character parameter in PROCFILE() - now it can
      accept <nLevel> | <sFuncSym> | <cFuncName> as first parameter

  * harbour/source/vm/dynsym.c
    * added support for detecting not cleanly overloaded by linker .prg
      functions.
      In such case hb_dynsymNew() checks if linker updated function
      addresses and if yes then remove unnecessary HB_FS_LOCAL flag.
      In such case works GCC (but not MinGW and DJGPP), OpwenWatcom
      for Linux, DOS, Windows (and probably for OS2), POCC, XCC (with
      /FORCE:MULTIPLE linker switch) and some other linkers I haven't
      tested.
      Otherwise (two different functions with the same name linked and
      each accessible from different symbol, f.e. BCC32, MinGW, DJGPP)
      it accept multiple HB_FS_LOCAL for dynamically loaded modules
      (.hrb, .dll, .so, .dyn, ...) if HVM also accepted it (for future
      KEEP_LOCAL_FUNC HB_LIBLOAD()/__HBRLOAD() parameter).
      For statically linked modules it overloads one of the functions when
      HB_OVERLOAD_MULTIPLE_FUNC macro is set (now by default to make tests
      with different linkers). I left detail description in source code of
      hb_dynsymNew() in source/vm/dynsym.c.
      I hope it will also help Ron in recent xHarbour modifications - AFAIK
      it's sth what he tires to do.
      Anyhow please remember that that dirty overloading any symbols by
      linker is very bad idea and in such case you have big chance that
      wrong binaries will be created so the most preferable choice is
      eliminating such situations and not using linker switches like
      -Wl,--allow-multiple-definition or /FORCE:MULTIPLE

  + harbour/tests/multifnc
  + harbour/tests/multifnc/t0.prg
  + harbour/tests/multifnc/t1.prg
  + harbour/tests/multifnc/t2.prg
  + harbour/tests/multifnc/Makefile
    + added test code for results of dirty overloaded functions.
      With recent modifications expected results are:
            main t0.prg t0.prg
            alert t1.prg t1.prg [ALERT]
            p0 t0.prg t0.prg P0:t0.prg P0:t0.prg OK
            p1 t0.prg t0.prg P1:t0.prg P1:t0.prg OK
            p2 t1.prg t1.prg P2:t1.prg P2:t1.prg OK
            p3 t0.prg t0.prg P3:t0.prg P3:t0.prg OK
            p4 t1.prg t1.prg P4:t1.prg P4:t1.prg OK
            p5 t2.prg t2.prg P5:t2.prg P5:t2.prg OK
            ===
            main2 t1.prg t1.prg
            alert t1.prg t1.prg [ALERT]
            p0 t0.prg t0.prg P0:t0.prg P0:t0.prg OK
            p1 t0.prg t0.prg P1:t0.prg P1:t0.prg OK
            p2 t1.prg t1.prg P2:t1.prg P2:t1.prg OK
            p3 t0.prg t0.prg P3:t0.prg P3:t0.prg OK
            p4 t1.prg t1.prg P4:t1.prg P4:t1.prg OK
            p5 t2.prg t2.prg P5:t2.prg P5:t2.prg OK
            ===
            main3 t2.prg t2.prg
            alert t1.prg t1.prg [ALERT]
            p0 t0.prg t0.prg P0:t0.prg P0:t0.prg OK
            p1 t0.prg t0.prg P1:t0.prg P1:t0.prg OK
            p2 t1.prg t1.prg P2:t1.prg P2:t1.prg OK
            p3 t0.prg t0.prg P3:t0.prg P3:t0.prg OK
            p4 t1.prg t1.prg P4:t1.prg P4:t1.prg OK
            p5 t2.prg t2.prg P5:t2.prg P5:t2.prg OK

      I've tested only few compilers: GCC/G++ (Linux) MinGW (WINE-W32),
      DJGPP (DOSEMU), OpenWatcom (Linux, WINE-W32, DOSEMU), XCC/POCC
      (WINE-W32) and I'm interesting in results from other compiler/
      platforms, f.e. from M[V]SC.
2007-10-03 15:05:12 +00:00
Viktor Szakats
b6d6464779 2007-09-17 13:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/rto_get.prg
   * tests/rto_tb.prg
   * source/rtl/gui.prg
   + source/rtl/tbrowsys.prg
   * source/rtl/tmenusys.prg
   * source/rtl/menusys.prg
   * source/rtl/tscalar.prg
   * source/rtl/tbrowse.prg
     + Added missing file from previous commit.
     + Set Id keyword and eol-style to native on newly added files.
2007-09-17 11:27:09 +00:00
Przemyslaw Czerpak
b1be6fde0f 2007-09-13 20:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/run_prg.bat
  * harbour/tests/gnu_test.bat
  * harbour/tests/run_test.bat
  * harbour/tests/bld4dll.bat
  * harbour/doc/genhtm.bat
  * harbour/bin/bld.bat
  * harbour/bin/postinst.bat
  * harbour/bin/bld_b32.bat
  * harbour/bin/bld_b16.bat
  * harbour/bin/bld_vc.bat
  * harbour/make_b32.bat
  * harbour/make_vc.bat
  * harbour/make_gnu.bat
  * harbour/contrib/ole/bldtest.bat
  * harbour/contrib/ole/build32.bat
  * harbour/contrib/libmisc/make_b32.bat
  * harbour/contrib/libmisc/doc/gendoc.bat
  * harbour/contrib/libmisc/make_vc.bat
  * harbour/contrib/apollo/test/bld.bat
  * harbour/contrib/apollo/test/bld_b32.bat
  * harbour/contrib/apollo/make_b32.bat
  * harbour/contrib/pgsql/make_b32.bat
  * harbour/contrib/gd/make_b32.bat
  * harbour/contrib/gd/tests/bldtest.bat
  * harbour/contrib/libnf/make_b32.bat
  * harbour/contrib/libnf/make_vc.bat
  * harbour/contrib/htmllib/make_b32.bat
  * harbour/contrib/htmllib/make_vc.bat
  * harbour/contrib/tip/make_b32.bat
  * harbour/contrib/libct/make_b32.bat
  * harbour/contrib/libct/make_vc.bat
  * harbour/contrib/adordd/make_b32.bat
  * harbour/contrib/rdd_ads/doc/gendoc.bat
  * harbour/contrib/rdd_ads/make_b32.bat
  * harbour/contrib/rdd_ads/make_vc.bat
  * harbour/contrib/libgt/make_b32.bat
  * harbour/contrib/libgt/doc/gendoc.bat
  * harbour/contrib/libgt/make_vc.bat
  * harbour/contrib/hbclip/make_clp.bat
  * harbour/contrib/btree/make_b32.bat
  * harbour/contrib/btree/mktest.bat
  * harbour/contrib/ole2/make_b32.bat
  * harbour/contrib/directx/buvcdx.bat
  * harbour/contrib/hgf/tests/build_b32.bat
  * harbour/contrib/hgf/win32/make_b32.bat
  * harbour/contrib/hgf/win32/makevc.bat
  * harbour/contrib/samples/make_b32.bat
  * harbour/contrib/samples/make_vc.bat
  * harbour/contrib/delphi/hbdll/start.bat
  * harbour/contrib/delphi/hbdll/bld_sdll.bat
  * harbour/contrib/mysql/make_b32.bat
  * harbour/contrib/runjava/bld_java.bat
  * harbour/contrib/runjava/make_vc.bat
  * harbour/contrib/odbc/bldodbc.bat
  * harbour/contrib/odbc/bld_b32.bat
  * harbour/contrib/bmdbfcdx/make_b32.bat
  * harbour/contrib/hbzlib/dll_b32.bat
  * harbour/contrib/hbzlib/make_b32.bat
  * harbour/contrib/hbzlib/make_vc.bat
  * harbour/utils/hbextern/make_c5x.bat
  * harbour/utils/hbpptest/compare.bat
  * harbour/utils/hbtest/make_c5x.bat
  * harbour/utils/hbtest/make_xpp.bat
  * harbour/samples/guestbk/bld_b32.bat
  * harbour/samples/hscript/makehtm.bat
  * harbour/samples/hscript/bld_b32.bat
    * set svn:eol-style to CRLF
2007-09-13 18:16:17 +00:00
Viktor Szakats
d4c9b3de9b 2007-09-13 13:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/rto_get.prg
     * Changes missed from previous commit.
2007-09-13 11:14:22 +00:00
Viktor Szakats
fe0ad088b7 2007-09-12 12:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/teditor.prg
   * source/rtl/tbrowse.prg
     ! Fixed to assign SetColor() in New() rather than in INIT.
       (INIT value gets evaluated and stored on first class usage, 
       not on every instantiantion.)

   * source/rtl/tget.prg
   * tests/rto_get.prg
     + Added Harbour extensions:
       :hideInput (logical value)
       :style (1 char long string to control mask character when :hideInput is .T.)
       QUESTION: Is there any need to support multiple hiding styles?
                 (like always fully masked or masked with random chars?)
     ! Fixed several bugs in SET DELIMITERS handling.
       (color, focus behaviour, "caching", positioning)
     + Added test cases for SET DELIMITERS issues.
2007-09-12 10:56:20 +00:00
Viktor Szakats
d4711a8f83 2007-09-11 15:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/rto_get.prg
   * source/rtl/tget.prg
     ! Fixed display issue when using display->varput->display 
       sequence. (Thanks Lorenzo)
     + Above case added to test suite.

   * source/rtl/tbrowse.prg
     + Some scattered logic moved inside :Configure()
     ! Some TOFIX-es added.
     ! ::ColorSpec() to call Configure().

   * source/debug/dbgtobj.prg
   * source/debug/dbgwa.prg
     + Formatting, var name cleanup.
2007-09-11 13:38:39 +00:00
Viktor Szakats
1b46bf32b9 2007-09-07 03:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/Makefile
   * tests/rto_get.prg
   + tests/rto_tb.prg
   * include/button.ch
   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   - source/rtl/mssgline.prg
   + source/rtl/gui.prg
   + source/rtl/menusys.prg
   + source/rtl/tmenusys.prg
   * source/rtl/checkbox.prg
   * source/rtl/einstvar.prg
   * source/rtl/getlist.prg
   * source/rtl/getsys.prg
   * source/rtl/listbox.prg
   * source/rtl/memoedit.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/scrollbr.prg
   * source/rtl/tbcolumn.prg
   * source/rtl/tbrowse.prg
   * source/rtl/teditor.prg
   * source/rtl/tget.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tlabel.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tpopup.prg
   * source/rtl/treport.prg
   * source/rtl/ttopbar.prg
     ; These changes mainly targeted the .prg 
       level UI classes of Harbour.
     + Code standardization, cleanup, formatting.
       (formatting is not fully complete yet)
     ! Lots of compatibility fixes.
     ! Lots of bugfixes (crashes, wrongly passed 
       parameters, etc).
     ! Minor fix in one of the methods of HBReportForm()
     - Non-Clipper classes removed (the MENUSYS/msgline 
       related ones).
     ! Some fixes adapted from xHarbour's TBrowse()
     + Class VARs properly scoped.
     + TBColumn() is now fully compatible.
     * The mess in the TTopBar and related classes was 
       cleaned up, some small non-Clipper compatible 
       classes were removed and a new TMenuSys class 
       was created of the related parts.
     % Optimizations.
     + TBrowse/TBColumn regression test suite 
       added (far from complete at this point).
     ; NOTE: No C5.3 GUI support is implemented in Harbour.
     ; NOTE: Harbour uses Disp*() functions in UI functions 
             to update screen. C5.x uses a mixture of Dev*(), 
             Q?Out() and Disp*().
     ; NOTE: TBrowse() fixing is still a work in progress.
     ; Please test.
2007-09-07 02:00:07 +00:00
Przemyslaw Czerpak
503c1ddf13 2007-09-02 17:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/hbgtmk.sh
  * harbour/tests/codebl.prg
  * harbour/tests/testprof.prg
  * harbour/tests/keywords.prg
  * harbour/tests/testpp.prg
  * harbour/make_rpm.sh
  * harbour/makefile.gc
  * harbour/bin/hb-mkslib.sh
  * harbour/include/hbexpra.c
  * harbour/include/hbmath.ch
  * harbour/include/hbrddntx.h
  * harbour/include/hbexprb.c
  * harbour/harbour.spec
  * harbour/contrib/dot/pp.prg
  * harbour/contrib/libct/ctwin.c
  * harbour/contrib/ole2/w32ole.c
  * harbour/contrib/hgf/win32/win32.c
  * harbour/contrib/mysql/mysql.ch
  * harbour/contrib/odbc/todbc.prg
  * harbour/contrib/odbc/sql.ch
  * harbour/contrib/hb_struc/hbstruc.ch
  * harbour/contrib/bmdbfcdx/bmdbfcdx1.c
  * harbour/contrib/msql/msql.ch
  * harbour/contrib/msql/readme.txt
  * harbour/source/pp/ppcore.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtxwc/gtxwc.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtcrs/gtcrs.h
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtalleg/fixedth.sfc
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/itemseri.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/gtsln.h
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/hbhex.c
  * harbour/source/rtl/tget.prg
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/vm/hvm.c
  * harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/common/expropt2.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/utils/hbpptest/pp_test.prg
  * harbour/utils/hbpptest/pretest.prg
  * harbour/make_tgz.sh
    * converted TABs to SPACEs
2007-09-02 15:28:05 +00:00
Przemyslaw Czerpak
79c5c63ead 2007-07-30 18:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/tests/foreach2.prg
    * added example for FOR EACH overloading
2007-07-30 16:10:14 +00:00
Przemyslaw Czerpak
893a870c7f 2007-06-23 15:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gttrm/gttrm.c
    + added 3-rd parameter BOOL fSetACSC to hb_gt_chrmapinit() function
    * initialize ACSC translation for XTERM like terminals when
      hb_charmap.def file cannot be found or there is no valid
      section for used terminal

  + harbour/tests/gtchars.prg
  + harbour/tests/gtcolors.prg
  + harbour/tests/gtkeys.prg
   + added test ptograms for GT drivers to test all character output and
     automatic CP translation, colors settings and keyboard/mouse input
2007-06-23 13:46:03 +00:00
Przemyslaw Czerpak
d1f8cc8478 2007-05-04 15:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/Makefile
  * harbour/contrib/bmdbfcdx/Makefile
  * harbour/source/rdd/Makefile
    ! fixed GNU make compilation

  * harbour/include/hbapifs.h
  * harbour/source/rtl/filesys.c
    + added support for DOS/Windows DENY_* flag emulation in POSIX
      systems using BSD locks. So far such emulatin was done with
      standard POSIX locks. The new emulation can be enabled by setting
      HB_USE_BSDLOCKS and disabled by HB_USE_BSDLOCKS_OFF. By default
      it's enabled in Linux and BSD* based systems.
      Please not that it BSD locks work in differ way then POSIX ones.
      They are bound with file handle and process ID not i-node and PID.
      It will allow to synchronize even single process but it will not
      work in NFS and some old BSD and Linux kernels. This synchronization
      cannot be used also between different platforms. If someone needs
      such synchronization then he should build Harbour on all platforms
      with HB_USE_BSDLOCKS_OFF and HB_USE_SHARELOCKS with valid multi
      platform lock offset

  * harbour/source/rdd/dbcmd.c
    * removed all explicit NETERR setting - now it can be set only
      by NETERR() function (executed by default errorsys)
    * changed ordListAdd()/dbSetIndex() - now they return logical value
      with information about success

  * harbour/source/rdd/wafunc.c
    * changed hb_rddOpenTable()/hb_rddCreateTable() to make dbUseArea()/
      dbCreate() more Clipper compatible - it's not exact Clipper behavior
      but I intentionally do not want to replicate some strange for me
      things, f.e. I do not know why Clipper ignores RDDNAME when it has
      only one character

  + harbour/tests/tstuse.prg
    + test code for dbUseArea()
2007-05-04 13:36:02 +00:00
Viktor Szakats
addb19438e 2007-04-24 10:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/tget.prg
   * harbour/source/rtl/tgetint.prg
   * harbour/tests/rto_get.prg
     * Minor fixes, cleanups, formatting.
2007-04-24 08:38:50 +00:00
Viktor Szakats
1c11bc25db 2007-04-23 23:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/diskspac.c
     ! Fixed to return free space instead of disk size under Unix OSes.

   * harbour/source/rtl/tget.prg
     ! Fixed checking for invalid GET var types.
     ! More C5x compatible behaviour for invalid types.
     ! ::UnTransform() fixed when not in focus.
     - ::UnTransform() cBuffer incompatible parameter removed.
     ! ::Reform() probably made more compatible.
     + ::PosInBuffer() XBase++ compatible method implemented.
       (but not tested or compared with XBase++)
     ! ::Minus assignment fixed.
     ! ::Clear assignment fixed.
     ! ::Changed assignment fixed.
     ! ::Buffer assignment fixed.
     ! ::Block assignment fixed.
     ! ::Name assignment fixed.
     ! ::UnTransform() extra parameter removed.
     ! ::UpdateBuffer() minor fix when not in focus.
     ! ::Reform() made more compatible.
     % ::SetFocus() some superfluous stuff removed.
     % ::SetFocus() some fixes, cleanups.
     ! ::KillFocus() now sets ::TypeOut properly.
     ! ::VarPut(), ::VarGet() fixed for invalid ::Subscript contents.
     ! ::VarPut(), ::VarGet() fixed for invalid ::Block content.
     ! ::Pos rewritten to be fully compatible.
     ! ::ColorSpec made fully compatible.
     ! ::UnTransform() fixed when not in focus.
     ! ::UnTransform() fixed handling "YL" in string pictures.
     % ::UnTransform() minor optimization.
     % ::PutMask() some hacks removed.
     ! ::PutMask() invalid types handling.
     ! ::BackSpace() fixed when not in focus.
     ! ::Delete() fixed when not in focus.
     ! ::DeleteAll() fixed when not in focus.
     ! ::IsEditable() fixes.
     ! ::Picture fixes for invalid types, assignment behaviour.
     ! ::Picture hacks removed.
     ! Non-assignable vars made READONLY. (will generate
       different RTEs than in CA-Cl*pper due to the more
       refined oo engine in Harbour.)
     ! ::BadDate changed to be a METHOD.
     ! ::ToDecPos fixes.
     ! ::Row assigment and behaviour fixes.
     ! ::Col assigment and behaviour fixes.
     + Several comments and NOTEs added.

   * harbour/include/hbapigt.h
   * harbour/source/rtl/gtapi.c
   * harbour/source/rtl/setcolor.c
     + hb_gtColorsToString() public API added.
     + hb_NToColor() function added to convert a single color
       value (returned by hb_ColorToN()) back to a string.
       Used in TGet():ColorSpec implementation.

   * harbour/source/vm/fm.c
     * "Blocks" -> "Block(s)"

   * harbour/tests/rto_get.prg
     + Added many test cases.

   * harbour/source/vm/cmdarg.c
     + Added support to use "--" instead of "//" for internal
       command line options.

   * harbour/source/rtl/tbcolumn.prg
     + Formatting.

   * harbour/source/rtl/tbrowse.prg
     + Added Harbour (undocumented) extension NOTE.

   * harbour/include/Makefile
   - harbour/include/usrrdd.ch
   + harbour/include/hbusrrdd.ch
   * harbour/source/rdd/usrrdd/usrrdd.c
   * harbour/source/rdd/usrrdd/rdds/dbtcdx.prg
   * harbour/source/rdd/usrrdd/rdds/fcomma.prg
   * harbour/source/rdd/usrrdd/rdds/fptcdx.prg
   * harbour/source/rdd/usrrdd/rdds/hscdx.prg
   * harbour/source/rdd/usrrdd/rdds/rlcdx.prg
   * harbour/source/rdd/usrrdd/rdds/smtcdx.prg
   * harbour/contrib/pgsql/pgrdd.prg
     ! Changed public header filename to comply with the "hb*.ch" rule.
       (namespace protection)
2007-04-23 21:41:40 +00:00
Viktor Szakats
79f9aa2ff2 2007-04-20 04:05 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/rtl/tget.prg
   * harbour/tests/Makefile
   + harbour/tests/rto_get.prg
     ; Fixed lots of minor bugs and differences between
       CA-Cl*pper and Harbour Get system. The following
       methods got most of the fixes:
     + ::Reform() undocumented C52 method added.
     ! ::Display() fixed when not having focus. (old TOFIX)
     ! ::UpdateBuffer() fixed when not having focus.
     ! ::SetFocus() fixed to do nothing when already having focus.
     ! ::KillFocus() made almost fully compatible.
       (the ::Assign() call is still raising questions)
     ! ::Reset() made compatible.
     ! ::VarPut() fixed when not having focus.
     ! ::Undo() made compatible.
     ! ::Type() behaviour now fully C5x compatible.
     ! ::Block() assignment now fully C5x compatible.
     ! ::OverStrike() fixed RTE when not having focus.
     ! ::Insert() fixed RTE when not having focus.
     ! ::ToDecPos() fixed to set ::Changed.
     ! ::PutMask() fixed to not pad the string to ::nMaxLen to
       be fully compatible with C5x.
     ! ::DecPos, ::Pos initialization made compatible.
       (here the CA-Cl*pper NG is wrong in stating that these
       vars ever hold NIL, they don't and they hold 0s instead)
     ! ::Minus more compatible but still far from perfect.
     % ::ParsePict() integrated into ::Picture()
     - ::HasScroll() internal method removed.
     ! ::HitTest() guarded with HB_COMPAT_C53.
     + Propely marked Get vars/methods as PROTECTED/VISIBLE.
     % Several minor optimizations, meaningless code elimination.
     ; Formatting, removed many old commented code snippets.
     + Added regression style tests for basic Get methods.
       All the above fixes was the result of comparing
       Get object var dumps after calling different methods
       in different order.
     ; Notice that there could be new/rare cases when any of
       the above methods would need more fixes, in that case
       the regression test is there to check if the existing
       behaviour stayed the same after the fix and it's also
       very useful to add the new cases to the test.

Pls report any problems (with reduced examples), TGet() is
still far from being perfect, but should be more compatible
after these changes.
2007-04-20 02:06:37 +00:00
Przemyslaw Czerpak
49b4fc91e3 2007-04-04 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/tip/Makefile
  - harbour/contrib/tip/atokens.c
    * removed HB_ATOKENS()

  - harbour/source/rtl/teditorl.c
    - removed __STRTOKEN(), __STRTKPTR()

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  * harbour/include/hbextern.ch
  + harbour/source/rtl/hbtoken.c
    + added set of functions to manipulate string tokens:
         HB_TOKENCOUNT( <cString>, [ <cDelim> ], [ <lSkipStrings> ],
                        [ <lDoubleQuoteOnly> ] ) -> <nTokens>
         HB_TOKENGET( <cString>, <nToken>, [ <cDelim> ], [ <lSkipStrings> ],
                      [ <lDoubleQuoteOnly> ] ) -> <cToken>
         HB_TOKENPTR( <cString>, @<nSkip>, [ <cDelim> ], [ <lSkipStrings> ],
                      [ <lDoubleQuoteOnly> ] ) -> <cToken>
         HB_ATOKENS( <cString>, [ <cDelim> ], [ <lSkipStrings> ],
                     [ <lDoubleQuoteOnly> ] ) -> <aTokens>
      All these functions use the same method of tokenization. They can
      accept as delimiters string longer then one character. By default
      they are using " " as delimiter. " " delimiter has special mening
      Unlike other delimiters repeted ' ' characters does not create empty
      tokens, f.e.: HB_ATOKENS( "    1     2 3  " ) returns array { "1", "2" }
      Any other delimiters are restrictly counted, f.e. HB_ATOKENS( ",,1,,2,")
      return array: { "", "", "1", "", "2", "" }.

    + added emulation for old __STRTOKEN(), __STRTKPTR() and xHarbour's
      __STRTOKENCOUNT() by HB_TOKEN*() functions. They do not return
      exactly the same result as __STRT*() functions which in some cases
      ignored some delimiters and return wrong results.

  * harbour/source/rdd/Makefile
  + harbour/source/rdd/dbsql.c
    + added __DBSQL() function

  * harbour/include/hbsetup.h
  * harbour/source/vm/fm.c
    + added support for native Windows memory allocation functions
      It can be enabled by HB_FM_WIN32_ALLOC macro and disable C-RTL
      memory manager.

  * harbour/tests/mousetst.prg
    * touch screen output before MPRESENT() to work with GTXWC
2007-04-04 08:35:12 +00:00
Przemyslaw Czerpak
30f56abce2 2007-01-09 15:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbusage.c
    * update the year in hb_compPrintLogo() from 2006 to 2007

  * harbour/source/vm/garbage.c
    ! fixed potentially very serious bug - when I added array items
      references I forgot to update GC. Fortunately it was caught
      by code to detect bugs in object destructors so only RT error
      was reported instead of internal HVM memory corruption

  * harbour/tests/hbinline.prg
    * updated comments
2007-01-09 14:10:22 +00:00
Chen Kedem
5f4b086a86 2007-01-09 10:56 UTC+0200 Chen Kedem <niki@actcom.co.il> 2007-01-09 08:56:39 +00:00
Przemyslaw Czerpak
33ccad6661 2006-11-27 02:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/codebl.prg
  * harbour/tests/langmsg.prg
  * harbour/utils/hbpptest/pp_test.prg
  * harbour/utils/hbpptest/pretest.prg
  * harbour/samples/pe/license.txt
    * removed carriage return (\r) characters

  * harbour/include/hbcomp.h
  * harbour/include/hbapi.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/source/vm/macro.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.l
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/genjava.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/hbident.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/ppcomp.c
    * separated HB_COMP and HB_MACRO definitions and added HB_COMMON
      structure used when HB_COMMON_SUPPORT macro is set
    * hide HB_MACRO internal definitions in hbapi.h when HB_MACRO_SUPPORT
      is not set
    These modifications should help in future compiler and macro compiler
    integration into single binary.

    + added clipper compatible error message in unclosed structures
      In general we should cleanup rules to make error reporting more
      user friendly and Clipper compatible
    % eliminated unnecessary allocations
    + added int mode member to common part of HB_COMP and HB_MACRO
      structure. It's initialized to HB_MODE_MACRO or HB_MODE_COMPILER
    + add TOFIX note about memory leaks in cParamTypes and pParamClasses
      members of COMDECLARED structure. It's a part of unfinished strong
      typing code. I do not know what Ryszard plan to do with it so I'm
      leaving it as is. The part of strong typing which were operating
      on emulated HVM stack has been removed.
    * removed static variables from genjava.c. Also gencli.c and genobj32.c
      should be fixed but this will not make this code working so I haven't
      touched it.
    * changed 3-rd parameter of hb_compIdentifierNew() from BOOL to int.
      Now it can have the following values: HB_IDENT_STATIC, HB_IDENT_FREE,
      HB_IDENT_COPY. This modification will allow in the future using common
      for static and dynamic symbol hash table without additional source code
      changes. I also plan to use identifier hash table in PP the reduce
      number of memory allocations and speed-up preprocessing by using
      second level hashing for hash keys.

  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
    * changed HB_MACRO_SUPPORT to HB_COMMON_SUPPORT to automatically detect
      possible conflicts between compiler and macro compiler
    ! removed first detected conflict which existed for long time
    + added hb_compExprMacroAsAlias() function to convert HB_ET_VARIABLE
      expression to HB_ET_ALIAS.

  * harbour/source/macro/macro.y
    ! fixed using prefix&macro-> and &macro.sufix-> when macro cannot be
      substituted by compiler, f.e.:
         M->v := NIL
         x := "&v.1->fld"
         M->v := "v"
         M->v1:= "data"
         ? &x
    ! fixed memory leak in macro substituted expression compilation

  * harbour/source/vm/macro.c
    ! fixed initialization of some HB_MACRO members
    ! fixed value returned for type("&V->F") when alias does not exist
    - removed not longer used hb_comp_bShortCuts global variable
2006-11-28 01:10:34 +00:00
Przemyslaw Czerpak
d99b93ad14 2006-11-13 03:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    + pass GTK paths to GCC in hb* scripts when -xbgtk switch is used

  * harbour/contrib/rdd_ads/rddads.h
  * harbour/contrib/rdd_ads/adsfunc.c
    * indenting and casting

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
    * cleaned typos in comments

  + harbour/tests/speedtst.prg
    + added speed test

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    + added HB_PP_TOKEN_ISNEUTRAL() macro to make code a little bit more
      readable

  * harbour/include/std.ch
    + added some missing old PP commands

  * harbour/source/Makefile
    * minor modification in order of compiled libraries

  * harbour/source/pp/pplib.c
    * changed the PP interface for .prg code.
      Now following functions are supported:

         __PP_INIT( [<cIncludePath>] [, <cStdChFile> ] ) -> <pPP>
            initialize new PP context and return pointer to it.
            when <cStdChFile> is empty string ("") then no default rules are
            used  only the dynamically created #defines like __HARBOUR__,
            __DATE__, __TIME__, __PLATFORM__*

         __PP_FREE( <pPP> )
            free PP context.

         __PP_PATH( <pPP>, <cPath> [, <lClearPrev>] )
            add new (or replace previous) include paths.

         __PP_RESET( <pPP> )
            reset the PP context (remove all rules added by user or
            preprocessed code)

         __PP_ADDRULE( <pPP>, <cDirective> )
            preprocess and execute new preprocessor directive

         __PREPROCESS( <pPP>, <cCode> ) -> <cPreprocessedCode>
            preprocess given code and return result

      User can create more then one PP context and then use each of them
      separately. Any modification in one context have no effect in other.
2006-11-13 02:40:33 +00:00
Przemyslaw Czerpak
c2b4a94705 2006-11-10 02:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbpp.h
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
  * harbour/source/pp/pplib.c
    * restored support for old hb_inLine() syntax
    + added support for hb_inLine() to new PP. It can be enabled by
      -kI compiler switch. It's disabled by default.
      The new hb_inLine{} syntax is:
         [ <exp> ] hb_inLine [ ( [<params,...>] ) ] { [ <c_code> ] } [ <exp> ]
      <c_code> can contain new line characters.
      Nested hb_inLine{} in <params,...> is not supported. If you think
      it's important I can add it in few lines.
      This version does not break any valid Clipper syntax, hb_inLine is
      not reserved word and hb_inLine can be repeated many times in the
      same line. F.e. this code can be properly preprocessed and compied if
      you disable in compiler old hb_inLine() syntax and enable the new one
      by -kcI Harbour compiler switch:

         proc main()
         local hb_inLine := " (var) "
         ? hb_inLine{ hb_retc("inLine"); } + hb_inLine(" parameter ") {
              hb_retc( hb_parc( 1 ) );
              } + "!" + hb_inLine + hb_inLine() { hb_retc( ":-)" ); } + ;
           hb_inLine() + "{}"
         return
         function hb_inLine()
         return " func() "

      So from user point of view this version have real "inline" syntax.
      To be clear: I'm not a fun of any C inline extensions. They works
      only when we use .c code as compiler backend so the code which uses
      them cannot be used in .hrb files and any other format we will add
      in the future which do not support later C code compilation. F.e it
      will not work in compiler integrated with HVM or with .NET
      Anyhow if someone finds it useful then I think that it should be
      properly implemented. This is the reason I added the new version.
      The old one I left only for backward compatibility. It breaks any
      code which uses hb_inLine keyword can be used only once in a line
      and it does not have "inline" so IMHO it should not be enabled by
      default.
      I would like to hear your opinion about default compiler switches:
         1. should we disable both: hb_inLine() and hb_inLine {}
         2. should we disable hb_inLine() and enable hb_inLine {}
         3. should we disable hb_inLine {} and enable hb_inLine()
         4. should we enable both: hb_inLine() and hb_inLine {}

  + harbour/tests/hbinline.prg
    + added test code for new hb_inLine{} syntax

  * harbour/tests/inline_c.prg
    ! replaced direct access to HB_ITEM body by API function calls
2006-11-10 01:12:49 +00:00
Ryszard Glab
b0b8b008b1 2006-09-29 11:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* tests/Makefile
      + added omacro.prg and varparam.prg
   * ChangeLog
      * fixed date in previous commit
2006-09-29 09:47:07 +00:00
Ryszard Glab
64509ea871 + added support for passing methods as macro
eg:
         o:&send()
         o:&send.end()
         o:&(expr)()
         o:&var++
         o:&var := 0
         o:&(expr)++
         WITH OBJECT obj
            ++:&var
            :&var += :&(var2+"oo")
         END

   NOTICE:
   For simple assigments (=,:=), compound assignments (+=,-=,*=,/=)
   and for pre/post increment operators( ++,--) the macro should
   evaluate to a symbol that starts with underscore '_'.
     To access a variable the macro should evaluate to a symbol
   with no '_' char.
2006-09-29 08:59:17 +00:00
Ryszard Glab
4aeac1e509 2006-09-20 14:15 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* include/hbpcode.h
      + added new pcode HB_P_VFRAME

   * include/hbapi.h
      + added USHORT paramdeclcnt to asSymbol structure

   * include/hbstack.h
   * source/vm/estack.c
      + added hb_stackLocalVariable() to acces local variables

   * source/compiler/genc.c
   * source/compiler/gencc.c
   * source/compiler/harbour.c
   * source/compiler/harbour.l
   * source/compiler/harbour.y
   * source/compiler/hbdead.c
   * source/compiler/hbfix.c
   * source/compiler/hblbl.c
   * source/compiler/hbpcode.c
   * source/compiler/hbstripl.c
   * source/vm/hvm.c
      + added support for variable number of parameters in
      functions/procedures

   + tests/varparam.prg
      * example usage of new syntax for variable number of
      parameters

   * source/vm/arrayshb.c
      * changed HB_APARAMS() to use current stack frame if no
      arguments are passed ( HB_APARAMS() == HB_APARAMS(0) )

  SYNTAX for variable number of parameters
   1) [FUNCTION|PROCEDURE] name( ... )
   or
   2) [FUNCTION|PROCEDURE] name( var1, var2, varN, ... )

   To access passed parameters use the following:
   PCOUNT() - returns number of passed parameters
   HB_PVALUE( iParamNum ) - returns <iParamNum> parameter
   HB_APARAMS() - returns array with all passed parameters
   or usual name of parameter variable in case of syntax 2)
2006-09-20 12:28:58 +00:00
Przemyslaw Czerpak
7e4609cff3 2006-09-18 03:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    + added MESSAGE ... INLINE ... rule

  * harbour/tests/clsccast.prg
  * harbour/tests/clsicast.prg
  * harbour/tests/clsnv.prg
  * harbour/tests/clsscast.prg
  * harbour/tests/clsscope.prg
    - removed some unnecessary definitions
2006-09-18 01:13:18 +00:00
Przemyslaw Czerpak
dc9ebdf37c 2006-09-17 02:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
    + added hb_clsRealMethodName() function which I'm using in some
      test code

  * harbour/tests/clsscast.prg
    * updated to use __CLS_CNTSHRDATA() instead of __CLS_CNTCLSDATA()

  * harbour/utils/hbtest/rt_class.prg
    + added tests for class and shared class variables/allocating
2006-09-18 00:01:53 +00:00
Viktor Szakats
a09dc85fbe 2006-09-17 18:52 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/tests/testrpt.prg
     ! Fixed fatal typo.
2006-09-17 16:58:39 +00:00
Przemyslaw Czerpak
ff658ccfec 2006-09-16 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/rdd_ads/ads1.c
    * synced with recent Brian fixes in xHarbour

  * harbour/include/hbapi.h
    + added 'method' member to hb_struBlock structure

  * harbour/source/vm/hvm.c
    * initialize 'method' member in hb_struBlock structure

  * harbour/source/vm/proc.c
    * changed the name of last parameter of hb_procname() from
      bSkipBlock to fMethodName and modified to use information
      about the class of executed codeblock from new hb_struBlock
      members

  * harbour/source/vm/classes.c
    * removed hb_objGetpMethod() - I hope it's not longer used
    * added real codeblock scoping.
      In Clipper there is no information where the codeblock where
      created and what priviladges/scopes it should has.
      Class(y) to resovle this problem when codeblock is executed scans
      the HVM stack for the nearest method call and takes scopes defined
      for this method. It's a workaround which allow to break standard
      access rights though seems reasonable when it's not possible to
      store information where the block is created. I've added to block
      item structure information about class and method where code block
      was created so we can use the exact method priviladges.
      Now Harbour classy code can work exactly like Class(y) when compiled
      with -DHB_CLASSY_BLOCK_SCOPE and with real code block scoping when
      compiled with -DHB_REAL_BLOCK_SCOPE. I set the second (real code
      block scopes) as default. If you think we should be strict Class(y)
      compatible here then please inform me and I'll change default setting.

  + tests/clsscope.prg
    + added demonstration/test code for class method scoping
2006-09-16 21:24:06 +00:00