Commit Graph

58 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
e5fb6b8de5 2008-07-08 00:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/include/hbdefs.h
  * harbour/source/rtl/console.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/philes53.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbsql.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/delim1.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
    + added HB_NHANDLE
    + added hb_numToHandle() macro
    ! fixed WIN32 HANDLE to integer number conversions in Harbour file API
    ! fixed F_ERROR and FS_ERROR usage
    * added support for optional FHANDLE mapped to pointer instead of
      integer number - disable by default in hbdefs.h
      Now Harbour can be compiled with internal pointer and integer file
      handles (FHANDLE)
2008-07-07 22:35:39 +00:00
Viktor Szakats
11aa4eb482 2008-06-14 09:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbbmcdx/bmdbfcdx1.c
   * contrib/hbct/ctnet.c
   * contrib/hbct/pos2.c
   * contrib/hbgf/gtk/creabutt.c
   * contrib/hbgf/gtk/creawin.c
   * contrib/hbgt/bitflags.c
   * contrib/hbmisc/stringsx.c
   * contrib/hbtip/encmthd.c
   * contrib/hbtip/utils.c
   * contrib/hbw32/w32_ole.c
   * contrib/hbwhat32/_wincdlg.c
   * contrib/hbwhat32/_winclpb.c
   * contrib/hbwhat32/_wintree.c
   * contrib/rddads/ads1.c
   * contrib/xhb/xstrdel.c
   * source/rdd/dbcmd.c
   * source/rdd/dbf1.c
   * source/rdd/dbfcdx/dbfcdx1.c
   * source/rdd/dbffpt/dbffpt1.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/delim1.c
   * source/rdd/hbsix/sxsem.c
   * source/rdd/sdf1.c
   * source/rdd/workarea.c
   * source/rtl/alert.prg
   * source/rtl/errorsys.prg
   * source/rtl/gtcrs/gtcrs.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtsln/gtsln.c
   * source/rtl/gtwin/gtwin.c
   * source/rtl/gtxwc/gtxwc.c
   * source/rtl/hbgtcore.c
   * source/rtl/hbregex.c
   * source/vm/cmdarg.c
   * source/vm/dynsym.c
     ! LUPDATE() buffer overread fixed. (hb_retds(""))
     % hb_itemPutC*()/hb_retc*()/hb_errInternal() "" parameter -> NULL
       NOTE: gtwvg not changed.
     * Few minor cleanups.
     * Some formatting in ads1.c.
       (verified to result in no actual codeflow change)
     ; TODO: hb_retc( NULL ) -> hb_retc_null()
2008-06-14 07:19:56 +00:00
Viktor Szakats
e708033e0e 2008-06-13 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.h
   * source/rtl/gtwvt/gtwvt.c
   * tests/wvtext.prg
     + Added hb_gtInfo( HB_GTI_SELECTCOPY, <cMenuText> )
       to set the menu text ("Mark and Copy" on startup).
       cMenuText mustn't be zero length. Setting the menu text 
       also enables select&copy automatically. The call 
       will return the previously set menu text. To get 
       the menu text without setting a new one, use: 
       hb_gtInfo( HB_GTI_SELECTCOPY, "" )
       This is good if someone wants to adapt the menu 
       text to the OS's or app's language.

   * doc/en/hb_apiit.txt
   * include/hbapi.h
   * include/hbapiitm.h
   * source/rtl/gtwin/gtwin.c
   * source/rtl/hbgtcore.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtwvt/gtwvt.c
   * source/vm/macro.c
   * source/vm/debug.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/arrays.c
   * source/vm/extend.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/sdf1.c
   * source/rdd/dbfcdx/dbfcdx1.c
   * source/rdd/delim1.c
   * source/rdd/dbf1.c
   * source/rdd/dbffpt/dbffpt1.c
   * contrib/hbw32/w32_ole.c
   * contrib/gtwvg/gtwvg.c
   * contrib/rddads/ads1.c
   * contrib/hbmisc/spd.c
   * contrib/hbbmcdx/bmdbfcdx1.c
   * contrib/examples/rdddbt/dbfdbt1.c
     * I did a mistake in 1999 by giving the name hb_itemPutCPtr() 
       to the function which would have to be correctly named 
       hb_itemPutCLPtr() (notice the 'L' for 'length').
       So, now this was renamed to hb_itemPutCLPtr(), and stub was 
       added with the old name, and Harbour code was changed to use 
       the new one. I've also added hb_itemPutCPtr2() as a version 
       not requiring len parameter, the proper name would be hb_itemPutCPtr() 
       for this, but we cannot use without breakin compatiblity.

       IMPORTANT: I'd strongly suggest all 3rd parties to update 
       their code to use the call hb_itemPutCLPtr() instead of 
       hb_itemPutCLPtr().

       The final goal would be to have hb_itemPutCPtr() with two 
       parameters instead of the hakish looking hb_itemPutCPtr2().

       I'd welcome any opinions how to reach this goal. I didn't want to 
       break compatiblity with 3rd parties this time, but IMO we may do 
       it in 1.1, or even before 1.0.

     ! The above also fixes the (potential) problem when hb_retc_buffer()'s 
       szText parameter was evaluated twice if HB_API_MACROS was #defined.
2008-06-13 17:26:48 +00:00
Przemyslaw Czerpak
89ed18ec57 2008-06-09 20:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/whatsnew.txt
    * minor fixes in formatting

  * harbour/source/rtl/hbgtcore.c
    ! fixed memory leak when HB_GTI_NOTIFIERBLOCK was used to overload
      register before block

  * harbour/source/vm/eval.c
    + added support for SYMBOL items in hb_evalLaunch() to be compatible
      with hb_itemDo()

  * harbour/contrib/hbmisc/spd.c
    * cleaned warnings
2008-06-09 18:49:15 +00:00
Viktor Szakats
a5ac639119 2008-06-09 07:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/wvtext.prg
   * include/hbgtinfo.ch
   * include/hbgtcore.h
   * source/rtl/hbgtcore.c
   * source/rtl/gtwvt/gtwvt.c
     * Changed the way notifications work. It's now platform 
       neutral and more simple.
       hb_gtInfo( HB_GTI_NOTIFIERBLOCK, {|nEvent, ...| myhandler( nEvent, mycustomdata, ... ) })
       may be used to set it. Use NIL to disable it. The purpose of 
       this is to be able to get notifications from GT related
       user interactions not initiated inside the apps UI world.
       F.e. to save screen size after the user has changed it, 
       or to have a last chance to commit tables, set flags, etc 
       when user (or OS) closed the app window.
     + Added basic support to handle return values from notifier.
     ! Added missing SVN header to wvtext.prg
     ; TOFIX: New TIMER stuff in GTWVT should be replace by 
              a platform neutral solution, which is probably MT.
              (see also "background events")
     ; TOFIX: Is there a way to force "non-full content" resize 
              on the window level? This way we could avoid 
              current trashing while resizing.
2008-06-09 06:07:59 +00:00
Pritpal Bedi
6c50fbe3a3 2008-06-08 16:03 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com
* harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/source/rtl/gtwvt/gtwvt.h
   * harbour/source/rtl/hbgtcore.c
   * harbour/include/hbgtinfo.ch
     + HB_GTI_MARKCOPY
       Added feature to toggle "Mark and Copy" Sysmenu option with:
          Hb_GtInfo( HB_GTI_MARKCOPY, TRUE|FALSE ) -> lPrevState

       Removed necessity to have Hb_NoCopyConsole() to not include it.
       Now appln always HAS this SysMenu option. 

     + HB_GTI_RESIZEABLE
       Added feature to toggle resizing of appln window as:
          Hb_GtInfo( HB_GTI_RESIZEABLE, TRUE|FALSE ) -> lPrevState

       Function Hb_NoResizeableWindow() still hold good for startup.
       You always can activate/deactivate this feature from within appln.

       Few more optimizations while resizing, still work in progress.  
       
   * harbour/tests/wvtext.prg
     * Updated to demonstrate above functionality.
2008-06-08 23:14:43 +00:00
Viktor Szakats
7d952c4d8e 2008-06-08 15:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbgtinfo.ch
     + Added comment to compatibility #defines, to not use 
       them, since they deprecated.
       [TOMERGE RC1]
     * HB_GTI_CB_* -> HB_GTE_* (stands for GT Event). Removed 
       plain GTI_ versions, GTI_* range is frozen, pls don't 
       and new codes to them and especially don't use them in 
       core code.

   * include/hbgfx.ch
   * include/hbgfxdef.ch
   * contrib/gtwvg/gtwvg.c
   * source/rtl/gtxwc/gtxwc.c
   * source/rtl/gtwvt/gtwvt.c
     * GFX_* constants renamed to HB_GFX_*. The old ones are 
       still working but it's recommended to update to use HB_GFX_*.
       #define HB_GT_NO_XHB to disable the compatibility #defines, 
       if it collides with your code or you want to test after 
       transition.
     ; [TOMERGE RC1]

   * source/rtl/dirdrive.c
     ! Guarded C53 undoc functions with HB_C52_UNDOC, which is enabled 
       so it won't make a difference in default builds.
     ; [TOMERGE RC1]

   * source/rtl/filesys.c
     ! Fixed hb_fsIsDrv() to use GetDriveTypeA() API, to avoid some 
       win32 system MessageBox() to be shown when certain types of 
       drives (f.e. USB reader devices) are queried.
     ; Please test.
     ; TOFIX: hb_fsChDrv() suffers from the same problem.
     ; [TOMERGE RC1 - after testing]

   * contrib/hbcurl/hbcurl.c
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
     % Optimized out explicit function name strings in RTE calls.
     ! The above is actually a fix (I hope) for the one in 
       hb_adsCheckLock(). Error text also made more consistent.
     ; [TOMERGE RC1 - after testing]

   * contrib/hbw32/w32_prn.c
     % Minor optimizations, cleanups.
2008-06-08 13:30:28 +00:00
Pritpal Bedi
1e9b0b7f3e 2008-06-06 20:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com)
* harbour/source/rtl/hbgtcore.c
   * harbour/include/hbgtcore.h
   * harbour/include/hbgtinfo.ch
   * harbour/source/rtl/gtwvt/gtwvt.c
   * harbour/source/rtl/gtwvt/gtwvt.h
     + Added building blocks for CallBacks to be set with Hb_GtInfo( GTI_* ).
   * harbour/tests/wvtext.prg
     + Test program to taste few of the callbacks.

     /* This also sets the ground for futuristic multi-window GT 
        I have kept MW GT code out of current implementation.
        This implementation does not interfere nor affects current functionality.

        A work in progress.

        Viktor, I have found a way to implement 'consol shearing, working on it
        and for that to happen these building blocks are a must.

        Przemek, please review the structure of <PHB_PGT>. I have added a few members.
        Please bear with my meagre knowledge if I did something stupid, just correct it.
     */
2008-06-07 04:31:50 +00:00
Przemyslaw Czerpak
76b3f96d1d 2008-05-30 03:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    * removed unnecessary variable

  * harbour/contrib/hbw32/w32_ole.c
  * harbour/contrib/hbole/ole2.c
  * harbour/contrib/gtwvg/gtwvg.h
    ! use trick with HB_ID_REF() only for BCC and MSVC
      some other C++ compilers like OpenWatcom have different
      header files and does not need it.
2008-05-30 01:47:31 +00:00
Przemyslaw Czerpak
f5043f6a64 2008-05-30 00:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    * declare hb_stack as static variable when HB_STACK_MACROS is
      disabled to be sure that non extern code will access hb_stack
      It's very important to eliminate such code before we add MT
      support.

  * harbour/source/vm/hvm.c
    * changed hb_vmFrame() to work in the same way as hb_vmVFrame()

  * harbour/source/rtl/hbgtcore.c
    ! fixed wrong clear column in right horizontal scrolling

  * harbour/source/rtl/memoedit.prg
    * use hb_inkeySetLast( n ) instead of KEYBOARD Chr( n ) ; InKey()
2008-05-29 22:15:25 +00:00
Przemyslaw Czerpak
a1f50d4447 2008-05-20 20:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * added HB_USR_LIBS set during build time to list of predefined libs
      in hb* scripts

  * harbour/source/rtl/hbgtcore.c
    ! fixed horizontal scrolling. Warning CTIII does not support
      horizontal scrolling and ignores 6-th scroll parameters.
      This behavior is intentionally not replicated in CTWIN
      though it can be easy added if someone will need it but
      covered with some macro to not change default builds.
      It will be enough to overload SCROLL() method and set
      iCol = 0 before calling SUPER_SCROLL().
2008-05-20 18:31:54 +00:00
Przemyslaw Czerpak
9ad3e8b2eb 2008-04-18 01:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    ! changed USHORT hb_gtColorToN( char * szColorString ) to
      int hb_gtColorToN( char * szColorString ) - it should be the same
      type as indexes in hb_gtColorsToString() functions

  * harbour/source/rtl/hbgtcore.c
    * return -1 from COLORNUM() method when passed color is not
      valid color string

  * harbour/contrib/hbct/screen2.c
  * harbour/contrib/hbct/color.c
  * harbour/contrib/hbct/screen1.c
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbnf/color2n.c
  * harbour/contrib/gtwvg/wvtcore.c
    * updated to respect -1 returned for wrong color strings

  * harbour/source/rtl/tget.prg
    * updated to respect -1 returned for wrong color strings
      Viktor please check me, now it's simpler and hbtest does not
      reports any errors so I guess that this version will work like
      in Clipper also for :colorSpec := "R,X,Y,0" or similar

  * harbour/source/rtl/tobject.prg
  * harbour/source/debug/dbgbrwsr.prg
    * formatting
2008-04-17 23:42:21 +00:00
Przemyslaw Czerpak
6c7feb0eac 2008-03-26 16:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtos2/gtos2.c
    * small changes, removed some un-needed code
      - by Maurilio Longo in xHarbour
    ! use screen buffer in BYTEs instead of USHORTs to avoid possible
      problems on big endian machines. I do not know if such OS2 ports
      exist but this code should be also endian independent like rest
      of Harbour code

  * harbour/source/rtl/hbgtcore.c
    ! Fixed screen buffer corruption on little-endian platforms in
      hb_gt_def_ColdArea() - fixed by Phil Krylov in xHarbour - many thanks
2008-03-26 15:55:01 +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
80e4b3ae70 2008-01-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/pplib.c
   * source/rtl/run.c
   * source/rtl/hbgtcore.c
   * source/rtl/philesx.c
   * source/rtl/strzero.c
   * source/vm/runner.c
   * source/vm/debug.c
   * source/vm/itemapi.c
   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/dbfcdx/dbfcdx1.c
     ! Replaced 9999 internal and RT error codes with 
       unique ones, in new Harbour ranges:
       RT/PP: 1001-1999
       RT/BASE: 6001-6999
          runner: 6101-6199
       Internal/misc: 6001-6999
       Internal/RDD: 7001-7999
          CDX: 7001-7099
          NTX: 7101-7199
       NOTE: If you find some more 9999s in the core code, 
             pls tell.
2008-01-26 06:54:55 +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
Przemyslaw Czerpak
4d9930caa6 2008-01-09 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    * added missing static to s_initSymbol declaration

  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/scroll.c
    * formatting

  * harbour/common.mak
    * added empty line necessary for some make systems (f.e. wmake)

  * harbour/bin/hb-func.sh
    * changed system libs order to avoid problems on some platforms

  * harbour/bin/pack_src.sh
    * collect information about repository files using 'svn status -v'
      command instead of scanning .svn/entries files to avoid problems
      with different formats used by SVN

  * harbour/include/hbchksum.h
  * harbour/include/hbset.h
    ! added missing extern in few function prototypes

  * harbour/include/hbclass.ch
    * use HB_CLS_PARAM_LIST macro instead of ... for strict C52 mode

  * harbour/source/common/hbfsapi.c
    + added missing const to one declaration

  * harbour/source/common/hbstr.c
    * minor cleanup in hb_stricmp()

  * harbour/source/rtl/inkey.c
    ! casting to avoid negative values during char to int translation

  * harbour/source/rtl/mouse53.c
    * added one internal definition

  * harbour/source/rtl/philes.c
    * removed unnecessary #include(s)
    * added missing const to one declaration

  * harbour/source/rtl/valtype.c
  * harbour/source/vm/hashfunc.c
    * cleanup RT error call to eliminate hb_paramError() function

  * harbour/source/pp/pplib.c
  * harbour/source/vm/runner.c
  * harbour/source/vm/debug.c
  * harbour/source/vm/arrayshb.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/hvm.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtfunc.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/hbregex.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/hbtoken.c
  * harbour/source/rtl/direct.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbcmd53.c
  * harbour/source/rdd/fieldhb.c
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/rdd/hbsix/sxcrypt.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/contrib/hbrddads/adsfunc.c
  * harbour/contrib/hbrddads/adsmgmnt.c
    - removed unnecessary calls to hb_ret()
    % replaced hb_itemRelease( hb_itemReturn( pItem ) ) with
      hb_itemReturnRelease( pItem )
    % replaced hb_itemPut*( hb_arrayGetItemPtr( pArray, ... ), ... ) with
      hb_arraySetNI( pArray, ... )

  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/contrib/xhb/cstructc.c
  * harbour/contrib/hbw32/w32_ole.c
  * harbour/contrib/hbgtwvg/wvtcore.c
    * cleaned typos with double ;;

  * harbour/source/vm/extend.c
  * harbour/source/rtl/math.c
    * cleaned HB_EXPORT usage

  * harbour/source/pp/ppcore.c
    ! fixed Harbour extension which allows to use match marker
      at the beginning of rule definition

  * harbour/source/main/harbour.c
    ! fixed hex conversion in FM log module - fix done by Phil Krylov
      in xHarbour

  * harbour/source/rdd/nulsys/nulsys.c
    + added dummy version of DBEVAL() and DBFILTER() - these functions
      are used in RTL

  * harbour/contrib/hbct/bitnum.c
    + added INTNEG(), INTPOS()

  + harbour/contrib/hbct/ctrand.prg
    + added RANDOM(), RAND() - borrowd from xHarbour by Pavel Tsarenko

  + harbour/contrib/hbct/setrc.c
    + added SETRC()

  * harbour/contrib/hbct/getinput.prg
    % minor optimization

  * harbour/contrib/hbct/Makefile
  * harbour/contrib/hbct/common.mak
    * updated for new files

  * harbour/contrib/hbnf/tempfile.prg
    * use HB_FTempCreate() - modification borrowed from xHarbour
      TOFIX this function uses hb_isbyref() which does not exist
      in Harbour

  * harbour/config/w32/msvc.cf
    + added -nologo flag for cl.exe (Phil Krylov's modification borrowed
      from xHarbour

  * harbour/config/w32/mingw32.cf
    - removed repeated definitions

  * harbour/config/w32/install.cf
    ! added alternative install rule for command.com with max line size limit
2008-01-09 14:04:12 +00:00
Przemyslaw Czerpak
cb47250bfc 2007-12-17 21:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gt_tpl/gt_tpl.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbgtwvg/gtwvg.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtalleg/fixedth.sfc
    * added missing const to few declarations
    * formatting and minor code cleanup

  * harbour/source/rtl/hbgtcore.c
    ! fixed GTNUL registration

  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtstd/gtstd.c
    * moved static variables to dynamic GT area

  * harbour/contrib/hbct/files.c
    ! fixed DOS version
2007-12-17 20:22:32 +00:00
Przemyslaw Czerpak
59ebbe7064 2007-12-11 16:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    * formatting

  * harbour/source/vm/hvm.c
    ! fixed typo in HB_TRACE message

  * harbour/source/rtl/gtwvt/gtwvt.h
  * harbour/source/rtl/gtwvt/gtwvt.c
    * updated for multi window usage

  * harbour/source/vm/maindllp.c
    * use MessageBox() instead of hb_errInternal() - thanks to Jon Jagger
      for information about the problem
2007-12-11 15:06:07 +00:00
Przemyslaw Czerpak
1b46d933d7 2007-12-07 10:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/inkeyapi.c
  * harbour/source/rtl/mouseapi.c
    - removed hb_gt_*(), hb_inkey_*(), hb_mouse_*() functions
    + implemented HB_GTSELF_*() functions and changed HB_GTSUPER_*()
      ones to operate on GT context passed ad 1-st parameter.
      Now GT API allows to create many GTs working simultaneously
    + added hb_gt_Base() core function which returns GT context
      it will be extended soon to allow using many GT contexts,
      setting thread default one or switch between them using some
      .prg function.

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/gtcrs.h
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/gtsln.h
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtsln/mousesln.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.h
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/ctwfunc.c
  * harbour/contrib/hbgtwvg/gtwvt.h
  * harbour/contrib/hbgtwvg/gtwvt.c
    * updated GT code for new GT API. I still haven't added GT cloning
      to them and only GTTRM is ready to use in multi window MT programs
      but now they can be systematically modified and it can be done
      locally without core code modifications.

  * harbour/contrib/hbgtwvg/wvtutils.c
    ! fixed some memory leaks in Unicode conversions
2007-12-07 09:44:03 +00:00
Przemyslaw Czerpak
9fdbf7de76 2007-12-04 12:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
    + added some missing HB_GTSUPER_* functions

  * harbour/contrib/hbgtwvg/wvtcore.c
    * use hb_gt*() functions instead of hb_gt_*() ones

  * harbour/contrib/hbgtwvg/wvtutils.c
  * harbour/contrib/hbgtwvg/gtwvt.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gttone.c
  * harbour/source/rtl/gtclip.c
    * minor cleanup in hb_gt_w32_*() function names

  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtclip.c
    * use common for all GT internal Clipboard buffer - thanks to Pritpal
      for a note
2007-12-04 11:52:20 +00:00
Przemyslaw Czerpak
62ed005979 2007-12-03 22:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rtl/Makefile
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/inkey.c
  + harbour/source/rtl/inkeyapi.c
    * moved hb_inkey*() functions to GT subsystem so now they can be
      overloaded by GT drivers and/or operate on different GT context

  * harbour/source/rtl/mouse53.c
    * eliminated to unused static variables

  * harbour/source/rtl/mouseapi.c
    * do not include unnecessary header files

  * harbour/source/rtl/gtchrmap.c
    * replaced // comment by /* ... */
2007-12-03 21:36:22 +00:00
Przemyslaw Czerpak
8abd2b93d8 2007-12-03 11:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapigt.h
    * removed declaration for not existing function: hb_inkeyGet()

  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
    * moved all static variables used by core GT code to HB_GT_BASE
      structure

  * harbour/source/rtl/inkey.c
    * cleanup

  * harbour/contrib/Makefile
    * moved HB_CONTRIBLIBS to the end build library list because they may
      need some other contrib libraries in dependences list
2007-12-03 10:48:50 +00:00
Przemyslaw Czerpak
d80b5e7389 2007-11-30 19:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtgui/gtgui.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/contrib/libct/ctwin.c
  * harbour/contrib/gtwvg/gtwvt.c
    + added GT ID (int s_GtId)

  * harbour/include/hbapigt.h
  * harbour/source/rtl/gtapi.c
    + added some missing wrappers for hb_gt_* functions to avoid
      including hbgtcore.h by non GT code - such functions separation
      will be important in MT mode where each thread can operate on
      different GT context (window)

  * harbour/contrib/libct/screen2.c
  * harbour/contrib/libct/screen1.c
  * harbour/contrib/libct/ctwfunc.c
    * use hb_gt* functions instead of hb_gt_*() ones

  * harbour/include/hbapigt.h
  * harbour/source/rtl/inkey.c
    * changed hb_setInkeyLast() to hb_inkeySetLast() to keep hb_inkey*()
      prefix in all inkey() related functions
    + added hb_inkeySetText()
    - removed hb_inkeyTranslate()

  * harbour/contrib/libct/setlast.c
    * use hb_inkeySetLast() instead of hb_setInkeyLast()

  * harbour/source/rdd/usrrdd/usrrdd.c
    * removed dummy xHarbour code not usable in Harbour

  * harbour/include/hbapi.h
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/hvm.c
    * added const to BYTE * pCode parameter of hb_codeblockMacroNew()
2007-11-30 18:57:51 +00:00
Przemyslaw Czerpak
a966524338 2007-11-21 19:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    + added emulation for clipboard in core GT code.
      Now: 
         hb_gtInfo( GTI_CLIPBOARDDATA ) -> <cClipData>
      and:
         hb_gtInfo( GTI_CLIPBOARDDATA, <cNewClipData> )
      is working in all GTs even if such functionality is not supported
      by OS.
2007-11-21 19:00:01 +00:00
Viktor Szakats
fde4638c38 2007-11-18 13:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/xhb/hbcompat.ch
     + Added xhb SecondsSleep() translation.

   * contrib/freeimage/make_b32.bat
   * contrib/freeimage/make_vc.bat
   * contrib/firebird/make_b32.bat
   * contrib/firebird/make_vc.bat
     ! Some fixes.

   * contrib/libct/cttime.prg
     ! SECTOTIME() fix. Borrowed from xhb.

   * contrib/apollo/apollo.c
   * contrib/apollo/make_b32.bat
   * contrib/apollo/make_vc.bat
     ! Fixed and tested with latest downloadable package.

   * contrib/win32/w32_tprn.prg
   * contrib/win32/w32_prn.c
     + Minor fix (from xhb)

   * source/rtl/errorint.c
     ! Defaulting all string parameters to "" when they are NULL 
       to avoid any potential problems later in the function.

   * source/rtl/hbgtcore.c
     % Passing NULL instead of "" in hb_errInternal() calls.

   * source/vm/itemapi.c
     ! Internal error is lauched in case the parameters passed 
       to hb_itemPutCLConst() are violating string item rules.
       Thanks for Mindaugas for the suggestion.
       TOFIX: Since this violation will most probably happen in 
              contrib/win32 OLE code, we'll need to fix that 
              code too.

   * utils/hbmake/hbmake.prg
     ! Fixed to not request wvtgui.lib.
2007-11-18 12:46:48 +00:00
Przemyslaw Czerpak
5de7824e15 2007-11-12 16:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/source/common/hbfsapi.c
    + added hb_fsMaxFilesError()

  * harbour/source/pp/ppcore.c
  * harbour/utils/hbpp/hbppcore.c
    * use hb_fsMaxFilesError() to avoid direct accessing of errno
      value - some compilers/platforms do not support errno

  * harbour/include/hbdate.h
  * harbour/source/rtl/seconds.c
    + added hb_dateMilliSeconds()

  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/inkey.c
    * use hb_dateMilliSeconds() to avoid using clock_t clock()
      some compilers/platforms do not support it

  * harbour/include/hbwince.h
  * harbour/source/common/hbwince.c
    * disabled clock_t clock() emulation - it's not longer used
    + added some declarations for ANSI functions emulated by us
      for WinCE and some defines - code sent by Marek Paliwoda

  * harbour/include/hbwmain.c
  * harbour/source/vm/mainwin.c
    * always use unicode translations with WinMain() parameters for compilers
      which do not set UNICODE macro for WinCE

  * harbour/source/rtl/fserror.c
    * do not include errno.h for HB_WIN32_IO - it's not necessary

  * harbour/utils/hbver/hbverfix.c
    * do not include errno.h for _MSC_VER and HB_WINCE builds

  * harbour/contrib/libmisc/dates2.c
    - commented DATETIME() function - this was not standard DATETIME()
      value but raw ctime() function output and some compilers/platforms
      do not support ctime()

  * harbour/contrib/libnf/getenvrn.c
    + added HB_OS_WIN_32_USED

  * harbour/contrib/mtpl.mak
  * harbour/contrib/pdflib/pdflib.h
    * replaced TABs with SPACEs

  * harbour/include/hbsetup.ch
    ! reenabled HB_EXTENSION in default builds - disabling it makes
      a lot of RDD code unusable and breaks default builds due to
      insufficient dependences
2007-11-12 15:10:28 +00:00
Przemyslaw Czerpak
a3fc484d14 2007-11-07 13:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/source/vm/classes.c
  * harbour/source/common/reserved.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbfunchk.c
    * cleaned possible dangerous code reported by Chen - many thanks
2007-11-07 12:53:20 +00:00
Przemyslaw Czerpak
633ce223f1 2007-09-12 13:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    * changed default UNSELECTED collor from W/N to N/W
2007-09-12 11:57:57 +00:00
Przemyslaw Czerpak
08a3551742 2007-09-12 02:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/std.ch
    * cover ENDSEQUENCE translation with HB_C52_STRICT macro
    + added translations for END SWITCH, END WITH, END OBJECT

  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
    + added support for ENDSEQ[UENCE], ENDSW[ITCH] and ENDW[ITH]

  * harbour/source/rtl/hbgtcore.c
    ! changed string to color number translation to be fully Clipper
      compatible. Now I do not know any examples which we translate
      differently - if someone will find any them then please inform me.
      The only one intentional difference between Harbour and Clipper
      is in color number to string translation and background highlighting
      attribute "*", Clipper put it just before "/" as part of foreground
      color (f.e.: 248 => "N*+/W") but Harbour as part background color
      (f.e.: 248 => "N+/W*") - Clipper compatible behavior is enabled when
      Harbour is compiled with HB_C52_STRICT macro

  * harbour/utils/hbtest/rt_misc.prg
    * control the position of background highlighting attribute (*) in
      expected results depending on HB_C52_STRICT. Harbour passes correctly
      all included color translation tests.
2007-09-12 00:10:09 +00:00
Viktor Szakats
709de529ef 2007-09-11 23:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/hbgtcore.c
     ! Fixed handling of some strangely formatted colorstrings
       mainly inside TGet(). The low-level functionality 
       modified is the colorstring to number conversion. The 
       only change is to continue (and not exit) on a non-std 
       char.

   * utils/hbtest/rt_misc.prg
     + Added some color string parsing tests. Some of them fail.

   * source/rtl/achoice.prg
   * source/debug/debugger.prg
   * utils/hbtest/hbtest.prg
   * utils/hbtest/rt_array.prg
     * Formatting.
2007-09-11 21:36:00 +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
feda39d689 2007-08-30 03:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/rtl/console.c
    * changed hb_conOutAlt() from static to global function.

  * harbour/include/hbapi.h
  * harbour/source/common/hbver.c
    + added hb_verBuildDate()

  * harbour/source/rtl/accept.c
    ! Fixed ACCEPT to respect SET CONSOLE and similar sets.

  * harbour/source/rtl/hbgtcore.c
  * harbour/contrib/libct/ctwin.c
    ! fixed chr(8) console output - it should erase character on the screen

  * harbour/include/set.ch
  * harbour/include/hbset.h
  * harbour/source/rtl/set.c
  * harbour/source/rtl/filesys.c
    + added _SET_TRIMFILENAME - when enabled low level hb_fs*() functions
      strip trailing and leading spaces from file names to emulate DOS
      like behavior - switch compatible with xHarbour


  * harbour/source/rtl/run.c
    * remove compiler type checking - if system() is not supported by
      some platform/compiler then I'd prefer to exclude it explicitly.

  * harbour/source/rtl/dircmd.prg
    + added support for extended DBF types and replaced some of
      Bin2W() by ASC()

  * harbour/source/rtl/defpath.c
    * use OS_HAS_DRIVE_LETTER macro to detect if platform supports drive
      letters

  * harbour/source/rtl/philes.c
    + added HB_FCOMMIT(), HB_OSERROR(), HB_OSDRIVESEPARATOR()
      Question: why we have HB_F_EOF() instead HB_FEOF()

  * harbour/source/rtl/oldbox.c
  * harbour/source/rtl/box.c
    ! fixed __BOX() to be Clipper compatible

  * harbour/source/rtl/math.c
  * harbour/source/rtl/dateshb.c
    * formatting and some minor improvements

  * harbour/source/rtl/isprint.c
  * harbour/source/vm/itemapi.c
  * harbour/source/rtl/ampm.c
  * harbour/source/rtl/inkey.c
  * harbour/source/rtl/gete.c
  * harbour/source/rtl/fkmax.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/colorind.c
  * harbour/source/rtl/mouseapi.c
  * harbour/source/rtl/readvar.prg
  * harbour/source/rtl/devoutp.prg
  * harbour/source/rtl/readkey.prg
    * code checking and formatting
    ! some minor fixes
    % some speed improvements

  * harbour/source/rtl/menuto.prg
  * harbour/source/rtl/radiogrp.prg
  * harbour/source/rtl/listbox.prg
  * harbour/source/rtl/checkbox.prg
  * harbour/source/rtl/pushbtn.prg
  * harbour/source/rtl/radiobtn.prg
    * code checking and formatting
    ! added fixes borrowed from xHarbour 
    ! some other fixes
    % some speed improvements

  * harbour/source/rtl/filehb.c
    + added commment

  * harbour/source/rtl/transfrm.c
    ! fixed integer numbers transformation when _SET_FIXED is on to
      be Clipper compatible

  * harbour/source/rtl/version.c
    + added HB_PCODEVER() and HB_BUILDDATE()

  * harbour/source/rtl/copyfile.c
    ! fixed __COPYFILE() - source and destination files should respect
      _SET_DEFAULT
2007-08-30 01:56:03 +00:00
Przemyslaw Czerpak
ac81836493 2007-08-23 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
    + added new GT method: SEMICOLD()

  * harbour/source/rtl/gtxwc/gtxwc.c
    * use SEMICOLD() for late console window initialization

  * harbour/source/rtl/gttrm/gttrm.c
    * use SEMICOLD() to not erase startup screen contnts.
      Now applications which uses GTTRM and only simple QOUT()/QQOUT()
      output will work like with GTSTD. It means that in *nixes we can
      use GTTRM as default GT driver for all Harbour utilities.

  * harbour/make_gcc.sh
  * harbour/make_tgz.sh
  * harbour/harbour.spec
    * changed default GT driver for *nixes from to GTSTD to GTTRM
2007-08-23 12:30:23 +00:00
Przemyslaw Czerpak
e19e015ae8 2007-07-14 22:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gttrm/gttrm.c
    * added protection against corrupted by programmer screen buffer

  * harbour/source/rtl/hbgtcore.c
    * extended hb_gtColorToN() to recognize also "I", "N", "U" and
      numeric NN/NN attributes

  * harbour/contrib/libct/ftoc.c
    * cleanup

  * harbour/contrib/libct/Makefile
  * harbour/contrib/libct/makefile.bc
  * harbour/contrib/libct/makefile.vc
  - harbour/contrib/libct/color.prg
  - harbour/contrib/libct/invrtwin.prg
  + harbour/contrib/libct/color.c
    * rewritten INVERTATTR(), INVERTWIN(), COLORTON(), NTOCOLOR(),
      ENHANCED(), STANDARD(), UNSELECTED() in C code. Now COLORTON()
      and NTOCOLOR() use GT functions for color translations.
    ! fixed INVERTATTR() to not change blink and highlight attributes
    ! fixed INVERTWIN() to work with GT divers which do not use VGA
      compatible screen buffer
2007-07-14 20:55:26 +00:00
Przemyslaw Czerpak
8b5cf06681 2007-06-27 10:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtcgi/gtcgi.c
    * added support for CP translation in OUTSTD()/OUTERR() when
      they are not redirected to console
2007-06-27 08:05:52 +00:00
Przemyslaw Czerpak
6fc278c406 2007-06-22 16:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/pack_src.sh
    + added GTTRM to compressed file list

  * harbour/include/hbgtcore.h
    + added HB_GT_ATTR_UNDEF

  * harbour/source/rtl/hbgtcore.c
    * minor cleanup in COLD() method

  * harbour/source/rtl/gtchrmap.c
    * disable control characters when hb_charmap.def file cannot be found
      or there is no valid section for current terminal inside

  * harbour/source/rtl/gttrm/gttrm.c
    - removed OUTERR() and OUTSTD() method - the default one are enough
    + set CLIPKEY flag in GTI_ADDKEYMAP
2007-06-22 14:25:17 +00:00
Przemyslaw Czerpak
ba99e81cbf 2007-05-18 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapierr.h
  * harbour/source/rtl/errorapi.c
    * changed 'char hb_errFuncName' to 'const char hb_errFuncName'

  * harbour/source/compiler/ppcomp.c
    * added note about Harbour exception in header

  * harbour/include/hbapifs.h
  * harbour/source/rtl/fserror.c
    + added hb_getFError(), hb_setFError()

  * harbour/source/rtl/philes.c
  * harbour/source/rtl/philes53.c
    * use hb_getFError()/hb_setFError() in F*() functions

  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/fssize.c
    * fixed setting hb_fsError()

  * harbour/source/rtl/console.c
  * harbour/source/rtl/dirdrive.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/philesx.c
  * harbour/source/rtl/set.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtstd/gtstd.c
    * removed code to save/restore hb_fsError()
2007-05-18 20:45:15 +00:00
Przemyslaw Czerpak
eeb38e90e7 2007-04-16 01:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/debug/debugger.prg
    * removed some not longer necessary GTWVW extensions

  * harbour/source/rtl/hbgtcore.c
  * harbour/contrib/libct/ctwin.c
    + added support for GTI_{NEW,GET,SET}WIN in CTWIN
      Now debugger can be used with CTWIN without any problems
2007-04-15 23:50:24 +00:00
Przemyslaw Czerpak
942d57e0f1 2007-04-16 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/bin/pack_src.sh
  * harbour/source/vm/Makefile
  - harbour/source/vm/dbgentry.c
  * harbour/source/debug/Makefile
  + harbour/source/debug/dbgentry.c
    * moved dbgentry.c from HVM to DEBUG library

  * harbour/source/rtl/hbgtcore.c
    + added basic version of GTI_{NEW,GET,SET}WIN

  * harbour/include/hbapidbg.h
  * harbour/source/vm/hvm.c
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbgentry.c
    + added set of .prg level functions (HB_DBG_*()) to control
      debugger internals
    * eliminated HB_INLINE() calls
    * use  to switch between user and debugger screen
    * cleaned debugger interface in HVM, removed unused variables
      added one common debug function
2007-04-15 22:20:37 +00:00
Przemyslaw Czerpak
c219f35080 2007-04-13 18:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/valtoexp.prg
    + added HB_VALTOEXP() and HB_CSTR()

  * harbour/source/debug/dbgthsh.prg
  * harbour/source/debug/debugger.prg
    * replaced CSTR() with HB_CSTR() and SETLASTKEY() with HB_SETLASTKEY()
      now debugger can be used without CT and TIP libraries

  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/hbgtcore.c
    + added GTI_ISMULTIWIN, GTI_GETWIN, GTI_SETWIN, GTI_NEWWIN
      and TODO note - it's not finished yet, work in progress
2007-04-13 16:43:28 +00:00
Przemyslaw Czerpak
98d97eb695 2007-02-13 21:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * do not pass linking parameters to GCC/G++ when is used for
      compilation only

  * harbour/contrib/rdd_ads/Makefile
    * set -DWIN32 for W32 compilation
  * harbour/contrib/rdd_ads/makefile.bc
    * formatting

  * harbour/include/hbapi.h
  * harbour/source/rtl/strcase.c
    + added hb_charUpper() and hb_charLower()

  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/hbgtcore.c
    + added support for ALERT() on GT level - C functions: hb_gtAlert()/
      hb_gt_Alert()
      To replicate some details of Clipper and CT3 behavior ALERT() cannot
      be implement only on upper level as .prg function
  * harbour/source/rtl/gtfunc.c
    + added .prg function HB_GTALLERT()
  * harbour/source/rtl/alert.prg
    * redirected ALERT() to HB_GTALLERT()

  * harbour/source/rtl/fstemp.c
    * use the same case conversion as in low level hb_fs*() functions to
      avoid possible problems with national characters

  * harbour/source/rtl/dates.c
  * harbour/source/rtl/set.c
  * harbour/source/rtl/strmatch.c
  * harbour/source/rtl/transfrm.c
    * use hb_charUpper()
    * casting
2007-02-13 19:59:41 +00:00
Przemyslaw Czerpak
48f8dba263 2007-02-08 23:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
  * harbour/contrib/libct/ctwin.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtxwc/gtxwc.c
    + added support for GTI_FULLSCREEN, GTI_KBDSUPPORT, GTI_ISCTWIN

  * harbour/source/rtl/hbgtcore.c
    ! fixed line and box drawing when the coordinates are out of screen size

  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/include/hbpcode.h
  * harbour/include/hbstack.h
  * harbour/include/hbvm.h
  * harbour/include/hbxvm.h
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hblbl.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
    ! added protection against cyclic references in arrays
    * eliminated action parameter from hb_vmRequestReenter() /
      hb_vmRequestRestore()
    * moved s_lRecoverBase and s_uiActionRequest to HB_STACK structure
      for future MT HVM version
    + added internal item structure hb_struRecover - it's not real item
      but this structure is used to keep information about BEGIN SEQUENCE
      data - it reduce HB_STACK usage
    + added support for ALWAYS clause in BEGIN SEQUENCE
      The syntax is:
         BEGIN SEQUENCE
            <code>
         [ RECOVER [ USING oErr ] ]
            <recoverCode>
         [ ALWAYS ]
            <alwaysCode>
         END [ SEQUENCE ]
      It's guaranteed that <alwaysCode> is _ALWAYS_ executed even if
      inside <code> or <recoverCode> some new exceptions like RETURN,
      BREAK or QUIT will appear.
      Please note that when the following code is executed:
         BEGIN SEQUENCE
            <code>
         ALWAYS
            <alwaysCode>
         END
      (without RECOVER clause) then BREAK exception inside <code> is not
      recovered, <alwaysCode> is executed and then BREAK exception is
      passed to outer BEGIN SEQUENCE. This is the same semantic as
      used in TRY / [ CATCH ] / FINALLY / END
      Those of you who prefer to use TRY / CATCH / FINALLY / END instead
      of BEGIN SEQUENCE / RECOVER / ALWAYS / END can simply add to your
      source code:
         #command TRY               => BEGIN SEQUENCE
         #command CATCH [ oErr ]    => RECOVER [ USING <oErr> ]
      and:
         errorBlock( {|oErr| break( oErr ) } )
      Though instead of 'break( oErr )' I suggest to use some small function
      which will support some basic recovery/substitute operations like in
      default errorsys() and LockErrHandler() to not break existing code
      which may depends on the default behavior.
      If you want I can add direct support for TRY / CATCH / FINALLY / END
      but I'm not sure it's really necessary.
      Please note also that in Harbour ALWAYS code is execute even for QUIT
      excpetion.
      When <alwaysCode> is executed current exception is stored and restored
      when is finished. If new exception appears inside <alwaysCode> then
      restored exception depends on the priority in the following order:
         QUIT     // highest priority
         BREAK
         RETURN
      If both exceptions have the same priority and contain additional value
      (error object in BREAK or return value in RETURN) then the recently set
      one is restored. It's similar behavior to destructor code.

  * harbour/source/common/hbstr.c
    * moved one character length string table (hb_szAscii) from hvm.c
      to use it also in compiler and preprocessor

  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/pplib.c
    * tuned error messages to be more Clipper compatible
    % use static strings from hb_szAscii

  * harbour/source/rtl/alert.prg
    * use hb_gtInfo( GTI_FULLSCREEN ) to detect type of GT driver
    ! some minor fixes
      TOFIX: we have to also use GTI_ISCTWIN or add window allocation
             to standard GT drivers to be Clipper compatible when CTWIN
	     is used - In Clipper Tools ALERT() works in differ way then
	     the standard one. It creates separate window box to display
	     data, supports SETKEY(), etc. I'll think about adding some
	     extended support for ALERT() and similar operations (f.e.
	     separate debugger windows) to GT API so it will be also
	     possible to overload standard alert() command by GUI message
	     box in GTGUI and similar GT drivers.

  * harbour/source/rtl/binnumx.c
    ! fixed U2BIN() - wrong casting
2007-02-08 22:56:31 +00:00
Przemyslaw Czerpak
f63975287b 2006-12-18 19:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/w32/bcc32.cf
    * cleanup
  + harbour/config/w32/xcc.cf
    + added XCC support

  * harbour/contrib/btree/hb_btree.c
    * use hb_vmAtInit()/hb_vmAtExit() instead of INIT/EXIT functions defined
      from C code

  * harbour/contrib/libct/tab.c
    * casting

  * harbour/contrib/odbc/odbc.c
    ! removed #include <malloc.h> - it should not be used with new C
      compilers
      I think that we should replace this library with hbodbc from xHarbour.

  * harbour/contrib/ole/ole2.c
    * updated for XCC

  * harbour/include/hbdefs.h
    * include stdint.h if available

  * harbour/source/compiler/complex.c
    ! fixed yet another stupid mistake in WITHOBJECT token

  * harbour/include/hbpcode.h
  * harbour/include/hbxvm.h
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hblbl.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/vm/hvm.c
    + added HB_P_SWAP <n> PCODE

  * harbour/include/hbcompdf.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbexprc.c
  * harbour/include/hbexprop.h
    ! fixed GPF during compilation of @:var, @:&var, @o:&var
    + added support for @o:&var and @:var, @:&var inside WITH OBJECT
      statement
    * changed PCODE generated of ++,--,+=,-=,...
      Now left side expression is evaluated _ONLY_ once and when object
      messages are used it's guarantied that exactly the same object
      variable will be used. It also fixes some problems which exists
      in Clipper. This optimization is enabled by -kh flag (by default)
      and can be disabled with -kc.
    % optimize ald macros in ++,--,+=,-=,... operations
    * add automatically "_" prefix when macro message is used in assignment
      context, f.e.:
         s:="osCode"
         o:=errorNew()
         ? o:&s
         o:&s := 100
         ? ++o:&s
         ? o:&s *= 5

  * harbour/include/hblang.ch
    - removed #xtranslate - this file is included by C code and some C
      compiler do not like unknown directives

  * harbour/utils/hbtest/rt_math.prg
    + added test code for <op>assign and (pre/post)(inc/dec)rementation,
      macro messages and WITH OBJECT

  * harbour/source/compiler/harbour.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtwin/gtwin.c
    * casting and warning cleanup

  * harbour/utils/Makefile
    + added $(HB_UTILS)

  - harbour/utils/hbpp/hbpp.h
  + harbour/utils/hbpp/hbppdef.h
  * harbour/utils/hbpp/hbpp.c
  * harbour/utils/hbpp/hbppcomp.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/utils/hbpp/hbpplib.c
  * harbour/utils/hbpp/hbpptbl.c
  * harbour/utils/hbpp/pragma.c
    * renamed hbpp.h to hbppdef.h to avoid possible conflict with hbpp.h
      in include directory
    * casting and warning cleanup
2006-12-18 18:34:44 +00:00
Przemyslaw Czerpak
b86b5a8fe7 2006-12-08 05:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
  * harbour/bin/hb-mkslib.sh
  * harbour/bin/postinst.sh
  * harbour/config/bsd/gcc.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/hpux/gcc.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/owatcom.cf
  * harbour/config/os2/gcc.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/w32/watcom.cf
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/include/hbapifs.h
  * harbour/include/hbexprc.c
  * harbour/include/hbsetup.h
  * harbour/source/common/expropt2.c
  * harbour/source/common/hbdate.c
  * harbour/source/common/hbgete.c
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbverdsp.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/fixflex.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.l
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hbfunchk.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
  * harbour/source/pp/pplib.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rtl/accept.c
  * harbour/source/rtl/ampm.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/defpath.c
  * harbour/source/rtl/errorint.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/fkmax.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/seconds.c
  * harbour/source/rtl/set.c
  * harbour/source/rtl/tobject.prg
  * harbour/source/rtl/transfrm.c
  * harbour/source/rtl/gtcrs/chrmap.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/gtcrs.h
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/debug.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/fm.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/proc.c
  * harbour/source/vm/runner.c
  * harbour/utils/hbmake/hbmlang.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/utils/hbpp/hbppcomp.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/utils/hbpp/hbpplib.c
  * harbour/utils/hbpp/pragma.c
  * harbour/utils/hbver/hbverfix.c
    * general code cleanup: all strcpy() and strcat() replaced hb strn*()
      and hb_strn*(), sprintf() by snprintf(), etc.
      It fixed some possible buffer overflow but it's also possible that
      it will exploit some some hidden so far problems but I strongly
      prefer to know about them ASAP to fix them before final 1.0 release.
    ! fixed bug I introduce in codeblock falgs which disabled early macro
      evaluation in codeblocks.
    ! added missing protection against execution by bison destructor for
      used CBSTART token on syntax error.
    % use PP stringify logik added for FLEX support to remove all redundant
      spaces in stringified for early macro evaluation codeblocks and add
      spaces between operators if after preprocessing they were removed.
      Now we are supporting also some code which cannot be compiled by
      Clipper.
    % cleaned and improved the speed of printer redirecting in console code.
      Chen please check if CG still reports problems and if not ubdate
      TODO/TOFIX or inform me about them.
    * some cleanups in building process for different *nixes: MacOSX, SunOS,
      *BSD, etc.
    * removed not longer necessary (I hope) compiler flag to force default
      'char' type as signed. Now Harbour should work with signed and unsigned
      char without any problems. To other developers: please remember that
      when you are using 'char' as 8 bytes signed integer then it's a bug.
      Always explicitly use: 'signed char' in such case. On some platforms
      it's not possible to set default type for 'char' so if you hardcode
      that 'char' is signed or unsigned somewhere then code will not be
      portable. Chen if you will find a while to also rebuild Harbour with
      BCC and -K switch to make some tests with CG then I'll be thankful.
2006-12-08 05:03:58 +00:00
Przemyslaw Czerpak
5db88c1acc 2006-07-16 19:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    ! fixed typo in date

  * harbour/doc/gtapi.txt
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtgui/gtdef.c
    * changed HB_GT_DEFAULT_<name> to HB_GT_<name>_DEFAULT and added
      REQUEST posibilities so now the GT drivers can be REQUESTed and
      the default one set in similar way.
      F.e.:
         REQUEST HB_GT_WIN
         REQUEST HB_GT_WVT_DEFAULT
         REQUEST HB_GT_STD
      I think that it will be much easier and also using _DEFAULT as suffix
      does not resolve fully 10 character symbol but will work if GT name
      is not longer then 3 characters
2006-07-16 16:59:43 +00:00
Przemyslaw Czerpak
e4f4ea7783 2006-07-07 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/libct/ctwfunc.c
    + added missing header note

  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
    * started basic modifications for multi CDP unicode screen buffer
      added hb_gtSetFlag(), removed hb_gt_SetCompatBuffer(),
      added GTI_STDOUTCON, GTI_STDERRCON, etc.

  * harbour/source/vm/arrays.c
    ! fixed bug I introduce recently in AEVAL and additional range checking
    * minor optimizations in ASCAN
2006-07-07 10:13:23 +00:00
Przemyslaw Czerpak
c5382221de 2006-06-28 02:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    - removed forgotten printf() used as debug message

  * harbour/source/rtl/gtgui/gtdef.c
    * register "GUI" GT as default one by executing
      hb_gtSetDefault( "GUI" ) at startup
2006-06-28 00:29:08 +00:00
Przemyslaw Czerpak
2a3c796c2b 2006-06-23 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtgui/Makefile
  * harbour/source/rtl/gtgui/gtgui.c
    * hacked GTGUI for W32 to be compiled using the same name as RTL default
      GT driver (GTWIN).

  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
    * changed 'char *' to 'const char *' in hb_gtSetDefault(), hb_gtLoad()
2006-06-23 01:00:15 +00:00
Przemyslaw Czerpak
917c8057e6 2006-06-14 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/linux/dir.cf
  * harbour/config/linux/gcc.cf
    * formatting

  * harbour/config/linux/global.cf
  * harbour/config/linux/install.cf
    * added -ldl to linked library list and RANLIB executing after library
      creation

  * harbour/contrib/ole/ole2.c
    * added #include "hbapicls.h"

  + harbour/include/hbapicls.h
  * harbour/include/hbapi.h
    + added HB_IT_ENUM item
    + added collect member to HB_IT_POINTER structure for POINTER items
      inspected by GC
    * changed the order of HB_CODEBLOCK members to safe few bytes on
      alignment
    * removed counters from HB_CODEBLOCK and HB_BASEARRAY structure
    + added hb_xRefInc(), hb_xRefDec(), hb_xRefFree(), hb_xRefCount(),
      hb_xRefResize() functions. They are internal Harbour VM functions
      and covered by internal API macro. Should not be used by 3-rd
      party code because we may change them in the future or even remove.
    + added hb_gcRefInc(), hb_gcRefDec(), hb_gcRefFree(), hb_gcRefCount()
      functions. These are also internal function which corresponds to the
      above hb_x*() ones.
    - removed hb_arrayRelease() function. This function is not longer
      necessary and it should never be public function - it was implemented
      in very dangerous way.
    - removed hb_codeblockDelete() function.
    - removed hb_memvarValueDecGarbageRef()
    + added USHORT usLen parameter to hb_codeblockMacroNew() - when sets
      to non 0 value it informs that PCODE should be copied to dynamically
      allocated buffer.
    * moved all classes/object functions to separate file: hbapicls.h
    + added hb_retptrGC()
    + added internal function hb_memvarGetItem()

  * harbour/include/hbapiitm.h
    - removed hb_itemForwardValue() and added macro which translates
      hb_itemForwardValue() to hb_itemMove()
    + added hb_itemUnShareString() and hb_itemReSizeString() functions
    + added hb_itemSetNil() macro

  * harbour/include/hbdefs.h
    * some cleanups in macro definitions

  * harbour/include/hbexprb.c
    * indenting

  * harbour/include/hbvm.h
  * harbour/include/hbinit.h
    + added hb_vmProcessSymbolsExt(), hb_vmRegisterSymbols(),
      hb_vmFreeSymbols(), hb_vmBeginSymbolGroup(),
      hb_vmInitSymbolGroup(), hb_vmExitSymbolGroup()
    * changed hb_vmProcessSymbols() to return address of register symbol
      table. For normal code it's the same address as given in parameter
      so it does not break backward binary compatibility.
    * changed symbol init macros to work correctly with modified address
      of symbol table

  * harbour/include/hbsetup.h
    * added support for HB_USE_PROFILER macro. Now profiler code is
      is disable in HVM by default
    * commented out HB_ASORT_OPT_ITEMCOPY - it's not longer used - see note.

  * harbour/include/hbstack.h
    * added missing parenthesis in hb_stackItem() macro

  * harbour/include/hbtypes.h
    * updated VM_PROCESS_DLL_SYMBOLS definition
    + added VM_PROCESS_SYMBOLS_EXT
    - removed HB_ARRAYRELEASE

  * harbour/include/hbver.h
    * changed revision number to 2

  * harbour/include/hbvmpub.h
    - remove pFunPtr from HB_DYNS and cover profiler member by
      #ifndef HB_NO_PROFILER
    + added HB_PCODEFUNC structure
    + added HB_FS_PCODEFUNC, HB_FS_DYNCODE and HB_FS_LOCAL - the last one
      is not used yet.

  * harbour/include/hbxvm.h
    * added some multipcode functions for some speed optimization in -gc3
      output

  * harbour/include/hbapicdp.h
  * harbour/source/codepage/cpbg866.c
  * harbour/source/codepage/cpbgiso.c
  * harbour/source/codepage/cpbgwin.c
  * harbour/source/codepage/cpeldos.c
  * harbour/source/codepage/cpelwin.c
  * harbour/source/codepage/cpesdos.c
  * harbour/source/codepage/cpesmwi.c
  * harbour/source/codepage/cpeswin.c
  * harbour/source/codepage/cpgedos.c
  * harbour/source/codepage/cpgewin.c
  * harbour/source/codepage/cphu852.c
  * harbour/source/codepage/cphuiso.c
  * harbour/source/codepage/cphuwin.c
  * harbour/source/codepage/cppl852.c
  * harbour/source/codepage/cppliso.c
  * harbour/source/codepage/cpplmaz.c
  * harbour/source/codepage/cpplwin.c
  * harbour/source/codepage/cppt850.c
  * harbour/source/codepage/cpptiso.c
  * harbour/source/codepage/cpru866.c
  * harbour/source/codepage/cprukoi.c
  * harbour/source/codepage/cpruwin.c
  * harbour/source/codepage/cpsl437.c
  * harbour/source/codepage/cpsl852.c
  * harbour/source/codepage/cpsliso.c
  * harbour/source/codepage/cpslwin.c
  * harbour/source/codepage/cpsrwin.c
  * harbour/source/common/hbfhnd.c
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
  * harbour/source/compiler/gencli.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtxwc/gtxwc.c
    * cleaned the code to avoid warnings for some non ANSI C constructions

  * harbour/source/compiler/cmdcheck.c
    * formatting

  * harbour/source/compiler/gencc.c
    * added some multipcode optimizations

  * harbour/source/compiler/genc.c
    * keep function name set by compiler for static initstatics

  * harbour/source/compiler/harbour.c
    * extend init statics name with the number of used static variables
    * formatting

  * harbour/source/compiler/hbusage.c
    + added my name to developers list - I hope that there is enough
      of my code in Harbour (BTW for quite long time) ;-)

  * harbour/source/rdd/dbcmd.c
    - removed DBF2TEXT() function

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * generate RT error when someone tries to create DBF with memo fields
      without MEMO RDD linked.

  * harbour/source/rtl/errorapi.c
    * replace all hb_vmDo() with hb_vmSend()

  * harbour/source/rtl/math.c
    * use hb_errPutArgs() to pass parameters to error object

  * harbour/source/rtl/philes.c
  * harbour/source/rtl/space.c
  * harbour/source/rtl/strpeek.c
    * some minor optimizations

  * harbour/source/vm/arrays.c
    - removed hb_arrayRelease() function.
    * changed hb_arrayReleaseGarbage() to be safe for recursive call
    * updated to use GC counters

  * harbour/source/vm/arrayshb.c
    * use stack function/macros instead of direct accessing HB_STACK members

  * harbour/source/vm/asort.c
    * removed unused HB_ASORT_OPT_ITEMCOPY

  * harbour/source/vm/classes.c
    * added class code from HVM
    % added fast overloaded operator detection and execution
    + added hb_objHasOperator(), hb_objOperatorCall()
    + added separated overloading of "=" and "==" operators
    * operate on PHB_SYMB not PHB_FUNC - support for pure PCODE function
      without any machine code
    * use stack function/macros instead of direct accessing HB_STACK members
    * separated profiler code
    * some code cleaning

  * harbour/source/vm/codebloc.c
    + added USHORT usLen parameter to hb_codeblockMacroNew() - when sets
      to non 0 value it informs that PCODE should be copied to dynamically
      allocated buffer.
    * updated to use GC counters
    - removed hb_codeblockDelete() function.
    * changed hb_codeblockDeleteGarbage() to be safe for recursive call
    - removed restoring statics base in hb_codeblockEvaluate()

  * harbour/source/vm/debug.c
    * cleaned and optimized some code

  * harbour/source/vm/dynlibhb.c
    + added support for loading and unloading dynamic libraries with PCODE
    + added support for dynamic libraries in Linux (.so)
    + added HB_LIBERROR() - returns error string with last error in
      HB_LIBLOAD() - now works only in Linux

  * harbour/source/vm/dynsym.c
    * separated profiler code
    + use pDynSym->pSymbol->value.pFunPtr instead of pDynSym->pFunPtr

  * harbour/source/vm/estack.c
    + added #include "hbapicls.h"
    + added hb_stackPushReturn(), hb_stackPopReturn()

  * harbour/source/vm/eval.c
  * harbour/source/vm/extend.c
    * use stack function/macros instead of direct accessing HB_STACK members
    + added hb_retptrGC()

  * harbour/source/vm/fm.c
    + added hb_xRefInc(), hb_xRefDec(), hb_xRefFree(), hb_xRefCount(),
      hb_xRefResize() functions. They are internal Harbour VM functions
      and covered by internal API macro. Should not be used by 3-rd
      party code because we may change them in the future or even remove.

  * harbour/source/vm/garbage.c
    + added hb_gcRefInc(), hb_gcRefDec(), hb_gcRefFree(), hb_gcRefCount()
      functions. These are also internal function which corresponds to the
      above hb_x*() ones.
    * changed Step 3 of GC pass and execution of clean-up function to be
      safe for recursive calls and additional activity.
      Ryszard see my note and s_pDeletedBlock
    + added GC inspected HB_IT_POINTER items.

  * harbour/source/vm/hvm.c
    * separated profiler code
    * separated class code from HVM
    + added support for loading and unloading libraries with PCODE modules
    + added support for pure PCODE functions
    + added support for string item resizing and preallocating string buffer
    + added some new multipcode functions for -gc3 optimization
    + added hb_vmProcessSymbolsExt(), hb_vmRegisterSymbols(),
      hb_vmFreeSymbols(), hb_vmBeginSymbolGroup(),
      hb_vmInitSymbolGroup(), hb_vmExitSymbolGroup()
    * changed hb_vmProcessSymbols() to return address of register symbol
      table. For normal code it's the same address as given in parameter
      so it does not break backward binary compatibility.
    + use new code for operator overloading
    * changed FOR EACH to dynamically check iteration scope in
      hb_vmEnumNext()/hb_vmEnumPrev() and remove max number of iteration
      stored on HVM stack
    * temporary use hb_itemUnRefOnce() instead of hb_itemUnRefRefer() as
      workaround for possible GPF. I'd like Ryszard will chose the final
      version

  * harbour/source/vm/itemapi.c
    + added support for preallocating string buffer size
    + added hb_itemUnShareString() and hb_itemReSizeString()
    * updated string items to use counters allocated with each
      memory block by xh_xgrab()/hb_xalloc()
    * updated codeblock and array items to use GC reference counters
    + added GC inspected HB_IT_POINTER items.
    * generate RT error in hb_itemUnreOnce() for enumerator items
      out of scope
    + added hb_itemPutPtrGC()

  * harbour/source/vm/macro.c
    * use pDynSym->pSymbol->value.pFunPtr instead of pDynSym->pFunPtr

  * harbour/source/vm/maindllp.c
    * updated usage of hb_vmProcessSymbols()
    * added hb_vmProcessSymbolsExt()

  * harbour/source/vm/memvars.c
    + added hb_memvarGetItem()
    - removed hb_memvarValueDecGarbageRef()

  * harbour/source/vm/proc.c
    + added #include "hbapicls.h"

  * harbour/source/vm/pvalue.c
    * do not access stack structure directly but use hb_stack*()
      functions (macros)

  * harbour/source/vm/runner.c
    * synced with xHarbour

  * harbour/utils/hbtest/rt_misc.prg
   * added overloading "=" operator. Now "==" and "=" can be overloaded
     with different methods

   All names I used for new functions/macros can be changed. Please look at
   it and if you will some better propositions then we can use it.
   hb_vmProcessSymbolsExt() is added but not used yet.
2006-06-14 11:21:26 +00:00