/*
 * $Id: ChangeLog.015,v 1.2 2003/06/20 18:25:38 ronpinkas Exp $
 */

/* Use this format for the entry headers:
   YYYY-MM-DD HH:MM UTC[-|+]hhmm Your Full Name <your_email@address>
   For example:
   2002-12-01 23:12 UTC+0100 Foo Bar <foo.bar@foobar.org>
*/

2003-06-15 15:10 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/make_rpm.sh
  * xharbour/xhbgtmk.sh
    + "--force" switch added to force operation even dependencies are
      not sufficient

  * xharbour/bin/!pack_src.sh
    * minor modification to allow run this script from different places

  * xharbour/contrib/libct/Makefile
    * small modification for HB_MT checking

  * xharbour/contrib/libct/datetime.prg
    * removed redundant function DTOS already implemented in RTL

  * xharbour/source/codepage/cdpplwin.c
    * minor modifications

  * xharbour/source/lang/msgen.c
  * xharbour/source/lang/msgpl852.c
  * xharbour/source/lang/msgpliso.c
  * xharbour/source/lang/msgplmaz.c
  * xharbour/source/lang/msgru866.c
  * xharbour/source/lang/msgruwin.c
    ! the bug reported by Alexander in msgru* on harbour-devel fixed.

  + xharbour/source/lang/msgplwin.c
  + xharbour/source/lang/msgrukoi.c
    + msgplwin (cp125) added and msgrukoi (borrowed from Harbour) added

  * xharbour/source/rtl/gtcrs/gtcrs.c
  * xharbour/source/rtl/gtcrs/gtcrs.h
  * xharbour/source/rtl/gtnul/gtnul.c
  * xharbour/source/rtl/gtpca/gtpca.c
    * minor modifications

2003-06-12 23:45 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * source/rtl/memoline.c
      * Fixed problem introduced by my last post for lines with a single character
  * source/common/trace.c
      * Removed commented Tracelogs from prior post


2003-06-13 00:30 UTC+0100 Ian Anderson <i.anderson@procon-online.de>
  * source/debug/dbgtwin.prg
    ! split the operation of SetCaption
      SetCaption only stores the caption, and new method ShowCaption
      outputs it to the screen. This fixes problem that the caption
      was being drawn on the application screen instead of the debugger
      screen
  * source/debug/debugger.prg
    ! removed use of Ains() with 4 parameters which behaves differently
      under harbour and xharbour, and broke the F10 function
    ! store the filename as well as the linenumber in aCallstack so we can
      reliably get back the correct file when returning from procedure
    ! store the filename as well as the line number in aBreakpoints
    ! check the filename as well as the linenumber to decide whether
      to treat a line as a breakpoint
    ! enabled key handling for the stackbrowse, so flipping between source
      files works now
    ! reload breakpoints into the file and display when it is opened
      when swapping between files either with the open command,
      because of procedure calls, or because of moving in the stackbrowser
    ! when you press F5 F8 or F10 the stackbrowser resets to the deepest
      procedure
    ! Replaced fix for not stopping at altd() in code with a more elegant one
    ! Split the function of Showcode() into two parts
      ShowCodeLine() opens a file and positions to the desired line
      StackProc() places information about a procedure call into aCallStack
      StackProc() is always called as a result of hb_vmModulename()
      ShowCodeLine() is only called when we need to show the source file
    * Replaced some xHarbour specific constructs to make it easier to bring
      future fixes over from Harbour

2003-06-13 05:00 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/compiler/genc.c
    ! Minor modification on function HB_GENC_FUNC( hb_p_localnearsetstr )
      to be consistent with other typical function, to make the generated
      C file more readable in verbose mode.

2003-06-10 16:44 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    ! Fixed typo in hb_clsValidScope()

  * source/rtl/terror.prg
    - Removed Throw()
    + Added optional 6th. paramater ModuleName to ErrorNew()

  * source/vm/proc.c
    - Removed no longer needed check for "THROW".

  * source/compiler/harbour.c
    + Added support for auto defined __FILE__

  * source/pp/pptable.c
    + Added rule for THOW <Err>
    + Added rule to add  6th paramater to calls to ErrorNew() having 5 parameters or less, passing new __FILE__

  * tests/tstscope.prg
    * Corrected tyop in comment.

2003-06-10 08:00 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
   ! minor fix

2003-06-09 18:10 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * contrib/libct/files.c
    ! fixed problem on FILETIME() function linux section

2003-06-09 17:40 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * makefile.nt
    makefile.bc
    makefile.vc
    hrbdll.vc
    hrbdll.bc
    source/debug/Makefile
  ! updated to include dbghelp.prg module (borrow from harbour)
  + dbghelp.prg
    * module with help file for debugger
  * source/debug/debugger.prg
    source/debug/dbgtarr.prg
    source/debug/dbftobj.prg
    * Sync with last changes on harbour ( changes on harbour bellow)
    + CallStack navigation support.
    ! Improved variables editing.
    ! several fixes when debugging arrays
  * source/rtl/teditor.prg
    * Minor fix (borrow from Harbour/ Description bellow )
    The source code viewer does not leave a different block color when
    scrolling.

    The source code is displayed from the first line (Clipper compatibility).

2003-06-09 10:47 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbrddcdx.h
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbfcdx/dbfcdx1.h
  * source/rdd/dbfcdx/dbfcdx2.h
    * Latest dbfcdx from Horacio (with minor modifications to support Codepage).

2003-07-08 10:50 UTC+0100 Patrick Mast <patrick@winfakt.com>
  + tests/testGetCommandline.prg
    + Test for GetCommandLine() in What32.lib

2003-06-07 14:25 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/harbinit.prg
    - Reverted the addition of EXTERN for standard RTL Functions.

  * source/vm/initsymb.c
    * Reenabled by removing the #if 0

2003-06-06 23:03 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    + Added __ObjSendMsg() support to hb_clsValidScope()

2003-06-06 19:52 UTC+0200 Martin Vogel <vogel@inttec.de>
  * source/rtl/math.c
    ! warning of uninitialized variable fixed by initializing it

2003-06-06 09:31 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rdd/nulsys/nulsys.prg
    ! Corrected warning of unused variables.

2003-06-06 07:45 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
  * source/vm/arrayshb.c
    * Corrected warnings of uninitialized variables.

  * source/rtl/cstr.prg
    * Minor typo fixed.

  * tests/pp.prg
    * Minor debuging info.

2003-06-06 08:15 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/bin/!pack_src.sh
  * xharbour/bin/!pack_src.bat
    * added xharbour/source/codepage.*c files

  * xharbour/xharbour.spec
    * full striping (not only debug information) of executable files
    * new macro 'hb_lnkso' to relink xHarbour tools (hbmake, hbrun, hbpp)
      with shared libs - it reduce the size of executable files from
      1509656 to 193792

  * xharbour/include/hbexprc.c
  * xharbour/source/vm/classes.c
  * xharbour/source/vm/hvm.c
  * xharbour/source/vm/itemapi.c
  * xharbour/utils/Makefile
    * minor cleanups to remove compiler warnings like no new line
      at the end of file, etc. rather meaningless, Only one thing
      can be important: in hb_itemStr for HB_IT_STRING translation
      changed: "%*li" to "%*i"

  There are still many warnings like: "`xVar' might be used uninitialized"
  most of them are false alarm only but I found some places (like in
  console.c, which I corrected some days ago) where they were real bugs
  which can caused GPFs so in my opinion developers should check it.

2003-06-05 14:20 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  ! source/rdd/dbfntx/dbfntx1.c
    ! Fix on ntxOrderListFocus() which was not refreshing the Current record number
    when order number change. Error Reported by Mihalffy Lajos
  ! utils/hbmake/hbmake.prg
    ! Added linkage of codepage library

2003-06-04 21:40 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * source/rtl/memoline.c
      * Fixed problem with source string starting with CRLF
  * doc/tracing.txt
      * Added docs for TraceLog() and __TRACEPRGCALLS( <lOnOff> ) --> <lOldValue>
  * source/common/trace.c
      * reverted last changes to HB_TRACE support.

2003-06-03 20:30 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>

  * source/rdd/dbfcdx/dbfcdx1.c

    ! minor fix to hb_cdxWriteDBHeader() and hb_cdxReadDBHeader() functions by adding the codepage support

  * include/hbdbf.h
    ! minor fix to DBFHEADER Structure
  ! utils/hbmake/hbmake.prg
    ! removed gtnul linkage

2003-06-03 23:46 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed bug with expansion of NON repeatable Marker into Repeatable Residual group.

  * tests/pp.prg
    ! Minor fixed to rewinding logic in MatchRule()

  - tests/PP_info.prg
    - Removed unneeded file.

  * source/vm/extend.c
    - Removed 1 unused var.

  * xdiff.txt
    * Updated to include:
      + Properties by Refernce.
      + Module Scope.
      + Persistent Blocks.

2003-06-03 12:30 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * source/rdd/dbcmd.c
    ! fixed problem that was causing GPF with DbCreate()/DBUseArea() functions(added an new paramter for specifing the codepage)
  * source/pp/pptable.c
    ! Added CODEPAGE support to USE and CREATE commands
  * utils/hbmake/hbmake.prg
    ! Added support for linking xharbour.so when requested

2003-06-03 05:50 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/vm/classes.c
    ! checking the pointer returned by hb_dynsymFindName in functions
      'hb_objGetRealCls' and 'hb_clsHasMsg'.
      if it was NULL program caused GPF.

  * xharbour/xharbour.spec
    * small corections

  * xharbour/make_rpm.sh
    * use 'rpmbuild' if exist instead of 'rpm' command.

  * xharbour/tests/Makefile
    * added support for HB_MULTI_GT and grouped xHarbour libs to
      resolve problems with cross referencing.

2003-05-01 19:30 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * hrbdll.bc
    ! updated with changes provided by Lupano
  + contrib/rdd_ads/doc/*
    contrib/rdd_ads/doc/en/*
    ! include rdd_ads doc from harbour cvs into xharbour

2003-05-31 19:20 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * include/hbapirdd.h
    include/hbrdddbf.h
    include/hbdbf.h
    include/hbrddcdx.h
    include/hbrddntx.h
     * Sync with harbour include files
 * source/rdd/dbf1.c
    * Borrow Fixed and sync from harbour
   source/rdd/dbfntx1.c
     * Borrow Fixed and sync from harbour

2003-05-31 11:25 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/compiler/harbour.sly
    * no line numbers generated  following private and public decl.

2003-05-30 14:15 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/val.c
    * adjust xGrab count to account for trailing null

2003-05-29 23:46 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbapi.h
  * source/rtl/val.c
    * Changed hb_strVal( const char * szText, uiLen ) to hb_strVal( const char * szText, ... )
     // 2nd param not needed but replaced with ... for compatibility with Harbour code.
     ! Fixed hb_strVal() to use atof() // now compatible with the compile time optimizer.
     ! Fixed bug in Val() and rewrote for readability.

  * utils/hbtest/rt_str.prg
    ! Corrected 2 wrong expectations [were not compatible with Clipper (5.3)]

  * utils/hbmake/hbmutils.prg
    ! Fixed typos and optimized GetInstaledLibs()

2003-05-30 01:35 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/trace.c
    # #includes are now just "hbapifs.h" and "hbapierr.h"
    * cast at 71
  * utils/hbmake/hbmutils.prg
    * commas and brackets were out of whack.
    * arranged to read better.

2003-05-29 22:50 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * xharbour.spec
    make_rpm.sh
   * removed Flex from BuildPrereq section
  * utils/hbmake/hbmake.prg
    utils/hbmake/hbmutils.prg
     ! Added gtnul and macromt to library list

2003-05-30 03:10 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/xharbour.spec
    * merged with RPMs from xHarbour site
      /etc/harbour/hb-charmap.def, /etc/harbour.cfg and
      /etc/profile.d/harb.sh added

  * xharbour/bin/!pack_src.sh
    * xharbour/source/rtl/gtcrs/*.def files added

2003-05-30 02:35 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/tests/pp.prg
    * OS_PATH_DELIMITER_LIST added

2003-05-30 02:00 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  Sorry I don't include all changes in previous commit. So again:

  * xharbour/tests/pp.prg
    * some additional modification for running .prg files as script
      and to make pp working on *nix systems - '/' as as directory
      delimiter, ':' as a path list separator and some small changes
      for case sensitive file systems
      _DEFAULT_INC_DIR macro added and passing parameters to .prg
      if pp is called pprun - now you can create a link 'pprun' to 'pp'
      and use it as a script interpreter.
      Ron, I've just seen your changelog. I hope this changes merged
      correctly.

  * xharbour/xharbour.spec
    + Now is really _new_binary_ RPM with Ron's PP :-)

  * xharbour/bin/!pack_src.sh
    * tests/*.txt files added

2003-05-29 18:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * include/hbtrac.h
  * source/rtl/trace.c
    * removed my changes till I can better see what's wrong

2003-05-29 15:30 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/trace.c
    - Uncommented code to create "trace.log" file and changed logic to reset the file if it exists.
  * source/rtl/traceprg.prg
    + Added logic to create Trace File if missing.
    * Refnied output format.

  * tests/pp.prg
    + Added logic to Save s_bArrayPrefix before calls to MatchRule() and Restore it if it failed.
    ! Fixed #translate rule for At( <what>, <where>, <from> ) for Clipper.
    ! Fixed NextToken() (prg version) handling of '' strings.
    ! Fixed #include logic to NOT conver filename to uppercase.
    + Added burned-in rules for "rp_dot.ch"
    + Added logic to use burned-in rules UNLESS "rp_dot.ch" is persent.

    /* pp once again functional when compiled with Clipper. */

  * tests/pp_harb.ch
    + Added SetArrayPrefix() interface.

2003-05-29 22:40 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/tests/pp.prg
    * some additional modification for running .prg files as script
      and to make pp working on *nix systems - '/' as as directory
      delimiter, ':' as a path separator
      _DEFAULT_INC_DIR macro added and passing parameters to .prg
      if pp is called pprun - now you can create a link 'pprun' to 'pp'
      and use it as a script interpreter.
      Ron, I hope I didn't break anything in PP with these changes.

  * xharbour/source/rtl/gtnul/gtnul.c
  * xharbour/xharbour.spec
    + new binary RPM with Ron's PP
    + new tools: xhbcc, xhbcmp, xhblnk and xhbmk, now you can
      specify GT during linking time by -gt<name> option. You don't
      have to add REQUEST HB_GT_<name> to your source code. The
      fallowing switches can be used:
        -o<outputfilename> # output file name
        -static         # link with static libs
        -shared         # link with shared libs (default)
        -mt             # link with multi-thread libs
        -gt<hbgt>       # link with <hbgt> GT driver, can be repeated to
                        # link with more GTs. The first one will be default
                        # on runtime

  * xharbour/include/hbextern.ch
    * some functions added to use it with PP
      I think the files wasn't updated for a long time. Maybe
      developers should add their new functions to them.

  * xharbour/source/rtl/gtcrs/gtcrs.c
    * some keys for XTERM4 added.

  * xharbour/source/rtl/trace.c
    * commented out the code which makes empty trace.log file if you
      run program linked with TRACELOG function. I have too many such
      empty files on my disk :-( - is it really necessary.

2003-05-28 26:20 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    ! Fixed minor bug in CompilDefine() which mistakenly treated parentesized expression as a Psedu-Function.
    * Changed default action to RUN [-R] when Source File argument supplied (unless -P switch present).
    + Added support for Linux Type Association <#!> (guarded with #ifdef __PLATFORM_Linux).

2003-05-28 13:22 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/include/hbapicdp.h
  * xharbour/source/rtl/cdpapi.c
  * xharbour/source/rtl/is.c
  * xharbour/source/rtl/strcase.c
  * xharbour/source/rtl/transfrm.c
  * xharbour/source/vm/hvm.c
  * xharbour/source/vm/itemapi.c
    * new macro HB_CDP_SUPPORT_OFF - if set during compilation codapage
      support is disabled - remeber that if set you shouldn't link
      your program with codepage lib.

2003-05-27 22:41 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprc.c
  * source/compiler/harbour.sly
    ! Fixed support for WithData <operator>= Expression

2003-05-27 20:56 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  + include/hbvmprv.h
    + New header for definitions NOT shared with the Compiler.
  * source/vm/hvm.c
    - Removed definition for SYMBOLS and replace with #include "hbvmprv.h"
  * source/vm/runner.c
    - Removed duplicate definition for SYMBOLS and replace with #include "hbvmprv.h"

  * include/classes.h
    + Added Member PHB_SYMB pModuleSymbols to CLASS Structure.

  * include/hbexprb.c
  * include/hbpcode.h
  * source/compiler/genc.c
  * source/compiler/hbfix.c
  * source/compiler/hbpcode.c
  * source/vm/hvm.c
    + Added support for new Pseudo Function __ClsSetModule() as new PCODE HB_P_CLASSSETMODULE

  * include/hbclass.ch
    ! Optimized Instantiation.
    + Added support for new __ClsSetModule()

  * source/vm/classes.c
    + Added logic to utilize new pModuleSymbols Member of CLASS Structure to accept SAME MODULE access to ANY SCOPE.

  * tests/tstscope.prg
  + tests/scope1.prg
  + tests/scope2.prg
    * Modified to show Scoping Validation of MULTI-MODULE inter-crossed with INHERITANCE.
    /* Use:
         bld_b32 tstscope scope1 scope2
         bld_vc  tstscope scope1 scope2
    */

  * bin/bld.bat
    * Modified to allow 3 sources to be compiled and linked.

 /*
    NOTE: Finally we should have FULL SUPPORT for OOP Scoping as per standards established by current
          Leading Tools.

          As you may know, we never had support for a Module [Unit of compilation] scoping. This was
          a serious omission, and was a BIG hurdle in correctly addressing SCOPE problems with WHOO
          [and likely many other projects]. Well now xHarbour fully support compilation unit scoping
          so that when you have multiple classes that need access to PROTECTED Members of each other
          you may now place those classes in the SAME Module, and avoid the SCOPE issues that you'd
          otherwise encounter [unless you'd dismissed the required restricted SCOPEing. altogether.]
 */
2003-05-27 17:12 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makallvc.bat
    * ignore first errorlevel (for now)
  * contrib/htmllib/
   * makefile.bc
   * htmllib.bc
   * Makefile
     - errorsys.prg
     + hterrsys.prg
     * basically rename errorsys so it doesn't replace our main one.
  * dll_vc.bat
    * enable nmake logo
  * see contrib/WoopGui/Changelog
    * numerous corrections
  * include/hbapicdp.h
    * restore previous.

2003-05-27 16:30 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/hbchecksum.c
    * cast at 127
  * include/hbnxs.h
  * source/rtl/hbcrypt.c
    * change all 'short keylen' to 'long keylen' for consistancy and to reduce warnings
    * #include hbcompress.h for adler32 decl.
  * makefile.nt
  * makefile.vc
    + source/rtl/hbchecksum.c
    + source/rtl/hbcrypt.c
    + source/vm/dynlibhb.c
  * hrbdll.vc
    ! numerous changes to make it current.
  * include/hbapicdp.h
    * corrections to declarations to match cdpapi.c and allow use in harbour.dll
  * include/hbcompress.h
    * corrections to declarations to match hbcompress.c and allow use in harbour.dll
    * removed #ifdef __cplusplus since source file did not have this.
  * makallvc.bat
    + call dll_vc.bat
  * dll_vc.bat
    * made generic.  If you have specific requirements, copy this file.

2003-05-27 22:07 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/regex.c
    + Added HB_RegexAtx() function. It has the same grammar as
      HB_Regex, but it merges the functionality of Regex and Atx:
      the returned array is itself made of arrays containing the
      matched string, the start position of the match in the
      source string, and the end position. An entry is for the
      whole match, and the following are for the subgroups matches.

      The returned array has the form:
      { {WholeMatch, nStartWhole, nEndWhole },
        {Group1, nStartGroup1, nEndGroup1 },
        ...
        {GroupN, nStartGroupn, nEndGroupN }
      }
      ( for who does not remember, a "group" is an expression
        between parenthesis in a regex search pattern)
      RFC: the end position may be obtained with Len() + nStart
      but it seems to me it would be less efficient.

  * tests/regex.prg
    + Added a test for HB_RegexAtx()

2003-05-27 16:50 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix logic to repositioning after to gobottom().
      Reported by Oscar Hernandez Suarez
    ! Evaluate skipblock with 0 in goto() for compatibilit with Clipper.
      Report and code provided by Oscar Hernandez Suarez

2003-05-27 11:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  + contrib/htmllib/make_vc.bat
  + contrib/htmllib/makefile.vc
  + contrib/mysql/make_vc.bat
  + contrib/mysql/makefile.vc
  + contrib/tip/make_vc.bat
  + contrib/tip/makefile.vc

2003-05-27 15:50 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rtl/gtcrs/gtcrs.c
  * xharbour/source/rtl/gtcrs/chrmap.c
  * xharbour/source/rtl/gtcrs/hb-charmap.def
    + now GTCRS is looking for screen map file in $HB_CHARMAP,
      $HB_ROOT/etc/harbour/hb-charmap.def, /etc/harbour/hb-charmap.def
      terminal name is taken from 'HB_TERM' or 'TERM' environment variable.
      If terminal name contains '/' character then is divided to subsections
      by this char and then each of them is included f.e.:
          export HB_TERM=linux/acsc/maz2iso
      means that sections :linux, :acsc, :maz2iso will be loaded.
      Remember that first subsection name (linux) will be used for terminfo
      initialization.

  * xharbour/source/codepage/cdpsrwin.c
    ! changed the codepage name to make the file linking with cdpruwin.c
      possible. This file is still bad - it's only copy of cdpruwin.c
      and Luiz has to upload the proper version of it.

2003-05-27 02:05 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  + makallvc.bat
    * builds all libs that currently work with msvc
    * Uncomment the :mysql section if you have MySQL

2003-05-27 01:55 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.nt
  * makefile.vc
    + Added support for new macromt.lib

2003-05-26 20:44 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * makefile.bc
  * bin/bld.bat
    + Added support for new macromt.lib

2003-05-26 18:40 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * contrib/rdd_ads/ads1.c
     * fixed logic for GoTo, to remove redundant code and numeric constants

     * Modified adsDeleted for speed and code standards.
       Recent fix to adsDeleted confused the RDD return value of SUCCESS
       and the Advantage-specific return value of AE_SUCCESS, which we
       cannot presume are the same--and certainly the error return
       codes are totally different.

2003-05-26 22:00 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  + xharbour/xhbgtmk.sh
    * Removed Flex from list since xharbour dont require this tools

2003-05-26 21:30 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/vm/errorapi.c
  * source/vm/estack.c
    + Created HB_RUN_AS_SERVICE option, so xHarbour programs working as
      windows services does not hang up with message boxes

2003-05-26 17:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.nt
  * makefile.vc
    + /NODEFAULTLIB:LIBCPMT to link flags

2003-05-26 13:35 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/maindllp.c
    * Upgraded to compile with latest xHarbour sources.

2003-05-26 15:00 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/vm/macro.c
    ! Fixed return code for TYPE() function for endefined variables
  * source/rtl/memoline.c
    + Added MemoLineLong() - works exactly like memoline but does not
      have the 254 chars line limit

2003-05-26 18:35 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpccli.prg
    ! Moved nTcpPort and nUdpPort to non-hidden scope
    + Added nUdpPort and nTcpPort as initialization parameters

2003-05-26 17:46 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/macro/Makefile
    + Added creation of macromt lib (in UNIX).

  * tests/Makefile
    + Added -lmacromt in MT compilation of tests

  * tests/mtgc.prg
    + Added a MT test for macro compilation

2003-05-26 07:47 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    + Added logic to release szModuleName in hb_ReleaseLocalSymbols()

2003-05-26 10:05 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.nt
  * makefile.vc
    + source/codepage/cdpplwin.c

2003-05-26 15:30 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  + xharbour/source/codepage/cdpplwin.c
  * xharbour/source/codepage/Makefile
    + new Polish codepage PLWIN - CP1250 based

  * xharbour/source/codepage/Makefile
  * xharbour/source/rtl/gtcrs/gtcrs.c
  * xharbour/source/rtl/gtcrs/gtcrs.h
  * xharbour/source/rtl/gtcrs/hb-charmap.def
    * minor corrections

  + xharbour/xhbgtmk.sh
    + This script checks you have all tools to build xHarbour binaries
      installed then takes current xHarbour sources from SourceForge CVS
      and build binaries RPMs at your local host
    To xHarbour www manger: Can you put this script somewhere on
    www.xHarbour.org? I think many Linux users find it interesting.

2003-05-26 09:25 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/rdd_ads/ads1.c
    * cast at 1617

2003-05-26 01:30 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/pp/ppcore.c
    - local ifou (unused) at 1575
  * source/rtl/win32ole.prg
    * cast at 1443
  * source/rtl/gtnul/gtnul.c
    * cast at 594
  * source/rtl/hbcrc32.c
    * cast at 239
  * source/rdd/dbcmd.c
    __Dblocate() : correct use of Next in While case (around 1580)
  * source/vm/hvm.c
    - pBase (unused) at 6676
    - pLocal1 (unused) at 7246
    * cast at 7357
    * change ulLine to uLine in hb_vmRequestCancel (ron caught this)
  * source/vm/thread.c
    - th_h (unused) at 1658
  * make_vc.bat
    * display the name of the makefile being used.
  * makefile.nt
  * makefile.vc
    + source/rtl/cdpapi.c
    + source/rtl/gtnul/gtnul.c
    + source/Codepage/*
    + utils/hbmake/tmake.prg
    + codepage.lib
    + gtcgi.lib
    + gtnul.lib
    + gtpca.lib
    + gtstd.lib
    + ole32.lib
    + oleaut32.lib
    + hbrunmt.exe
  * include/hbinit.h
    ! rename HB_CALL_ON_STARTUP_END( func ) to _HB_CALL_ON_STARTUP_END( func )
      When a Token is used in a longer identifier, no string substitution takes
      place.  Because we need the expanded version of the token, we do it like
      this.
    + /* this allows any macros to be preprocessed first
         so that token pasting is handled correctly */
      #define HB_CALL_ON_STARTUP_END( func ) \
             _HB_CALL_ON_STARTUP_END( func )

2003-05-25 19:43 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * makefile.nt
  * makefile.vc
    + Added ole32.lib and oleaut32.lib to hbrun rules.

  * source/rtl/hbcrc32.c
  * source/vm/hvm.c
    * Few type casts for MSVC

2003-05-25 17:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * contrib\rdd_ads/ads1.c
    + Added #define __PRG_SOURCE__ __FILE__

2003-05-25 17:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Added missing () as per GCC warning.

  * include/hbvmpub.h
    + Added memebr PHB_BASEARRAY pSelfBase to HB_CODEBLOCK structure.

  * source/vm/hvm.c
    + Added logic to reset pModuleSymbols of HB_VM_STACK on termination of hb_vmDo().
    + Added logic to reset pModuleSymbols of HB_VM_STACK on termination of hb_vmExecute().
    + Added logic to store appropriate HB_QSelf() value in each Codeblock. This Greatly improves the utility of HB_QSelf().
    + Added new:

        HB_SaveBlock( <Block> ) -> PersistedBlock Stream

      which can correctly persist any Codeblock.

    + Added new:

        HB_RestoreBlock( <PersistedBlock> ) -> Block

      which can correctly restore any persisted Codeblock. Block must be restored within an Application containing
      the Compiled Module which the original Block was created at.

  + tests/savebloc.prg
    + Added sample test of new HB_Saveblock() and HB_RestoreBlock().

  * source/rtl/cstr.prg
    + Added Block support in ValToPrg() and ValToPrgExp() using new HB_SaveBlcok() and HB_RestoreBlock()

  * source/rtl/persist.prg
    + Added Block support using new HB_SaveBlcok() and HB_RestoreBlock()

  * source/vm/classes.c
    + Added logic to hb_clsValidScope() to take advantage of Codeblock embeded HB_QSelf() value. This solved 2 newly discovered scope bugs.

  * source/vm/estack.c
    + Added logic to initilize pSymbolModule member of HB_STACK in hb_stackInit().

  * source/compiler/harbour.sly
    + Added Line Number generation to MEMEBER_DECLARE Statements. This solved missing line numbers for Blocks created at Class Functions.

  * include/hbcomp.h
  * source/compiler/gencobj.c
  * source/compiler/genc.c
    + Added 3rd param char * szSourcePath to hb_compGenCCode() and hb_compGenCObj()

  * source/compiler/harbour.c
    * Added 3rd paramater char *szSourcePath to hb_compGenOutput()
    + Added logic to retain source file path, and pass it as 3rd paramater to hb_compGenOutput()
      which then forwards it to hb_compGenCCode() and hb_compGenCObj()

  * source/compiler/genc.c
    + Added logic to convert '\' to '/' in __PRG_SOURCE__ to correct display problem.
    + Added logic to use source file path when generating __PRG_SOURCE__

  * source/vm/extend.c
    + Added HB_IT_DATE and HB_IT_STRING support in hb_param() when Mask is HB_IT_NUMERIC.

  * source/vm/itemapi.c
    + Added HB_IT_DATE and HB_IT_STRING support in hb_itemNLen()
    + Added HB_IT_DATE and HB_IT_STRING support in hb_itemStr()

  * tests/tstscope.prg
    + Added test of a Data Block using INIT accessing restriced scope Data.

  * tests/testpers.prg
    + Added Block proerty to demonstrate HBPersist support for Block type.

2003-05-25 18:50 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * contrib/rdd_ads/ads1.c
    + Added support for DBINFO(DBI_DB_VERSION), DBINFO(DBI_RDD_VERSION)
  * source/rdd/dbfntx/dbfntx1.c
    ! Minor fix
  * source/rdd/dbf1.c
    * DBI_FILEHANDLE and DBI_MEMOHANDLE added to dbInfo()
     All changes above borrow from harbour
  * hrbdll.bc
    * Added missing MSGSRWIN.C to dep files Reported by Lupano Piero <lupano_piero@inwind.it>
  * dll_55.bat
    * Added error redirection to MAKE_DLL55.LOG, Change provided by Lupano Piero <lupano_piero@inwind.it>
  * contrib/htmllib/makefile.bc
    *  Minor fix to makefile provided by Lupano Piero <lupano_piero@inwind.it>


2003-05-25 19:08 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/fm.c
    ! using now hb_allocMutex to threadsafe statistics also when
      HB_SAFE_ALLOC is on.

  * include/thread.h
  * source/vm/thread.c
  * source/vm/estack.c
    + Added support for macro and try/catch blocks under MT. - mainly
      is an issue related with thread specific error block (or error
      management).
    + Added hb_macroMutex to mutex macro compilation, that is thread
      unsafe.

  * source/macro/macro.y
    ! macro compilation is now subject to mutexing, as it uses
      static variables that are not thread safe. This is a limit
      in bison/ylex, and there is nothing we can do about it.

  * source/rtl/terror.prg
  * source/rtl/errorsys.prg
    + Added thread specific error management
    + Added thread specific fields for error reporting.

  * include/hbapierr.h
  * source/vm/errorapi.c
    + Added functions to access (put/get) directly thread related members
      in tError

  * source/vm/arrays.c
    - remove old comments.

2003-05-23 17:26 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbcomp.h
  * source/compiler/gencobj.c
  * source/compiler/genc.c
    + Added 2nd param char * szSourceExtension to hb_compGenCCode() and hb_compGenCObj()

  * source/compiler/genc.c
    + Added generation of #define __PRG_SOURCE__ <sourcename>

  * include/hbinit.h
    * Modified the HB_INIT_SYMBOLS macro to pass __PRG_SOURCE__ instead of __FILE__ to hb_vmProcessSymbols()

  * source/vm/runner.c
    * Modified call to hb_vmProcessSymbols() to pass the source hrb file name.

  * include/hbsetup.h
    * Increased HB_PCODE_VER to 5

  * include/hbstack.h
  * include/thread.h
    + Added memebr PHB_SYMB pModuleSymbols to HB_STACK structure

  * source/vm/hvm.c
  * include/hbvm.h
    + Added new char * hb_vmGetModuleName( void )
    + Added new PSYMBOLS hb_vmFindModule( PHB_SYMB pModuleSymbols );
    + Added new PSYMBOLS hb_vmFindModuleByName( char *szModuleName );

  * source/vm/hvm.c
    * Added logic to set HB_VM_STACK.pModuleSymbols with passed pSymbols in hb_vmExecute()

  * source/compiler/harbour.c
    * Added 2nd paramater char *szSourceExtension to hb_compGenOutput()
    + Added logic to retain source file extension, and pass it as 2nd paramater to hb_compGenOutput()
      which then forwards it to hb_compGenCCode() and hb_compGenCObj()

  * source/rdd/dbf1.c
  * source/rdd/delim1.c
  * source/rdd/sdf1.c
  * source/rdd/dbfcdx/dbfcdx1.c
  * source/rdd/dbfntx/dbfntx1.c
    + Added #define __PRG_SOURCE__ __FILE__

  * source/rtl/terror.prg
    + Added property ModuleName to CLASS TError

  * source/vm/errorapi.c
    + Added new PHB_ITEM HB_EXPORT hb_errPutModuleName( PHB_ITEM pError, char * szModuleName );
    + Added logic to set the ModuleName property of an Error Object to hb_errNew()

  * source/rtl/errorsys.prg
    + Modified the Stack Trace to report Module Name.

  * tests/testpers.prg
    * Modified to include Array property.

  + source/codepage/cdpsrwin.c
    + Added copy of cdpruwin.c until the correct file is uploaded so avoit error from make process.

2003-05-23 06:30 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  *contrib/rdd_ads/ads1.c
    * Fixed problem on adsGoTo() method when using ADT files

2003-05-23 11:12 UTC+010 Ian Anderson <i.anderson@procon-online.de>
  * contrib\rdd_ads\ace.h
    ! updated to version 6.2 from the Advantage SDK, fixes build error
    with -DADS_REQUIRE_VERSION6

2003-05-23 05:50 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  * source/codepage/cdpsrwin.c
    + code page module for Serbian Win1251 codepage provided by Srdjan Dragojlovic
  * utils/hbmake/hbmake.prg
    * minor changes due recent changes to GT ( this change will be complete at night
  * source/codepage/Makefile
    makefile.bc
    + source/codepage/cdpsrwin.c dependencie added

2003-05-22 20:23 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/arrays.c
  * include/hbapi.h
    + Added new hb_arraySetForward( PHB_ITEM pArray, ULONG ulIndex, PHB_ITEM pItem ); /* sets an array element by forwarding it's value */

  * source/vm/classes.c
    - Removed redunandant function HB_FUNC( __CLASSSELPERSISTENT ) /* see HB_FUNC( __CLSGETPROPERTIES ) */
    + Added new HB_FUNC( __CLSGETPROPERTIESANDVALUES ) returning Array of Sub-Arrays of { cProperty, xValue }

  * source/rtl/cstr.prg
    + Added new ValtoPrgExp( xValue ) returning a valid source string representing the value of any type.
    * Improved ValToPrg() to support Block type.

  * source/rtl/persist.prg
    * Rewrote LoadFromText() and SaveToText() from scratch.
    % Greatly optimized SaveToText() by utilizing new __clsGetPropertiesAndValues() which is far faster then sending messages to the Object.
    ! Completed LoadFromText() to support nested Objects.

  * source/rtl/hbserial.prg
    % Greatly optimized HB_Serilaize() by utilizing new __clsGetPropertiesAndValues() which is far faster then sending messages to the Object.

  * tests/testpers.prg
    * Extended sample to show new ability to restore Nested objects from stream.

  * source/vm/hvm.c
    ! Fixed hb_vmEqual() to correctly handle comparison of empty arrays.

2003-05-22 13:40 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rtl/gtcrs/chrmap.c
  * xharbour/source/rtl/gtcrs/gtcrs.c
  * xharbour/source/rtl/gtcrs/hb-charmap.def
    * minor corrections

2003-05-22 00:50 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  ! xharbour/include/hbapigt.h
    ! bug fixed in preprocesor definition in SINGLE GT mode, Sorry :-(

2003-05-21 11:45 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  ! xharbour/source/rtl/gtcrs/gtcrs.c
    ! bug fixed - removed OPOST flag from terminal device - curses
    use NL to optimization of screen output.

  * xharbour/source/rtl/gtnul/Makefile
  * xharbour/source/rtl/gtnul/gtnul.c
    * new flags -DHB_GT_LIB=$(HB_GT_LIB:gt%=%) and
    -DHB_DEFAULT_GT=$(HB_DEFAULT_GT:gt%=%) which allow to set the
    default GT which has to be linked with apps. It should makes
    static linking easier.

  * xharbour/include/hbapigt.h
  * xharbour/source/rtl/gtQTc/gtQTc.cpp
  * xharbour/source/rtl/gtQTc/mouseQTc.c
  * xharbour/source/rtl/gt_tpl/gt_tpl.c
  * xharbour/source/rtl/gt_tpl/mousetpl.c
  * xharbour/source/rtl/gtcgi/gtcgi.c
  * xharbour/source/rtl/gtcgi/mousecgi.c
  * xharbour/source/rtl/gtcrs/gtcrs.c
  * xharbour/source/rtl/gtcrs/gtcrs.h
  * xharbour/source/rtl/gtdos/gtdos.c
  * xharbour/source/rtl/gtdos/mousedos.c
  * xharbour/source/rtl/gtos2/gtos2.c
  * xharbour/source/rtl/gtos2/mouseos2.c
  * xharbour/source/rtl/gtpca/gtpca.c
  * xharbour/source/rtl/gtpca/mousepca.c
  * xharbour/source/rtl/gtsln/gtsln.c
  * xharbour/source/rtl/gtsln/gtsln.h
  * xharbour/source/rtl/gtstd/gtstd.c
  * xharbour/source/rtl/gtstd/mousestd.c
  * xharbour/source/rtl/gtwin/gtwin.c
  * xharbour/source/rtl/gtwin/mousewin.c
    * changes to make HB_GT_REQUEST(id) case insensitive because
      HB_GT_LIB is lower case but .prg 'REQUEST HB_GT_<ID>' upper.

2003-05-19 21:15 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@uol.com.br>
  + source/rtl/hbcrc32.c
    + Function for CRC32 value of an string
  *makefile.bc
   makefile.vc
   makefile.nt
   source/rtl/Makefile
     * Added new Dep

2003-05-19 11:42 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Minor fix to recent fix regarding operators as Macro terminator in getExpReal().

2003-05-19 14:45 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rtl/gtcrs/gtcrs.c
    * resize_term changed to endwin()/refresh() combination.

2003-05-17 20:20 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rtl/gtnul/gtnul.c
    * if GT explicitly set or platform default one not linked
      choose any no NUL GT if exists

2003-05-17 20:14 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbsrlraw.c
    ! A missing break after the 'D' deserialization code
      was making the DeserializeSimple() function to return
      NIL when deserializing a date. Fixed.

2003-05-17 19:02 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/at.c
    ! Parameters 3 and 4 of AT() were not sanitized nor checked,
      causing endless loops/segfaults on misbehaving programs.
      Currently, they have been sanitized, but probably the
      correct thing to do there is to issue an out of bound
      error.

2003-05-17 17:30 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/bin/hb-mkslib.sh
  * xharbour/make_rpm.sh
  * xharbour/xharbour.spec
  * xharbour/source/rtl/gtcrs/gtcrs.h
  * xharbour/source/rtl/gtcrs/Makefile
  * xharbour/source/rtl/gtcrs/hb-charmap.def
    * headers added
    * some minor modifications

2003-05-17 04:22 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/bin/!pack_src.sh
    * some minor modifications

  + xharbour/bin/hb-mkslib.sh
    + simple script to build shared libraries from static ones and object
      files

  + xharbour/xharbour.spec
    + RPM spec to build xHarbour binaries RPMs. It produce three RPMs
      xharbour (compiler and tools), xharbour-lib (shared xHarbour libraries
      for developers and users of application linked with shard libs)
      xharbour-static (static libs for developers who want to produce static
      binaries). xharbour rpm has additional tools 'xhbcmp', 'xhlnk', 'xhbmk'
      See README.RPM for detailed description.

  + xharbour/make_rpm.sh
    + simple script which automaticaly packs the CVS tree and builds
      RPMs

2003-05-16 17:23 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/serialize.prg
    ! Moved Main Procedure to be the first defined procedure (NON Linux Systems execute the first defined symbol at startup).
    * Commented the Serialization of Date value as it's broken (at least on Windows).
    * Few formating and other refinements.

2003-05-16 14:57 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/fm.c
    ! Corrected typo in comment terminator.

  * makefile.bc
    + Added codepage support.
    + Added few variables to hold names of ST versions of MT capable libs.
    * Corrected rules for hbmake.exe hbdoc.exe and hbtest.exe and hbrun.exe to use ST versions of libraries.
    + Added hbrunmt.exe target (MT version of hbrun.exe)

   /*
      Can one of you Linux experts make same changes to the GNU Make system?
      Paul, can you please do same in makefile.vc and makefile.nt?
    */

2003-05-16 17:00 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tget.prg
    ! Fix behavior with ::buffer equal to nil when get not have focus.
    ! More Clipper compliant in ::UnTransform() method.

2003-05-16 21:40 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  + include/hbapicdp.h
  * source/Makefile
  + source/codepage
  + source/codepage/CVS
  + source/codepage/Makefile
  + source/codepage/cdp_tpl.c
  + source/codepage/cdpesdos.c
  + source/codepage/cdpeswin.c
  + source/codepage/cdpgedos.c
  + source/codepage/cdpgewin.c
  + source/codepage/cdpla850.c
  + source/codepage/cdppl852.c
  + source/codepage/cdppliso.c
  + source/codepage/cdpplmaz.c
  + source/codepage/cdpru866.c
  + source/codepage/cdprukoi.c
  + source/codepage/cdpruwin.c
  + source/rtl/cdpapi.c
  * source/rtl/Makefile
  * source/rtl/is.c
  * source/rtl/strcase.c
  * source/rtl/transfrm.c
  * source/vm/hvm.c
  * source/vm/itemapi.c
    + codepage support added. The code borrowed from Harbour, many thanks
    to Alexander S.Kresin <alex@belacy.belgorod.su> for his work.

  * xharbour/config/linux/gcc.cf
  * xharbour/include/thread.h
  * xharbour/source/vm/thread.c
  * xharbour/source/vm/fm.c
    * added macro HB_SAFE_ALLOC for this compiler which has thread safe
      version of malloc/free functions (if set hb_allocMutex is disabled)

  + xharbour/source/rtl/gtnul
  + xharbour/source/rtl/gtnul/Makefile
  + xharbour/source/rtl/gtnul/gtnul.c
    + new GT added - it has two function:
	- it's necesary for multi GT programs
        - it can be used as a NULL GT without any input/ouput as a system
	  daemon (only outstd()/outerr() works)

  * xharbour/source/rtl/gt.c
    + new .prg function HB_GT_VERSION() which returns GT name.

  * xharbour/source/rtl/gtcrs/Makefile
  * xharbour/source/rtl/gtcrs/gtcrs.c
  + xharbour/source/rtl/gtcrs/gtcrs.h
  + xharbour/source/rtl/gtcrs/chrmap.c
  + xharbour/source/rtl/gtcrs/hb-charmap.def
  - xharbour/source/rtl/gtcrs/kbdcrs.c
  - xharbour/source/rtl/gtcrs/mousecrs.c
    * new GTCRS - there is a chance that it makes some problems for other
      then ncurses implementation of curses so I'm waiting for reports.
      I plan to add yet another GT less powerful but basic curses
      oriented so it will be better portable to other *nixes

  * xharbour/config/bsd/gcc.cf
  * xharbour/config/bsd/global.cf
  * xharbour/config/darwin/gcc.cf
  * xharbour/config/darwin/global.cf
  * xharbour/config/dos/bcc16.cf
  * xharbour/config/dos/djgpp.cf
  * xharbour/config/dos/global.cf
  * xharbour/config/dos/rsx32.cf
  * xharbour/config/dos/watcom.cf
  * xharbour/config/linux/gcc.cf
  * xharbour/config/linux/global.cf
  * xharbour/config/os2/global.cf
  * xharbour/config/w32/bcc32.cf
  * xharbour/config/w32/gcc.cf
  * xharbour/config/w32/global.cf
  * xharbour/config/w32/mingw32.cf
  * xharbour/config/w32/msvc.cf
  * xharbour/config/w32/rsxnt.cf
  * xharbour/config/w32/watcom.cf
  * xharbour/include/hbapigt.h
  * xharbour/source/rtl/console.c
  * xharbour/source/rtl/gtQTc/Makefile
  * xharbour/source/rtl/gtQTc/gtQTc.cpp
  * xharbour/source/rtl/gtQTc/mouseQTc.c
  * xharbour/source/rtl/gt_tpl/Makefile
  * xharbour/source/rtl/gt_tpl/gt_tpl.c
  * xharbour/source/rtl/gt_tpl/mousetpl.c
  * xharbour/source/rtl/gtcgi/Makefile
  * xharbour/source/rtl/gtcgi/gtcgi.c
  * xharbour/source/rtl/gtcgi/mousecgi.c
  * xharbour/source/rtl/gtcrs/Makefile
  * xharbour/source/rtl/gtcrs/gtcrs.c
  * xharbour/source/rtl/gtcrs/gtcrs.h
  * xharbour/source/rtl/gtdos/Makefile
  * xharbour/source/rtl/gtdos/gtdos.c
  * xharbour/source/rtl/gtdos/mousedos.c
  * xharbour/source/rtl/gtos2/Makefile
  * xharbour/source/rtl/gtos2/gtos2.c
  * xharbour/source/rtl/gtos2/mouseos2.c
  * xharbour/source/rtl/gtpca/Makefile
  * xharbour/source/rtl/gtpca/gtpca.c
  * xharbour/source/rtl/gtpca/kbdos2.gcc
  * xharbour/source/rtl/gtpca/mousepca.c
  * xharbour/source/rtl/gtsln/Makefile
  * xharbour/source/rtl/gtsln/gtsln.c
  * xharbour/source/rtl/gtsln/gtsln.h
  * xharbour/source/rtl/gtsln/kbsln.c
  * xharbour/source/rtl/gtsln/keytrans.c
  * xharbour/source/rtl/gtsln/mousesln.c
  * xharbour/source/rtl/gtsln/termtype.c
  * xharbour/source/rtl/gtstd/Makefile
  * xharbour/source/rtl/gtstd/gtstd.c
  * xharbour/source/rtl/gtstd/mousestd.c
  * xharbour/source/rtl/gtwin/Makefile
  * xharbour/source/rtl/gtwin/gtwin.c
  * xharbour/source/rtl/gtwin/mousewin.c
    + New MULTI GT mode added. Now you can link your applications with
      more then one GT and choose it at runtime by switch //GT:<gtname>
      ex.:
        ./myprog //gt:sln
        ./myprog //gt:crs
        ./myprog //gt:pca
        ./myprog //gt:nul
      or by setting environment variables HB_GT=<gtname>
      to make xHarbour binaries with MULTI GT you have to set environment
      variable HB_MULTI_GT=yes
      then if you link your apps with static libraries you always have to
      link with gtnul and optionally with other gt libs you need.
      GTNUL is basic lib. It has to have all GT features. Other GTs may
      not have all function implemented on some platforms. My main idea
      was to allow developers adding platform specific GT extension without
      necessary of changing all GTs.
      I've tested it under Linux and it works correctly for:
      gtcrs, gtsln, gtpca, gtstd, gtcgi and gtnul (gt_tpl too ;-)).
      I added support for MULTI GT for gtwin too, but it has to be checked
      by someone who use Windows because now I cannot even compile it
      (I don't have windows access at this moment). I hope it'll work
      but maybe I made some typos.
      TODO:
        add MULTI GT support for gtdos, gtos2 and gtQTc. I have to ask
        developers to do that - it's rather hard for me because I don't
        use this platform. Now all the works is very easy - you only
        have to change all functions with hb_gt_ and hb_mouse_ prefixes
        to HB_GT_FUNC(gt_<...>) and HB_GT_FUNC(mouse_<...>) then
        add initialization code (see tail of gt_tpl.c)
      I've change a lot of code so It have to be intensively tested on
      different platforms.

  * xharbour/source/rtl/seconds.c
    * the symbol CLK_TCK which is mentioned as obsolescent in POSIX-1996
      replaced by sysconf(_SC_CLK_TCK)

  * xharbour/make_gnu.sh
  * xharbour/make_mingw.sh
  * xharbour/bin/!pack_src.bat
  + xharbour/bin/!pack_src.sh
    * some cleanups.

2003-05-16 11:39 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbclass.ch
    + Added support for syntax: MESSAGE <MsgName>[(...)] PROCEDURE <ProcName>[(...)]

2003-05-15 21:08 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbclass.ch
    + Added support for syntax: PROCEDURE <ProcName> CLASS <ClassName>

  * tests/pp.prg
    * Corrected few Alert() messages.

  * tests/ppclass.prg
    * Minor formatting.

2003-05-15 09:00:00 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/rdd/dbcmd.c
    + C-Level DBSkipper()
  * source/rtl/browdb.prg
  * source/rtl/dbedit.prg
    ! bSkipBlock now uses DBSkipper()
  * source/rtl/browdbx.prg
    - def out PRG level DBSkipper()

2003-05-14 12:02 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  *source/vm/errorapi.c
   ! errorapi generated error missed procname and procline
     initialization in terror class. Fixed.

2003-05-14 10:28 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/errorapi.c
  * include/hbapierr.h
  * source/rtl/terror.prg
    + Added ProcLine and ProcName fields to the tError class; they are
      filled by default with the calling procedure name and line.
    + Added hb_errGetProcName, hb_errPutProcName, hb_errGetProcLine and
      hb_errPutProcLine to access those data from c.
    * In c api error initialization, hb_errPutProcName and hb_errPutProcLine
      are called to set the PRG calling procedure as error proc/line.

  * source/rtl/filesys.c
    ! Under LINUX, Memoread was CREATING an EXECUTABLE empty file if
      the required file was not present on disk. This is due to some
      invalid flags (under linux) used for open() flags. To hot-fix
      this, in convert_open_flags() I used HB_OS_LINUX define to
      exclude those open flags.
      LINUX and other UNIX users are invited to review this.


2003-05-13 14:52 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
    ! Corrected a typo $<lNumber>3 to $<lNumber>2 in EmptyStats.

2003-05-13 12:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/genc.c
    ! Corrected genc.c generation of Global Initialization to overcome a GCC warning.

2003-05-12 13:48 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed getExpReal() to consider operators as Macro terminator.

  * source/vm/hvm.c
    * Corrected hb_vmArrayPush() to return empty string when processing a -1 Index on an Emprt String.
      /*
       * Empty String and Index is -1, this may be result of optimixations:
       *
       *    SubStr( "", -1, 1 ) or aTail( "" ).
       *
       * The SubStr() should return "", while the aTail("") should return NIL (Invalid Argument).
       *
       * We choose the SubStr() context as the more appropriate, because the Invalid Arguemnt context
       * is of questionable compabtibilty value.
       *
       * HBTest now returns 101 "errors" (up from 100) on WinXP using BCC 5.5.1
       */

2003-05-12 01:35 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tget.prg
    * Behavior more Clipper compatible.
      Reported by Mihalffy Lajos.
  * source/rtl/tbrowse.prg
    * Change in code for increase of speed.
  * source/rtl/achoice.prg
    ! Fix related with value returned by the user function.
    ! Fix problem in change of mode to AC_IDLE.

2003-05-09 18:44 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rdd/dbcmd.c
    ! Fixed FieldPos() to trim names longer than supported field length.

  * source/vm/macro.c
    ! Fixed hb_macroTextSubst() to restore trailing spaces in processed text.
    % Minor Optimizations to hb_macroTextSubst() and hb_macroSetValue().

2003-05-09 11:42 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed SearnRep() to reset <bDontInstanciate> and <lastchar> when NEW Group is encountered.

2003-05-08 21:19 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
    * Corrected optimization of HB_P_LOCALNEARSETSTR to consider HB_P_MACROTEXT.
    * Reinstated 1 optimization of HB_P_LOCALNEARSETSTR which was disabled unintentionally.

2003-05-08 19:50 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbextern.ch
    + Added some missing symbols.

  * source/vm/hvm.c
    + Added HB_EXPORT PSYMBOLS hb_vmLastModule( void )
      /* Needed by runner.c to reset Module Sybols list after unloading a module. */
    * Minor formatting.

  * source/vm/runner.c
    + Added member PSYMBOLS pPrevLastModule to structure HRB_BODY and logic to reset
      the global modules sybols list after reloading a module. This fixed a GPF.
    ! Commented out freeing of module symbols because it corrupts the Dynamic-Symbols-Table,
      which was causing GPFs.
    * Some Formatting.

  * tests/pp.prg
  * tests/pp_harb.ch
    * Moved all [x]Harbour specific code from pp.prg to pp_harb.ch.

2003-05-08 07:45 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  *source/rdd/dbfntx/dbfntx1.c
    ! Added fixes to Ordkeycount() Borrow from harbour
  * contrib/rdd_ads/ads1.c
    ! Bug fixed in adsOrderListClear() - the current order is set to 0 now
     borrow from harbour

2003-05-08 00:26 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * makefile.bc
    makefile.vc
    utils/hbmake/Makefile
     + Tmake.prg added to dependencies
   * utils/hbmake/hbmake.prg
    ! several changes
      New screen on edit mode for user be more confortable
      Mouse enable on all items
      Now user can edit an existing make file
      Please note is an work on progress

2003-05-07 16:46 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Commented 1 leftover debug printf()

2003-05-07 22:27 UTC+0100 Ian Anderson <i.anderson@procon-online.de>
  * source/rtl/memoedit.prg
    ! added K_F2 to K_F12 to list of unhandled keys to prevent infinite
      which gave stack overflow when function key pressed and not mapped.
    * Removed kludge which set lastkey incorrectly.

2003-05-07 17:00 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tget.prg
    ! Fix minor bug in SetFocus().
  * source/rtl/tbrowse.prg
    ! Fix width of column with multilines header.
    Reported by Luiz Culik
  * source/rtl/teditor.prg
    ! Fix refresh of line when press delete key.
    Reported by Luiz Culik

2003-05-07 12:05 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    ! fixed compilation of thread.c; I added some instructions after an
      IF, and a few define later I had a branch in which a var was
      declared. adding {} solves the error (thanks Przemyslaw).

2003-05-06 19:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Few additional fixes related to [...] following RETURN keyword.
    ! Fixed getExpReal() to allow '/' as first char to allow Linux path values.

  * tests/pp.prg
  * tests/pp_harb.ch
    ! Fixed Extened Marker support of literal strings in NextExp()
    ! Added logic to revert array context to string context when [...] folows RETURN token.
      /* Needs to be refined still */

2003-05-06 10:50 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * source/rtl/set.c
    ! Fixed very serious bug in set(_SET_ALTFILE, "") and
      set(_SET_EXTRAFILE, "") which can caused corrupting any files
      open by xHarbour compiled program

2003-05-06 11:02 UTC+0200 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/empty.c
    ! check for HB_IT_POINTER was not present, so any "pointer" kind
      variable returned .T. in Empty() checks. Fixed.

  * source/vm/inet.c
    ! In InetRecvEndBlock() if timeout expired witout reading, detection
      of the error was faulty; fixed.

  * source/vm/macro.c
    ! In hb_macroSetValue() a loop to trim the trailing space was done
      NOT on the variable holding the macro code, but on the NON
      INITIALIZED space where the variable would have been copied. Fixed.

2003-05-05 20:54 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed strotrim() to accept '[' as string delimiter when immediatly following a RETURN keyword.

2003-05-05 20:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/tbrowse.prg
    ! minor fix to Tbmouse() function

2003-05-02 09:28 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/macro.c
    ! Fixed hb_compGenPushSymbol() to verify that an existing symbol is indeed a function
      as opposed to a Memvar (Clipper compatibility).

2003-05-01 11:06 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rdd/dbfntx/dbfntx1.c
    ! Small fix to dbfntx
    ! Also set error level to error object when file is not successfully open (clipper compatible)
  * source/rdd/rdd/dbf1.c
    ! When Open of Dbf file fail, release memory of Filename(this avoid GPF) (   hb_xfree( pArea->szDataFileName ));
    * Both changes  above  borrow from harbour
  * source/rtl/listbox.prg
    ! minor fix

2003-05-01 15:56 UTC+0100 Patrick Mast <patrick@winfakt.com>
  * source/rtl/tget.prg
    * minor corrections

2003-04-30 08:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/tprinter.c
  * source/rtl/isprint.c
    ! Added | PRINTER_ENUM_SHARED to Call to EnumPrinters

2003-04-30 00:09 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/tget.prg
    * Removed call to VarGet() in METHOD New() and revised :Type and PusMask() Methods - Clipper compatibility.

2003-04-29 16:45 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.c
    % Minor optimizations to hb_compGenJumpThere()

  * source/compiler/harbour.sly
    ! Fixed generation of Default and EndSwitch when NO EXIT statement precedes DEFAULT/END statements.

  * source/rtl/cstr.prg
    ! Few minor fixes to ValToPrg().
    * Replaced all __ErrRT_BASE() with Throw( ErrorNew( ... ) )

  * source/rtl/objfunc.prg
    ! Fixed __ObjGetValueDiff() support of CodeBlock properties.

  * source/vm/classes.c
    ! Fixed scope validation to allow derived classes access to PROTECTED properties.

  * source/vm/hvm.c
    * Corrected compiler warning.

2003-04-27 12:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rdd/dbfntx/dbfntx1.c
     * casts at 3636 and 3640
  * source/vm/thread.c
     * cast at 763
  * source/odbc/odbc.c
     * cast @ 242 and 256
  * source/rtl/gtwin/gtwin.c
     * Min tone duration is 1, not 0
     ! corrected Tick caclulation to always be 1000/18.2 even if _MSC

2003-04-26 17:42 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    ! Fixed hb_vmSend() to auto convert hb___msgGetData() to hb___msgSetData if [1] paramater passed.
      Clipper compabtibility.

2003-04-26 13:25 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/radiogrp.prg
    ! Fixed an Bug on Select method
      Minor Formatting
  * source/rtl/ListBox.prg
    ! Fixed problem when an caption is passed
      Minor Formatting

2003-04-26 01:02 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
  * source/vm/thread.c
    ! Added some declaration in thread.c and function headers in
      thread.h to fix compilation warning and errors.
       - Work in progress here -

2003-04-25 09:30 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    * Replace REPLICATE() for SPACE().

2003-04-25 07:40 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/tbrowse.prg
    *removed unnecessary * (lines 1800,1802,2165,2167)

2003-04-24 17:15 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + include/hbtypes.h
    Added  missing include necessary to build pcode dll with xharbour
  * source/vm/maindllp.h
    * minor fix to one function declaration

2003-04-24 11:00 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix display when ::Freeze equal to ::ColCount
      Reported by Gianluca Piemonte.

2003-04-22 15:19 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Removed logic of "eating" '\' in strotrim() and replaced with adding '\' as '[' prefix.

2003-04-22 16:00 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/hbrpc.ch
    + Added server status macros

  * source/rtl/trpc.prg
    % The RPC function execution is now made in a separate thread,
      to allow receiving of new commands from the client in the
      meanwhile (i.e. "stop executing the RPC! or QUIT").
    + Added TRpcService::IsCanceled() to allow the RPC function to
      know if the user requested cancelation.
    + Added RPC protocol support for cancelation

  * source/rtl/trpccli.prg
    + Added StopCall() for cancellation support.
    ! Compressed + Encripted data were uncompressed and decrypted in
      the wrong order :-( ; a left over. Now is fixed and working

  * tests/rpcclient.prg
    + Reactivated encryption test

2003-04-22 10:53 UTC+0200 Maurilio Longo <maurilio.longo@libero.it>
  * source/vm/itemapi.c
    ! Added non-finite tests for os2.gcc, and w32.rsxnt,
      which fixes the problems that they had with evaluating str(log(-1)).

      NOTE: Change borrowed from Harbour


2003-04-22 09:53 UTC+0200 Maurilio Longo <maurilio.longo@libero.it>
  * config/lib.cf
    * changed first:: rule to test HB_MT instead of MT_LIBNAME to be able to
      build a single threaded xHarbour on OS/2
  * source/odbc/odbc.c
    * don't build on OS/2 (no ODBC support available)
  * source/rtl/Makefile
    * test HB_MT instead of MT_LIBNAME
  * source/vm/Makefile
    * don't build mainpm.c on OS/2 not needed right now
  * source/vm/inet.c
    * changes to compile on OS/2 with EMX GCC compiler

  NOTE: With these changes the single threaded xHarbour can be built on OS/2 using EMX GCC
        If a compiled program wants to use xHarbour socket support it has to be linked
        with -lsocket to add socket library to resulting .exe file

2003-04-22 01:21 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpccli.prg
    ! Fixed some misbehavior under MT.

  * tests/rpcclientst.prg
    ! Updated to work under the new model of ST RPC.

2003-04-21 16:55 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/transfrm.c
    ! Fix problem with "@X" picture.
  * contrib/rdd_ads/ads1.c
    ! Fix deleted() return .T. when eof()=.T.
    Tested with ADS LOCAL and without deleted records in the table.
    AdsIsDeletedRecord() return .T.

2003-04-21 15:00 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rdd/dbf1.c
    ! Fix unlock of records.

2003-04-21 20:36 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    ! Fixed a typo after last commit that caused windows version
      to block.

2003-04-21 19:40 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
  * include/thread.h
    ! Better handling of thread startup under linux, resolving a
      potential loss of memory due to thread cancelation BEFORE
      thread start.

2003-04-21 01:01 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fix to recent change in strotrim() regarding '\'.

  * source/rtl/regex.c
    * Minor fix and formatting.

  * tests/pp.prg
    * Minor fix to CompileDefine()
    * Minor fix to CompileRule() in non xHarbor mode.

2003-04-21 05:04 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/estack.c
  * source/vm/fm.c
  * source/vm/hvm.c
  * source/vm/thread.c
    % Under MT, hb_stack variable has been reintroduced, and is
      now used for the main thread stack.

2003-04-21 03:35 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/hbapi.h
  * include/inet.h
    ! seems that last commit went wrong due to a broken pipe on server;
      recommiting

  * source/rtl/trpccli.prg
    + Support for InetPeriodCallback()

  * source/vm/inet.c
    ! Fixes on the new InetPeriodCallback() (expecially, added it on
      InetRecv(), InetRecvEndBlock() and InetDgramRecv(), and fixed
      a non-working InetRecvAll()).

2003-04-21 00:44 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/hbapi.h
  * source/vm/hvm.c
    + Added the C function hb_execFromArray( PHB_ITEM caItem ), which is
      similar to the PRG HB_ExecFromArray, except for the fact that
      accepts only a "callable" array:
      caItem = { @Func(),...} or { "FuncName",...}
      caItem = { oObject, nMethodPtr,...} or { oObject, "MethodName",...}

  * include/inet.h
  * source/vm/inet.c
    ! Fixed some imprecisions in stack locking for MT
    + Added the Timelimit and Periodc callback system.
      InetSetTimelimit( Socket, nTimelimit ) -->NIL
      InetGetTimelimit( Socket ) --> nTimelimit
      InetClearTimelimit( Socket ) --> Nil

      InetSetPeriodicCallback( Socket, caPeriodicCallback ) --> NIL
      InetGetPeriodicCallback( Socket ) --> caPeriodicCallback or NIL
      InetClearPeriodicCallback( Socket ) --> NIL

  * tests/server.prg
    + Added test for a periodic callback

  * source/rtl/trpccli.prg
    + Added some accessors to screen local variables.

  * source/rtl/hbsrlraw.c
    + Added suport for objects containing NIL properties.

2003-04-18 10:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * contrib/what32/include/import.ch
    ! Fixed few typos.

  * source/pp/ppcore.c
    + Added string quotes management to strotrim().
    ! Minor fix to defines logic in hb_pp_ParseExpression()

  * tests/testrdd.prg
    * Added #ifdef ADS guard.

2003-04-19 06:52 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpc.prg
    ! Now RPC functions without parameters are allowed, and the
      server didn't know that :-)

  * tests/rpcclient.prg
    ! Minor formatting

2003-04-18 20:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * makefile.bc
    makefile.vc
    makefile.nt
    hrbdll.bc
    hrbdll.vc
    source/lang/Makefile
    + Added msgsrwin.c depencie
  + source/lang/msgsrwin.c
    + Language module for Serbian provided by Srdjan Dragojlovic <digikv@yahoo.com>

2003-04-19 00:08 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/gtsln/kbsln.c
    - Remove hard coded ^? (0x7f) == K_BS

2003-04-18 20:23 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>

  * source/rtl/gtsln/kbsln.c
    + added support for linux X backspace standard key (^? = 0x7f)

2003-04-17 23:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * include/hbrddntx.h
  * source/rdd/dbfntx/dbfntx1.c
    ! Borrow some fix from harbour

2003-04-17 23:20 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpccli.prg
    % Simplification of RPC system on client side. Now a remote procedure
      can be called with an array in HB_ExecFromArray() format (only
      function name as first element though), or with a standard list
      of parameters.
    % Rationalization of class and shielding of internal variables
    % Add of some sensible accessors and utility methods

  * source/rtl/trpc.prg
    % TRpcServer:Add() can accept now a TRpcFunction parameter or
      a parameter list from which a new TRpcFunction is built

  + include/hbrpc.ch
    + Added commonly used constats for more ergonomic programming
      of RPC

  * tests/rpcclient.prg
  * tests/rpcclientst.prg
  * tests/rpcserver.prg
    % Changed to make useable with new RPC classes syntax


2003-04-17 05:25 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.nt
    * synchronise with makefile.vc
  * source/rtl/hbsrlraw.c
    * casts for msvc and for comparing singed to unsigned
  * source/vm/macro.c
    * casts for msvc

2003-04-17 00:05 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
    % The RPC Syntax has been highly simplified on server side,
      Now the RPC function needs not to have been derived by
      the tRPCFunction class, but is just an executable object
      called by a HB_ExecFromArray() call. Also, while previous
      model required a special parameter decoding to be carried
      by RPC Function, in current model you can register any
      function, method or codeblock to be executed by the RPC
      server, with normal XHarbour parameter conventions.
      Finally, RPC function definitions (useful to send over
      internet what functions you have and what do they do)
      are now identical to canonical syntax defs in clipper,
      like i.e. MyFunc( C:10, A, NI ) --> L

  * tests/rpcserver.prg
    ! Server thest has been updated to reflect this change


2003-04-16 12:14 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/filesys.c
    ! convert_create_flags is now doing a more sensible work under unix.
      Default (FO_NORMAL) is translated into 666 (rw-rw-rw);
      FO_READONLY creates a r--r--r--, while FO_HIDDEN allows only the
      creator user to see (rw- or r--, depending on FO_READONLY) the
      file.
      Finally, FO_SYSTEM gives X attribute to all the fields with R
      attribute (e.g. r--r--r-- becomes r-xr-xr-x, and rw------- becomes
      rwx------).

      WARNING: convert_create_flags_ex has not been changed.

2003-04-16 10:35 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpc.prg
    + Added support for "O" object parameter defintion in RPC class

2003-04-16 10:25 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbreadini.prg
    ! Invalid lines in .ini caused an error; fixed
    + Added support for inlcusion of other .ini files, using the
      "include FILESPEC" directive

  * tests/parseini.ini
  + tests/parseini2.ini
    + Added tests to demonstrate this feature


2003-04-14 23:08 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * samples/sitesvr/sitesvr.prg
    ! Removed some useless test ThreadSleep()
    ! At the end of a normal connection, the socket was closed
      but not destroyed.

2003-04-14 13:20 Luiz Rafael Culik <culikr@uol.com.br>
  + contrib/libmisc/dbftools.c
    contrib/libmisc/makefile
    contrib/libmisc/dates2.c
    contrib/libmisc/fileread.prg
    contrib/libmisc/hb_f.c
    contrib/libmisc/make_b32.bat
    contrib/libmisc/make_vc.bat
    contrib/libmisc/makefile.bc
    contrib/libmisc/makefile.vc
    contrib/libmisc/mathx.c
    contrib/libmisc/nconvert.prg
    contrib/libmisc/numtxten.prg
    contrib/libmisc/numtxthu.prg
    contrib/libmisc/strfmt.c
    contrib/libmisc/stringp.prg
    contrib/libmisc/stringsx.c
    contrib/libmisc/twirler.prg
    * Imported libmisc from harbour contribs

2003-04-14 23:08 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * samples/sitesvr/sitesvr.prg
    ! Removed some useless test ThreadSleep()
    ! At the end of a normal connection, the socket was closed
      but not destroyed.

2003-04-14 02:15 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/inet.c
    ! Including errno.h (was already included somewhere under linux,
      but not under windows).

2003-04-14 01:51 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/inet.c
    ! EAGAIN error (retry later) was handled back to PRG
      program by InetAccept() as any other error, but
      InetAccept() model is made so that a prg can count on
      the facts that InetAccept() returns only if:
      1) there is a REAL error that requires PRG attention
      2) there is a timeout
      3) there is a valid connection
      So EAGAIN is now handled inside InetAccept looping while
      another error or a valid connection is taken.
    ! Now InetAccept returns NIL on failure, and the error is
      stored in the accepting socket.

  * samples/sitesvr/sitesvr.prg
    ! Removed HBConsoleLock() - it is "deprecated"
    ! Changed to reflect new Inet.c InetAccept implementation

  * source/rtl/trpc.prg
  * tests/server.prg
    ! Changed to reflect new Inet.c InetAccept implementation



2003-04-13 23:32 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  ! source/rtl/hbserial.prg
    + Added property names to the serialized data to allow object
      deserialization even with classes compiled or built in
      different ways from the originals.

  ! source/rtl/hbsrlraw.c
    ! Fixed HB_SerialNext on objects

  * tests/serialize.prg
    + Added a little more test

2003-04-13 22:40 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/classes.c
    + Added (xharbour PRG) functions
      __ClsGetHandleFromName( cClassName ) --> nHandle | 0
      __ClassSelPersistent( nHandle ) --> aPersistentMessages
      To support binary serialization and deserialization
    ! Removed some warnings

  * source/rtl/hbserial.prg
  * source/rtl/hbsrlraw.c
    ! Added object (class) serialization

  * tests/serialize.prg
    ! Added a test for class (object) serialization

2003-04-13 15:18 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpccli.prg
    ! Now trpcclient class is also in rtl.lib, compiling without
      threads if used in Sync mode. Async mode is currently not
      available in non-mt environments.

  + tests/rpcclientst.prg
    ! Added a test for single thread mode RPC client.

  - source/rtl/uses_mt/Makefile
  - source/rtl/trpccli.prg
  - source/rtl/trpc.prg
    - No more needed.

2003-04-13 14:34 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcrypt.c
    ! After last commit, if the string to be coded was shorter
      than the key crypt was failing. Fixed

  * source/rtl/hbserial.prg
  * source/rtl/hbsrlraw.c
    ! Added error checking (maximum length in decompression)
    Changed:
    HB_DeserialNext( cSerialData, [nMaxLen] )
    HB_Deserialize( cSerialData, [nMaxLen] )

  * source/rtl/trpccli.prg
    ! More strict error checking in stream deserialization

2003-04-13 13:27 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/Makefile
  * config/rules.cf
  * config/darwin/gcc.cf
  * config/linux/gcc.cf
  * config/w32/gcc.cf
  * config/w32/mingw32.cf
    ! Updated makefiles for UNIX systems to allow compilation of
      trcp*.prg only in MT mode

2003-04-13 13:15 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * makefile.bc
  + source/rtl/trpc.prg
  + source/rtl/trpccli.prg
    ! Now -DHB_THREAD_SUPPORT switch is added during MT compilation
      under windows (linux version is under way). For this reason,
      I am moving back trcp* to rtl, as rtl.lib won't contain any
      of the rpc functions (at the moment).

  * makefile.vc
   ! fixed as above, but I cannot be sure it works correctly. Please,
     have a test

2003-04-13 11:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/filesys.c
    ! Guard of all IO operations against multi threading cancelation,
      and implementation under windows of async cancellation enabling
      around waiting functions.

2003-04-13 01:27 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbreadini.prg
    ! Due to a mistyping, separator character to have more than one
      possible ini to be searched (in the parameter) was ":".
      In Italian keyboard ";" and ":" are one at the side of
      the other... :-(
      The correct character is ";", althoug ":" is used storically
      as a path separator in UNIX, ";" is used in all the cross
      platform languages (inlcuding PHP, Python and Perl).

2003-04-13 05:20:00 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/compiler/genc.c
    ! Line number in error message did not conform with that in PRG file
      when there are in-line-C codes in the PRG file. Fixed.

2003-04-11 10:10 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/macro.c
    ! Fixed support of macros padded with spaces in hb_macroTextSubst() and hb_macroSetValue()

2003-04-10 14:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * CVS files are tagged as Build80

2003-04-10 09:49 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    + Added excess space removal to CommandStuff()

  * makefile.bc
    * Removed -D__EXPORT__ from default flags.

   - tests/tst.prg
     - Removed non used file.

2003-04-09 16:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * CVS files are tagged as Build80
  * include/hbver.h
  * updated

2003-04-09 16:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/debug/debugger.prg
    ! Fix to make more compatible with new tbrowse class
  * source/rtl/tbrowse.prg
    ! Added ::Acoluns Data that is an copy of ::aColsinfo Data(this data is hidden) for debugger work properly

2003-04-09 15:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.nt
  * makefile.vc
  * make_vc.bat
    !MT and Non-MT libs always built.
    ! once more with feeling...

2003-04-09 16:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rdd/dbfntx/dbfntx1.c
    ! Borrow some fix from harbour

2003-04-09 19:04 UTC+0100 Ian Anderson <i.anderson@procon-online.de>
  * contrib\rdd_ads\adsfunc.c
    + Added support for AdsCacheRecords(), this allows you
      to specify how many records to read ahead when doing a
      skip, and gives significant performance benefit

2003-04-09 13:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * include/hbver.h
    ! change build number to 80 as Ron
    ! change ChangeLog entries

2003-04-09 09:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.nt
  * makefile.vc
  * make_vc.bat
    ! MT and Non-MT libs and exes always built.

2003-04-09 12:45 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/gtstd/gtstd.c
    ! Now process can be sent to background if linked against
      gt_std in UNIX, if -DHB_UNIX_GT_DAEMON is set in C_USR
      during compilation.

2003-04-08 17:57 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * bin/!pack_bin.bat
    * Removed all exes other than harbour from Windows package.

  * source/pp/ppcore.c
    ! Fixed bug involving & and rewinding repeatables.
    ! Fixed excess spaces in match output.

2003-04-08 17:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * makefile.bc
    ! Now build RPCMT.lib

2003-04-08 15:30 UTC-03000 Luiz Rafael Culik <culikr@uol.com.br>
  * include/hbver.h
    ! change build number to 82
    ! change ChangeLog entries
  * taggeg CVC files per "04-08-2003 15:30:00" (Local Time)

2003-04-08 20:26 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
  * include/hbapi.h
    ! Fixed compilation with HB_NO_DEFAULT_API_MACROS and
      HB_NO_DEFAULT_STACK_MACROS turned on


2003-04-07 22:14 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcrypt.c
    ! Removed some warnings, and also cleaned up loop code.

2003-04-07 02:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/pp/ppcore.c
    * commented out a printf

2003-04-06 23:03 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed truncmp() to respect Bi-Chars.
    ! Fixed SearnRep() instanciation logic for non repeatbles.

  * source/pp/pptable.c
    + Added support for _GET_() with 2-4 params.

  * source/vm/initsymb.c
    * Reinstated default Symbols.

  * utils/hbpp/hbpp.c
    ! Fixed supports of #translates generation.

2003-04-07 09:00:00 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * CVS files are tagged as Build80
  * include/hbver.h
    * Changed CVS log entries

2003-04-05 20:06 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    + Added static int NextStopper( char ** sSource, char * sDest )
    * Changed stopper detection logic to use new NextStopper().

2003-04-05 15:46 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Minor fix to getExpReal().

2003-04-05 19:15 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! source/rtl/Makefile
    ! minor fix

2003-04-05 16:55 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/pp/ppcore.c
    * added a cast for msvc.

2003-04-05 11:58 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * bin/bld.bat
    * Check for existence of bcc640.lib or NOT include it in lib list for bcc32

  * tests/pp.prg
  * tests/pp_harb.ch
    * Removed ?? from list of bi-chars, Clipper treats it as 2 tokens.

  * source/pp/ppcomp.c
  * source/pp/ppcore.c
    + Added hb_pp_NextToken() borrowed from pp.prg.
    ! Complete rewrite of main matching logic to fix long outstanding Clipper compatibility problems.

  /*
     NOTE: I wanted to fix this for the longest time, but for some reason really dreaded it. Pre-Processor
           was seriously NOT Clipper compatible regarding some critical issues that [likely] were not that
           common. But as I feared, with time, I got more and more reports of problems where a complete
           re-write of the matching engine was requires. Here are some of the more obvious examples of
           such problems:

              //---------------------------------------------
              #translate "hello" => Helloed()
              ? "hello"

              #translate KEY SUFFIX <x> => Correct( <x> )
              #translate SUFFIX <x> => Wrong( <x> )
              KEY SUFFIX "indeed"
              //---------------------------------------------

          Of course there were many similar variations. Well now after this rewrite the Pre-Processor should
          be MUCH more Clipper compatible. I've tested the new engine against full build of xHarbour as well
          full build of FiveHX, and many other tests, and all seems to work correctly, BUT since this is a
          major rewrite I'd like all developers to test this with all their applications before we release
          build 0.80.
   */

2003-04-04 18:15 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * make_vc.bat
    * Correction: HB_MT should be set to MT or not at all.
  * bin/bld.bat
    + /nodefaultlib for msvc.
  * makefile.nt
  * makefile.vc
    * Corrected use of LDFLAGS

2003-04-04 16:35 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source\rtl\tbrowse.prg
    ! Fix set column bigger than max columns.
      Reported by Gianluca Piemonte

2003-04-04 16:03 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix set column setting ::colPos instance variable.
      Reported by Gianluca Piemonte.

2003-04-04 12:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * include/inet.h
  * include/hbdefs.h
  * include/thread.h
    ! add #define _WINSOCKAPI_  to Prevent inclusion of Winsock.h in Windows.h
  * makefile.nt
  * makefile.vc
  * make_vc.bat
    * If you set HB_MT=MT, enables Multi-Thread support.
    * If you need dbfntx.lib as well as dbfntxMT.lib (for example), then
    * you'll have to make_vc once without hb_mt set and once with.
    * additionally, make_vc /a will still create all targets.
  * source/vm/thread.c
    ! added #define extern/#undef extern around #include thread.h
    * I don't understand quite what's going on yet, but for some reason,
    * the extern dword hb_dwCurrentStack in thread.h is over-riding the actual
    * declaration further down in thread.c under msvc. This is not yet a proper
    * fix

2003-04-03 20:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmutils.prg
    *minor fix misc.lib ->libmisc.lib
  * source/rtl/Makefile
    + Added used_mt to DIRS macro
  + source/rtl/uses_mt/Makefile
    + Makefile to build rpcmt library

2003-04-03 09:47 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbpp.h
  * source/pp/ppcomp.c
  * source/pp/ppcore.c
    ! Fixed bug with handling of line continuations.

2003-04-02 20:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/macro/macro.y
    * Modified hb_compchar to use yychar macro.

  - source/rtl/dir.c
    - Removed unused source.

  - source/rtl/trpc.prg
  + source/rtl/uses_mt/trpc.prg
  - source/rtl/trpccli.prg
  + source/rtl/uses_mt/trpccli.prg
    -+ moved trpc.prg and trpccli.prg to new rtl/uses_mt folder since these file REQUIRE MT libraries.

  - source/vm/mainlgtk.c
  + source/vm/gtk/mainlgtk.c
    -+ moved to new folder source/vm/gtk

  - source/vm/mainpm.c
  + source/vm/pm/mainpm.c
    -+ moved to new folder source/vm/pm

  - tests/dll55.bat
    - Removed non used file.

  * makefile.bc
    ! Fixed to only use trpc and trpccli when building MT version of rtl.lib

  /* NOTE!!! GNU Make and MSVC make must be revised accordingly!!! */

2003-04-02 11:34 UTC+0100 Ian Anderson <i.anderson@procon-online.de>
  * source\rtl\gtapi.c
    * Fixed problem of maxrow() and maxcol()  returning the wrong
     values afrer screen size is changed with setmode()

2003-04-01 16:09 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * bin/!pack_bin.bat
  * bin/!pack_src.bat
    * Updated to 0.80.0

2003-04-01 20:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! minor Change to Lib editor mode( Added an -I cUserInclude to CFLAG1 macro)

2003-04-02 00:31 UTC+0100 Ian Anderson <i.anderson@procon-online.de>
  * source\vm\hvm.c
    * Corrected comment

  * source\debug\debugger.prg
    ! fixed a number of fairly fundamental problems
        Dispbegin() with no dispend()
        path for sourcefiles now supported
        warning if source files not found
        procedure exit now returns you to the correct source file
        guard against r/t error due to wrong array access

  * source\rtl\browdb.prg
    * performancce enhancement, replaced calls to lastrec() with
      cals to bod() and eof()

  * source\rtl\tbrowse.prg
    ! guard against intermittent r/t error

2003-04-01 13:34 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * makefile.vc
    * Corrected minor typo in comment.

  * makefile.nt
    * Added support for samples.lib and hbodbc.lib

  * source/odbc/odbc.c
    * Added missing type casts needed by MSVC.

2003-03-31 16:41 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    ! Minor fix to support of bPersistent in __CLSADDMS()

2003-03-31 11:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbapi.h
    + Added extern BOOL hb_clsIsParent( USHORT uiClass, char * szParentName ); as per FWH Author request.

2003-03-31 13:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! Fixed generation of Test.out in linux

2003-03-30 18:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    utils/hbmake/hbmutils.prg
    * Minor fix under linux

2003-03-30 11:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    * Minor fix to __OBJSENDMSG() (By Jose F. Gimenez)

2003-03-29 20:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * makefile.bc
    makefile.vc
    source/Makefile
    ! updated to Build the new samples.lib and hbodbc.lib
  + Source/clipsamp/environ.c
  + Source/clipsamp/date.c
  + Source/clipsamp/dbf.c
  + Source/clipsamp/gauge.c
  + Source/clipsamp/num.c
  + Source/clipsamp/stack.c
  + Source/clipsamp/status.c
  + Source/clipsamp/time.c
  + Source/clipsamp/Makefile
    ! Source code to Build Clipper compatible samples.lib
  + Source/odbc/odbc.c
  + Source/odbc/todbc.prg
  + Source/odbc/sql.ch
  + Source/odbc/Makefile
  + Source/odbc/browodbc.prg
    ! Source code to Build hbodbc.lib library for odbc acess

2003-03-29 13:27 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    * Removed BOOL bNoParent from hb_clsHasMsg() and replace it with logic to validate the scope of the message.

2003-03-29 18:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * include/hbgetcmt.ch
    ! Fix definition of Read command
  * contrib/rdd_ads/adsfunc.c
    + ADSSETDBPROPERTY() for setting values on Data Dictionaries
  * contrib/rdd_ads.ch
    + Commands for Transaction
    + Define for ADSSETDBPROPERTY()  and ADSGETDBPROPERTY() functions

2003-03-29 12:31 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    + Added BOOL hb_clsHasMsg( USHORT uiClass, char *szMsg, BOOL bNoParent )
    ! Fixed hb_clsValidScope() to allow a a Caller Method to access a Message that is
      avialable within the scope of the Super Class where the CAller Method is implemented.

  * tests/tstscope.prg
    * Corrected Instance Var syntax.

2003-03-29 14:15 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib\libct\makefile.vc
    + files.c

2003-03-29 12:35 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * include\hbstack.h
    * only define HB_STACK_MACROS if undefined.

2003-03-29 12:08 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.vc
  * makefile.nt
    * just re-synched these files.
    * removed non-exist hbparsini.prg

2003-03-29 11:58 UTC+0100 Patrick Mast <patrick@winfakt.com>
  * doc/genhtm.bat
    * minor fixes
  + doc/en/zipnew.txt
    * + Some modifications
  * doc/genhtm.rsp
    * Added all available documentation files from the /en map

2003-03-28 23:00 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed bug in WorkTranslate() which caused translations out of order to take place.

2003-03-28 21:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
  * utils/hbmake/hbmutils.prg
    ! replace all calls to listasarray2() with fastern hb_atokens()
    removed listasarray2() function from hbmutils.prg  modules
  * source/rtl/tget.prg
    + added Clipper 5.3 compatible datas CapRow and CapCol
  * include/hbver.h
    ! Changed to Build 0.80

2003-03-28 19:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! minor fix, to an problem reported by users

2003-03-27 21:50 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
  * source/compiler/harbour.sly
    * Improved support for Instance Var BY-REF to not require the "()".
    * Improved support for MacroExp BY-REF, to support any valid macro expression.

  /*
     NOTE: New Syntax is simply:

        @<AnyExp>:<Indentifier>
        @&<SomeMacro>
        @&<SomeMacro.Suffix>
        @&( <AnyExp> )

     Such reference may be passed as argument to a Function Call, or may be embeded in a Literal Array.
   */

  * tests/ivarref.prg
  * tests/macroref.prg
    * Enhanced testing and demo.

2003-03-27 16:50 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/win32ole.prg
    + Added support for DISPATCH_PROPERTYPUTREF.

2003-03-27 13:02 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    ! Fixed optimization of HB_P_SENDSHORT to not optimize super mehods.

2003-03-27 21:57 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rdd/dbfntx/dbfntx1.c
    ! Ported latest Harbour fix (reported to work).

2003-03-27 14:54 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbreadini.prg
    ! Case sensitivity option is now working in HB_ReadIni() function

2003-03-27 13:56 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbreadini.prg
    + Added function HB_SetIniComment( cLc, cHlc ) --> NIL, where cLc is
      the "Line comment", valid only if it is the first non blank
      character on a line, and cHlc is the "half line comment", vaild
      wherever it's found (thus in the middle of a line).
      Defaults are ";" for the line comment and "#" for the half line
      comment; call HB_SetIniComment( "", ";" ) to have Microsoft like
      ini comment style.

2003-03-26 23:41 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  + include/classes.h
    + Added header file with classes support structure.

  * include/error.ch
    + Added #define EG_NOOBJECT 19

  * include/thread.h
    * Corrected copyright notice.

  * include/hbexprb.c
  * include/hbexprop.h
  * include/hbpcode.h
  * source/common/expropt1.c
  * source/compiler/genc.c
  * source/compiler/harbour.sly
  * source/compiler/hbfix.c
  * source/compiler/hbpcode.c
    + Added support for new HB_P_IVARREF

  * source/vm/classes.c
  * source/vm/hvm.c
    + Added support for new HB_P_IVARREF
    % Optimized usage of Objects Instance Variable to avoid function call.

  * tests/ivarref.prg
    + Added test sample for passing Instance Variables BYREF.

  * make_b32.bat
    * Minor correction to handling of make_b32.log file.

  * utils/hbmake/hbmake.prg
    * Changed 2 instances of ListAsArray() to ListAsArray2()
      // Not sure if this is the correct fix for the missing external ListAsArray() error that I got.

  /*
     NOTE: - xHarbour now supports passing Instance Variables BY REFERENCE.
           - Instance Variable access (and assignment) is now about 50% faster.
   */

2003-03-27 04:01 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/hbcompress.h
  * source/rtl/hbcompress.c
    ! fixed a potential error in inflate(); a code from original zlib was
      left in, and a variable check when not initialized could have bought
      to uncorrect error report while decompressing.

2003-03-26 23:16 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! changed logic of generation if -D swicht for HARBOURFLAGS section of makefile

2003-03-26 12:48 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    ! Fixed missing length reset in HB_P_LOCALADDINT and HB_P_ADDINT.

2003-03-26 20:32 UTC+0000 Ian Anderson <i.anderson@procon-online.de>
  * source/rtl/tget.prg
    * Clipper compatibility fix to isEditable - Clipper 5.2e allows you to use
      Picture 'Y' on a variable which has been initialized with 'Y' or 'N' as
      well as one which has been initialized with .T. or .F. This works now.

2003-03-26 19:30 UTC+0000 Ian Anderson <i.anderson@procon-online.de>
  * source/rtl/memoedit.prg
    * Fix minor bug - UserFunction can now map the escape key to CTRL-W successfully

2003-03-25 19:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/cstruct.prg
    % Few more optimizations.
    * Enabled READONLY Scope of nAlign, and SizeOf.

2003-03-25 18:18 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/cstr.prg
    * Minor improvement.

  * source/rtl/cstruct.prg
    ! Fixed [very bad] typeo.
    % Minor optimizations.

  * tests/tstcstru.prg
    * Moved #include wintypes.ch under #ifdef C_SYNTAX.

2003-03-25 16:34 UTC+0100 Martin Vogel <vogel@inttec.de>
  * contrib/libct/dattime2.prg
    * bug fix in function addmonth()
  + contrib/libct/tests/Makefile
    + Makefile for libct test programs

2003-03-24 18:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbapi.h
  * source/vm/dynsym.c
    + Added: PHB_DYNS HB_EXPORT hb_dynsymGetCase( char * szName )  /* finds and creates a symbol if not found CASE SENSITIVE! */

  * include/hboo.ch
    + Added:
        #define HB_OO_PROPERTY          8
        #define HB_OO_MSG_PROPERTY      HB_OO_MSG_DATA      + HB_OO_PROPERTY // Auto management of DATA.
        #define HB_OO_MSG_CLASSPROPERTY HB_OO_MSG_CLASSDATA + HB_OO_PROPERTY // Auto management of CLASSDATA.

  * source/vm/classes.c
  * source/vm/hvm.c
    + Added C level function hb_clsAddMsg()
    * Modified HB_FUNC( __CLSADDMSG ) to use worker function hb_clsAddMsg()
    + Added support for new HB_OO_MSG_PROPERTY and HB_OO_MSG_CLASSPROPERTY.
    + Added support for 8th paramater <bCase> to allow CASE SENSTIVE Messages.
    ! Fixed to allow Instance Variables of an Object to be named with a starting '_' (Clipper compatibility)

  * contrib/Whoo/source/TFrame.prg
  * source/rtl/cstruct.prg
  * source/rtl/objfunc.prg
  * source/rtl/tclass.prg
  * source/rtl/tobject.prg
    % Optimzed to use new HB_OO_MSG_PROPERTY and HB_OO_MSG_CLASSPROPERTY instead of HB_OO_MSG_DATA and HB_OO_MSG_CLASSDATA.
    + Added CASE SENSTIVE support to TAssociativeArray() class.

   /*
      NOTE: Class creation is greatly optimized and should be noticbly faster in applications utilizing many classes such as FWH.
   */

  * tests/assocarr.prg
    + Added code an comments to demonstrate CASE SENSITIVE support in Associative Arrays.

  * include/hbsetup.h
    * Increaded HB_PCODE_VER  to 4 !!!

  /*
     WARNING!
     --------
     This change REQUIRES a CLEAN BUILD!!!
     This change REQUIRES a CLEAN BUILD of all 3rd libraries!!!
  */

2003-03-23 14:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbreadini.prg
    * Line continuation is now the string " ||" (that is, two pipes
      preceded by at least a space). "Void" continuation lines
      (that is, two pipes alone on a line) are NOT allowed.

    * tests/parseini.ini
      * Changed to demonstrate the feature

2003-03-22 14:36 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/libct/files.c
    % reformated and added filedelete function
  + contrib/libct/ctwin.ch
    contrib/libct/ctwin.prg
    * Ca tools Wxxx functions proviced by Adam Lubszczyk <alubszcz@rsw.pl>
  + contrib/libct/blank.prg
    + Catools Blank function
  * contrib/libct/makefile.bc
    contrib/libct/makefile.vc
    contrib/libct/Makefile
    * updated makefiles

2003-03-21 22:04 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/terror.prg
    * Changed INIT value of Subsystem to "" (Clipper compabtibility)

2003-03-21 16:06 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.c
  * source/pp/ppcore.c
    * Fixed minor compilation warnings.

  * source/compiler/hbslex.c
  * source/macro/macroslx.c
    * Fixed relative path of #include for GCC.

2003-03-21 13:51 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * makefile.nt
  * makefile.vc
  * source/common/Makefile
  * source/rtl/Makefile
    * Updated to reflect new location of hbffind.c

2003-03-21 13:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  - source/common/hbffind.c
  + source/rtl/hbffind.c
    -+ Moved hbffind.c to source/rtl as it's not used by compiler.

  * makefile.bc
    * Updated to reflect new location of hbffind.c

2003-03-20 21:22 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.c
    + Added WinMain guarded by #if defined(HB_OS_WIN_32)

2003-03-20 16:20 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/Makefile
  * source/rtl/Makefile
    * Modified to reflect new location of pplib.c.

2003-03-20 16:04 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  - source/compiler/simplex.c
  + include/simplex.c
    -+ Moved simplex to include folder as it is an #included file.

  * source/macro/macroslx.c
    * Modified #include as per new location of simplex.c

  - source/pp/pplib.c
  + source/rtl/pplib.c
    -+ Moved pp.lib to rtl folder as it's part of the RTL.

  * makefile.bc
    * Modified to reflect new location of pplib.c.

2003-03-20 17:05 UTC+0100 Patrick Mast <patrick@winfakt.com>
  * utils/hbmake/hbmake.prg
    ! Fixed bug in ResetInternalVars()

2003-03-20 16:21 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbreadini.prg
    + Added support for long lines using "\" as a terminator character.
      when the \ is not used as the last character of the line, it is
      not treated in any special way, so windows path are safe.

  * tests/parseini.ini
    + Added a LONG entry to demonstrate this feature.

2003-03-20 10:45 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! minor changes, Also, when is an app generated make file, it
     ask the user if he want to build the final app
  * utils/hbmake/hbmutils.prg
    ! minor fix to GetSourceFiles() function


2003-03-19 18:01 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/pp/pptable.c
    ! hb_pp_topDefine = &sD___56 to hb_pp_topDefine = &sD___58

2003-03-19 14:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/set.ch
    ! Added _SET_TRACEFILE and _SET_TRACESTACK, and changed the
      values of _SET_FILECASE & followings accordingly with
      hbset.h. Numbers were not matching anymore and _SET_TRACEFILE
      and _SET_TRACESTACK were missing.

      A MAKE CLEAN IS IN ORDER

  * source/rtl/traceprg.prg
    ! Now including set.ch (How did it compile before?)

  * source/rtl/regex.c
    ! Fixed a typo: used "|" instead of "||" in a test. Casually,
      result was the same.

  * source/rtl/hbreadini.prg
    + Added HB_WriteIni( cFile, aaIni [, cBeginComment [, cEndComment]])
            --> lResult
      If cFile is a string the file is created, while if it is a number
      (a file handler) an already open file is used. This is useful
      for writing by-hand some part of the config file and then pass
      the resto to HB_WriteIni()

  * tests/parseini.ini
  * tests/parseini.prg
    + Added test for HB_WriteIni()

2003-03-19 00:48 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbset.h
  * source/pp/pptable.c
  * source/rtl/set.c
  * source/rtl/traceprg.prg
    + Added support for:
       SET( _SET_TRACEFILE, <cFile> ) => cOldFile
       SET( _SET_TRACESTACK, <"NONE"|"CURRENT"|"ALL"> ) => cOldFile

  * source/rdd/nulsys/nulsys.prg
    + Added empty stubs needed to allow link of nulsys.lib in place of (rdd.lib + dbfntx.lib)

  * source/rtl/errorsys.prg
    * Modified log file logic to use macros to avoid forcing linkage of DB Functions (incase nulsys.lib is used).

2003-03-18 14:11 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    * Minor bug fixed.

  * include/classex.ch
    * Reverted recent incorrect change of Aug.

  * source/rtl/terror.prg
    * Default Severety to ES_ERROR in ErrorNew(...)

2003-03-18 21:32 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/regex.c
    ! HB_RegexSplit(), in case that the split token is not present
      in the string, returns an array of one item (the whole string).

  * tests/regex.prg
    + Added a test to demonstrate this feature.


2003-03-18 16:05 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  + source/rtl/hbreadini.prg
    + Added function HB_ReadIni( cFileSpec ) --> aaIniParsed

     This small procedure reads a .ini file into an associative array in
     the standard .ini format:
        ; A line starting with a ';' is a comment
        # Also, a '#' marks a comment up to the end of the line
        [NewSection]
        Variable = Value
        OtherVariable: Value

     You can pass a list of "potential" .ini files in a ';' separated path;
     the first readable file will be loaded.

     On error, the function returns NIL. On success, you will have an associative
     array of this form:

     { 'MAIN' => { 'Key1' => 'Val1', ... ,'KeyN' => 'ValN'},
       'Section1' => { 'Key1' => 'Val1', ... ,'KeyN' => 'ValN'},
       ...
       'SectionN' => { 'Key1' => 'Val1', ... ,'KeyN' => 'ValN'}
     }

     Main is the default section (variables that are declared without a section).

  * makefile.bc
  * makefile.vc
  * source/rtl/Makefile
    + Added compilation of hbreadini.prg

  + tests/parseini.ini
  + tests/parseini.prg
    + Test to demonstrate the woriking of ReadIni()

2003-03-18 12:42 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/regex.c
    % Optimization for non-group aware scans ( has/like operators
      and RegexSplit). Using "1" as maximum group matches, that makes
      core regex functions to stop when just found a first match.

2003-03-18 12:21 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/regex.c
    + Added function
         HB_RegexSplit( cRegEx, cStr [, bCaseInsens [, bMultiLine,
            [, nMax] ] ] ) --> aSplit
      This splits cStr (using cRegEx as a token) into aSplits. Each part of
      cStr that is separed by a string matching cRegEx is separated and put
      into a different element of aSplit.
      If nMax is given, a maximum of nMax elements are returned in the array,
      so you can have HB_RegexSplit( "=", "A test = A=B=C",,,2 ) that will
      return the array [ "A test ", " A=B=C" ].

      If cRegEx cannot be matched in cStr, HB_RegexSplit will return NIL.

  * tests/regex.prg
    + Added a test for HB_RegexSplit()


2003-03-18 01:35 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/inet.c
    ! Fixed async socket closing under linux. Now closing socket with InetClose
      will make also select() to return, and so functions waiting forever (as
      accept) will cleanly return.

2003-03-17 12:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/win32ole.prg
    ! Fixed GPF when passing an OLE Object as paramater to an OLE Method.

2003-03-17 05:32 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/hbcompress.h
  * source/rtl/hbcompress.c
    - Removed zlib specific decl and memory management
    ! Using now hb_xgrab() family instead of malloc/calloc
      (also thread safe).
    % some code cleaning.

2003-03-16 14:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * hrbdll.bc
  * source/rtl/regex.c
  * source/rtl/trace.c
    ! Fixed to allow creation of xHarbour DLL and DLL linked applications (BCC55)

2003-03-16 16:05 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/inet.c
    + Added InetStatus() function to get the status of a socket. Currently used
      to know if a socket is active (0) or closed (-1): TODO more status
    ! Put HB_STACK_LOCK/UNLOCK and HB_TEST_CANCEL_ENABLE_ASYN/ DISABLE in
      the right places. Now asynchronous killing of a thread waiting on a socket is
      working ( use KillThread()/jointhread )

  * source/rtl/trpc.prg
    ! Using cleaner cleanup of accepting tread, closing their sockets instead of killing
      them.

2003-03-16 13:56 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    + added internal function hb_getCurrentStackNoError() to find a stack
      or return null if stack were not present. hb_getCurrentStack() was
      primarily meant to be used by HB_VM_STACK macro and thus rose an
      error when called with an invalid th_id.

  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
    ! Using KillThraed() /JoinThread() combination instead of StopThread()
    ! Error in cyclic function decoding corrected.

2003-03-16 08:27 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * test/rpcclient.prg
    ! Removed InetInit() (is done by trpc).

  ! source/vm/inet.c
    ! Fixed UDP protocol recv.

2003-03-16 07:15 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * tests/mtcomplex.prg
    ! StopThread() is not anymore suitable to kill the monitor thread:
      changed to KillThread()

2003-03-16 06:53 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * vm/codebloc.c
  * vm/garbage.c
  * vm/hvm.c
    ! Important fixes made to various part of the code to avoid potential
      segfaults and deadlocks. The stack locking range has been increased,
      so GC can't take over i.e. returning functions or exiting codeblocks.

  * vm/thread.c
    ! Released stack before entering PRG mutex wait. That could cause deadlocks
      with fence idle actived.

  * rtl/console.c
    ! changed the order of stack/ hb_outputMutex locks

  * rtl/idle.c
    ! removed stack unlocking/locking that were guarding the GC collection. Now
      it is done in GC.

  + doc/xhbt_internals.txt
    + Added documentation on the internal programming of hb threads.

2003-03-15 20:17 UTC-0300 Walter Negro <anegro@overnet.com.ar>
   * contrib/mysql/mysql.c
     + Add function SQLERRNO() to obtain number of error.
       Code provided by Rui Caridade
   * contrib/mysql/tmysql.prg
     + Add method ErrorNo() to TMySqlQuery class to obtain
       number of error.
       Code provided by Rui Caridade.
     + Add method RecCount() to TMySqlQuery class.
       Code provided by Blue Face.

2003-03-14 14:22 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbvm.h
  * source/vm/errorapi.c
  * source/vm/hvm.c
  * source/vm/mainlgtk.c
  * source/vm/mainpm.c
  * source/vm/mainstd.c
  * source/vm/mainwin.c
    * Reverted recent Fixe to avoid EXIT procedures when quiting due to an Error (Clipper compaatibility).
    ! More Clipper compatible implementation to avoid recursive call to EXIT procedure if error encountered.

2003-03-14 12:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbvm.h
  * source/vm/errorapi.c
  * source/vm/hvm.c
  * source/vm/mainlgtk.c
  * source/vm/mainpm.c
  * source/vm/mainstd.c
  * source/vm/mainwin.c
    ! Fixed to avoid EXIT procedures when quiting due to an Error (Clipper compaatibility).

2003-03-14 14:55 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/garbage.c
    ! Compilation under linux fixed.

2003-03-14 14:10 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
  * source/vm/thread.c
  * source/vm/garbage.c
    ! Compilation with fence under windows is fixed (still have to implement
      it though), and added some optimizations for linux.

2003-03-14 12:20 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
  * source/vm/thread.c
    + Added support for fenced idle routines under Linux.
    + Added PRG function ThreadIdleFence( [bMode] )--> bOldMode that
      queries or sets the idle fence.

  * source/vm/garbage.c
    * Now GC can be in fenced or unfenced mode under linux.

  * source/vm/hvm.c
    * The maximum count of instructions after wich the VM tests for cancelation
      is now defined in thread.h (HB_VM_UNLOCK_PERIOD).

  * source/rtl/console.c
    ! Fixed a bug in secure console locking.

  * tests/Makefile
    ! harbour is now searched in $HB_BIN_INSTALL

  * tests/mtgc.prg
    + Added a test for unfenced garbage collecting.

2003-03-13 16:29 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
  * include/hbexprop.h
  * include/hbpcode.h
  * source/compiler/exproptb.c
  * source/compiler/genc.c
  * source/compiler/harbour.sly
  * source/compiler/hbfix.c
  * source/compiler/hbpcode.c
  * source/vm/hvm.c
    + Added support for new HB_P_PUSHMACROREF

  /*
     Syntax @&<macro> and @&<macro>.<suffix> is now suported
     as argument to function calls.
   */

  + tests/macroref.prg
    + Added test of passing macro by reference.

2003-03-13 03:58 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * thread.h
    ! fixed linux compilation

2003-03-13 03:50 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * thread.h
  * thread.c
    ! Removed all compiation warnings (tnx Andy ;-)
    + Added async cancelation for threads in the new framework
      under windows.
    * Changed StopThread() behavior: under windows, it kindly
      requests the thread to terminate. Use KillThread() or
      KillAllThreads() to really interrupt a thread, and use
      KillThread( th ) / JoinThread( th ) to kill a thread and
      wait for cleanup functions to be completed. I could port
      this behavior also under linux, but since linux cancelation
      are safe, there is no need for a "kind" StopThread().
      Comments are welcome.

2003-03-12 16:51 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Fixed bug in instanciation of optional group excessive number of times.

2003-03-12 12:38 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Initialization of instance variable ::RowCount in New method.

2003-03-12 14:40 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
  * include/thread.h
  * source/rtl/hbcrypt.c
    ! fixed compilation issues and warnings.

2003-03-12 01:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/garbage.c
  * source/vm/thread.c
  * include/thread.h
    ! Latest thread architecture has been ported on windows.
      Now they are working, under almost all conditions.
      Architecture is fine, still some optimization and compatibilty
      issue is to be addressed.

2003-03-11 11:09 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  + tests/assocspd.prg
    + Added sample comparing Array Syntax of AA, against OOP Syntax of AA, as well as normal Objects.

2003-03-10 22:36 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    * Minor correction to recent supoort for \=>.

  * tests/assocarr.prg
    * Typo in comment.

2003-03-11 00:17 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
  * source/rtl/console.c
  * source/vm/extend.c
  * source/vm/fm.c
  * source/vm/garbage.c
  * source/vm/hvm.c
  * source/vm/thread.c
    + New threading framework has been added. On Windows, suppor for
      "kind" cancellations and "single thread running" has been added.
      Also, pthread_key optimization is included in the model, and

  * source/rtl/hbserial.prg
  * source/rtl/trpc.prg

2003-03-19 02:50 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * include/thread.h
  * source/vm/thread.c
    % Simple Linux thread speed optimization using local thread data
      - it makes Linux MT programs 40% faster.
      Question to anyone familiar with Windows:
        Is similar mechanism (local thread data) available for that platform?

2003-03-09 14:53 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/tobject.prg
    + Added support for Method Keys to class TAssociativeArray.

  * tests/assocarr.prg
    * Added sample of Method Keys, plus revised for more real world sample.

2003-03-09 13:39 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.slx
  * source/compiler/simplex.c
    * Minor corrections related to literals as array index.

2003-03-09 09:29 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
  * source/pp/ppcore.c
    + Added support for escaping => (\=>).

  * source/pp/pptable.c
  * source/rtl/tobject.prg
    + Added support for literal Associative Array.

     SYNTAX: { <Propery> => <Value> [, <PropertyN> => <ValueN> ] }

  * tests/assocarr.prg
    + Added sample for literal Associative Array.

2003-03-08 16:07 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/tobject.prg
    + Added an optimized version of TAssociativeArray, which uses classes internals to add new properties.
    - Defed out older implementation.

2003-03-08 14:52 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
  * source/vm/hvm.c
  * source/rtl/tobject.prg
  * source/vm/proc.c
    + Added support for Associative Arrays.

  * source/vm/break.c
    - Removed Throw()
  * source/rtl/terror.prg
    + Added corrected Throw()

  * xdiff.txt
    * Updated.

  + tests/assocarr.prg
    + Sample of new Associative Arrays.

  /*
     NOTE: Associative Arrays are like LITE Objects. Properties may be added on the fly
           without any declaration, much like new PRIVATE or PUBLIC can be created by
           simply assigning a value.

           Associative Arrays, may use Objects Syntax (':' operator) or Array Index Syntax
           ('[]' operator) with the Property Name as the INDEX.

  */

2003-03-08 15:00 UTC+0300 Phil Krylov <phil@mail.ru>
  * source/rdd/dbfntx/dbfntx1.c
  * source/rtl/fstemp.c
    ! Use mkstemp() instead of tmpnam() with HB_OS_BSD too.

2003-03-07 20:28 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Added support for '' strings as Array.

2003-03-08 03:10 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/hbstack.h
  * include/thread.h
  * source/vm/thread.c
    % HB context has been removed. On Multithreading, stack
      is incorporating the whole context data now.
    ! Partially ported MT new architecture to windows. Now MTGC and
      MTTest are working without fail. There are still some issue to
      fix, though.

  * source/vm/arrays.c
  * source/vm/classes.c
  * source/vm/estack.c
  * source/vm/extend.c
  * source/vm/fastitem.c
  * source/vm/fm.c
  * source/vm/garbage.c
  * source/vm/hvm.c
  * source/vm/inet.c
  * source/rtl/idle.c
    ! MT STACK Optimization was missing due to a mistyping in #define

  * source/rtl/regex.c
    ! regex was not compiling under linux.

2003-03-07 22:30 UTC-0300 Horacio Roldan <harbour_ar@yahoo.com.ar>
  * include/hbapirdd.h
  * source/rdd/dbcmd.c
  * source/rdd/dbstrux.prg
     ! fixed alias bug in dbCreate, "copy structure",
       "copy structure extended" and "create from"
  * source/rdd/dbf1.c
     ! fixed GPF regarding bad use of memo file name

2003-03-07 15:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/transfrm.c
    * Minor Clipper compatibility fix - hbtest (bcc55 on WinXP) down to 100 again.

2003-03-07 15:14 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
  * source/compiler/harbour.slx
  * source/macro/macro.slx
  * source/compiler/harbour.sly
  * include/hbexprb.c
  * source/compiler/exproptb.c
    + Added support for LITERAL strings followed by ArrayIndex.

2003-03-07 13:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! Readded the Selection if main source code back
  * utils/hbmake/hbmutils.prg
    ! minor change on libnames( in GetLibraries() function)

2003-03-07 14:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rdd/dbfntx/dbfntx1.c
  * source/rtl/fstemp.c
    ! In linux, tmpname() issues a warining at link time. Usage of mkstemp()
      is FORCED instead (is also a MUCH MORE safe function, avoiding races
      and guess-the-temp-name vunlerability attacks).
      I am using it only on LINUX, but other UNIXes programmers might want
      to extend it's usage also on their systems.
      Also, that warning prevented scrips from detecting that link has
      been completed sucessfully.


2003-03-07 12:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/file.c
  * source/rtl/filesys.c
  * source/rtl/set.c
    ! I put back the case for file operations under UNIX, but set the
      default for unix systems to "MIXED" case and "/" file separator.

2003-03-07 13:30 UTC+0300 Phil Krylov <phil@mail.ru>
  * source/rtl/binnum.c
    ! Use little-endian values on all platforms in BIN2L()
  * source/vm/thread.c
    ! Made hb_critical_mutex_trylock() at least compile on non-Linux Unices.


2003-03-06 22:07 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    + Added default branch with hb_inkeyPut( ch ) to keyboard input logic in hb_vmExecute() to avoide intermitent loss of input.

2003-03-06 21:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * make_b32.bat
    + Added reset of HB_MT

  * source/rtl/tbrowse.prg
    + Added missing RETURN Value.

  * source/vm/classes.c
    * Minor correction to recent fix to SCOPE logic.

  * source/vm/codebloc.c
  * source/vm/hvm.c
    % Optimization of recent fix to ProcName() and ProcLine() of Codeblocks.

  * source/vm/proc.c
    * Removed commented code.

2003-03-07 01:30 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix new bug in initialization and more Clipper compatibility.

2003-03-06 19:05 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbvmpub.h
    - Removed lineno member from struct hb_struBlcok.
    + Added procname, and lineno members to struct _HB_CODEBLOCK.

  * source/vm/hvm.c
    + Added logic to set asBlock.value->procname, and asBlock.value->lineno in hb_vmPush*Block*()

  * source/vm/codebloc.c
    + Added logic to release asBlock.value->procname.

  * source/vm/proc.c
    ! Fixed ProcName() and ProcLine() handling of Codeblocks to be Clipper compatible.

  * source/vm/classes.c
    + Added logic to hb_clsValidScope() to consider Block Creation SCOPE.
    - Defed out prior logic considering the Execution SCOPE of Codeblock under #ifdef CLASSY_SCOPE.

  * source/rtl/errorsys.prg
    ! Fixed default Error System to be more Clipper compatible.

2003-03-06 17:52 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/debug/debugger.prg
    % Optimization with SWITCH-CASE (support for negative numbers)
  * source/rtl/listbox.prg
    % Optimization with SWITCH-CASE (support for negative numbers)
  * source/rtl/tgetlist.prg
    * Indentation
  * source/rtl/tbrowse.prg
    * Optimizations and more compatibilty with Clipper.

2003-03-06 00:55 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/file.c
  * source/rtl/filesys.c
    ! file case must not be changed under Linux; and as far as I
      know, neither in other unix systems.

2003-03-05 15:45 UTC_0700 Andi Jahja <andijahja@harbour-id.ner>
  * source/rtl/len.c
    ! A little code optimation due to redundancy in checking parameter type.

2003-03-04 21:12 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcomp.c
    ! Fixes to improve detection of input buffer overflow.

  * source/pp/ppcore.c
    ! Fixes to improve detection of input buffer overflow.
    * Modified #define PATTERN_SIZE to HB_PP_STR_SIZE to avoid possible GPF.
    * Rewrote strincpy() to fix bug in stop words logic.

2003-03-04 18:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br)
  + contrib\libct\addascii.c
    contrib\libct\makefile
    contrib\libct\asciisum.c
    contrib\libct\ascpos.c
    contrib\libct\atadjust.c
    contrib\libct\atnum.c
    contrib\libct\atrepl.c
    contrib\libct\bit1.c
    contrib\libct\bit2.c
    contrib\libct\bit3.c
    contrib\libct\charevod.c
    contrib\libct\charlist.c
    contrib\libct\charmirr.c
    contrib\libct\charmix.c
    contrib\libct\charone.c
    contrib\libct\charonly.c
    contrib\libct\charop.c
    contrib\libct\charrepl.c
    contrib\libct\charsort.c
    contrib\libct\charswap.c
    contrib\libct\color.prg
    contrib\libct\count.c
    contrib\libct\ct.ch
    contrib\libct\ct.h
    contrib\libct\ct.prg
    contrib\libct\ctc.c
    contrib\libct\ctchksum.c
    contrib\libct\ctcrypt.c
    contrib\libct\cterror.ch
    contrib\libct\ctflist.txt
    contrib\libct\ctmath.c
    contrib\libct\ctmath.h
    contrib\libct\ctmisc.prg
    contrib\libct\ctset.c
    contrib\libct\ctset.h
    contrib\libct\ctstr.c
    contrib\libct\ctstr.h
    contrib\libct\datetime.prg
    contrib\libct\dattime2.prg
    contrib\libct\exponent.c
    contrib\libct\files.c
    contrib\libct\finan.c
    contrib\libct\ftoc.c
    contrib\libct\invertwin.prg
    contrib\libct\justify.c
    contrib\libct\keyset.c
    contrib\libct\make_b32.bat
    contrib\libct\make_vc.bat
    contrib\libct\makefile.bc
    contrib\libct\makefile.vc
    contrib\libct\math.c
    contrib\libct\misc1.c
    contrib\libct\num1.c
    contrib\libct\numat.c
    contrib\libct\numconv.prg
    contrib\libct\pad.c
    contrib\libct\pos1.c
    contrib\libct\pos2.c
    contrib\libct\posdiff.c
    contrib\libct\print.c
    contrib\libct\range.c
    contrib\libct\readme.txt
    contrib\libct\relation.c
    contrib\libct\remove.c
    contrib\libct\replace.c
    contrib\libct\screen1.c
    contrib\libct\screen2.prg
    contrib\libct\setlast.prg
    contrib\libct\strdiff.c
    contrib\libct\strswap.c
    contrib\libct\tab.c
    contrib\libct\token1.c
    contrib\libct\token2.c
    contrib\libct\trig.c
    contrib\libct\wordrepl.c
    contrib\libct\wordtoch.c
    contrib\libct\alt\ctcolton.c
    contrib\libct\alt\token1.prg
    contrib\libct\tests\addascii.prg
    contrib\libct\tests\makefile
    contrib\libct\tests\afteratn.prg
    contrib\libct\tests\asciisum.prg
    contrib\libct\tests\ascpos.prg
    contrib\libct\tests\atadjust.prg
    contrib\libct\tests\atnum.prg
    contrib\libct\tests\atrepl.prg
    contrib\libct\tests\attoken.prg
    contrib\libct\tests\beforatn.prg
    contrib\libct\tests\charadd.prg
    contrib\libct\tests\charand.prg
    contrib\libct\tests\chareven.prg
    contrib\libct\tests\charhist.prg
    contrib\libct\tests\charlist.prg
    contrib\libct\tests\charmirr.prg
    contrib\libct\tests\charmix.prg
    contrib\libct\tests\charnlst.prg
    contrib\libct\tests\charnot.prg
    contrib\libct\tests\charodd.prg
    contrib\libct\tests\charone.prg
    contrib\libct\tests\charonly.prg
    contrib\libct\tests\charor.prg
    contrib\libct\tests\charrem.prg
    contrib\libct\tests\charrepl.prg
    contrib\libct\tests\charrll.prg
    contrib\libct\tests\charrlr.prg
    contrib\libct\tests\charshl.prg
    contrib\libct\tests\charshr.prg
    contrib\libct\tests\charslst.prg
    contrib\libct\tests\charsort.prg
    contrib\libct\tests\charsub.prg
    contrib\libct\tests\charswap.prg
    contrib\libct\tests\charxor.prg
    contrib\libct\tests\csetarge.prg
    contrib\libct\tests\csetatmu.prg
    contrib\libct\tests\csetref.prg
    contrib\libct\tests\datetime.prg
    contrib\libct\tests\expomant.prg
    contrib\libct\tests\finan.prg
    contrib\libct\tests\math.prg
    contrib\libct\tests\num1.prg
    contrib\libct\tests\numtoken.prg
    contrib\libct\tests\rangerem.prg
    contrib\libct\tests\rangerep.prg
    contrib\libct\tests\setatlik.prg
    contrib\libct\tests\strdiff.prg
    contrib\libct\tests\tab.prg
    contrib\libct\tests\token.prg
    contrib\libct\tests\token2.prg
    contrib\libct\tests\tokenlow.prg
    contrib\libct\tests\tokensep.prg
    contrib\libct\tests\tokenupp.prg
    contrib\libct\tests\trig.prg
    contrib\libct\tests\valpos.prg
    contrib\libct\tests\wordone.prg
    contrib\libct\tests\wordonly.prg
    contrib\libct\tests\wordrem.prg
    contrib\libct\tests\wordrepl.prg
    contrib\libct\tests\wordswap.prg
    + Imported CA Tools Compatible Functions From Harbour CVS

2003-03-03 18:54 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
    + Added support for negative constant in SWITCH construct.

2003-03-03 16:12 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/macro/macro.y
    % Fixed multiple memory leaks when error in compiling a macro.

  * tests/macro.prg
    * Minor correction.

  * tests/tstscope.prg
    + Added more tests.

2003-03-03 17:55 UTC+0100 Ignacio Ortiz <ignacio@ozs.com>
  * source/rtl/transfrm.c
    ! Fixed GPF when called with no arguments: Transform()

2003-03-03 10:40 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * makefile.bc
    ! Standarize CFLAGS to -5 -6 -OS -a8 -DHB_FM_STATISTICS_OFF
      and ARFLAGS to /0 (reduce lib size in about 10-20%)

2003-03-02 18:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * doc/en/set.txt
    ! minor formating
  * utils/hbdoc/genrtf.prg
    ! small fix

2003-03-02 19:45 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
  * source/vm/hvm.c
  * source/vm/thread.c
    ! fixed compilation under windows. WARNING: Windows version is
      Work in Progress, and currently unstable.

2003-03-02 16:20 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  ! source/rtl/regex.c
    ! New version of regex was not returning true or false for
      HB_RegexMatch(). Fixed.

  * include/hbstack.h
  * include/thread.h

  * source/vm/arrayshb.c
  * source/vm/classes.c
  * source/vm/estack.c
  * source/vm/fm.c
  * source/vm/garbage.c
  * source/vm/hvm.c
  * source/vm/inet.c
  * source/vm/thread.c
  * source/rtl/console.c
  * source/rtl/idle.c
    ! Different threading model has been enforced in. HIGLY EXPERIMENTAL.

  * source/rtl/trace.c
    ! Minor fix to mutexes

  NOTE: This commit WON'T compile under windows/MT (should compile windows
  without MT). I am now fixing windows port; should be done in about one
  hour.

2003-02-28 13:58 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.slx
    * Added new class HB_AFTER_OP, because HB_WANTS_EXP is NOT 100% correct for WORDS.
    - Removed HB_STEP and HB_TO, and replaced with new HB_AFTER_OP.
    * Changed "LIKE" and "HAS" to use new HB_AFTER_OP.
    + Added LIKE and MATCH to IS_OP() macro.

2003-02-28 10:27 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.slx
    * Added missing rule for REJECT_OP, ')'.

2003-02-28 10:30 UTC+0000 Ian Anderson <i.anderson@procon-online.de>
  * contrib/rdd_ads/adsmgmnt.c
    + added implementation for ADSMGGETLOCKOWNER()

2003-02-28 02:30 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexpra.c
  * include/hbexprb.c
  * include/hbexprop.h
  * include/hbpcode.h
  * source/common/expropt1.c
  * source/compiler/genc.c
  * source/compiler/hbpcode.c
  * source/compiler/harbour.slx
  * source/compiler/harbour.sly
  * source/compiler/hbfix.c
  * source/vm/hvm.c
    + Added support for new operators HAS and LIKE.

    /*
      Syntax: cExp HAS  cRegEx|CompiledRegEx => bMatch
              cExp LIKE cRegEx|CompiledRegEx => bLike

      HAS will return .T. if cExp contains a match to the specified Regular Expression.
      LIKE will return .T. if all of its text is a match to the specified Regular Expression.
    */

  * source/rtl/regex.c
    + Added low level worker function hb_regex().
    - Removed work logic from HB_REGEX() and HB_REGEXMATCH() and modified them as wrappers to hb_regex().
    % Few optimizations.

  * xdiff.txt
    * Updated with new operators HAS and LIKE.

  + tests/has_like.prg
    + Added small test of new HAS and LIKE operators.

2003-02-28 06:55 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/rdd/dbfcdx/dbfcdx1.c
    ! Fixed hb_cdxSeek() to respond to null queries (dbSeek( "" )) in the
      same way as Clipper do : Found() ==> .T. and pointing to the first
      logical record in the table.

2003-02-26 13:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/hbzlib/zip.c
    contrib/hbzlip/zipcomp.cpp
     ! Fixed problem on Decompression(GPF) and on compression
       Bug reported by JMC/Jos‚ Luiz Capel/Richar and Dicky low

2003-02-26 21:14 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   - contrib/what32/include/classex.ch
   + include/classex.ch
     -+ Moved classex.ch to include folder.
     * Corrected PROPERTY to use PROTECTED instead of HIDDEN scope for the backbone data.

  * source/vm/classes.c
    * Minor correction and optimizations.

  * tests/tstscope.prg
    + Added test for Property scope.

2003-02-27 06:00 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/fm.c
    ! Compilation with statistics off was broken. Now it has
      been fixed.

2003-02-26 17:51 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    ! Linux version of last commit was missing a ";". Now
      compiles and runs fine.


2003-02-26 17:14 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/thread.h
    ! Ops... seems that this file hadn't been uploaded last time.

  * source/rtl/hbcompress.c
    * Removed all the warnings. This required a little mangling of
      the original zlib code. Anyway, an in depth review is still
      needed.

2003-02-26 15:35 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
   * include/thread.h
   * source/vm/thread.c
     % secured more deeply the thread start process. Now it is secured also
       against memory leaks caused by threads starting other threads but
       being killed in the meanwhile.

   * source/vm/garbage.c
     ! There was a duplicate mutex unlock in the GC collection last steps
       (it was a typo!). This error is ignored under linux but causes
       an immediate deadlock under windows. Now it is gone (and MTGC
       is running fine also on Windows).

2003-02-25 22:43 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbvmpub.h
    + Added HB_FS_CRITICAL

  * source/compiler/genc.c
  * source/compiler/harbour.slx
  * source/compiler/harbour.sly
    + Added support for NEW Sysntax:
        CRITICAL [STATIC] FUNCTION|PROCEDURE ...
    /*
       The CRITICAL qualifier guarantees that such function can NOT be run by more then 1 Thread
       at a given time. Any other Thread about to start the CRITICAL Function, will be put on hold,
       until the 1st Thread completed execution of the CRITICAL Function.
     */

2003-02-26 07:10 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
   * source/vm/garbage.c
   * source/vm/thread.c
     ! Now compiling on windows

2003-02-26 06:33 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
   * include/thread.h
   * source/vm/thread.c
     + Added macro HB_TREAD_GUARD() for simpler threadsafing of one
       command
     + Context initialization and destruction is now done in 4 phases
       instead of 2.
     + Added structures for TRYLOCK.

   * source/vm/arrays.c
   * source/vm/arrayshb.c
   * source/vm/codebloc.c
   * source/vm/extend.c
   * source/vm/fastitem.c
   * source/vm/fm.c
   * source/vm/garbage.c
   * source/vm/hvm.c
     + New multithreading infracstructure framework has been initiated.

   NOTE: This is a work in progress, and exactly a BEGIN of a LONG work.
   I have made sure that this commit works with mttest.prg and mtgc.prg,
   and I commit it because I need to show this changes to other developers
   involved in the project, and to port the source to my windows test
   machines. Other programs, (involving classes, RDD and array management)
   are NOT going to work with this commit, because the develpement of the
   new framework has just started.

2003-02-25 11:05 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    + Added USHORT hb_objGetRealCls( PHB_ITEM pObject, char *szName ), returning the Class Handle.
    * Modified hb_objGetRealClsName() to be a simple wrapper to hb_objGetRealCls().

2003-02-25 08:58 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    * Added :Super support to hb_clsValidScope()

2003-02-25 00:05 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    * Modified HB_QSelf() to skip over any Block evaluation level, and count only NON Blocks as a Procedure Level.

  * source/vm/classes.c
    - Removed incorrect void hb_clsScope().
    + Added newly written BOOL hb_clsValidScope() implementing Classy compatible Scope Validation.
    * Modified hb_objGetMthd() to check return value of hb_clsValidScope() and use dummy function if invalid scope.

  + tests/tstscope.prg
    + Added test of new Scope Logic

2003-02-25 00:45 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tget.prg
    * Fix refresh display when execute UNDO.
      Reported by Jon Berg

  * contrib/mysql/tmysql.prg
    ! Fix incorrect routine for transform xBase Dates to MySQL Dates and
      viceversa.
    ! Fix call to ClipValue2SQL passing the type of data for recognize
      non/xBase data type.

2003-02-25 00:50 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/itemapi.c
  * source/vm/fastitem.c
    ! Test over locking/threadsafing features has been completed.
      Resuming prvious version.

2003-02-24 13:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/htmllib/ofile.prg
  * contrib/htmllib/ohtm.prg
  * contrib/htmllib/jlist.prg
  * contrib/htmllib/oini.prg
    ! Fix compilation errors

2003-02-24 07:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/estack.c
    ! Too much lock caused deadlocks in windows that were not
      present in linux... Resuming previous version


2003-02-24 06:00 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcrypt.c
    ! Fixed some rare error conditions

  * source/rtl/trpccli.prg
  * source/rtl/trpc.prg
    + Added 3way handshake Challenged login and crypted transmissions

  * source/vm/estack.c
  * source/vm/fastitem.c
  * source/vm/itemapi.c
    + Added many locks around for MT safety

  * tests/rpcserver.prg
    + Added test for challenge handshake of rpcclient.prg


2003-02-23 19:49 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/classes.c
    * Uncommented scope validation logic.

2003-02-24 03:00 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcrypt.c
    ! Fixed a buffer overrun bug

  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
    + Added Crypted login and communication. WIP; don't rely
      on this.

  * tests/rpcclient.prg
  * tests/rpcserver.prg
    + Added test for login and communications with crypt on.

2003-02-23 20:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! Minor Fixes to previus change(one item in editor mode was on wrong row)

2003-02-23 20:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + contrib/htmllib/ofile.prg
  + contrib/htmllib/ohtm.prg
  + contrib/htmllib/outil.prg
  + contrib/htmllib/htmbrows.prg
  + contrib/htmllib/jlist.prg
  + contrib/htmllib/colors.ch
  + contrib/htmllib/counter.prg
  + contrib/htmllib/default.ch
  + contrib/htmllib/errorsys.prg
  + contrib/htmllib/ferror.ch
  + contrib/htmllib/forms.ch
  + contrib/htmllib/html.ch
  + contrib/htmllib/lowfiles.ch
  + contrib/htmllib/makefile.bc
  + contrib/htmllib/htmllib.bc
  + contrib/htmllib/makefile
  + contrib/htmllib/oedit.prg
  + contrib/htmllib/ocgi.prg
  + contrib/htmllib/htmutil.prg
  + contrib/htmllib/jwindow.prg
  + contrib/htmllib/oframe.prg
  + contrib/htmllib/oini.prg
    + HTML Library imported from Harbour CVS tree with Follow Changes
      Source Code Reformated
      Source Code optimized where Possible
      Many Methods of oHtm Class was Enhaced and Added new Method
      html.ch Enchaces some command + New ones

2003-02-23 19:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! Minor Fixes
    ! New options to Editor mode For Apps

2003-02-23 22:00 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcompress.c
  * source/vm/hvm.c
    * removed warnings (not all on hbcompress: I have to review
      it all first).

  * makefile.bc
    + added crypt related files in RTL

  * tests/crypt.prg
    + added the canonical GetList local

2003-02-23 21:15 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcompress.c
    - Removed adler32() checksum function, because...

  + source/rtl/hbchecksum.c
    + moved here adler32() function, with a new front end called
      HB_CHECKSUM( cStr ) -> nCheckSum32bit

  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
    + Added support for cyclic remote procedure call; now RPC can be
      called defining a for/next cluse or a foreach clause. The loop
      will be done in the server (there is no need to fill the network
      with operations: one request, one summary reply or all replies).

  * tests/rpcclient.prg
    + Added a test of foreach RPC call

  + source/rtl/hbhextonum.c
    + Added functions
      HB_HexToNum( cHexString )--> nNum
      HB_NumToHex( nNum ) --> cHexString

  * include/Makefile
  + include/hbnxs.h
  * source/rtl/Makefile
  + source/rtl/hbcrypt.c
    + Added HB_Crypt() and HB_Decrypt() functions. At the moment, this two
      functions allows only simmetric encryption with NXS algorithm, an
      algorithm provided by me; but the idea here is that HB_Crypt/HB_Decrypt
      SHOULD be frontend for all encription methods we may want to add.

      Currently:
         HB_Crypt( cData, cKey ) --> cCipher
         HB_Decrypt( cCipher, cKey ) --> cData
      In the future, there will be also space for cipher method.

  + tests/crypt.prg
    + test for crypt functions.


2003-02-22 20:40 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/rtl/dbdelim.prg
    ! Fixed bug importing from txt: if the last txt line does not ends with CRLF it
      is not ignored anymore.
    ! Tab idents removed

2003-02-22 09:14 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    * Enahnced HB_QSelf() to recive optional paramater <nLevel> much like ProcName().



2003-02-22 06:53 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/arrays.c
    ! Locked all arrays operations

  * source/vm/fm.c
    ! hb_allocMutex was not initialized if statistics were off.

  * source/vm/garbage.c
    * minor style fixes

  * source/vm/thread.c
    * Added function KillAllThreads() to terminate all waiting
      threads from inside the .prg program (i.e. a error
      detection routine).

  * tests/mtcomplex.prg
    + Added a KillAllThreads() test
    * Visual upgrade

  * config/gcc.cf
    + ADDED -DHB_OS_LINUX to better identify linux specific extensions
    - REMOVED "-g" (debug) switch from default compilation. You will have
      to add it to CUSR to have this in.

  * include/hbsetup.h
    + Added #ifdef HB_OS_LINUX --> #define HB_OS_UNIX

  * include/hbstack.h
  * include/thread.h
    % Now thread is ALWAYS included if stack is included. If thread support
      is disabled, HB_MUTEX_LOCK() and HB_MUTEX_UNLOCK() are defined void,
      so there is no need to guard all calls to them in other files with
      #ifdef thread support.
    % Under linux, using system specific implementations of reentrant mutex.
      Other systems will still need the LightWeight Reentrant Mutexes,
      unless we implement specific reentrant pthread implementation for them
      (that is non-startard posix). I know both BSD and Darwin has reentrant
      mutexes.


2003-02-21 23:55 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/rdd_ads/adsfunc.c
     ! Minor formating
     % Renamed Function ROOLBACK() to ADSROLLBACK() Per request
     + ADSDDGETDBPROPERTY() function,
     % Fix on ADSDDCREATE

2003-02-22 02:55 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbrandom.c
    ! Strange, BCC continued to complain about it. Changed the name
      of the internal function from hb_random() to hb_random_num() and
      all went fine.
      Probably, the HB_FUNC macro has something do do with that.

2003-02-22 02:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbrandom.c
    ! Removed an annoyng warning under BCC

  * source/vm/hvm.c
    ! Removed an annoyng warning under BCC

  * source/vm/garbage.c
  * source/vm/thread.c
    ! fixed a deadlock in GC related routines
    ! fixed GAWk flag in HB_GCALL() (could be not
      cleared upon exit)

  * tests/mtgc.prg
    * even more intensive stress tests. Work in progress

2003-02-21 23:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    ! Return element of newly allocated stacks were not initialized
      to HB_IT_NIL, and this caused GPF if GC come in the way before
      the new thread had the chance to initialize it.

  * tests/mtgc.c
    + Added more extensive stress tests that have allowed the detection
      of the above problem.

2003-02-21 16:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    ! Some thread unsafe operation have been guarded with mutex
    * Using CREATE_SUSPENDED to mangle with thread context under
      windows.
  * source/vm/inet.c
  * source/vm/hvm.c
    ! warning removal

2003-02-21 12:02 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! make_b32.bat
   + copy of hvm*.obj from obj\b32 to lib directory

2003-02-21 13:20 UTC+0100 Ian Anderson <ianderson@procon-online.de>
  * source/rtl/gtapi.c
    % optimize out repeated calls to lower level to get screen size

2003-02-20 20:36 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/vm/fm.c
   ! Added missing ; to return pMem

2003-02-20 14:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/pushbtn.prg
   ! Fixed minor compilation Error IIF(( to IIF(

2003-02-20 12:50 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/pushbtn.prg
    source/rtl/scrollbr.prg
    ! Source code reformatted

2003-02-20 12:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/mysql/tsqlbrw.prg
    % optimize to use Switch insted of Do case where possible

2003-02-20 13:20 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/garbage.c
    ! Now the hb_allocMutex must be defined also if statistic
      are off.


2003-02-19 23:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/checkbox.prg
    ! Source code reformatted
  * contrib/mysql/mysql.prg
    ! Changes Bellow provided and fixed by Rafael Letocart
     Tests on long AND short date format (I only do it on BRITICH format)
     Use the function PadR() for the VarChar fields to be ended with blank
     space.
     Added the class function LOCATE. The bSoftSeek parameter must be used with
     a sorted field. I haven't fully test it. This function is not built for only
     sorted table. Perhaps an other function (like seek()) could be written for
     this (with a dicotomic search for example)? Any example of a search in a
     sorted table would be appreciated. Thanks
     bof() eof() gobottom() gotop() skip() working properly now

2003-02-19 17:46 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
    ! Fixed compile time optimization of Right() to only be performed on LITRAL strings.

  * source/pp/ppcore.c
    ! Fixed truncmp() to skip over white space before operators.

  * source/rtl/right.c
    * Formatting.

  * tests/pp.prg
  * tests/pp_harb.ch
    * Minor fixes.

2003-02-20 02:35 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/thread.c
    ! Under windows, instead of using suspended creation of threads,
      using a blocking mutex at the beginning to make sure all
      creation rights are fulfilled. Also, the thread handle is not
      taken by the created thread (but taken in the creator) because
      there is the need of specific rights to open a thread handle
      under windows 2000/xp

2003-02-20 01:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/garbage.c
    ! now a second thread can't run GC exactly after another one
      has just finished GC

2003-02-19 21:15 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * samples/sitesvr/sitesvr.prg
    ! Removed some test code and added some mutexes for increased
      stability.

  * source/rtl/trpc.prg
    + Added callbacs in the server code, so final application can
      monitor connection(s) status.
    % Now thread servicing client connections is encapsulated in his
      own class
    * Code for encription has been put in place; an encription back
      end will be soon added

  * source/rtl/trpccli.prg
    ! minor fixes

  * source/vm/fm.c
  * source/vm/thread.c
    ! malloc can be intrinsically thread unsafe (depending on os,
      but generally it is). For this reason, a global
      hb_allocMutex has been added on fm.c: this mutex is used to
      lock out sections in fm.c, but also to regulate all malloc(),
      realloc() and free() calls in MT programs. Thread.c is the
      first file revised, in the next hours I will lock all malloc
      calls, or translate them in hb_x...() calls.

  * tests/rpcclient.prg
    * Minor stylistic fixes

  * tests/rpcserver.prg
    + Implementation of the new callbacks


2003-02-19 17:50 UTC+0100 Ian Anderson <ianderson@procon-online.de>
  * make_b32.bat
    ! added -l flag to Make command to fix problem with long command
    lines

2003-02-19 17:30 UTC+0100 Ian Anderson <ianderson@procon-online.de>
  * source/common/hbtrace.c
    ! HB_TRACELEVEL() now works as documented in tracing.txt
    hb_tracelevel() was setting the wrong variable for the trace
    level, and hb_tr_trace() was not testing correctly to see if the
    trace should be displayed at the current level setting

2003-02-19 13:14 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/hvm.c
    % Using now HB_VM_STACK optimization (reading stack only once
      per function) when threads are enabled

2003-02-19 11:50 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/classes.c
  * source/vm/thread.c
  * include/hbstack.h
    ! Current selected method was stored in a static module variable.
      This practice was not thread safe, and I have moved the s_pMethod
      variable into the stack.
      THIS REQUIRE MAKE CLEAN IN ORDER TO WORK, or (probably) any
      application using classes could crash.


2003-02-19 11:15 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/hvm.c
    + Added LISP like array direct call to HB_ExecFromArray:
      HB_ExecFromArray( aArray )
      Where aArray must have one of the following formats:
      aArray := { @Func(), param1 .. paramN }
      aArray := { "FunctionName", param1 .. paramN }
      aArray := { oObject, "MethodName", param1 .. paramN }
      aArray := { oObject, nMethodID, param1 .. paramN }
      NOTE: HB_ExecFromArray() Returns the data returned by
      the called function or method.

  * tests/exec.prg
    + test to demonstrate this new features

2003-02-19 03:03 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
  * include/hbclass.ch
    * fixed AddClsMethod name typo
    + added automatic constructor call with parameters throught Class Name
      oMyClass := TClass( "par1", par2, ... )
      is the same of
      oMyClass := TClass():New( "par1", par2, ... )
    + added Class Methods definition, but not finished
    + added CONSTRUCTOR / DESTRUCTOR definitions
    + added OVERRIDE optional parameter to METHOD syntax, only as an explicit word
      to remember that a method will be overrided in this class
    + added DYNAMIC parameter like Delphi syntax. Equivalent to VIRTUAL parameter.
  * source/rtl/tclass.prg
    + ConstructorCall() method added
      this automatically calls the object constructor if there are parameters passed
  + tests/clsctor.prg
    + test to demonstrate the new call syntax

  -------------------------------
  NOTE: Actually the only real change is the Class Name call with parameters
        others are little modifications that don't change actual programs.
        To use above new sintax you have to make a clean build.


2003-02-18 18:06 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
    ! Fixed imporoper generation of HB_ResetTry() portion of TRY syntax.

2003-02-19 00:55 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/vm/hvm.c
    + Added function HB_ExecFromArray with the following syntax:
      HB_ExecFromArray( @Func(), aArray )
      HB_ExecFromArray( "FunctionName", aArray )
      HB_ExecFromArray( oObject, "MethodName", aArray )
      HB_ExecFromArray( oObject, nMethodID, aArray )
      The aArray elements are passed into the paramter list of the target
      function or methods.
      TODO --> return of the called function must be returened by this
      function, and also by HB_Exec function. Can someone lend me a
      hand here?

  * tests/exec.prg
    + test to demonstrate this feature


2003-02-19 01:00 UTC+0300 Phil Krylov <phil@mail.ru>
  * make_drw.sh
    * Made HB_GPM_MOUSE=no
  * source/rtl/gtsln/gtsln.c
    * Made possible to compile under Darwin

2003-02-18 14:15 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/mysql/tmysql.prg
    ! Fixed Goto() method from TMySQLQuery Fix provide by Srdjan Dragojlovic <digikv@ptt.yu>
  * contrib/mysql/mysql.c
    ! Fixed GPF when mysql Server is not Online

2003-02-18 14:00 UTC+0100 Ian Anderson <ianderson@procon-online.de>
    * added code to configure() so that it handles headers and
      footers the same way as clipper 5.2e when the separator char for
      header and footer are set, but there is no header or footer
      text in any of the columns. Previously in this case the header
      or footer was not drawn. Now it is.

2003-02-17 22:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/mysql/mysql.prg
    ! Fixed Eof in method GetRow() from TMySQLQuery
    ! Fixed GoBottom() method in  TMySQLQuery
    Changes provided and fixed by Rafael Letocart
    !Fix makePrimaryKeyWhere() method that was returning an invalid value when Doing an Sql Update or Delete

2003-02-17 11:15 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
   * include/hbexprb.c
        ! fix bug on function RIGHT() if string is zero length.)

2003-02-16 18:30 UTC+0300 Phil Krylov <phil@mail.ru>
  * source/rtl/diskspac.c
    ! On HB_OS_BSD, include <sys/param.h> and <sys/mount.h> instead of
      <sys/vfs.h>.
  * source/rtl/seconds.c
    ! On HB_OS_BSD, include <sys/times.h> too.


2003-02-16 15:05 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpc.prg
    ! Fixed an error in compressed/async function execution (prototype was wrong)

  * source/rtl/trpccli.prg
    ! Fixed various errors in compressed/async function call.

  * tests/rpcclient.prg
    ! Added a compressed and asynchronous function call test

  * tests/rpcserver.prg
    ! AEstetics upgrades (server name and function progress)
      Server has been tested with three clients working at the same time
      in both windows and linux environment, and seems to be stable.


2003-02-16 14:05 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpc.prg
    ! Fixes to thread termination signaling

2003-02-16 11:45 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
  * makefile.bc
    + source/rtl/hbserial.prg
    + source/rtl/hbsrlraw.c
    + source/rtl/trpccli.prg
    + source/rtl/trpc.prg

2003-02-16 04:05 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/trpc.prg
    ! Fixes to some timeout issues
  * source/rtl/trpccli.prg
    ! Fixes to some timeout issues
    + Added auto-initialization of InetInit()

  + tests/rpcclient.prg
  + tests/rpcserver.prg
    + Added test program for rpc stuff. Very basic and simple, but
      they give an idea...


2003-02-15 21:20 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/regex.c
    ! added casts for aslogicals...
    ! comment out basically empty switch statment. (again it seems)
  * source/rtl/hbsrlraw.c
    ! Added a few more casts
  * makefile.vc
  * makefile.nt
    - removed SIMPLEX checks
    + source/rtl/trpccli.prg
    + source/rtl/trpc.prg

2003-02-16 01:00 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbserial.prg
  * source/rtl/hbsrlraw.c
    + Added HB_DeserialBegin() and HB_DeserialNext() for easier
      serializationa and deserialization of streams.
    + Fixed a bug in serialization of nested arrays
    + HB_CreateLen8() can now create the 8 bytes system independent
      lenght field both on the fly (returning a raw string) and
      operating on a pre-built string.
      HB_CreateLen8( nLongInt ) -->cSysUndepNumber
      HB_CreateLen8( @cSysUndepNumber, nLongInt ) --> NIL

  + tests/serialize.prg
    + Added a test (and demo) for serialization and deserialization.

  ! doc/inet.txt
    ! Typos in docs have been corrected

  * source/rtl/Makefile
  + source/rtl/trpccli.prg
  + source/rtl/trpc.prg
    + Added XHARBOUR specific class oriented Remote Procedure Call
      support (server and client side). This is HIGHLY experimental
      and in the CVS just to let the developers to have a preview at
      this. Have FUN :-)


2003-02-15 16:15 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/compiler/cmdcheck.c
    ! Calls to free() replaced with calls to hb_xfree().
    ! minor simplification to case where hb_strdup() was used.
  * source/compiler/genc.c
    ! Compiler outputs C style paths for #line directives
    ! '#line 139 source\compiler\genc.c'->'#line 139 source\\compiler\\genc.c'
  * source/rtl/regex.c
    ! added casts for aslogicals...
  * source/rdd/dbcmd/c
    ! comment out unused pFileExt in DBUSEAREAD
  * source/rtl/hbsrlraw.c
    ! Added a number of casts
  * makefile.nt
    ! modified for faster execution.
    + source/rtl/hbserial.prg
    + source/rtl/hbsrlraw.c
  * makefile.vc
    + source/rtl/hbserial.prg
    + source/rtl/hbsrlraw.c

2003-02-15 00:01 UTC-0200 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/mysql/mysql.prg
    ! Fixed Eof() in method GetRow() from TMySQLQuery
    % changed Set(4) to Lower( Set( 4 ) )
    Eof() Bug reported by Rafael Letocart

2003-02-14 19:10 UTC-0200 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/hbzlib/zipnew.cpp
    contrib/hbzlib/zipcomp.cpp
     ! Major Formatting
     % Fixed Gpf
     % Fixed Return from hb_zipfile()/hb_zipfilebytdspan() and hb_zipfilebypkspan() function when File was not
      able to be created or the file to be added to zipfile is invalid( Reported By Jon Berg)
     ! Code Clean up
  * contrib/mysql/mysql.prg
     ! method GetRow() from TMySQLQuery class and Function ClipValue2SQL() Respect Set Date Setting
  * contrib/rdd_ads/adsfunc.c
     ! Minor formating
     % Renamed Function ADSROLLBACKTRANSACTION() to ROLLBACK() Per request
     + ADSDDCREATE() and ADSCONNECT60() function added to ADS 6.0 compile Section

2003-02-14 18:10 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/Makefile
  + source/rtl/hbserial.prg
  + source/rtl/hbsrlraw.c
    ! Added basic datatype serialization: the functions
      HB_Serialize( Data )--> cSeralbuffer
      HB_Deserialize( cSerialbuffer )--> Data
      Can transform basic types into a string that can be
      safely stored on streams. It works also with arrays
      (and recursively!), but I have still not tested it
      with objects. Any way, the best way to serialize
      object is to use the HBPersistent interface.

  * source/rtl/regex.c
    + added function HB_RegexMatch, working like HB_Regex() but
      returning just .T. or .F. if match is achieved or not.
      This is to save garbage activity in releasing uneeded
      objects when you just have to know if a regex can be
      matched.


2003-02-14 05:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source\vm\inet.c
    ! INETSETTIMEOUT
      Socket was not being assigned a value.
  * source\rdd\dbfcdx\dbfcdx1.c
    ! hb_cdxTagDoIndex
      Removed unused bCondAll and bCondRest

2003-02-14 00:30 UTC-0200 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/hbzlib/zip.c
    ! Source code reformatted

2003-02-13 12:15 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/rdd/dbfcdx/dbfcdx1.c
    ! Fixed hb_cdxOrderListFocus() to not change the Found() status

2003-02-13 02:20 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  ! source/rdd/Makefile
    ! RDD was not compiling in MT mode (mingw)

  * source/vm/estack.c
    * a minor stylistic fix in defines

  ! source/vm/inet.c
    ! Wrong length parameter in InetDGramRecv

  * source/vm/thread.c
    * Minor stylistic changes

  ! samples/sitesvr/Makefile
    ! Was linking pp.lib instead of ppmt.lib

  * samples/sitesvr/sitesvr.prg
    * Some tests and work in progress


2003-02-12 20:15 UTC+0100 Marek Paliwoda <paliwoda@inetia.pl>
  * source/vm/extend.c
  * source/vm/itemapi.c
    * Added possibility to get values from LOGICAL vars
      when retrieving numeric values at a C level (you
      will get 0 or 1).

  * source/vm/hvm.c
    * Added support for C-like IF <numeric> conditions.
      This is DISABLED by default. Enabled only when
      compiled with HB_USE_NUMERIC_IF defined.

2003-02-12 11:30 UTC-0200 Luiz Rafale Culik <culikr@uol.com.br>
  * source/common/hbffind.c
   ! minor Format
   + Support for open watcom
  * config/dos/watcom.cf
  + config/w32/watcom.cf
    ! Proper ajusted to work with Open watcom
  * utils/hbmake/hbmake.prg
    utils/hbmake/hbmutils.prg
    % Optimized the Code by replacing At( Exp, Source ) > 0  with Exp IN Source
      Replace IF with Swtich Case Where Possible
      Replace For n:=1 to Len(Array) with FOR EACH info IN Array when Possible
      Source Code Totally Reformated

2003-02-12 12:20 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  ! config/linux/gcc.cf
  ! config/w32/mingw32.cf
    ! fixed making of samples directory (I wonder how this has
      passed through up to date).
  ! samples/sitesvr/Makefile
    - Removed pthread from libs; now pthread is added by the makefiles
      on need.

2003-02-12 11:35 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/hbcompress.c
    ! Strings created on the fly are now returned with
      retcAdoptRaw, and thus they don't issue any warning on
      on probram closing anymore.
    ! hb_xfree() of the preallocated buffer, in case of error,
      was freed in the wrong branch of "if". Fixed.
    ! pDestLen is not used in hb_uncompress(). Removed.
    * Buffer created on the fly for compression is now a little bigger,
       for safety. We will reduce it again if we see that this is fine.

  * tests/compress.prg
    + Added comments to explain something
    * Minor stylistic fixes.


2003-02-11 22:30 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.vc
  * makefile.nt
  * source\rtl\hbcompress.c
    ! MSVC Support (untested)

2003-02-12 02:20 UTC-0200 Luiz Rafale Culik <culikr@uol.com.br>
  * Makefile.bc
  + source/rtl/hbcompress.c

2003-02-11 21:14 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
   * contrib/what32/source/_winclpb.c
      ! GETCLIPBOARDFORMATNAME
        removed unused cchMaxCount
   * contrib/what32/source/_windll.c
      ! CALLDLL
        removed unused float  FltParms[15];
   * contrib/what32/source/_wininet.c
      ! FTPCOMMAND
        phFtpCommand  should be an HINTERNET, not a pointer.
   * contrib/what32/source/_winhead.c
      ! HEADER_GETITEM
        hdi should be an HDITEM, not a pointer to it.
   * contrib/what32/source/_winmenu.c
      ! added cast in call to GetMenuItemInfo
   * contrib/what32/source/_winlv.c
      ! LISTVIEWNOTIFY
        commented out unused szString decl
   * contrib/what32/source/_winsys.c
      ! GETUSERNAME
        nSize is a DWORD, not a pointer.
      ! GETVERSIONEX
        msvc didn't like the OSVERSIONEX* cast
   * contrib/what32/source/_winsock.c
      + added #define _WINSOCKAPI_
      ! This prevents the inclusion of Winsock.h in Windows.h
      ! since Winsock2.h is already being included further down
      ! the list.
      ! RECVFROM
        _retni() was being called twice.  It appears to me that
        the intent was to return the result of recvfrom()
      ! SETSOCKOPT
        commented out unused s
      ! WSASTARTUP
        WSAData should be a WSADATA, not a pointer
      ! WSAACCEPT
        commented out unused s
   * contrib/what32/source/_winmous.c
     ! GETCURSORINFO
      pci should be a CURSORINFO, not a pointer.
   * contrib/what32/source/_winwnd.c
     ! GETTITLEBARINFO
       pti should be a TITLEBARINFO, not a pointer.
   * contrib/what32/source/_winshell.c
     ! DRAGQUERYPOINT
       lpPoint should actually be a POINT, not a pointer.
   * contrib/what32/source/wincore.prg
     ! Changed Otherwise: to Default:
   * contrib/what32/source/_winicon.c
     ! GETICONINFO
       ii should be an ICONINFO, not a pointer.
     ! EXTRACTASSOCIATEDICON
       lpilcon should be a WORD not a pointer to one.
   * contrib/what32/source/_windlg.c
     ! MAPDIALOGRECT
       lpRect is only a pointer to a RECT.  It is being used
       as if it IS a RECT.  Changed into a rect, and passed
       address to MapDialogRect
   * contrib/what32/source/_winbmp.c
     ! CreateDIBSection()
       VOID ** ppBits -> VOID ** ppBits = (VOID **)0;
       to remove 'use before initialise' warning
   * contrib/what32/makefile.nt
   * contrib/what32/makefile.vc
   * contrib/what32/make_vc.bat
     ! Now compiles with MSVC

2003-02-12 02:10 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/Makefile
  + source/rtl/hbcompress.c
    + Added compression routines based on a xharbour rearrangement
      of original (and free) zlib compression code.
      HB_COMPRESS( cSource [, nSourceLen ] ) --> cDest
      HB_COMPRESS( nComprFactor, cSource [,nSourceLen ] ) --> cDest
      HB_COMPRESS( cSource, nSourceLen, @cDest, @nDestLen ) --> nError
      HB_COMPRESS( nComprFactor, cSource, nSourceLen, @cDest, @nDestLen )
            --> nError

      HB_UNCOMPRESS( nDestLen, cSource [, nSourceLen ] ) --> cDest
      HB_UNCOMPRESS( nDestLen, cSource, nSourceLen, @cDest ) --> nError

      HB_COMPRESSERROR() --> nError
      HB_COMPRESSERRORDESC() -->cDesc
      HB_COMPRESSBUFLEN( nUncompressedLen )--> nDefaultBufLen

      There are some latest/minor fixes in memory allocation to
      be made, but the thing is working, and can only get better.
      Stream oriented incremental compression can also be achieved
      in the future (just wrapping the zlib a little more.

  * include/Makefile
  + include/hbcompress.h
    + RTL specific compilation headers

  + include/hbcompress.ch
    * PRG level definitions for usage with zlib. Not required, but
      useful (e.g. errror level meanings).

  + tests/compress.prg
    + A test for basic string compression functions

2003-02-11 03:20 UTC-0800 Augusto Infante <august213@sbcglobal.net>
   * source/rtl/seconds.c
     * Removed (void) parameter in line 150   " d = hb_dateSeconds(  ); "


2003-02-11 02:30 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * source/rtl/diskspac.c
    + added support for diskspace on UNIX platforms
      (first parameter is path if omitted "/" is checked)

  * source/rtl/seconds.c
    + new function added SECONDSCPU(n) which reports how many CPU and/or
      system seconds have elapsed since the beginning of the program execution.
      n == 1  utime  -> user CPU time of the current process
      n == 2  stime  -> system CPU time behalf of the current process
      n == 3  u + s  -> sum of utime + stime (default)
      n == 11 cutime -> sum of the user CPU time of the current + child process
      n == 12 cstime -> sum of the system CPU time of the current + child process
      n == 13 cu+cs  -> sum of cutime + cstime
      I have to ask someone similar with Windows to add support for this
      function. I found 'GetProcessTimes' in WIN API which can be used for
      NT based platforms but I cannot find anything for WIN 9X/ME.

  * source/pp/ppcore.c
    * allow to compile file with <CR><LF> on *nix platforms.
      It's dirty hack but works good for me and resolves one of the
      most important problem with common CLIPPER and Harbour
      (and other XBASE compatible compilers like FlagShip and CLIP)
      sources - only [x]Harbour cannot compile files with <CR>.

  * source/compiler/cmdcheck.c
    ! fix which allow to use file names with '-' char in '-o' option

  + bin/hb-mkslib
    + simple script which creates shared libraries for Linux for
    static ones (*.a) and/or object files (*.o).

2003-02-10 22:40 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
   * makefile.nt
   * makefile.vc
   * make_vc.bat
     * make_vc /? for help
     ! re-supply missing changes, and re-synch files.
   * contrib/rdd_ads/adsfunc.c
     ! added some needed typecasts.

2003-02-10 10:50 UTC-0200 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/filesys.c
    ! fix to macro EACESS changes to EACCES
  * source/rtl/isprint.c
    ! Move IsPrinterReadyn to Win32 Section of source code
      Minor Formating by changing Tabs to Spaces

2003-02-09 17:21 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbpp.h
    * Increased HB_PP_STR_SIZE to 16384

2003-02-09 17:21 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbapi.h
  * source/vm/arrays.c
    + Added 5th BOOL paramater to hb_arrayScan()
  * source/vm/arrayshb.c
    + Added support for 5th optional paramater <bExact> to aScan()

  * source/vm/hvm.c
    * Modified IN operator to use bExact as TRUE when applied to Arrays.

  * tests/pp.prg
    * Few corrections of important typos in CompileRule()
    * Increased MAX_CICLES to 256

2003-02-09 10:50 UTC-0200 Luiz Rafael Culik <culikr@uol.com.br>
  * source/common/hbffind.c
    % Replace Direct errno convertion in DOS Section to an Call to GnuErrtoDosErr()
  * include/hbapifs.h
    Added GnuErrtoDosErr() prototype
  * source/rtl/filesys.c
    + GnuErrtoDosErr() function added to Proper Convert GNU Errno Values to Proper DosValues.
    + Also Called GnuErrtoDosErr() in hb_fsCreate() and hb_fsOpen() Apis and on Sections to DJGPP compiler
  * source/rtl/tprinter.c
    *THarbourPrinter_GetPrinterNameByPort() changes for usage on new function inside isprint.c
  * source/rtl/isprint.c
    + Functions Xisprinter() and PRINTERPORTTONAME()
       This function Xisprinter() Test the status of the printer, return 0 if no error, 10 to 19 for Printer Errors and 20 to 23 for Jobs error
    The PRINTERPORTTONAME() return the Instaled printer name from an given Port
  * utils/hbmake/hbmake.prg
    utils/hbmake/hbmutils.prg
     * Minor fixed to Editor mode

2003-02-08 16:08 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbinit.h
    + Added initial support for lcc

  * source/common/hbffind.c
    + Added missing #include.

  * source/pp/ppcomp.c
    + Added 1 missing formal return statment.

  * source/rtl/filesys.c
    * Formatting and 1 missing X__WIN32__ gurad.

2003-02-07 10:16 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/inkey.c
    * Fixed declarations in body compile error.
    * Minorformating and optimization.

2003-02-07 15:50 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * source/rtl/inkey.c
    ! Keyboard chr( 0 ) was hanging the next inkey() instead of cleaning
      the input buffer. Now it is fixed.

2003-02-07 11:30 UTC+0100 Giancarlo Niccolai <gian@niccolai.ws>
  * include/inet.h
    ! Fixed a misinclude that appeared in redhat 6.0

  * source/vm/inet.c
    + Added InetGetTimeout() to query the assigned timeout of a socket.

  * doc/inet.txt
    + Added api doc of InetGetTimeout()

2003-02-06 02:00 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix display problem when not exist Head Separator.
      Reported by Luiz Culik and Ian Anderson.
  * source/rtl/dbedit.prg
    ! Fix behavior when use UDF function.
      Reported by Luiz Culik
  * contrib/mysql/mysql.c
    ! Fix conditional compilation for filelenght() function
      Reported by Juan Jose and Luca Bellini.

2003-02-07 02:30 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/rtl/tbrowse.prg
    ! Bug fix on decimal display of numeric field.
      Reported by: vicente@guerra.com.mx (Vicente Guerra)
