/*
 * $Id: ChangeLog.017,v 1.1 2003/12/13 07:28:14 andijahja 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-12-13 12:30 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
  * source/rtl/round.c
    * minor changes to fix representation of -0 value

2003-12-13 10:00 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
  * source/vm/itemapi.c
    * fix problem on representation of -0 value

2003-12-12 12:36 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * source/macro/macro.slx
     % Removed support for _ID_ON_HOLD (not needed).
   * source/vm/macro.c
     * Added 3rd param (int iLen) to hb_macroParse(), and optimized calls to use it.
       /* This also fix a minor bug when passed string might not have a numm termination. */

2003-12-12 21:00 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/config/w32/dir.cf
  * xharbour/config/w32/install.cf
    ! fixed small incompatibilities with MSYS

2003-12-12 16:08 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbrdddbf.h
    * Reverted to original locking sckeme.

2003-12-12 11:12 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    * some workaround for GCC3.x bug in optimization

  * xharbour/source/rdd/dbf1.c
    * small fix for DBF files with corrupted header in exclusive mode

  * xharbour/source/rdd/dbffpt/dbffpt1.c
    * fixed typo in TRACELOG function name

  * xharbour/make_tgz.sh
  * xharbour/xharbour.spec
    - build libfm.a with memory statistic removed

  * xharbour/bin/hb-func.sh
  * xharbour/bin/postinst.sh
    + build libfm.a with memory statistic
    + next changes to make it msys compatible

2003-12-12 06:35 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hblog.ch
    + Now supports shorter grammar:
      Log <msgs> PRIO [class] as a shortand for PRIO HB_LOG_[class]

  * include/hbrdddbf.h
    * For linux, exclusive lock values changed to 0,0.

  * source/rtl/errorsys.prg
    ? Added an extra "?" at the end of error reporting; this makes
    visualization clean also on consoles that do not add a CRLF at
    program termination (like unix...)

2003-12-11 13:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/hbserv.c
    + added to hrbdll.bc

2003-12-11 17:22 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini/at/tin.it>
  * config/dos/watcom.cf
  * config/w32/watcom.cf
    * deleted x from the optimizations due to a known bug
      in OpenWatcom
  * source/vm/errorapi.c
    * added #ifdef HB_OS_DOS to build under OpenWatcom DOS
  * utils/hbdict/hbdict.prg
    * changed ThreadSleep(10) with HB_IDLESTATE()
      to build under OpenWatcom DOS

2003-12-11 15:48 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/hblog.prg
  * source/rtl/hblognet.prg
  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
  * source/vm/thread.c
  * tests/inetto.prg
  * tests/mtcomplex.prg
  * samples/sitesvr/sitesvr.prg
    * Changed HB_CreateMutex into HB_MutexCreate
    * Changed MutexLock() and family into HB_MutexLock() and family.

2003-12-11 15:32 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/fm.c
    ! Moved stack initialization of hb_xinit() into MT only compilation;
      current version caused a stack-reinitialization after xinit()
      initialization, making the first stack to be discarded.

2003-12-11 08:45 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/rtl/hbserv.c
     * declare hb_isService() as HB_EXPORT
  * source/vm/errorapi.c
  * source/vm/estack.c
     * code clean up to replace HB_RUN_AS_SERVICE with hb_isService()

2003-12-11 16:40 UTC+0530 Pritpal Bedi <pritpal@vouchcac.com>
  + \contrib\what32\source\_winserial.c
    Serial Communications WinApi Functions

    HB_FUNC( BUILDCOMMDCB )
    HB_FUNC( BUILDCOMMDCBANDTIMEOUTS )
    HB_FUNC( CLEARCOMMBREAK )
    HB_FUNC( CLEARCOMMERROR )
    HB_FUNC( COMMCONFIGDIALOG )
    HB_FUNC( ESCAPECOMMFUNCTION )
    HB_FUNC( GETCOMMCONFIG )
    HB_FUNC( GETCOMMMASK )
    HB_FUNC( GETCOMMMODEMSTATUS )
    HB_FUNC( GETCOMMPROPERTIES )
    HB_FUNC( GETCOMMSTATE )
    HB_FUNC( GETCOMMTIMEOUTS )
    HB_FUNC( GETDEFAULTCOMMCONFIG )
    HB_FUNC( PURGECOMM )
    HB_FUNC( SETCOMMBREAK )
    HB_FUNC( SETCOMMCONFIG )
    HB_FUNC( SETCOMMMASK )
    HB_FUNC( SETCOMMSTATE )
    HB_FUNC( SETCOMMTIMEOUTS )
    HB_FUNC( SETDEFAULTCOMMCONFIG )
    HB_FUNC( SETUPCOMM )
    HB_FUNC( TRANSMITCOMMCHAR )
    HB_FUNC( WAITCOMMEVENT )

    All functions are working perfectly except TransmitCommError(). I feel I am not handelling
    the cast ( cChar ) properly or may be my tests are not upto the mark.
    Someone please correct it if I am wrong.

2003-12-11 08:55 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * source/vm/hvm.c
    ! Fixed a GPF introduced by recent changes.

2003-12-11 08:30 UTC-0300 Luiz Rafael Culik Guimaraes <culikr@brturbo.com>
  * source/rtl/file.c
    ! Fixed clipper behavior on File function.
	   On clipper file(Directory) return false while in linux was returning true

2003-12-11 16:00 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
  * source/rtl/filesys.c
    * translate EBADF as 6 for MSVC for Clipper compatibility.

2003-12-11 12:00 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
  * source/pp/ppcore.c
    * Increase MAX_EXP to 4096 (previously 2048) to enable pp to process longer
      codes (else harbour.exe will GPF ). Actually, this is an ugly hack, a much
      more elegant solution would be a pp error trapper when codes processed is
      bigger than MAX_EXP. (Per Toninho's report)
  * source/compiler/harbour.slx
    * Minor changes to print correct error message upon unterminated string.
      (Per Patrick Mast report)

2003-12-10 15:15 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    * Few corrections in PP_CompileLine()

2003-12-10 10:27 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rdd/dbcmd.c
    - Removed redundant error processing in HB_FUNC( DBSELECTAREA )

  * source/rtl/errorsys.prg
    * Minor optimizations

  * source/rtl/win32ole.prg
    + Added support for MK_E_UNAVAILABLE in Ole2TxtError()

  * source/vm/estack.c
    ! Fixed hb_stackDispCall() to report current function too.

2003-12-10 01:45 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/hbffind.c
    ! unix "universal" pattern is NOT "*.*"  but "*"

2003-12-10 01:10 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/regex.c
    ! now all the parenthetized expression are parsed, also if one in-lined
      parenthetisze optional expression results empty: the empty optional
      expression is returned as an empty string. Before, the scan blocked at
      first empty optional parenthetized expression, masking parenthesis
      occouring afterwards.

2003-12-09 19:35 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  * source/rtl/dbedit.prg
    % Optimizations from Walter and me
      Changed For to For Each and IIf() to Do Case...End
    ! Refresh current row prior and after UserFunc call
      If UserFunc does screen i/o, refreshing current row restores right coords

2003-12-09 00:00 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  * tests/dbedit.prg
    + Added temporary GET testing, future dbedit() will do it by itself

2003-12-08 18:53 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/hblog.prg
  * source/rtl/hblognet.prg
  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
  * source/vm/thread.c
    * Renamed CreateMutex() to HB_CreateMutex() to avoid conflict with Win api wrappers, and preserve namespace.

  * contrib/Whoo/source/TApplication.prg
  * contrib/what32/source/_winmisc.c
    * Corrected typo.

2003-12-08 23:37 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  * source/rtl/dbedit.prg
    ! Fixed column titles to be Clipper compatible
      Clipper lets title empty when aHeader[column] == ""

2003-12-08 16:49 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbset.h
    * Revised order of HB_SET_STRUCT memebers so that members not available in Harbour are the the end of the structure.

2003-12-07 23:30 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  + source/rtl/readline.c
    + Added Text file reading functions
  * source/rtl/Makefile
  * makefile.bc
    + Compile new file readline.c
  + tests/rline1.prg
    + Small sample to new readline() function

2003-12-07 20:15 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/contrib/mysql/Makefile
    ! fixed include dirs to allow compilation on different distros

  - xharbour/bin/!pack_src.sh
  + xharbour/bin/pack_src.sh
    * renamed !pack_src.sh to pack_src.sh

  * xharbour/xhbgtmk.sh
    ! small fix: --whatprovides used package checking

  * xharbour/make_rpm.sh
    + new switch --without ct

  * xharbour/Makefile
  * xharbour/config/install.cf
  * xharbour/config/dos/install.cf
  * xharbour/config/linux/install.cf
  + xharbour/bin/hb-func.sh
  + xharbour/bin/postinst.bat
  + xharbour/bin/postinst.sh
    * build process changed. Now GNU make system can run post install macro
      Currently this macro is used for creating additional tools after
      installation for Linux GCC. In the nearest feature I plan to add
      similar extensions for DOS with and OpenWatcom

  * xharbour/xharbour.spec
    - removed CT lib from xharbour.so lib
    - removed post install operations, now they are part of GNU make

  * xharbour/make_tgz.sh
    - removed CT lib from xharbour.so lib
    - removed post install operations, now they are part of GNU make
    * now as result the executable installation file:
        xharbour-${hb_ver}${hb_platform}.inst.sh
      is created

2003-12-07 14:36 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
  * source/vm/extend.c
    + Added function hb_parpointer() to retreive ONLY a valid HB_IT_POINTER
      object, and ONLY from parameters, or NULL.

  * source/vm/inet.c
  * source/vm/thread.c
    ! Changed hb_parptr() into hb_parpointer()

  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
    ! Changed -1 into NIL and added IsValidThread instead of > 0 to
      check for valid threads.

2003-12-07 00:00 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  * source/rtl/dbedit.prg
    * added new stuff info/description
      (I'll write a dbedit.txt doc sometime, since there is a lot to explain...)

2003-12-07 02:53 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/memvars.c
    ! fixed win32 compilation

2003-12-07 01:11 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
    + Added macros to disable _r version of dynsym functions.
      Currently unused, they should stay here until the doom of
      dynsyms is decided.

  * source/vm/classes.c
  * source/vm/do.c
  * source/vm/dynlibhb.c
  * source/vm/errorapi.c
  * source/vm/eval.c
  * source/vm/hvm.c
  * source/vm/macro.c
  * source/vm/memvars.c
  * source/vm/runner.c
  * source/vm/thread.c
    ! Added locks to secure, WHERE POSSIBLE, dynsym usage.

2003-12-06 16:55 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/thread.c
  * include/thread.h
    ! fixed ThreadWaitAll()
    % removed hb_threadStackMutex. Now the mutex of hb_runningStacks guards
      both the count of the running threads and their stack list.

2003-12-06 16:55 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/thread.c
  * include/thread.c
    ! Ops, uiIdleInspecting is not so useless after all: it allows to run
      PRG level code during idle inspection. Readded.
    * I moved stack link inside the starting of the new thread for testing;
      I think I like that position, so it will stay there.

2003-12-06 16:23 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
  * source/vm/dynsym.c
    + Added reentrant dynsym functions for threading

  * source/vm/errorapi.c
  * source/vm/garbage.c
  * source/vm/thread.c
  * include/thread.h
    % Idle inspection mechanism has been cleaned. Now an idle inspector has
      just to call hb_threadWaitForIdle() to become an inspector, and
      hb_threadInspectEnd() to release other threads.
    + Added prg level idle inspection functions:
      ThreadInspect() --> wait/become idle inspector
      ThreadInspectEnd() --> allow other threads to go
      ThreadIsInspector() --> lIamAnInspector
      This function are defined (but doing nothing) also for ST.
    % removed element uiIdleInspecting: after some time carrying it around,
      it demonstrated is usefulness.
    ! VERY IMPORTANT FIX: Thread startup sequence has been secured, so that
      the newborn thread's stack is locked against inspection even before
      the new thread is started.

  * source/rtl/console.c
    % removed unsed thread stubs under linux

2003-12-05 19:04 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/thread.h
  * source/vm/dynsym.c
  * source/vm/thread.c
    ! Added locked management of dynsyms with hb_dynsymMutex. This pairs with
      recording of last best hit of dynsym name in the current VM stack.

  * tests/mtstress.prg
    * Nicer visualization of "mute" (maximum contention) tests.


2003-12-05 03:30 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/rtl/gtnul/gtnul.c
    + Added GTNUL startup routine for Borland (not multiGT)
  * makefile.bc
    + Compile gtnul with Borland

2003-12-05 06:30 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
  * source/vm/thread.c
    ! fixes on the last commits

2003-12-04 20:42 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/direct.c
  * source/vm/thread.c
    * MSVC compliation.

  * source/rtl/win32ole.prg
    * Added E_NOTIMPL to list of literal errors.

  * tests/pp.prg
  * tests/pp_harb.ch
    * Few Error management and GenDynProcedures refinments.

2003-12-05 05:15 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/fm.c
  * source/vm/estack.c
  * source/vm/hvm.c
  * source/vm/thread.c
    ! initialiation of thread and stack is now the same under ST and MT;
      this gives way for optimization of memory control management.

2003-12-05 02:37 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/fm.c
    * Under windows, LocalAlloc & c are used instead of malloc & c
      Plz. test under non-windows-aware compilers. It should work also in
      mingw and family, anyhow.

  * source/vm/memvars.c
    * removed a misleading comment

  * bin/bld.bat
    ! after compiling under MT, was not resetting bcc flags to ST.

2003-12-04 18:55 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rtl/direct.c
    * DIRECTORY now respects _SET_{FILE|DIR}CASE flags

2003-12-04 14:37 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/thread.c
  * bin/bld.bat
  * makefile.bc
    ! Changed CreateThread to _beginthreadex() for all Windows compilations.
    ! Updated borlandc compiler to link with LIBCMT instead of LIBC under MT
      PLEASE: update other compilers compilation/link flags accordingly

  * tests/mtstress.prg
    ! re-enabled dbf test part; all developers are invited to test it.

2003-12-04 10:25 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/config/w32/install.cf
    * changed to workaround COMMAND.COM line length limit

  * xharbour/config/dos/watcom.cf
  * xharbour/config/w32/watcom.cf
    * debug information changed from -d2 to -d1
      (-d2 disable some speed optimizations)

  * xharbour/source/vm/hash.c
    * added casting for hb_xrealloc

  * xharbour/source/clipsamp/date.c
  * xharbour/source/clipsamp/num.c
  * xharbour/source/clipsamp/stack.c
  * xharbour/source/clipsamp/status.c
  * xharbour/source/common/expropt1.c
  * xharbour/source/common/expropt2.c
  * xharbour/source/common/hbfhnd.c
  * xharbour/source/common/hbver.c
  * xharbour/source/compiler/genc.c
  * xharbour/source/compiler/harbour.c
  * xharbour/source/compiler/harbour.slx
  * xharbour/source/compiler/harbour.sly
  * xharbour/source/compiler/hbpcode.c
  * xharbour/source/macro/macro.slx
  * xharbour/source/macro/macro.y
  * xharbour/source/odbc/odbc.c
  * xharbour/source/pp/ppcore.c
  * xharbour/source/rdd/dbcmd.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
  * xharbour/source/rtl/gtdos/gtdos.c
  * xharbour/source/rtl/gtwin/gtwin.c
  * xharbour/source/rtl/gtwin/mousewin.c
    * changed 'long' to LONGm the same operation has to be done
      for files in xharbour/source/rtl and xharbour/source/vm yet.
      This is necessary if we want to port xHarbour to any platform
      where long is not 32bit integer (fe. ITANIUM)

2003-12-04 00:17 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
  * source/rtl/hboutdbg.c
     ! changed define check HB_OS_WIN32 in __WIN32__

2003-12-02 14:25 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
   *doc/en/print.txt
     ! minor fix on Syntax section

2003-12-03 14:55 UTC+0100 Maurilio Longo <maurilio.longo@libero.it>
   * xharbour/source/rtl/hboutdbg.c
     ! fixed error from last commit, I'm sorry

2003-12-03 13:55 UTC+0100 Maurilio Longo <maurilio.longo@libero.it>
  * xharbour/config/os2/gcc.cf
    xharbour/config/os2/global.cf
    xharbour/config/os2/install.cf
    * changed to build OS/2 GCC/EMX build and overcome CMD.EXE 1024 chars limit
      on input line
  * xharbour/include/hbdefs.h
    * Always define INCL_ needed by OS/2
  * xharbour/source/pp/ppcore.c
  * xharbour/source/rtl/val.c
    * isXXX() receives an int, removed a few warnings
  * xharbour/source/rtl/hboutdbg.c
    * nothing like this available on OS/2, commented out during build
  * xharbour/source/rtl/hbserv.c
    * tryed to port it to OS/2, no tests done, it compiles but could easily be
      broken/not functioning as expected
  * xharbour/source/vm/hvm.c
    * a few defines
  * xharbour/source/vm/inet.c
    * ported to OS/2, gethostname() works, no other tests done
  * xharbour/source/vm/thread.c
    * compiles on ST mode, an #ifdef was required
  * xharbour/utils/hbdict/Makefile
    * instead of redefining INSTALL_RULE added *.hit file to INSTALL_OBJS
      exe file gets copied to right place toghether with them

  After these changes I can build a ST xHarbour on OS/2 using GCC and EMX runtime
  hbtest.prg runs as expected and a few of my programs run as well.
  MT flavour is, sadly, far ahead.

2003-12-03 12:30 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini/at/tin.it>
  * /source/debug/debugger.prg
    * changes to look for prg files in the PATH and not only in the curdir
    ! This is Clipper compatible but I think we should add a HB_DBG_PATH env var
    ! to avoid to put sources dirs in the PATH only for debugging

2003-12-03 12:10 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/garbage.c
  * source/rtl/console.c
    ! Fixed a potential conflict during canclelation while idle inspecting and
      printing...

  * source/vm/hash.c
    * hb_xrealloc() was called without reassigning the returned pointer; should
      have been working anyway as it was used only to reduce page sizes, but
      it is better to reassign the pointer each time.

  * source/vm/classes.c
    ! Added hash to deep initialization types for INIT clauses.

2003-12-02 10:25 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * include/hbapifs.ch
    ! some arragemente on HB_FA_XX defines
  * source/rtl/direct.c
    source/rll/hbffind.c
    ! Fixed problem Reported by Andi Jahja and Carlos Vargas
    len(directory('c:\windows\*.*'))  was 0, due an problem on hb_FindNextFile that was
     returning  FALSE if File contain HIDDEN+DIRECTORY attribute

2003-12-02 12:30 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini/at/tin.it>
  * /xharbour/bin/bld.bat
    * changes to support OpenWatcom DOS e Windows 32

2003-12-02 10:25 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/xharbour.spec
    * small fixe for latest RPM (remove unused files from destination dir)

2003-12-02 00:45 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/config/w32/watcom.cf
  * xharbour/source/compiler/harbour.c
  * xharbour/source/vm/hvm.c
  * xharbour/source/vm/mainwin.c
  * xharbour/source/rtl/win32ole.prg
    * changes and casting fixes for Windows 32 OpenWatcom compilation

2003-12-01 15:01 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/arrays.c
    + Added support for searching for array value in aSacn() but *only* in xHarbour extended mode
      ( when optional 5th paramater <lForceExact> is .T.)

  /*
     I'm realy puzzled that Clipper aScan() can NOT find an Array (without a search block) even
     when EXACT is ON, because <Target[n] == aSearch> is a perfectly valid expression.

     I did NOT fix it at this time for ?compabtibility? reasons - but I'd like your input
     since this really through me off, I'd expect it it work in Clipper.
  */

2003-12-01 12:03 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/runner.c
    * Modified prgFunction template to also push Globals.

  * tests/pp.prg
  * tests/pp_harb.ch
    * Removed PP_ExecProcID(), and optimized PP_GenDynProcedure() to call PP_ExecProcedure() directly.
    * Minor corrections.

2003-11-30 21:55 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/runner.c
    * Removed static from hb_hrbAsmCreateFun

  * tests/pp.prg
  * tests/pp_harb.ch
    + Added dynmic function generation so that error handling is no longer needed to resolve script level functions.
      /* Interpreter is now many times faster. (can someone test if it works correctly under Linux?) */

2003-11-30 19:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * contrib/tip/makefile.bc
    - Removed tiputil.prg

  * contrib/tip/tiputils.c
  * source/rdd/dbcmd.c
    * MSVC compilaton

2003-11-30 18:36 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * tests/pp.prg
   * tests/pp_harb.ch
     * Replaced all Alert()s on erros with code to raise errors.
     * Restructured code to catch and forward errors.
     * Many optimizations

2003-11-30 16:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! utils/hbmake/hbmake.prg
  ! utils/tmake/tmake.prg
    % minor fix + restore an importante Field from makefile on edit mode

2003-11-30 13:30 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/config/dos/watcom.cf
  * xharbour/config/w32/watcom.cf
    * warning level a little bit increased

  * xharbour/source/rdd/dbf1.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
  * xharbour/source/rdd/dbfdbt/dbfdbt1.c
  * xharbour/source/rdd/dbffpt/dbffpt1.c
    * some small changes to avoids increased warnings in Open Watcom

  * xharbour/include/hbsetup.h
    + two new macros HB_EXTERN_BEGIN and HB_EXTERN_END

  * xharbour/include/classes.h
  * xharbour/include/hbapi.h
  * xharbour/include/hbapicdp.h
  * xharbour/include/hbapierr.h
  * xharbour/include/hbapifs.h
  * xharbour/include/hbapigt.h
  * xharbour/include/hbapiitm.h
  * xharbour/include/hbapilng.h
  * xharbour/include/hbapirdd.h
  * xharbour/include/hbcomp.h
  * xharbour/include/hbdate.h
  * xharbour/include/hbdbf.h
  * xharbour/include/hbdbferr.h
  * xharbour/include/hbdbsort.h
  * xharbour/include/hberrors.h
  * xharbour/include/hbexprop.h
  * xharbour/include/hbfast.h
  * xharbour/include/hbhash.h
  * xharbour/include/hbinit.h
  * xharbour/include/hbmacro.h
  * xharbour/include/hbmath.h
  * xharbour/include/hbpp.h
  * xharbour/include/hbrddcdx.h
  * xharbour/include/hbrdddbf.h
  * xharbour/include/hbrdddbt.h
  * xharbour/include/hbrdddel.h
  * xharbour/include/hbrddfpt.h
  * xharbour/include/hbrddntx.h
  * xharbour/include/hbrddsdf.h
  * xharbour/include/hbrddwrk.h
  * xharbour/include/hbset.h
  * xharbour/include/hbstack.h
  * xharbour/include/hbtrace.h
  * xharbour/include/hbvm.h
  * xharbour/include/hbvmpub.h
  * xharbour/contrib/hbzlib/include/hbzip.h
  * xharbour/contrib/hbzlib/include/hbzip2.h
  * xharbour/source/vm/estack.c
  * xharbour/source/vm/extend.c
  * xharbour/source/vm/fastitem.c
  * xharbour/source/vm/hvm.c
  * xharbour/source/vm/macro.c
    * changed two use HB_EXTERN_{BEGIN,END} macros

2003-11-30 11:28 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/macro.c
  * source/vm/hbmacro.h
    ! Removed hb_vm_aiExtra* from C file and moved to .h
      Be careful in future.
      * tests/Makefile

    + Added an $Extra_Libs variable for greater flexibility in
       makefile linking.

2003-11-30 11:00 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbcmd.c
    ! fix in LOCK - now it works like RLOCK not FLOCK

  * xharbour/xharbour.spec
    ! small fix for system which cannot build some GT

  * xharbour/source/Makefile
    * the order of builds little bit changed - build first libs necessary
      for xHarbour compiler)

  * xharbour/config/dos/global.cf
  * xharbour/config/dos/watcom.cf
  * xharbour/include/hbapigt.h
    * changes for Open Watcom support and some make speed improvement

  * xharbour/include/simplex.c
    ! fix small bug for this qsort implementation which can call in
      sort function with the same arguments fe. Open Watcom

  * xharbour/source/rtl/regex.c
    ! fix for C++ compilation

  * xharbour/source/rtl/gtdos/gtdos.c
    ! small casting fix

  * xharbour/source/vm/hvm.c
  * xharbour/source/vm/macro.c
    ! extern "C" added for some declarations which breaks compilation
      in C++ mode if C++ use different ABI then C

  * xharbour/config/w32/global.cf
    ! small fix for Open Watcom compilation

  * xharbour/config/w32/watcom.cf
    ! clean up

Now xHarbour can be build using Open Watcom in CPP mode. I test it with
DOS in DOSEMU but it should work with Windows, too with small modification
for main function.

2003-11-29 03:39 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hash.c
    ! Ops. The FIRST item of the hash was not cleared with HB_IT_NIL type
      before assigning data to it. (Obviously fixed).
      Thanks (so many) to Francesco Saverio Giudice.

2003-11-29 01:50 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * test/service.prg
    + Added support for ST operations.

2003-11-28 20:05 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  % Implementation of control of value returned by SkipBlock.
    If the sign of returned value is not equal to caller, the skip is
    interpreted as 0.
    Reported by Guillermo Varona

2003-11-28 22:15 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/thread.c
    ! fixed windows compilation
  * include/thread.h
    ! activated windows cleanup routines

2003-11-28 21:42 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/thread.h
  * source/vm/thread.c
    + HB_THREAD_ID structure has been added; the thread id is now returned
      in that structure via a garbagable pointer.
    * Code heavily reorganized
    + Added functions
      * GetCurrentThread() --> THREAD, returning an instance of the thread
        item representing the current thread.
      * GetThreadId( [THREAD] ) --> nId, returning the Xharbour VM unique
        thread id of the given thread object (or of the current thread).
      * GetSystemThreadId( [THREAD] ) --> nId, returning, IF POSSIBLE
        a numeric system representation of the given thread, or of the
        current thread if called without parameter.
      * IsSameThread( Th1, [TH2] ) --> lResult; If called with one
        parameter, return true if the given thread object matches
        current thread. If two parameters are passed, it checks if
        the thread objects are referring the same system/vm thread.
    - Removed function ThreadIsSame()
    * "Deprecated" functions ThreadGetCurrent and
      ThreadGetCurrentInternal(); they are candidate for total removal.

  * source/vm/garbage.c
    - removed outdated comments.

  * source/vm/inet.c
    ! added casts.

2003-11-28 17:07 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/inet.c
  * include/inet.h
    ! Inet Socket objects are now returned in their own encapsualted
      pointer. A GC finalization routine takes care to destroy, and
      eventually even close, unused sockets.
    ! Code rearranged to minimize common code (recv/recvall,
      send/sendall).
    ! Error messages for parameter checking faulire reviewed.
    ! Checks also against user fault in passing wrong items.

  * source/rtl/hblognet.prg
  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
  * tests/client.prg
  * tests/inetto.prg
  * tests/rpcserver.prg
  * tests/server.prg
  * tests/udpclient.prg
  * tests/udpserver.prg
    - Removed InetDestroy() or changed with InetClose
      where necessary.

2003-11-28 11:39 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/mainwin.c
    + hb_hPrevInstance variable was not used... funny, as it is declared.
      Now it records WinMain() hPrevInstance.

2003-11-28 00:45 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/thread.c
    ! fixes for windows compilation
    ! Algorithm for subscribe/notify was a little outshaped. Finetuned.

  * tests/mtcomplex.prg
    * more fancy counters that exploits the subscription better.

2003-11-28 00:40 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * source/rdd/dbfntx/dbfntx1.c
  * source/rtl/fstemp.c
    * Include <unistd.h> on BSD to avoid warnings.
  * source/rtl/hbffind.c
    ! Don't try to closedir() in hb_fsFindClose() if a directory has not
      been open.
  * tests/Makefile
    ! Fixed to work on Darwin.

2003-11-27 21:21 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/error.ch
    + Added internal error 9026 "Memory corruption"

  * include/thread.h
  * source/vm/thread.c
    ! Cleanups and fixups;
      * The mutex type of PRG level mutexes are now Critical sections
      * PRG level locks are done via resource counting condition signal
      * Added a sign field to the Mutex type to avoid PRG going sefault
        for having passed wrong item type.
      + Added MutexTryLock() function.

2003-11-27 19:00 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/thread.h
    * rationlaized layout of sections
    + added macros to manages shared resources;
      HB_SHARED_LOCK( shared ) is more elegant than HB_MUTEX_LOCK( shared.Mutex )

  * source/vm/errorapi.c
  * source/vm/garbage.c
  * source/vm/thread.c
    * Changed code to match the new macros.

  * source/rtl/hblog.prg
  * source/rtl/hblognet.prg
  * source/rtl/trpc.prg
  * source/rtl/trpccli.prg
    - Removed "deprecated" DestroyMutex() calls

2003-11-27 14:18 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini@tin.it>
  * source/rtl/filesys.c
    + small modification to #ifdefs to support OpenWatcom
  * source/vm/itemapi.c
    + small modification to #ifdefs to support OpenWatcom
  * config/dos/watcom.cf
    + a smaller HB_FLAGS for OpenWatcom/DOS32
  * config/w32/watcom.cf
    + modified for OpenWatcom/W32 ( still not working )

2003-11-27 01:38 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * tests/mtstress.c
    + Put non-working code under #ifdef clause. Currently, it is JUST
      RDD related code.

2003-11-27 00:55 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/thread.c
    ! A too fast cut & paste, and I did wrong mutex allocation size.
      Fixed.

  * tests/mtstress.c
    + Added a cmd line parameter that disables screen output to rise
      concurrency.

2003-11-26 22:35 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! source/rdd/dbcmd.c
    % Fixed an problem with alias on linux with dbusearea function
      Set of alias on linux was wrong if no alias was passed
      on windows data/dbf/test.dbf return test as alias
      on linux  data\dbf\test.dbf return data\dbf\test as alias
      this was fixed.
      Reported by Renato Benedetti

2003-11-26 22:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! utils/hbmake/hbmake.prg
    % minor fix

2003-11-27 00:15 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hash.c
    % rationalization of garbage reclaim routine.

  * tests/hashmass.prg
    * visual adjustments

2003-11-27 00:03 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
  * source/vm/classes.c
    * hb_objSendMessage now returns the VM Return pointer so that it can
      be used in non-thread specivic 3d party libs to access object
      properties and method call results.
    - removed hb_obj(Get|Set)PropValue

2003-11-26 22:59 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbvmpub.h
  * source/vm/classes.c
  * source/vm/extend.c
  * source/vm/fastitem.c
  * source/vm/garbage.c
  * source/vm/thread.c
    ! reverted changes on HB_IT_POINTER structure, using standard GC
      finalizator instead.

  * tests/mtcomplex.prg
    * Testing for mutex correct finalization


2003-11-26 23:10 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * make_drw.sh
    * Added HB_MT=no - threads don't work on Darwin yet.
  * config/darwin/gcc.cf
    * Fixed ld syntax.
  * source/pp/ppcore.c
    ! Fixed a bug in ReplacePattern() when lenreal == 0.
  * source/rtl/hbserv.c
    * Added `#if !defined(HB_OS_DARWIN)' - Darwin signal APIs differ from
      the Linux signal APIs a lot.

2003-11-26 20:40 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
    * using hb_vm_* prefix also in MT for enums and withobject
     (by define aliasing)

  * tests/mtcomplex.prg
    ! DestroyMutex() does not exists anymore

2003-11-26 14:43 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
  * include/hbapiitm.h
  * include/hbvmpub.h
  * source/vm/extend.c
  * source/vm/fastitem.c
  * source/vm/garbage.c
    + Added support for garbage assisted pointer deep memory management

  * source/vm/thread.c
    * Using new GC assisted pointer support

  * source/vm/hash.c
    * Successful experiment of GC-olny item cleaning.

  * source/vm/errorapi.c
    ! Ops, forgot that we have 2 idle inspector: GC and error ALERT
      messages... Fixed.


2003-11-26 10:52 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/config/dos/global.cf
    * small clean up

  * xharbour/include/Makefile
    * added missing header files for make install

  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! small fix for bug in DJGPP and -O3 optimization

2003-11-26 07:33 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
    * cleanup of comments and refininf of code.

2003-11-26 06:45 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
  * source/vm/thread.c
  * source/vm/garbage.c
  * include/thread.c
    ! Fix and optimization of threading model; Isomorphic model between all
      architectures is now achieved.

  * include/hbapi.c
    - Removed now useless gcInit() and gcExit()

  * mtgc.c
    + Added a parameter to do checks without screen printouts (more speed,
      more contention, more stress test!)

2003-11-26 06:10 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * source/vm/fm.c
  * source/vm/hvm.c
  * source/compiler/harbour.c
  * source/compiler/harbour.sly
    * Use stdlib.h instead of malloc.h on BSD.
    ! Some syntax errors (non-portable missing semicolons before
      closing braces) in harbour.sly fixed.
  * source/rtl/hbserv.c
  * source/rtl/seconds.c
    * Made it compile on BSD.

2003-11-26 00:58 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
  * contrib\Whoo\env\bccWin32.Mak
  * contrib\WoopGUI\env\bccWin32.Mak
  * contrib\hbzlib\include\unzip.h
  * contrib\hbzlib\include\zip.h
  * contrib\hbzlib\include\ziparchive.h
  * contrib\hbzlib\include\zipinternalinfo.h
  * contrib\hbzlib\include\zutil.h
  * contrib\hbzlib\ziparchive.cpp
  * hrbdll.bc
  * hrbdll.vc
  * tests\compress.prg
  * tests\service.prg
    * all fixed to sync with last changes from Lorenzo Fiorini and others

2003-11-25 02:30 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbf1.c
    ! hack on hack in hack :-) for exclusive mode. We definitely
      have to clean error codes some days

  - xharbour/contrib/libct/invertwin.prg
  + xharbour/contrib/libct/invrtwin.prg
  * xharbour/contrib/libct/Makefile
  * xharbour/contrib/libct/makefile.bc
  * xharbour/contrib/libct/makefile.vc
    * change naem to 8.3 format for DOS compilation

2003-11-24 21:50 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
  * utils/hbmake/tmake.prg
    ! Some fix on screen layout thanks to Eduardo
    ! Some new items are stored on makefile for later makefile edit

2003-11-25 00:40 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! fixed bug in counting duplicate chars when key was deleted

2003-11-24 18:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! xharbour.spec
    ! minor fix

2003-11-24 17:51 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini@tin.it>
  * source/rtl/hboutdbg.c replaced check for __DJGPP__ with check for HB_OS_WIN32
  * source/rtl/hbserv.c added check for __DJGPP__ with check for HB_OS_DOS
  * source/odbc/odbc.c added check for __DJGPP__ with check for HB_OS_DOS

2003-11-24 15:45 UTC+0100 Lorenzo Fiorini <lorenzo_fiorini@tin.it>
  * include/hbhashapi.h renamed to hashapi.h
  * include/hbservice.ch renamed to hbserv.ch
  * include/hbcompress.ch renamed to hbcomprs.ch
  * include/Makefile modified
  * source/rtl/hbbitfield.c renamed to hbbif.c
  * source/rtl/hbloginet.c renamed to hblognet.c
  * source/rtl/hbreadini.prg renamed to hbini.prg
  * source/rtl/hbservice.c renamed to hbserv.c
  * source/rtl/hboutdebug.c renamed to hboutdbg.c
  * source/rtl/hbchecksum.c renamed to hbchksum.c
  * source/rtl/hbhextonum.c renamed to hbhex2n.c
  * source/rtl/hbcompress.c renamed to hbcomprs.c
  * source/rtl/Makefile modified
  * source/rtl/* and source/vm/* modified to use new file names
  * makefile.bc updated
  * makefile.vc updated
  * makefile.nt updated
  % I can't test them please check %

2003-11-23 21:40 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/hbzlib/include/hbzip2.h
    ! added missed prototype to make MSVC happy
  * source/rtl/listbox.prg
    ! Fixed problem that listbox was not show on screen, reported by Ron Pinkas


2003-11-24 05:30 UTC+0700 Andi Jahja <xharbour@cbn.net.id>
  * source/rtl/valtype.c
    * Minor modification on HB_ISMEMO() and HB_ISSTRING() to conform
      with return values of ValType()

2003-11-23 17:17 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  * source/rtl/dbedit.prg
    * Code cleanup
    + Column data can be a codeblock instead of a string ;)
    ! Check for correct (NUMERIC) return type of UserFunc
    ! Column separator is now <space> + <line> + <space> by default
    ! When headers array is passed and one column is empty, use its column
      name (data) as the header
      NOTE: if column data is a codeblock, it'll have "<block>" as title
    + Column PICTURE support
    + Code to manage empty 'filtered' dbfs
    % Changed all ValType() to HB_IS*() typechecks

2003-11-23 20:35 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/include/hbrddcdx.h
  * xharbour/include/hbrdddbf.h
  * xharbour/source/rdd/dbf1.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! small fix in cl53 locking scheme. The random lock area is
      0x10001 not 0x10000
    * the external dbf function prototyped in hbrdddbf.h with extern "C"
      it should make MSVC happy and we don't have to add 'extern "C"' to
      source files. If I'm wrong then 'extern "C"' has to be restored in
      dbf1.c - I cannot check it with MSVC, sorry.
  * xharbour/bin/bld.bat
  * xharbour/config/dos/global.cf
  * xharbour/config/dos/watcom.cf
  * xharbour/include/hbfixdj.h
  * xharbour/source/compiler/gencobj.c
    ! fixed problem with double "=" in harbour.cfg file
    * changes by Lorenzo Fiorini for DOS Watcom and DJGPP compilation with
      my small modification

2003-11-23 15:45 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * doc/hash.txt
    + Added a section explaining hash partitioning
    + Added reference for HSetPartition and HGetPartition

  * doc/hbxml.txt
    * Changed notes about set/get attributes. Now attributes lists
      are hashes.

  * source/rtl/txml.prg
    ! Returning nil from inlined GetAttribute() if attribute name is not
      present.

2003-11-23 04:15 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbvmpub.h
  * include/hbhashapi.h
  * source/rtl/len.c
  * source/rtl/cstr.c
  * source/vm/arrays.c
  * source/vm/hash.c
  * source/vm/hvm.c
    + Added support for automatic hash partitioning.

  * tests/hash.prg
  * tests/hashmass.prg
    + Added tests for automatic hash partitioning.

2003-11-23 04:15 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * ChangeLog
    ! Fixed a typo in my previous ChangeLog entry.
  * source/rtl/tgetlist.prg
    ! Initialize lDelEnd parameter in :GetApplyKey() if not passed. This
      fixes a crash in the debugger's command window.
  * source/debug/debugger.prg
    ! Borrowed the last fix by Alexander Kresin from Harbour.
    ! Fixed the command window.

2003-11-22 19:45 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/hbzlib/zip.c
    contrib/hbzlib/zipnew.cpp
    contrib/hbzlib/zipcomp.cpp
    contrib/hbzlib/include/hbzip2.h
    + New function  SETZIPREADONLY(Lon/lOff) >need when open files on CD's
    % Code Clean up and changes to improve parameters respect

2003-11-22 22:35 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rtl/idle.c
    ! fix in HB_IDLESTATE
    + new .prg function HB_IDLERESET

2003-11-22 16:20 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * include/Makefile
    ! Do not try to install the nonexistent hbgetcmt.ch file.

2003-11-22 01:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/macro/macro.slx
    + Added reset logic to hb_compFlexNew() incase last parse stoped on error which was recovered by the app.

2003-11-21 20:34 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/win32ole.prg
  * source/vm/hvm.c
    * Minor Correction to initialization of Ole under Windows.

2003-11-21 19:25 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbrdddbt.h
  * include/hbrddfpt.h
    + Added missing #include "hbsetup.h"

  * source/rdd/dbf1.c
    + Added extern c wrapper around 4 public function guarded with #if defined(HB_EXTERN_C)

2003-11-21 18:53 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * makefile.nt
  * makefile.vc
    + Added /FORCE:MULTIPLE to hbrun link command.

  * include/hbrddcdx.h
  * include/hbrdddbf.h
    + Added missing #include "hbsetup.h"

  * tests/pp_harb.ch
    + Minor revison.

2003-11-21 17:40 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbvm.h
  * source/vm/hvm.c
    * Changed hb_vmQuit() to not directly exit() instead return errorlevel

  * source/vm/errorapi.c
  * source/vm/maindll.c
  * source/vm/mainstd.c
  * source/vm/mainwin.c
  * source/vm/gtk/mainlgtk.c
  * source/vm/pm/mainpm.c
    * Changed to exit() or return after call to hb_vmQuit()

2003-11-21 11:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/radiobtn.prg
    source/rtl/radiogrp.prg
    source/rtl/checkbox.prg
    source/rtl/tgetlist.prg
    ! Minor fix on display methods of Radio*/checkbox classes that was not showing proper color
    Reported by Jack E. Wilkinson

2003-11-21 13:51 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbhashapi.h
  * source/vm/hash.c
    + Added hb_hashGetKeyAt() and hb_hashGetValueAt()
    + Added hb_hashAddForward()

  * include/hbxml.h
  * source/rtl/hbxml.c
  * source/rtl/txml.prg
    % aAttribute field of the TXmlNode element is now a hash.

2003-11-20 17:53 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/inkey.c
    * Reverted last correction to __Keyboard() - Clipper reset the typeahead buffer even if argument is invalid.
    * Commented out reset of s_inkeyLast from hb_inkeyReset() and added initialization to 0 on definition.

2003-11-21 00:50 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/makefile.bc
    * plwin charmap added

  * xharbour/xharbour.spec
  * xharbour/make_gny.sh
  * xharbour/bin/!pack_src.sh
    * changes for last Ron's PP modification.

  * xharbour/source/rtl/inkey.c
    * removed hb_idle* call from NEXTKEY

  * xharbour/source/rtl/fstemp.c
    ! restored default behavior LINUX and BSD which was lost.
      If there is no path at param then temporary files should
      be created in system temp directory.

  * xharbour/include/dbinfo.ch
  * xharbour/include/hbrddcdx.h
  * xharbour/include/hbrdddbf.h
  * xharbour/include/hbrdddbt.h
  * xharbour/include/hbrddfpt.h
  * xharbour/include/hbrddntx.h
  * xharbour/include/hbset.h
  * xharbour/include/set.ch
  * xharbour/source/rdd/dbf1.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
  * xharbour/source/rtl/set.c
    + different locking schemes implemented. Current possible values:
   #define HB_SET_DBFLOCK_DEFAULT    0
   #define HB_SET_DBFLOCK_CLIP       1
   #define HB_SET_DBFLOCK_CL53       2
   #define HB_SET_DBFLOCK_VFP        3
      If default is set then DBFCDX uses DBFLOCK_VFP others DBFLOCK_CLIP.
      User can set before dbf open:
          SET DBFLOCKSCHEME TO <n>
      to set it's prefered locking schemes.
          SET DBFLOCKSCHEME TO
      or
          SET DBFLOCKSCHEME TO 0
      restores default behavior.
      Different locking schemes can be set for each work area but remember
      that the same files should not be accessed with different locks at the
      same time.
      Locking schemes for already opened dbf can be checked by:
          dbinfo(DBI_LOCKSCHEME)
      It could be even change with this function by:
          dbinfo(DBI_LOCKSCHEME, <1..3>)
      but user has to know what is doing. In general he should first
      make dbunlock() to release all locks before locking schemes will
      be changed.
    + emulation for exclusive mode in POSIX. I didn't want to do that
      in such way but I don't know when we implement our own locking
      system for threads and it should resolve the problem for Linux
      users temporary. I choose the same offset as CLIP (www.itk.ru)
      uses.

2003-11-19 08:10 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/rtl/inkey.c
    * Function __KeyBoard(), clear typeahead buffer only when correct argument
      passed. (Clipper compatibility)
      Bug report by : "Alexandre Tadeu Peretti" <aperetti@terra.com.br>

2003-11-19 08:25 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c minor fix to hb_strAtSkipStrings()

2003-11-17 19:38 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Changed 2nd param of strotrim() to int iContext, and added logic to avoid []
      context detrermination if context is hb_pp_ParseExpression().
      This fixes a bug where spaces were removed from [...] literal strings.

    * Added logic to initialize cLastChar in strotrim() based on s_Array
      which was set by the preceding call to hb_pp_NextToken().
      This fixes a bug where result begins with a \[. This was processed as a LITERAL String
      but the #directive anchor which was retrived with the last call to hb_pp_NextToken()
      is what should be used to determine the context.

2003-11-18 01:50 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
  * vm\eval.c
    * changed HB_ExecFromArray() to support this new syntax with optional params
      HB_ExecFromArray( "Func" )
      HB_ExecFromArray( "Func", aParams )
      HB_ExecFromArray( @Func() )
      HB_ExecFromArray( @Func(), aParams )
      HB_ExecFromArray( bCode )
      HB_ExecFromArray( bCode, aParams )
      HB_ExecFromArray( oObject, @Method() )
      HB_ExecFromArray( oObject, "Method" )
      HB_ExecFromArray( oObject, @Method(), aArray )
      HB_ExecFromArray( oObject, "Method", aArray )
      HB_ExecFromArray( aArray )

  * tests\exec.prg
    + added new tests without params

2003-11-17 09:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    * Few corrections to recent optimization of PP_CompileLine()

  * tests/pptest.prg
    + Added few more tests

2003-11-17 08:52 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * source/rtl/tobject.prg
  * include/struct.ch
    ! Structure / Member / EndStructure was changed to use HASHES now.

2003-11-16 18:14 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
  * tests/pp.txt
    + Added support for BEGIN SEQUENCE [RECOVER USING [<idRecover>]] END [SEQUENCE]
    + Added support for TRY [CATCH [<xCatcher>]] END
    % Optimized PP_ExecProcedure() and PP_CompileLine()

  * tests/pp.txt
    * Updated.

  - tests/rp_dot.ch
  + tests/rp_dot.src
    -+ Renamed file.

  - tests/rp_run.ch
  + tests/rp_run.src
    -+ Renamed file.

2003-11-16 19:40 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
  * doc\hash.txt
    * Fixed some typos

2003-11-16 16:10 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * xdiff.txt
    * Fixed some annoying typos.

2003-11-15 18:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * contrib/whoo/makefile.vc
  * contrib/whoo/makefile.nt
    * Brought up to date.

2003-11-15 17:55 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * hrbdll.bc
  * hrbdll.vc
  * makefile.bc
  * makefile.nt
  * makefile.vc
  * source/codepage/Makefile
  * source/lang/Makefile
    + Added msgltwin and cdpltwin.

  * contrib/xwt/makefile.bc
    * Fixed typo.

2003-11-16 03:53 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * source/rtl/net.c
    ! Fixed NETNAME() compilation under UNIX (the bug was introduced
      by my last commit).

2003-11-16 03:05 UTC+0300 Phil Krylov <phil@newstar.rinet.ru>
  * source/rtl/net.c
    ! Fixed NETNAME() compilation under mingw.
  * utils/hbdict/Makefile
    ! Fixed install target under Windows.

2003-11-15 00:00 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    + simple logic to detect low level locks overwriting added
      overwriting lock is not possible in DOS/Windows so I try
      to not use this POSIX feature and this code should cause
      internal error when I'll use it by mistake. It's not perfect
      because it should not be implemented in RDD layer but in file
      IO (hb_fsLock) and recognize files by device ID + inode not
      their handle but it should be enough to detect my mistakes ;-)
      The full implementation we will have to do for using the same
      database by on process with different aliases all by threads
      with independent workareas.

  * xharbour/include/hbrddcdx.h
  * xharbour/include/hbrdddbf.h
  * xharbour/include/hbrddntx.h
  * xharbour/source/rdd/dbf1.c
    * fixed at least four race conditions in DBF RDD. They could
      cause database and index used by DBF RDD or all
      other RDDs which inherits from DBF RDD (DBFNTX, DBFCDX, DBFFPT,
      FDBDBT) corruption

  * xharbour/xharbour.spec
    * small fix foru new RPM

  * xharbour/make_rpm.sh
    * small fix suggested by Toma¾ Zupan for distributions which change
      names of some packages but have proper Provides macro in spec.

2003-11-15 22:23 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hash.c
  * include/hbvmpub.h
    + Added autoadd constraint and HSetAutoAdd()/HGetAutoAdd() to control
      this feature. Without autoadd, a bound error is risen when a key
      is added to the hash.

  * tests/hash.prg
    + Added a test for autoadd feature

2003-11-15 21:13 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  + doc/hash.txt
    + Added hash documentation

  * source/vm/hash.c
    * parameters for HCopy and hb_hashMerge changed so that they are more
      similar to ACopy.
    * Added return value to HSetCaseMatch

2003-11-15 13:47 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/dbedit.prg
    * resaved to fix CR/LF

2003-11-15 17:57 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
  * source/vm/hash.c
  * tests/hash.prg
    ! Added "IN" operator for hashes (and relative test).

  * tests/Makefile
    ! removed cdx/ntx for MT (they are currently thread insensitive)

2003-11-15 01:50 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tget.prg
    ! Fix a bug introduced in last change in the Picture method.

2003-11-13 23:26 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/cstr.prg
  * source/rtl/dumpvar.prg
  * tests/hash.prg
  * tests/hashmass.prg
  * tests/serialize.prg
  * tests/tstclsdbg.prg
    * Revised :> to =>

2003-11-14 20:44 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/empty.c
    ! Added hashes; if they are not empty, now Empty() returns false.

  * source/rtl/hbreadini.prg
  * tests/parseini.prg
    * Using hashes instead of TAssociative array

2003-11-14 17:30 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbhashapi.h
  * source/vm/hash.c
    + Added hb_hashGetKeys() and hb_hashGetValues() to the internal api, HGETKEYS()
      and HGETVALUES() now refer to this one

  * source/rtl/cstr.prg
    ! Using now "=>" as hash separator in ValToPrg()

  * source/vm/hvm.c
    + Added ":" accessor token to hashes. Currently, it uses the UPPERCASED message
      name; it should be good for translating old programs unless they make differences
      between character cases. Hashes reply also to CLASSNAME, KEYS, VALUES and CLASSH
      messages.

  * tests/hash.prg
    + Added test of new ":" grammar

2003-11-14 00:15 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tget.prg
    ! Avoid execution of ::ParsePict() if ::HasFocus is FALSE
      Reported by Luis Krause Mantilla

2003-11-13 17:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbclass.ch
    * Added few missing escapes (\) in STRICT_OO mode.

  * utils/hbpp/hbpp.c
    * Fixed to produce escape charcaters for compiled [ and ].

  * source/pp/pptable.c
    - Removed TAssociativeArray support.
    * Modified Hash() support to use => instead of :>
    * Consolidated Hash() support into 1 directive.

  + include/assocarr.ch
    + New header with TAssociativeArray() support.

  * tests/assocarr.prg
    + Added #include "assocarr.ch"

2003-11-13 00:45 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/hboutdebug.c
    ! Prevents opening xterm if 1) xterm is not found or 2) not using X (under
      UNIX).
    ! Better error checking and recover system.

2003-11-12 22:48 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
 * source\rtl\dumpvar.prg
   + Added dump of hash and fixed a little
 * tests\tstclsdbg.prg
   + Added hashes and more examples

2003-11-12 17:20 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  * source/rtl/dbedit.prg
    + Total rewrite of dbedit() with new features, give it a try ;)
  + tests/dbedit.prg
    + New (very little) test program showing how to configure & do coloring

2003-11-12 09:52 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/itemapi.c
    * Fixed hb_itemStr() handling of -0

2003-11-12 15:39 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * config/w32/mingw32.cf
    ! added -lws2_32 to LINKLIBS

2003-11-12 17:10 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
    ! Fixed '+' and '-' operator for hashes
  * source/vm/hash.c
    + Added hb_hashMerge() NOT modality.
  * include/hbapi.h
    % better HB_IS_ORDERABLE macro definition
  * tests/hash.prg
    % slighly better tests


2003-11-12 16:10 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * utils/hbdict/hbdict.prg
  * source/vm/thread.c
    ! djgpp should now work with ThreadSleep()
      Plz. someone test it.

2003-11-12 15:25 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hvm.h
    ! There was a missing ";" ... in a declaration.

  * source/rtl/errorsys.prg
  * source/rtl/traceprg.prg
    HB_OutDebug() is not to be used automatically. I commented it out while I think
    if there is a way to make it "aware" of some environmental status.

2003-11-12 14:55 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbhashapi.h
    + Added missing declaration of hb_hashMerge()
  * source/vm/hash.c
    ! fixed bug in HFILL
  * source/vm/hvm.c
    ! Added hashes to hb_vmIsLocalRef(); fixed GC behavior with hashes
    + Added plus, equality and diversity operators for hashes
    + Added minus operator for hashes (WORK IN PROGRESS)

  * source/vm/thread.c
    ! Added hashes to hb_threadIsLocalRef(); fixed GC behavior with hashes

  + tests/hash.prg
    + added plus and minus tests
  + tests/hashmass.prg
    + added GC test

  * source/rtl/filesys.c
    ! HB_THREAD_STUB removed when not necessary broken linux compilation.


2003-11-12 19:50 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/rtl/tbrowse.prg
    * Minor modification to be more Clipper compatible when rowpos is
      defined prior to stabilization. TBrowse now honors initial rowpos.
  * tests/testbrw.prg
    * Added initial rowpos to demonstrate the above fix

2003-11-12 10:37 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/hboutdebug.c
    ! Minor fix to compile with djgpp compiler

2003-11-12 04:11 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbapi.h
    * Corrected declaration of hb_objGetMthd()

2003-11-12 09:30 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * source/rtl/valtype.c
  * include/common.ch
    * HB_ISCHAR() to HB_ISSTRING()
    * HB_ISNUM() to HB_ISNUMERIC()
    * HB_ISLOGIC() to HB_ISLOGICAL()

2003-11-12 15:30 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/rtl/tgetlist.prg
    ! Minor modification to be more Clipper compatible when postblock
      instance does not return true.

2003-11-12 03:00 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! fixed bug in locking introduce recently.
    * improvements in page balancing - not finished yet but working

2003-11-12 13:03 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /rtl/isprint.c
   + Added braces around if() in hb_printerIsReadyn()

2003-11-12 00:53 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>
 *source\vm\classes.c
   * fixed comment of __SetClassAutoInit() function

2003-11-11 12:19 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/classes.h
  * include/hbapi.h
  * include/inet.h
  * include/simplex.c
  * source/codepage/cdpltwin.c
  * source/lang/msgltwin.c
  * source/macro/macro.slx
  * source/pp/ppcore.c
  * source/rtl/filesys.c
  * source/rtl/fssize.c
  * source/rtl/fstemp.c
  * source/rtl/gtapi.c
  * source/rtl/isprint.c
  * source/rtl/philes.c
  * source/rtl/win32ole.prg
  * source/rtl/gtwin/gtwin.c
  * source/vm/classes.c
  * source/vm/errorapi.c
  * source/vm/eval.c
  * source/vm/hash.c
  * source/vm/inet.c
  * source/vm/runner.c
  * source/vm/thread.c
    * Fixed compilation warnings.

2003-11-11 15:35 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! fixed codepage initialization which I damage in one of
      the last commit

2003-11-10 18:38 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hberrors.h
    + Added: #define HB_PP_ERR_UNKNOWN_RESULTMARKER          23

  * source/pp/ppcore.c
    - Renamed RemoveSlash() RemoveNotInstanciated() and removed '\\' related logic.
    + Added '\' removal logic into ConvertPatterns()
    + Added logic to detect unknown result markers, and raise an "Unknown result marker <%s> in #directive" error.

2003-11-11 02:30 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/make_rpm.sh
    * small changes for detecting packages on connectiva

  * xharbour/xharbour.spec
    - remove build requires for mysql and odbc. This packages used to
      have different names in different distros so we will have to set
      long list for for them inside spec. I think they should be check
      in make_rpm.sh and if user installed them manually then can use
      --force switch

  * xharbour/include/hbrddcdx.h
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    + freeing all pages allocated by tag in ORDDESTROY() implemented.
      Clipper doesn't do that (It can only remove whole index file
      when you remove all orders or when you recreate a tag which is
      the one in the bug and has the same name as the bug) but I think
      it will be useful.

  * xharbour/source/rdd/dbffpt/dbffpt1.c
    + detecting FPT files without signature and disabling GC for them
    + detecting old Harbour FPT files

2003-11-10 14:27 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
    * Removed extronous pasted line.

  * tests/pp.prg
    * Refreshed burned-in hboo.ch

2003-11-11 05:00 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * include/hbinkey.ch
    ! typo on definition of HB_K_ALT_DOWN, it must be 1232 instead of 1231.

2003-11-10 22:25 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>

 *tests\bldtest.bat
   ! fixed file delete

2003-11-10 12:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/libct/makefile.vc
    - strcopy.obj (not found)

2003-11-10 11:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rdd/dbfcdx/dbfcdx1.c
     * casts, etc. for msvc

2003-11-10 12:35 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/net.c
    ! fixed netname() function linux that was returning empty string

2003-11-10 11:45 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * xharbour/make_rpm.sh
  * xharbour/xharbour.spec
    ! fixes for Conectiva linux
    in conectiva
    mysql-devel is MySQL-devel
    unixODBC-devel is unixodbc-devel

2003-11-10 13:25 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbcmd.c
    ! ORDKEYNO fixed

2003-11-10 12:19 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/include/hbdbsort.h
  * xharbour/include/hbrdddbf.h
  * xharbour/include/hbrdddbt.h
  * xharbour/include/hbrddfpt.h
    ! typo in macro name fixed

  * xharbour/include/hbrddntx.h
    ! _NTXHEADER fixed

  * xharbour/include/hbrddcdx.h
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! possible memory leak fixed
    * small improvment in balancing

  * xharbour/make_tgz.sh
    + optional contrib libs added to xhb* scripts

  * xharbour/make_rpm.sh
  * xharbour/xharbour.spec
    + optional contrib libs added to xhb* scripts
    ! changed very dangerous file right
    + new optional switches to build contrib libs
      --with adsrdd - build ads RDD
      --with mysql  - build mysql lib
      --with odbc   - build build odbc lib
      --without nf  - do not build nanforum lib
      --without ct  - do not build clipper tools lib
      --with hrbsh  - build /etc/profile.d/harb.sh
                      (not recommended, I added it only for compatibility
                      with older versions)
      by default make_rpm check if mysql-devel and/or unixODBC-devel are
      installed and set --with mysql and/or --with odbc

2003-11-10 01:34 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hash.c
    % Little optimization in HGetKeys() and hGetValues()

  * source/rtl/hbserial.prg
  * source/rtl/hbsrlraw.c
    + Added serialization of hashes

  * tests/serialize.prg
    + Added hash serialization test.

2003-11-10 01:55 UTC+0100 Francesco Saverio Giudice <info@fsgiudice.com>

 *include\classes.h
   ! struct hb_class_method
      + added USHORT   uiType;              /* Type value */
        this key now contain the class message type as defined in HB_OO_MSG_*

 *include\hboo.ch
   ! changed defines for attribute scope
      * now HB_OO_CLSTP_PUBLISHED has value 2, renumbered other values
        this permit to better filter variables and methods
        i've tested these changes from March and all work as usual

  /* NOTE: PLEASE MAKE A CLEAN BUILD */

 *source\rtl\errorsys.prg
   * Reformatted output
   + Output now is send to HB_OutDebug too

 *source\rtl\hbserial.prg
   * changed __objSendMsg() call into __objSendMsgCase(). See below for explanation.

 *source\rtl\objfunc.prg
   ! added __objGetMsgFullList(), __objGetValueFullList() functions
     * those functions permit to retrieve all informations about classes, included type and scope
       usefull for debugging and for visual ide. See tstclsdbg.prg below.

 *source\rtl\tclass.prg
   * added control inside ConstructorCall() function to enable/disable auto class initialization
     using class name as initializator (i.e. TObject( 100 ) instead of TObject():New( 100 ) ).
     Default is enabled. See below for __SetClassAutoInit() function.
   ! Fixed ConstructorCall() to call the correct constructor method in down/top sequence

 *source\rtl\teditorl.c
   + added hb_strTokenCount() function that return how many tokens are inside a string
   + added __StrTokenCount() for PRG level

 *source\rtl\tobject.prg
   + added :SendKey(), :GetKey(), :GetKeyPos() methods, __SetAssociativeCaseSensitive() function
     + :SendKey( cKey, [ xVal ] ) -> xOldValue
       works as __ObjSendMsg() but for associative arrays
       this function permit to standardize calls to associative array and permit to use vars of 1 char lenght
       if xVal is passed assign it to cKey key, it return last value
     + :GetKey( cKey, lCaseSensitive ) -> xValue
       works as :SendKey() but only retrieve a value or NIL if key does not exists
     + :GetKeyPos( cKey ) returns the position of a key inside the associative array so the value
       can be retrieved using its position
     + __SetAssociativeCaseSensitive( lNewCase ) -> lOldCase
       .T. Set case sensitive, .F. case insensitive
       set case sensitive during an internal search of a key. Keys are always store in case sensitive mode.

   * changed logic for build Associative Arrays.
     Now those store correctly the key as unique case sensitive name

   /*
     TODO: To be changed moving at object level as _Get/_Set methods
   */

 *source\rtl\traceprg.prg
   * added hb_OutDebug() as output

 *source\vm\classes.c
   ! added hb___msgClsFullSel(), __ObjSendMsgCase(), __SetClassScope(), __SetClassAutoInit() functions
     + hb___msgClsFullSel() permits to retrieve all values from a class
     + __ObjSendMsgCase() call objects sending a case sensitive message (for Associative Arrays)
     + __SetClassScope() actives/deactives class scoping. Fundamental for debuggin use.
     + __SetClassAutoInit() as explained above.

 +source\rtl\dumpvar.prg
   + HB_DumpVar() returns a string containing the dump of values, also for arrays and objects
   * touched also makefile.bc, makefile.vc, makefile.nt, hrbdll.bc, hrbdll.vc and
     source\rtl\Makefile to compile this file

  +tests\tstclsdbg.prg
     + a sample of debugging classes

2003-11-10 01:34 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * hrbdll.bc
  * hrbdll.vc
    ! updated with hash.c

2003-11-10 01:20 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * tests/hash.prg
  * tests/hashmass.prg
  * source/rtl/cstr.prg
  * source/pp/pptable.c
    ! changed ':' to ':>' to indicate hash arrays.
    Sorry, I used the python convention and I forgot
    that method calls in arrays could have been misinterpreted as
    hash separators.

2003-11-10 00:50 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * makefile.vc
  * makefile.nt
    + added compilation of hash.c

2003-11-10 00:40 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hash.c
    ! fixed compilation errors on BCC

2003-11-10 00:20 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbvmpub.h
  * include/hbapi.h
  + include/hbhashapi.h
  + source/vm/hash.c
    + Added HB_IT_HASH, a new type of 'associative array' whose key can
      be any other item that can be ordered (strings, numbers and dates
      atm).

  * makefile.bc
  * source/vm/Makefile
  * source/vm/arrays.c
  * source/vm/estack.c
  * source/vm/fastitem.c
  * source/vm/garbage.c
  * source/vm/hvm.c
  * source/vm/itemapi.c
  * source/vm/thread.c
  * source/rtl/len.c
  * source/rtl/valtype.c
  * source/rtl/cstr.prg
    + Adaptations to the management of hashes.

  * source/pp/pptable.c
    + Added {:} and { x:y} macros to create Hash()

  + test/hashmass.prg
  + test/hash.prg
    + Added test for hashes

2003-11-09 13:31 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
    * Commented out optimization of Upper() since it's not CODEPAGE compliant.

2003-11-09 12:14 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    * Minor fix to release of GLOBAL variables in hb_vmQuit()

  * utils/hbmake/hbmake.prg
    * Fixed compilation error (Luiz you apparantly commited this change by mistake!!! Please review.)

2003-11-09 14:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
   * source/rtl/console.c
    ! fixed error on line 489 (should be \x0C insted of x0C )

2003-11-07 22:14 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * contrib/rdd_ads/ads1.c
    * tweaked error reporting in adsPutValue
    * fixed retrieval of date fields to avoid extra formatting calls
         (AdsSetDateFormat seems to dump the read-ahead cache)

  * contrib/rdd_ads/adsfunc.c
  * contrib/rdd_ads/doc/en/adsfuncs.txt
    * minor formatting

  * contrib/rdd_ads/makefile.bc
    * added $(C_USR) to bcc line so you can add v6 support by setting
      set C_USR=-DADS_REQUIRE_VERSION6
  * source/rdd/dbcmd.c
    * optimized dbSkipper()

  ADS is dramatically faster on a WAN connection for browses now.
  Remote server is also improved, though I haven't quantified it.
  Expect only modest effect on local server, if any.


2003-11-08 08:05 UTC+0700 Andi Jahja <andijahja@harbour-id.net>
  * source/rdd/dbfcdx/dbfcdx1.c
    ! Addes some missing casts to please MSVC

2003-11-08 01:17 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/classes.c
  * include/hbapi.h
    % hb_objGetPropValue prototype changed to:
      hb_objGetPropValue( PHB_ITEM pObj, char *szProp,
         PHB_ITEM pDestNullable );
      ---------------------------------------------
      Now you can put the data on pDest (or just have it as return
      if pDest is NULL); The data is copied into pDest, so you won't
      be mangling with the original data (be warned, is not a DEEP
      copy; an array will still refer to the same PBASEARRAY). The
      returned value is the original one; you should not mangle
      with that nor free it.

      Some candy grammar hints:
      hb_objGetPropValue( &Self, "ACOLUMNS", &hbData );

      bEditable = hb_itemGetL(
         hb_objGetPropValue( pSelf, "BEDITABLE", NULL )
      );

2003-11-08 00:19 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/tests/testuniq.prg
    + extended to test ordkeygoto / ordkeyno too

2003-11-03 22:10 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/gtapi.c
    ! Ops, a mispelled variable was making DevOutAt() to fail on gtwin. Reported
      by Andy.

2003-11-07 10:04 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/estack.c
    * Minor optimization.

2003-11-07 18:20 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/itemapi.c
  * source/rtl/cstr.prg
    ! Codeblock was no longer correctly translated into string.
    + Added ValType 'P' for pointer
    + Pointer are represented in ValToPrg as 'HexToNum( "Pointer" )'

  * source/rtl/hbhextonum.c
    ! Accepting both Numeric and Pointers in HB_NumToHex()

  * source/rtl/gtapi.c
  * source/rtl/gtcgi/gtcgi.c
    ! Fixed GTCGI. MaxRow() returns 1, and MaxCol() returns 0. Gtapi.c has
      been updated so to allow infinite row lenght if MaxCol() is 0, and
      being MaxRow() ==1, the screen is scrolled each time a line is
      commited.
      As gtcgi may be used to write headers for web servers, the first
      newline written is ignored if it is not preceded by any other
      character ( so "?" works as in clipper writing a CRLF BEFORE the
      text, but the first one does not advance).
      Also, since GTCGI is meant mainly to communicate with servers,
      the CRLF (standard internet line separator) is used on every
      system.

  * source/rtl/alert.prg
  * source/rtl/errorsys.prg
    ! Not displaying alert box and not getting video dump if the current
      GT is not capable to provide it.

  * source/vm/classes.c
    * Retouches in hb_objGetPropValue()


2003-11-07 11:25 UTC+0100 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * include/hbapi.h
  * source/vm/estack.c
    * Added hb_stackReturn() that returns a pointer to HB_VM_STACK.Return.
      Sayed this way it seems just a waste of time, but it allows to
      insolate libraries from the need to be thrad aware IF HB_STACK_MACRO
      are off. This way, all the MT/non MT code can reside in vm/vmmt, and
      the lower libraries can be compiled just once.

  * source/vm/classes.c
    * added
       hb_objGetPropValue()
       hb_objSetPropValue()
    They set/get a property by calling the appropriate object message
    and get the HB_VM_STACK.Return to ensure that the higher level
    libraries do not depend on threading.

2003-11-07 01:05 UTC-0300 Mauricio Abre <maurifull@datafull.com>
  + My first commit :-)
  * source/rtl/tget.prg
    + Added caption support

2003-11-06 20:06 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbcmd.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! fixed stupid bug in ORDKEYNO()
    + ORDKEYGOTO finished

2003-11-05 23:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/estack.c
    * Minor correction to recent change.

2003-11-05 22:40 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
  * source/vm/estack.c
    ! Fixed detached locals implementation to be 100% Clipper compabtible with 1 exception which appears to be a bug in Clipper.

  + tests/detach.prg
    + New sample of Severed Detached Local, Clipper compatibility.

  + tests/detach1.prg
    + Sample of what appears to be a Clipper bug, in Detached Locals implementation [fixed in xHarbour].

2003-11-05 14:37 UTC+0100 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/include/hbdefs.h
    ! HB_{PUT,GET}_LE_DOUBLE macros restored. I've forgot I used them
      in DBFFPT
  * xharbour/config/global.cf
    - removed DBFCDXOLD lib - this was only for my tests to compare
      new and old CDX RDD and should never be in CVS - sorry

2003-11-05 08:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  ! contrib/libct/Makefile.bc
    ! minor fix

2003-11-05 04:24 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/include/hbdefs.h
  * xharbour/include/hbrddcdx.h
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.h
    ! removed non ISO C standard construction which cannot be compiled
      by some compilers
    ! adding some missed casting to make BCC happy
    ! all internal function declared as static

2003-11-04 10:11 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rdd/dbfcdx/dbfcdx1.h
    - Removed redundant macro.
  * source/rdd/dbfcdx/dbfcdx1.c
    + Added missing void in function definition.

2003-11-04 09:57 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbdefs.h
  * include/hbrddcdx.h
  * source/rdd/dbfcdx/dbfcdx1.c
    ! Fixed compilation errors.

    /* Przemek I was forced to modify HB_GET_SORTDBL() to accept value to assign to, because other wise we get something like:

         SomeFunction( { some code block is invalis as an expression } )

       Can you please review my change to see if it's ok?
    */

  * tests/rddspeed.prg
    * Uncommented #define TST_NUM

2003-11-04 01:55 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * contrib/rdd_ads/ads1.c
    * added an optimization for ordKeyNo() and dbOrderInfo(DBOI_POSITION)

  * contrib/rdd_ads/doc/en/readme.txt
    * added a page about speed and performance issues.
  * contrib/rdd_ads/doc/en/adsfuncs.txt
    * fixed docs for AdsGetRelKeyPos (it only operates on the current index)
    * added docs for AdsSetRelKeyPos, AdsTestRecLocks( <lOnOff> ),
         AdsIsExprValid(cExp) and AdsGetLastError()


2003-11-04 09:22 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/make_tgz.sh
  * xharbour/bin/!pack_src.sh
    + automatic xharbour version detection

  * xharbour/include/hbdefs.h
    + new macros for LITTLE/BIG ENDIAN conversions

  * xharbour/include/std.ch
    + ORDCOND implemented - I did it based on CL 5.3 NG documentation
      then I found that this function doesn't exist in CL 5.3
      so maybe we should remove it.

  * xharbour/source/rdd/dbcmd.c
    + ORDKEYGOTO() implemented - currently only in DBFCDX (not ready yet)
    + ORDSKIPUNIQUE() implemented - currently only in DBFCDX
    + ORDDESCEND() implemented - currently only in DBFCDX
    + ORDISUNIQUE() implemented - currently only in DBFCDX
      this function has xHarbour extension which doesn't exist
      in Clipper. You can use third param to make nonunique
      index to work like unique one. In some cases it's better
      then standard unique index because it's still full updated
      index and only records shown to program are unique.
    ! bug in ORDSCOPE fixed

  * xharbour/source/rdd/dbfuncs.prg
    + fourth param in DBSETRELAT()

  * xharbour/source/rdd/rddord.prg
    + ORDSETRELATION()
  * xharbour/source/rtl/dummy.prg
    + removed implemented functions

  * xharbour/include/hbrddcdx.h
  * xharbour/source/rdd/dbfcdx/Makefile
  * xharbour/source/rdd/dbfcdx/dbfcdx0.prg
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
  * xharbour/source/rdd/dbfcdx/dbfcdx1.h
  - xharbour/source/rdd/dbfcdx/dbfcdx2.h
    * new rewriten DBFCDX

  * xharbour/source/vm/errorapi.c
    + GPF on internal error when //ERRGPF command line switch is used

  * xharbour/source/rtl/gtcrs/Makefile
  * xharbour/source/rtl/gtcrs/gtcrs.c
    + HB_GT_CRS_BCEHACK - hack for buggy terminals which cannot implement
      correctly BCE (like Putty) - strictly ncurses oriented, disabled by
      default.

  + xharbour/tests/testuniq.prg
    * simple program to demonstrate how works dynamic user setable
      unique flag

  + xharbour/tests/rddspeed.prg
    * test of index updating speed

  + xharbour/tests/rddtest/mktst.bat
  + xharbour/tests/rddtest/out.prg
  + xharbour/tests/rddtest/rddmktst.prg
  + xharbour/tests/rddtest/rddtst.prg
    * program to test RDD. In rddmktst.prg you can put any functions
      or commands you want to test. Then run mktst.bat in Clipper 5.3
      environment. It builds out.prg which then should be compiled
      by xHarbour. When you run it it display the tests results.

2003-11-03 22:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + contrib/libct/strfile.prg
  + contrib/libct/fcopy.prg
    * Source code for Filecopy,filecopen,fileapped provided by piero
  ! contrib/libct/Makefile.*
    ! All makefile updated to handle new source filess added


2003-11-03 12:10 UTC-0800 Brian Hays <bhays@abacuslaw.com>

  * include\common.ch
    * changed #translate to #xtrans... to avoid compile errors with
      shorter instances of the tokens, such as TSBrowse's func IsChar

  * contrib/rdd_ads/ads1.c
    + added bTestRecLocks handling in adsPutValue

  * contrib/rdd_ads/adsfunc.c
    + added AdsTestRecLocks( lOnOff )
    + added AdsVersion([<nType>]), copied from Harbour.
    SEE DISCUSSION BELOW

  * source\rtl\persist.prg
      * removed tracelog
      + added lIgnoreBadIVars to LoadFromFile and LoadFromText
         Once you distribute an app that stores any properties in memos
         or text files, if you modify the class and remove an ivar the Load
         would throw a "No message" error trying to read the obsolete
         ivar. Now just pass a second parameter of .t. and errors in
         macro expanding each line are ignored.


   ADS has Implicit Record locking that can mask programming errors.
   Implicit locking can occur the first time a value is written to a
   field with no lock in effect. The lock can potentially remain in
   effect indefinitely if the record pointer is not moved, causing
   bugs later in program execution that are hard to find.

   The bTestRecLocks flag can be set using
         AdsTestRecLocks( lOnOff )        in adsfunc.c.
   If ON, we see if the file is open exclusively or locked, and whether
   the record has been explicitly locked already. If not, we throw
   an error so the developer can catch the missing lock condition.
   For performance reasons, Release code should leave this OFF.
      Although the call to AdsIsRecordLocked is documented as a client
      call, not a server request, and should be fast, it will be
      called for EACH FIELD as it is assigned a value.
   Thanks to Randy Portnoff for the idea!


2003-11-03 07:10 UTC+1000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * sitesvr/Makefile
    ! Added latest dbf libs

  * sitesvr/sitesvr.prg
    ! Each thread must now call SELECT to retreive the wanted area pointer.

  * config/linux/gcc.cf
    ! Updated for non-mt DBFNTX and DBFCDX libraries.

2003-11-03 06:26 UTC+1000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  - utils/hbdict/bld_b32.bat
    - useless file removed
  * utils/hbdict/make_b32
    ! Ops... wrong dos label format fixed

2003-11-03 05:50 UTC+1000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hbi18n.c
    + Added HB_I18NInitialized() to test for correct I18n initialization.

  * utils/hbdict/make_b32.bat
  * utils/hbdict/bld_b32.bat
  * utils/hbdict/Makefile
    ! Make process now copies internationalization files into $HB_BIN_INSTALL
      with hbdict_ prefix.
    ! (should be) fixed windows make process in make_b32.bat. bld_b32 will
      be removed as soon as tested.

  * utils/hbdict/hbdict.prg
    * Now the internationalization files are read also from the program
      starting directory.

  * doc/hbi18n.txt
    + Added documentation for HB_I18nInitialized() and a little example code
      slice

2003-11-01 21:24 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Minor additional fix to hb_strAtSkipStrings() to correctly support stringify result pattern <"x">.

2003-11-01 20:49 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    * Minor correction to handling of ~
    * Added bAutCompile optional param to PP_PreProText()

  * tests/pp_harb.ch
    * Added .F. for bAutoCompile in call to PP_PreProTExt()
    * Commented out non used ScriptSiteAutomateGlobals()

2003-11-02 05:30 UTC+1000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * utils/hbdict/hbdict.prg
  * utils/hbdict/i18n/it_IT.hit
    * Using Tbrowse and TEdit to make the program more appealing.
      Still not complete, but very near to be now.

2003-11-02 00:49 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * contrib/rdd_ads/ads1.c
  * contrib/rdd_ads/adsfunc.c
  * contrib/rdd_ads/adsmgmnt.c
    ! Some code formating to have {} blocks always there.

2003-11-01 11:22 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Minor fix to hb_strAtSkipStrings() to correctly support stringify result pattern <"x">.

2003-11-01 14:10 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * contrib/rdd_ads/adsfunc.c
  * contrib/rdd_ads/doc/en/adsfuncs.txt
    + Added 2nd (ignored) & 3rd params to adsKeyNo() in order to perform like OrdKeyNo() for other RDD's.
      The default remains ADS_IGNOREFILTERS for compatibility (like adsKeyCount() does).
      Thanks to Luis Krause Mantilla for this.

2003-10-31 22:00 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.slx
  * source/compiler/harbour.sly
    + Added support for CATCH without a Catcher variable.
      TRY
         ...
      CATCH
         ...
      END

  * source/macro/macro.slx
    ! Fixed GPF trap when 2 IDENTIFIER tokens in sequence (syntax error).

  * source/pp/ppcore.c
    + Added: ULONG HB_EXPORT hb_strAtSkipStrings( const char * szSub, ULONG ulSubLen, const char * szText, ULONG ulLen )
    * Modified ConvertPatterns() to use hb_strAtSkipStrings() instead of hb_strAt() to avoid text of literal strings.
    ! Minor fix to RemoveSlash() when a '\' is being removed and bDirective == FALSE to avoid skipping the next charcter.
    * Spell corrected "Unclosed repeatable group '[%s'".

  * source/rtl/win32ole.prg
    ! Added missing INIT qualifier in 'PROCEDURE Initialize_Ole'.
    + Added logic to raise error in METHOD New(), and METHOD GetActiveObject() on failure to retrive an OLE Object.

  * tests/testole.prg
    * Modified to use TRY CATCH blocks instead of Ole2TxtError() to catch new error conditions.

  * tests/rp_run.ch
    + Added #command FIELDS ...

  * tests/pp.prg
    * Minor fixes.
    * Refreshed built-in rules from rp_run.ch
    + Added ability to override built-in rules for Interpreter with rp_run.ch.

2003-10-31 10:30 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * contrib/rdd_ads/ace.h
  * contrib/rdd_ads/makefile.bc
    ! updated to version 7.0 from the Advantage SDK package.

2003-10-30 20:27 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    + Added logic to skip literal strings in ConvertPatterns()

  * tests/pp.prg
    + Added logic to skip literal strings in CompileRule()

2003-10-30 15:56 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    * Added '.' as a continuation token in 2nd phase of NextExp().

2003-10-29 14:28 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  - include/struct.ch
  + include/hbstruct.ch
  ! tests/struct.prg
    renamed struct.ch to hbstruct.ch to prevent conflicts with fivewin.

2003-10-29 09:00 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /rtl/console.c
    hb_conDevPos() (DEVPOS())
      Fix compatibility problem for repeated @ nRow,nCol SAY ".." where nRow has the same
      row value and nCol is <= the previous value of nCol
      Should be 100% Clipper (5.2e) compatible now

    HB_FUNC( __EJECT )
     change: hb_fsWrite( hb_set.hb_set_printhan, ( BYTE * ) "\x0C\x0D", 2 );
         to: hb_fsWrite( hb_set.hb_set_printhan, ( BYTE * ) "\x0C", 2 );
     Clipper ( 5.2e) does not send "\x0D"

2003-10-28 00:22 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Changed hb_ppNextToken() to accept a 2nd paramater sToken (pointer to token to return).
    ! Fixed WorkMarkers() to use hb_ppNextToken() when extracting next stopper.

2003-10-27 13:23 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.slx
    * Added || iLastToken == OPTIONAL to IF_BELONG_LEFT macro to allow Opti[onal] as an array name.

2003-10-27 11:45 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * source/rtl/tobject.prg
  * include/struct.ch
  * tests/struct.prg
    + Add support for command Structure / Member / EndStructure to create
      objects using Associative Arrays.

2003-10-27 04:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/strcase.c
    * removed unused nLen in str...Upper...()

2003-10-26 12:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Clipper compatability of '.' handling in GetExpReal().
      /*
         In Extended Marker '.' should be accepted unconditionally.
         In non Extended Marker '.' starts a new numeric exp if following charcater is a digit
         even if preceding character is a digit which terminates and alphanumeric token
         (identifier).

         Once entering a numeric token, numeric extraction ends on first non digit character,
         even if continues.

         If character following a '.' is alpha it's accepted uncondtionally.
       */

  * contrib/Whoo/source/types.ch
    % Optimized #translate to #xcommand.

2003-10-20 19:38 UTC+1000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/rtl/gtwin/gtwin.c
     ! Under WIN98 & WIN95, ALTGR is returned as just RIGHT_ALT pressed in
       ReadConsoleInput(); before, it was impossible to use correctly ALT-GR
       generated characters under win98.

2003-10-25 20:33 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * include/hbclass.ch
     * Minor corrections to comply with PP.

  * include/hberrors.h
    + Added:
       #define HB_PP_ERR_UNCLOSED_OPTIONAL             21
       #define HB_PP_ERR_UNCLOSED_REPEATABLE           22
       #define HB_PP_WARN_NO_MARKERS                   3

  * source/pp/ppcore.c
    + Added to hb_pp_szErrors[]:
       "Unclosed optional group '[%s'",
       "Unclosed repeatable group '[%s'"
    + Added to hb_pp_szWarnings[]:
       "1No markers in repeatble group [%s] - group will never be used."
    + Added logic to detect and produce errors on unclosed optional groups,
      and unclosed repetable groups
    + Added logic to detect and produce warning for repeatble groups without any markers.
    + Added 2nd BOOL param to RemoveSlash, when set to TRUE scaning and removing residual uninstanciated repeatble groups.

  * tests/pp.prg
    + Added logic to detect and produce errors on unclosed optional groups,
      and unclosed repetable groups
    + Added logic to detect and produce warning and skip repeatble groups without any markers.

  * include/hbexprb.c
  * source/common/expropt1.c
    ! Fixed compliation of macro aliased expression &(...)->( ... ) and &Macro.Suffix->( ... )

2003-10-25 16:01 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Minor optimization to stringify logic of macros.
    ! Fixed getExpReal() to be Clipper compatible in handling of '.'
      /* In Clipper it's a continuation character, unless following charcter is
         of class (numeric/alpha) different than preceding character. */

  * tests/pp.prg
  * tests/pp_harb.ch
    ! Fixed NextExp() to be Clipper compabitble in handling of '.'
    ! Minor fixd to NextExp() handling of Extended Match Marker.

2003-10-24 01:30 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/valtype.c
    + HB_ISNIL()
    + HB_ISCHAR()
    + HB_ISMEMO()
    + HB_ISNUM()
    + HB_ISLOGIC()
    + HB_ISDATE()
    + HB_ISARRAY()
    + HB_ISOBJECT()
    + HB_ISBLOCK()
    + HB_ISPOINTER()
      This new functions are equivalent to VALTYPE( x ) == ...
           Ex: HB_ISLOGIC(x) is equal to VALTYPE(x) == "L"
      but generate more compact and quicker code.
  * include/common.ch
    * add replaces using new HB_IS...() functions.
  * source/rtl/tbrowse.prg
    ! Fix minor bug initializing.
    ! Fix minor bug executing configure() before the first execution.
      Reported by Lars Hedman

2003-10-23 21:30 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/menuto.prg
    ! minor Fix to last Ron Changes( the selection bar dont apear, it was only apearing
     if menuto was passed an color string)
     Error Reported by Vera Lemos(vlplemos@uol.com.br) (Run tests\menutest.prg press f8,
      try with and with out my change)

2003-10-23 15:03 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Minor fix to ']' compilation in ConvertPatterns()

2003-10-24 09:16 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /include/hbset.c
    remove redundant extern declaration
      OpenWinPrinter() etc...

2003-10-23 02:49 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Added missing () to 2 expressions involving && and || which caused a silly bad bug (discovered by Przemek).

2003-10-23 03:03 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/cstruct.ch
    * Corrected to comply with new more Clipper compatible handling of dynamically generated #directives.

2003-10-23 01:59 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    * Changed ConvertPatterns() to compile '[' (optional marker) into '\16' and ']' into '\17', and to process result pattern too.
    * Changed all logic related to optional markers and repeated groups to use '\16' and '\17' instead of '[' and ']'
    ! Fixed hb_pp_ParseExpression() to keep as one unit dynamically generated #directive followed by NON #directive
      /* Clipper compabtibility. */
  * source/pp/pptable.c
    * Modified compiled rules to reflect above change.

  * include/hbclass.ch
    * Corrected to comply with new more Clipper compatible handling of dynamically generated #directives.

  * tests/pp.prg
    ! Fixed PP_PreProLine() to keep as one unit dynamically generated #directive followed by NON #directive
    * Refreshed InitClsRules() + InitClsResults() and InitRunRules() + InitRunResults().

  * tests/ppclass.ch
    * Synched with hbclass.ch

  * tests/rp_run.ch
    * Minor revisions

  * source/rtl/menuto.prg
    * Reformatted ugly construct:
        ----------------------------------------------------------------------
         if Set( _SET_INTENSITY )

              if(cFrontColor <> nil ,cFrontColor, ColorSelect( CLR_STANDARD ))
         //   ColorSelect( CLR_STANDARD )
         endif
        ----------------------------------------------------------------------

        to:

        ----------------------------------------------------------------------
         IF Set( _SET_INTENSITY )
            IF cBackColor <> Nil
               ColorSelect( CLR_ENHANCED )
            ENDIF
         ENDIF
        ----------------------------------------------------------------------

       and:

        ----------------------------------------------------------------------
         DispOutAt( nRow, nCol, cPrompt, if( cColor <> NIL , cColor , NIL ) )
        ----------------------------------------------------------------------

       to:

        ----------------------------------------------------------------------
         DispOutAt( nRow, nCol, cPrompt, cColor )
        ----------------------------------------------------------------------

        /*
        I'm surprised we have such code in our sources, and hope that our users
        never discover this kind of horrible code. :-(
        */

    /*
      NOTE: Pre-Processor fixes are tested on all of xHarbour and all of FWH prg sources,
      but may very possibly introduce some new problems [that should be easy to fix]
      due to the involved nature ot the logic which was redesigned.
     */

2003-10-23 14:34 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /rtl/set.c
    SET PRINTER ON/OFF
      Fix to be Clipper compatible
      (Printing now works if no "SET PRINTER TO [<xcDevice> | <xcFile>]" command issued

2003-10-22 19:40 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * bin/!pack_src.sh
    ! added some new contrib dir to list
  * xharbour.spec
    ! Now create an xharbour-contrib package that contains the libs
    libct* libnf* libmysql*  and librddads*
  * utils/hbmake/hbmake.prg
    ! minor fix on compiler error catch

2003-10-23 09:35 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /rtl/console.c
    hb_conDevPos() (DEVPOS())
      Fix to work correctly with SET DEVICE TO PRINTER

    HB_FUNC( __EJECT )
     change: hb_fsWrite( hb_set.hb_set_printhan, ( BYTE * ) "\x0C\x0D", 2 );
         to: hb_fsWrite( hb_set.hb_set_printhan, ( BYTE * ) "\x0D\x0C", 2 );

2003-10-22 11:32 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * source/compiler/harbour.slx
     * Minor fix ro last literal strings optimization.

2003-10-22 02:05 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * source/rdd/dbcmd.c
    * fixed ordScope to default first parm to 0

2003-10-21 23:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * contrib/mysql/tmysql.prg
    ! fixed bug on MakePrimaryKeyWhere() Thanks to report Rodrigo Moreno
  * source/rtl/gtsln/kbsln.c
    ! remove automatic define of HB_SLANG_ONE_ESC

2003-10-21 11:35 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.vc
  * makefile.nt
  * hrbdll.vc
    + source/rtl/hbservice.c

2003-10-21 10:40 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/dbsdf.prg
    * correct case statement

2003-10-20 13:53 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * tests/pp.prg
    * Minor fix in NextExp() for macro expressions.

  * source/pp/ppcore.c
    * Minor fix to last post.

2003-10-20 11:43 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
    + Added support for DO <proc> WITH @VarName ...
      /* Clipper compatability. */

  * tests/pp.prg
  * source/pp/ppcore.c
    ! Fixed support for stringify of a macro exp.
      /* Clipper compatability. */

  * source/vm/codebloc.c
    % Optimized and improved detached locals support.

2003-10-20 04:10 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * makefile.bc
    + Added support for compiling hbservice.c

  * source/rtl/hblog.prg
    ! Corrected HB_BldLogMsg, internally used by LOG command, that trimmed
      return characters.

  * source/rtl/hbservice.c
    ! Fixed support for windows
    + Added handling of console signals (CTRL+BREAK and console closing)

  * source/vm/fm.c
    ! Not recording stats in hb_xgrab() if the HB_VM_STACK is not available.

  * tests/service.prg
    % Beautify
    + Recording on file.

2003-10-19 23:00 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/rdd/dbcmd.c
    ! Fixed rddMoveFields() to use the proper workarea method to
      retrieve filed names.

2003-10-19 19:36 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
    * Corrected minor typo.

2003-10-19 15:41 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
    * Added condition to recent stack scanning addition.

2003-10-19 11:37 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
    + Added logic to scan the stack to find possible aditional references to value being detached.

2003-10-19 11:11 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
    * Corrected a typo discovered by Walter.

2003-10-19 11:04 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
    * Additional logic to recent fix of detached locals.

  * tests/rp_run.ch
    * Minor fix related to Wild Match Marker becoming a more greedy.
  * tests/pp.prg
    * Minor fix related to Wild Match Marker becoming a more greedy.
    ! Minor optimization sPending => s_sPending

2003-10-18 23:14 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * contrib/Whoo/source/TCustomForm.prg
  * contrib/Whoo/source/TForm.prg
  * contrib/Whoo/source/controls.prg
    ! Minor fixes.

2003-10-19 01:05 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix minor bug in initialization at first display.

2003-10-19 02:59 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/vm/thread.c
      ! Fixed windows compilation
   * tests/mterror.prg
      * Intestation more centered in the screen (;-).

2003-10-19 02:10 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * include/thread.h
   * source/vm/thread.c
   * source/vm/garbage.c
      + Added support for "Explicit idle inspecting". An idle inspector
        (a thread that knows that it is running alone with no other threads)
        won't be blocked when trying to acquire the lock on the stack;
        it will be considere "alone" if executing VM instructions, and
        all the MT cares will be dropped.


   * source/vm/hvm.c
      + Added support for GLOBAL vm termination request. When a thread
        terminates issuing a LOCAL termination request, as soon as this
        VM_QUIT request is fulfilled, the request is turned into a GLOBAL
        TERMINATION request, that forcess all other threads to cleaunp
        cleanly as soon as possible and terminates the main thread.
      + Added support for hb_vmQuit() called from non-main thread. In MT,
        when a thread calls hb_vmQuit() (generally because of an error),
        then it is cleanly terminated and a GLOBAL VM termination request
        is given. This will make the main thread to cleanly shut all the
        VM (one for each thread) as soon as possible.

   * source/vm/errorapi.c
      + Added support for reporting error as idle inspector. Error is reported
        AFTER blocking every other thread and WHILE being the only thread
        running; soon after error-quit request, the thread is terminated
        and a GLOBAL quit request is risen.

   * source/rtl/errorsys.prg
      ! Typo in OS thread error reporting in error.log

   * source/rtl/console.c
      ! Removed an extra lock in hb_conDevPos() that was left by mistake.

   + tests/mterror.prg
      + Test to display cancelation and error reporting/quitting under MT.

2003-10-18 18:20 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * include/thread.h
   * source/vm/thread.c
      ! Fixes for windows threading.

   * tests/mtcomplex.prg
      ! Small updates

2003-10-18 16:09 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/vm/garbage.c
   * source/vm/thread.c
      ! Corrected startup & termination sequences, expecially under linux

   * include/thread.h
      * removed some comments

   * tests/mtgc.prg
      + Added a warning.


2003-10-18 13:25 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/pp/pptable.c
      ! fixed typo in SET OUTPUT SAFETY declaration.

2003-10-18 12:38 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/vm/thread.c
      ! Posix Compliancy: pthread_t may NOT be a scalar, and needs to be
        tested for equaility with pthread_equal(a,b)
      ! hb_mutexForceUnlock() unlocks target mutex all the needed times.
      ! fixes in subscribe().

2003-10-18 04:20 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/rtl/console.c
   * source/vm/thread.c
   * include/hbset.h
      ! finetues for linux version of last changelog

2003-10-18 03:10 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * include/hbset.h
   * include/set.ch
   * source/rtl/console.c
   * source/rtl/set.c
   * source/pp/pptable.c
      ! @ ..SAY syntax now is expanded in just one DevOut[PICT]() instruction,
         resulting in faster code and ability to control MT cursor + string output
         sequence
      + Added command SET OUTPUT SAFETY [ON]/[OFF] (defaults to on); when turned on
        CONSOLE (devout & companions) operations are mutexed out. When turned off,
        this safety is disable allowing faster rewrite and more resistance to
        async cancelation. Usually, you will want to have that turned on. Command is
        compiled also in ST, but has effect only in MT.
        WARNING: Changing safety status when threads are started has undefined
         results.

        TODO: implement it in SAY..GET

   * include/hbapi.h
   * include/thread.h
   * source/vm/garbage.c
   * source/vm/thread.c
      ! WOW!!! With the Terekhof algorithm, conditions are handled almost alike
        pthreads on windows, and this allows to drop the cumbersome idle subscription
        system I've been forced to adopt under windows for GC. Now, windows and
        unix GC are the same, using the elegant condition check + idle fence
        algorithm, and also many other aspects are converging.

   * tests/mtcomplex.prg
   * tests/mtgc.prg
   * tests/mtstress.prg
      + Added proper SET OUTPUT SAFETY.
      % more tests

2003-10-16 13:27 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/codebloc.c
    * Minor fix for detached locals.
  * source/vm/hvm.c
    * Minor fix to HB_QSELF()

2003-10-14 08:21 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/memvars.c
    ! Fixed __MVRESTORE() to support SET PATH setting.

  * include/hbver.h
    * Signaled as Build 91.1 and updated last change log to this entry.

  Taged CVS as "Build-91-1"

2003-10-13 19:50 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
    ! Fixed getExpReal() to terminate on ']' if StBr2 == 0
    ! Fixed getExpReal() to terminate on '}' if StBr3 == 0
    /* This fixes literal initialization of TAssociativeArray with 1 pair,  reported by Francesco. */

2003-10-13 22:40 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    ! fixed bug when indexing with relations

2003-10-12 22:19 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/pp/ppcore.c
  * tests/pp.prg
    + Added logic to make Wild Match Marker more greedy (match beyond a <;> (in line newline).
      /* This fixes Clipper compatibility error reported by Przemek. */

2003-10-13 00:40 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbdoc/genpdf.prg
    utils/hbdoc/genrtf.prg
    utils/hbdoc/hbdoc.prg
    ! renamed harbour string to xharbour
  * source/odbc/sql.ch
    * Added some new defined
  * source/odbc/odbc.c
    + SETNUMLEN() function
  * source/odbc/todbc.prg
    ! Changed method Loaddata to return the proper type on field buffer(numeric)
  - doc/genhtm.rsp
  - doc/genhtm.lnk
    ! removed old docs makefiles
  + doc/xharbour.lnk
  + doc/xharbour.rsp
    ! added new xharbour response files for hbdoc
  * doc/genhtm.bat
    ! minor update

2003-10-13 02:03 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/include/hbapirdd.h
    * indenting

  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    * bug reported on xHarbour news fixed - there is many others I've found
      but you will have to wait for new DBFCDX. It's a waste of time for me
      to fix the old one.

  * xharbour/source/rdd/dbfntx/dbfntx1.c
    * fixed bug in ordcreate() when KEY or FOR expression was given as
      string only not a codeblock

  * xharbour/contrib/rdd_ads/ads1.c
    * 'default:' add in switch for enum type to avoid warnings

2003-10-11 13:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  *make_rpm.sh
   make_tgz.sh
   bin/pack_src.bat
   bin/pack_src.sh
    ! updated version number to 0.91

2003-10-11 10:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/hbservice.c
    ! protect the code with #if !defined(__DJGPP__)/#endif
  * source/vm/Makefile
    ! exclude thread.c from djgpp compilation
  * utils/hbdict/hbdict.prg
    !   ThreadSleep( 10 ) only added if DJGPP is not defined
  * utils/hbdict/Makefile
    !   added PRG_USR = -DDJGPP when compiling with djgpp

2003-10-10 10:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbver.h
    * Signaled as "Build-91" and updated last change log to this entry.

2003-10-10 11:08 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  - dll_55.bat

2003-10-10 08:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makefile.vc
  * makefile.nt
  * contrib/htmllib/makefile.vc
  * contrib/internet/makefile.vc
  * contrib/libct/makefile.vc
  * contrib/libmisc/makefile.vc
  * contrib/libnf/makefile.vc
  * contrib/mysql/makefile.vc
  * contrib/tip/makefile.vc
  * contrib/what32/makefile.nt
  * contrib/what32/makefile.vc
  * contrib/whoo/makefile.nt
  * contrib/whoo/makefile.vc
  * contrib/woopgui/makefile.nt
  * contrib/woopgui/makefile.vc
  * contrib/xwt/makefile.nt
  * contrib/xwt/makefile.vc
    * obj to prg dependance improved (really, I mean it...)
  * contrib/xwt/makefile.nt
  * contrib/xwt/makefile.vc
    + src/xwt_win/xwt_win.c
    + src/xwt_win/xwt_win_framewnd.c
    + src/xwt_win/xwt_win_msgbox.c
  * contrib/xwt/makefile.bc
    * minor change to del command
  * contrib/xwt/make_vc.bat
    - gtk message

2003-10-09 10:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * utils/hbmake/hbmake.prg
    ! just an little rename on lib name to link dll(was hbdll_[vc|bc] to harbour

2003-10-09 23:40 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/arrayshb.c
    ! Fixed minor bug with aAdd(), aIns(), aDel(), aSize(), aCopy(), aFill(), aEval() when params were passed BYREF.
      the passed value would be lost when it is also the return value of the function. (Reported by Brian Hays.)

  /*
     For aAdd() and aIns() I believe that the correct fix is to actually add the item BYREF as is the case with:

      aVar := { @VarByRef }

     The fix will be very simple, and the code will actually be faster, but I wanted to wait till after build 91,
     and to possibly receive your input.
  */

2003-10-09 21:18 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbexprb.c
  * include/hbexprop.h
  * source/common/expropt1.c
  * source/compiler/exproptb.c
  * source/compiler/harbour.sly
    + Added support for Macro messages to objects:
        - <Obj>:&Macro
        - <Obj>:&Macro.Suffix
        - <Obj>:&( <MacroExp> )

    + Added support for Macro messages to WITH OBJECT <:>:
        - :&Macro
        - :&Macro.Suffix
        - :&( <MacroExp> )

  + tests/tstoomac.prg
    * New test of new OOP macro capability.

2003-10-10 13:14 GMT+1200 Peter Rees <peter@rees.co.nz>

  * /rtl/console.c
    __EJECT() fix to respect SET PRINTER ON

  * /doc/es/print.txt
    change example for GETPRINTERS()

  * /tests/testwprn.prg
    minor change

2003-10-10 03:15 UTC+0300 Phil Krylov <phil@mail.ru>
  * source/debug/dbgwa.prg
    * Corrected the file header.
    ! Fixed a problem with empty work areas.

2003-10-10 11:57 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /rtl/tprinter.c
    GETPRINTERS() & hb_PrinterExists() alway check EnumPrinter() & GetPrinter() bytes need
    return value & hb_xgrab() return value

2003-10-09 16:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/Makefile
    - source/rtl/tprint.c

2003-10-09 16:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  - source/rtl/tprint.c
  * makefile.vc
  * makefile.nt
  * makefile.bc
  * hrbdll.bc
  * hrbdll.vc
    - source/rtl/tprint.c
  * source/rtl/set.c
    * casts, removed unused pfile @ 265

2003-10-10 07:35 GMT+1200 Peter Rees <peter@rees.co.nz>
  * Note: Changes only affect Win32
  * /rtl/set.c
    removed "WIN:" printing setup
    Support for Windows SET PRINTER TO (cPrinterName) added

  * /rtl/tprinter.c
    remove all THarbourPrinter_() functions and associated statics
    PRINTEREXISTS() & hb_PrinterExists() added

  * /rtl/tprint.c
    file is now redundant - can be deleted

  * /rtl/console.c
    remove code related to "WIN:" printing

  * TODO: Support SET PRINTER TO CON ?????
  *       add SET( _SET_PRINTERJOB,,) to set "Document Name" in spooler ????

2003-10-09 01:20 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/libnf/makefile.vc
    * output is libnf.lib
  + contrib/libnf/makefile.bc
  + contrib/libnf/make_b32.bat
  + contrib/libnf/make_vc.bat
  * contrib/libnf/dispc.c
    * casts as required
    * corrected a logic error (&& 512)
    * resolved if( somlog == YES ) to just if (somelog)
  * contrib/libnf/easter.prg
    * removed __setCentury()
    * simplified return value.
  * makallvc.bat
  * makallbc.bat
    + libnf
  * makefile.vc
  * makefile.nt
  * contrib/htmllib/makefile.vc
  * contrib/internet/makefile.vc
  * contrib/libct/makefile.vc
  * contrib/libmisc/makefile.vc
  * contrib/libnf/makefile.vc
  * contrib/tip/makefile.vc
  * contrib/what32/makefile.nt
  * contrib/what32/makefile.vc
  * contrib/whoo/makefile.nt
  * contrib/whoo/makefile.vc
  * contrib/woopgui/makefile.nt
  * contrib/woopgui/makefile.vc
  * contrib/xwt/makefile.nt
  * contrib/xwt/makefile.vc
    * obj to prg dependance improved.

2003-10-09 10:59 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /doc/en/print.txt
  * /tests/testwprn.prg
    Altered to reflect changes in GETPRINTERS() & PRINTFILERAW()

2003-10-08 11:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + contrib/libnf/aading.prg
  + contrib/libnf/makefile
  + contrib/libnf/aavg.prg
  + contrib/libnf/acctadj.prg
  + contrib/libnf/acctmnth.prg
  + contrib/libnf/acctqtr.prg
  + contrib/libnf/acctweek.prg
  + contrib/libnf/acctyear.prg
  + contrib/libnf/adessort.prg
  + contrib/libnf/aemaxlen.prg
  + contrib/libnf/aeminlen.prg
  + contrib/libnf/alt.c
  + contrib/libnf/amedian.prg
  + contrib/libnf/anomatch.prg
  + contrib/libnf/any2any.prg
  + contrib/libnf/aredit.prg
  + contrib/libnf/asum.prg
  + contrib/libnf/at2.prg
  + contrib/libnf/bitclr.prg
  + contrib/libnf/bitset.prg
  + contrib/libnf/blink.prg
  + contrib/libnf/byt2bit.prg
  + contrib/libnf/byt2hex.prg
  + contrib/libnf/byteand.prg
  + contrib/libnf/byteneg.prg
  + contrib/libnf/bytenot.prg
  + contrib/libnf/byteor.prg
  + contrib/libnf/bytexor.prg
  + contrib/libnf/calendar.prg
  + contrib/libnf/caplock.c
  + contrib/libnf/chdir.c
  + contrib/libnf/clrsel.prg
  + contrib/libnf/cntryset.prg
  + contrib/libnf/color2n.c
  + contrib/libnf/ctrl.c
  + contrib/libnf/d2e.prg
  + contrib/libnf/datecnfg.prg
  + contrib/libnf/dayofyr.prg
  + contrib/libnf/daytobow.prg
  + contrib/libnf/dectobin.prg
  + contrib/libnf/descend.c
  + contrib/libnf/dfile.prg
  + contrib/libnf/dhkey.h
  + contrib/libnf/diskfunc.prg
  + contrib/libnf/dispc.c
  + contrib/libnf/dispmsg.prg
  + contrib/libnf/dosver.prg
  + contrib/libnf/e2d.prg
  + contrib/libnf/easter.prg
  + contrib/libnf/elapmil.prg
  + contrib/libnf/elapsed.prg
  + contrib/libnf/eltime.prg
  + contrib/libnf/findith.prg
  + contrib/libnf/firstday.prg
  + contrib/libnf/floptst.prg
  + contrib/libnf/ftattr.c
  + contrib/libnf/ftint86.ch
  + contrib/libnf/ftmenuto.ch
  + contrib/libnf/gcd.prg
  + contrib/libnf/getenvrn.c
  + contrib/libnf/getver.c
  + contrib/libnf/getvid.c
  + contrib/libnf/hex2dec.prg
  + contrib/libnf/idle.c
  + contrib/libnf/invclr.prg
  + contrib/libnf/isbit.prg
  + contrib/libnf/isbiton.prg
  + contrib/libnf/isshare.prg
  + contrib/libnf/kspeed.c
  + contrib/libnf/lastday.prg
  + contrib/libnf/linked.prg
  + contrib/libnf/madd.prg
  + contrib/libnf/make_b32.bat
  + contrib/libnf/make_vc.bat
  + contrib/libnf/makefile.vc
  + contrib/libnf/menu1.prg
  + contrib/libnf/menuto.prg
  + contrib/libnf/metaph.prg
  + contrib/libnf/miltime.prg
  + contrib/libnf/min2dhm.prg
  + contrib/libnf/mkdir.c
  + contrib/libnf/month.prg
  + contrib/libnf/mouse.c
  + contrib/libnf/mouse1.prg
  + contrib/libnf/mouse2.prg
  + contrib/libnf/n2color.c
  + contrib/libnf/nanfor.bc
  + contrib/libnf/netpv.prg
  + contrib/libnf/nooccur.prg
  + contrib/libnf/ntow.prg
  + contrib/libnf/numlock.c
  + contrib/libnf/nwlstat.prg
  + contrib/libnf/nwsem.prg
  + contrib/libnf/nwuid.prg
  + contrib/libnf/ontick.c
  + contrib/libnf/origin.c
  + contrib/libnf/page.prg
  + contrib/libnf/pchr.prg
  + contrib/libnf/peek.c
  + contrib/libnf/pegs.prg
  + contrib/libnf/pending.prg
  + contrib/libnf/pickday.prg
  + contrib/libnf/poke.c
/libnf/page.prg
  + contrib/libnf/pchr.prg
  + contrib/libnf/peek.c
  + contrib/libnf/pegs.prg
  + contrib/libnf/pending.prg
  + contrib/libnf/pickday.prg
  + contrib/libnf/poke.c
  + contrib/libnf/popadder.prg
  + contrib/libnf/proper.c
  + contrib/libnf/prtesc.prg
  + contrib/libnf/prtscr.c
  + contrib/libnf/pvid.prg
  + contrib/libnf/qtr.prg
  + contrib/libnf/rand1.prg
  + contrib/libnf/readme.txt
  + contrib/libnf/restsets.prg
  + contrib/libnf/rmdir.c
  + contrib/libnf/round.prg
  + contrib/libnf/savearr.prg
  + contrib/libnf/savesets.prg
  + contrib/libnf/scancode.prg
  + contrib/libnf/scregion.prg
  + contrib/libnf/setdate.prg
  + contrib/libnf/settime.prg
  + contrib/libnf/shift.c
  + contrib/libnf/sinkey.prg
  + contrib/libnf/sleep.prg
  + contrib/libnf/sqzn.prg
  + contrib/libnf/stod.c
  + contrib/libnf/sysmem.prg
  + contrib/libnf/tbwhile.prg
  + contrib/libnf/tempfile.prg
  + contrib/libnf/test.prg
  + contrib/libnf/vertmenu.prg
  + contrib/libnf/vidcur.prg
  + contrib/libnf/vidmode.prg
  + contrib/libnf/wda.prg
  + contrib/libnf/week.prg
  + contrib/libnf/workdays.prg
  + contrib/libnf/woy.prg
  + contrib/libnf/xbox.prg
  + contrib/libnf/year.prg
    ! added source files to build the nanfor library on xharbour,
     source code was get from harbour cvs

2003-10-08 09:05 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * include/hbapi.h
  * include/hbvm.h
  * source/vm/hvm.c
    * slight corrections to HB_EXPORT usage.

2003-10-08 08:55 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/tprinter.c
    * casts for msvc karma

2003-10-08 20:00 GMT+1200 Peter Rees <peter@rees.co.nz>
  * /rtl/tprint.c
    rename THarbourPrinter_DPGetDefaultPrinter() hb_GetDefaultPrinter()

  * set.c
    rename THarbourPrinter_DPGetDefaultPrinter() hb_GetDefaultPrinter()

  * /rtl/tprinter.c
    + Added
      PRINTFILERAW()
      hb_PrintFileRaw()
      Rewrite GETPRINTERS()
        GETPRINTERS() returns 1D list of printer names GETPRINTERS(.T.) 2d printername,portname


  * /rtl/isprint.c
      Moved to tprinter.c
        HB_FUNC(PRINTERPORTTONAME)
        HB_FUNC(GETPRINTERS)
      Rewrite all function and test on Win98,2000,2000 Server, XP Pro
      Replace malloc()/free() with hb_x..(), fix memory leak

2003-10-07 16:47 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/classes.h
  * include/hbvm.h
  * source/vm/classes.c
  * source/vm/hvm.c
    + Added missing HB_EXPORT

  * tests/tstcstru.prg
    + Added:
      #define HB_NO_DEFAULT_API_MACROS
      #define HB_NO_DEFAULT_STACK_MACROS
    * Removed direct HB_VM_STACK.Return access in favor of hb_retclenAdoptRaw() EXTEND API.
      /* Sample can now be used with DLL R/T. */

  /*
     We need to make sure that our samples do NOT "teach" direct access to HB_VM_STACK (or worse hb_stack).
   */

2003-10-07 18:20 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source\rtl gtapi.c
  * source\rtl mouseapi.c
  * include/hbapigt.h
    * HB_EXPORT on the missing functions.

2003-10-07 15:13 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/set.c
    * Modified set_logical() to receive a 2nd param (the default value).
    * Modified all calls (except 3) to pass the current value as the new default value.
      /* Can someone please review the 3 cases where I didn't know what is the correct value, and correct it? */

2003-10-07 08:40 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/strcase.c
    * hb_strncpyUpper*() Once more, with feeling.

2003-10-06 20:40 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/gtwin/gtwin.c
    * get cursor state before setting new.
  * source/rtl/strcase.c
    * hb_strncpyUpper*() was copying 1 byte short sometimes.
     (reported by M.Lombardo)

2003-10-06 14:30 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbcomp.h
  * source/compiler/harbour.c
    + Added: BOOL hb_comp_bExplicitStartProc (default to FALSE);

  * include/hbvm.h
  * source/vm/hvm.c
    + Added: HB_EXPORT void hb_vmExplicitStartup( PHB_SYMB pSymbol )

  * source/compiler/cmdcheck.c
  * source/compiler/genc.c
    + Added support for new -N2 (Forces application startup procedure.)

    /*
       This allows linkage with the DLL R/T without having to compile the R/T system with -N1
       (by compiling the main prg module with -N2).

       So now we can compile the R/T just once, and use the same objects for both the static
       lib and the dll version, of the R/T.
     */

  * source/compiler/hbusage.c
    + Added help text for new -N2

  * tests/tstcstru.prg
    * Minor correction of hb_stack to HB_VM_STACK

2003-10-06 09:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/gtwin/gtwin.c
    - i_mouselast
    * added 2 casts

2003-10-06 14:05 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/hbrandom.c
    ! when using the format hb_random( n1, n2 ), the interval is now
      high-open (that is, n1 <= hb_random( n1, n2) < n2 )
      (reporting AGAIN for clarity. Fixed under windows).

    + Added HB_RandomSeed() to allow generation of predictable random
      sequences (debugging purposes) and HB_RandomInt that generates
      integer numbers in inclusive intervals:
      /*
      * HB_RANDOMINT
      *
      * HB_RANDOMINT() --> returns 0 or 1, evenly distributed
      * HB_RANDOMINT( N ) --> returns an integer between 1 and N (inclusive)
      * HB_RANDOMINT( x, y) --> Returns an integer number between x and y (inclusive)
      * The integer returned is of the longest type available
      */

      HB_randomInt is ensured to generate evenly distributed numbers in this
      inclusive interval (y or N have the same probability to appare as all
      the other integers in the distribution). The form HB_RANDOMINT( N )
      is directly suitable to be used in array subscriptions or string
      extractions.

2003-10-06 07:35 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * source/rtl/gtwin/gtwin.c
    ! undeclarated variable that causes error when compile with bcc.

2003-10-05 20:29 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
  * source/vm/itemapi.c
    ! Fixed long outstanding issue of item.asLong.length.
      Length now set to 11 if item.asLong.value is >= 1,000,000,000
                     to 20 if <= -1,000,000,000
                     to 10 otherwise.
      /* Clipper compatibility - this fixes problem where sometimes numbers
        (like Windows Handles) are shown as "**********". */

2003-10-06 00:20 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/gtwin/gtwin.c
    source/rtl/gtwin/mousewin.c
    ! Fixed problem on mLeftDown()/mRightdown()
      This is done by reading s_mouseLast value from gtwin, inside
      mouse_IsButtonPressed() function in mousewin.c

2003-10-05 11:55 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
  * source/compiler/hbgenerr.c
    * More refinments of parse errors.

2003-10-05 14:51 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/hbrandom.c
    ! when using the format hb_random( n1, n2 ), the interval is now
      high-open (that is, n1 <= hb_random( n1, n2) < n2 )

2003-10-05 01:25 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/vm/hvm.c
    * slight change to HB_EXPORT
  * include/hbapi.h
    + Added HB_EXPORT to hb_vmRegisterGlobals()
    ! thsee keep msvc happy.

2003-10-04 21:47 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/hvm.c
    + Added HB_EXPORT to hb_vmRegisterGlobals()

2003-10-04 16:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + doc/en/operator.txt
    ! Started doc for operators
  * doc/genhtm.rsp
    + en\operator.txt to list
  * utils/hbdoc/rtf.prg
    ! minor fix

2003-10-04 10:58 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
    ! More improvements to parse erros.
      /* I belive our parse errors now are more helpful then Clipper. */

2003-10-04 11:15 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * source/rtl/tbrowse.prg
    ! Fix Add, Del, Insert and Set of columns, don't evaluate block of
      column in this step if tbrowse is not displayed yet.
      Fix Configure() for initilize all of internal settings of columns
      in the first stabilize.
      Reported by Lars Hedman

2003-10-03 19:48 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * contrib/WoopGUI/env/bccWin32.Mak
     - Removed all settings and settings' dependancy.

   * source/compiler/harbour.slx
     ! Fixed minor bug related to strings that open with <['> or <["> but ending with just <]>
     % Greatly optimized handling of string literals, and Escaped Strings <E"...">.
       /* Compiler appears noticably faster. */

2003-10-02 22:49 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/tobject.prg
    ! Fixed to allow keys of just ONE character.
      /*
         Please note that OOP Syntax must be used with keys of one letter.

         oAA[ 'A' ] will fail because the 'A' is overloaded and used as a
         NUMERIC Index in the context of Arrays.

         Use:

            oAA:A

         Or:
            __ObjSendMsg( oAA, "A" )

         If you need dynmic indirect key support.
       */

2003-10-02 18:17 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/thread.c
    + Added missing HB_EXPORT

  * tests/pp.prg
    * Minor modification to allow RP_Dot to be called directly from other modules.

2003-10-02 20:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/vm/runner.c
    * casts for msvc karma

2003-10-02 18:40 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/vm/runner.c
    ! Changed all calls to fopen, fclose and fread to hb_fs* related
      functions, so hbrun can handle linux paths and file names

2003-10-02 16:30 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
   * include/hbapigt.h
   * source/rtl/gtapi.c
     * added HB_EXPORT to expose gtapi when in a .dll
   * bin/bld.bat
     * if you SET HB_DLL=x <anything>, before running BLD, then it will
     * use Harbour.dll (currently for bcc and msvc only)
     * (exe size is reduced dramatically)

2003-10-01 12:16 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * dll_vc.bat
   * hrbdll.vc
   * tests/vcdll.bat
     - Removed all settings and settings' dependancy.
     + Added missing pplib modules.

2003-10-01 14:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
   * source/rtl/dbdelim.prg
     * removed unused vars, code formatting.  More later

2003-10-01 13:44 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
   * source/rdd/dbfdbt/dbfdbt1.c
     * remove unused assignement in dbtPutValue
   * include/hbextern.ch
   * source/rdd/dbcmd.c
     + FieldDec()
     + FieldLen()
     + FieldType()
   * source/rtl/dbsdf.prg (thx alvaroc@areco.com.br for the report)
     * Do not FieldPut(ImportFixed()) for Memo fields
     * changed to use new FieldType()
   * contrib/libct/dbftools.c
     - FieldType()
     * FieldSize, FieldDeci()
       * Changed to call FieldLen and FieldDec
   * source/vm/extend.c
   * source/vm/fastitem.c
   * source/vm/estack.c
     * surround with 'Extern "C"'
   * makallbc.bat
     * remove bcc_dir check

2003-10-01 09:35 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  *  hrbdll.bc
    * minor fix to system libs path.
    * The '.bc' make system assumes that your Borland bin directory is in
    * the path, and that your .cfg file points to the borland include and lib
    * dirs.

2003-09-30 23:11 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  *  source/vm/estack.c
     * Reverted addition of HB_EXPORT to hb_stack (until more complete solution.)

2003-09-30 22:53 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  *  dll_b32.bat
  *  hrbdll.bc
  *  tests/dll_b32.bat
  *  tests/dll_b32.mak
     - Removed all settings and settings' dependancy.

  *  source/vm/estack.c
     + Added HB_EXPORT to hb_stack

2003-09-30 21:36 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbcompress.h
  * source/rtl/hbcompress.c
  * source/rtl/strcase.c
  * source/rtl/trim.c
    * Minor correction to usage of HB_EXPORT

  * source/vm/dynlibhb.c
    ! Fixed GPF trap related to usage of hb_strupr().

  * source/vm/hvm.c
    + Added conditional hb_xinit() to hb_vmProcessDllSymbols().

2003-09-30 13:34 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/simplex.c
    ! Fixed possible GPF trap.

  * source/macro/macro.slx
    * Minor refinment.

  * source/rtl/strcase.c
  * source/vm/estack.c
    * Fixed minor compile warnings.

2003-09-30 10:29 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.sly
    * Move error token to Statement rule and improved related logic.
      /* Redundant parse errors when error is inside control structure should now be eliminated.
         Parse error in general should be greatly improved. */

2003-09-30 10:05 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/hbzlib/zip.c
    * corrected parameter checking in UnzipFile

2003-09-30 00:05 UTC-0300 Walter Negro <anegro@overnet.com.ar>
  * contrib\rdd_ads\ads1.c
    * adsInfo() return a correct value for DBI_LASTUPDATE using
      AdsGetLastTableUpdate() function.

2003-09-29 23:55 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/tget.prg
    ! Fixed an bug on hittest() method when Get object has controls

2003-09-29 12:00 UTC-0300 Marcelo Lombardo <lombardo@uol.com.br>
  * source/odbc/odbc.c
    ! Fixed SqlGetData() retrieving truncated data from MSSQL Server

2003-09-27 10:23 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
   * source/compiler/hbgenerr.c
   * source/compiler/harbour.sly
     * Improved generic parse error messages to be more context aware.

2003-09-27 12:10 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/strcase.c
    * changed hb_strncpyUpper to work as per strncpy docs.
  * tests/testdbf.prg
    * tests the dbfcdx driver.
  * source/rdd/dbfcdx/dbfcdx1.c
    * minor change to use HB_MIN()

2003-09-26 13:18 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/hbgenerr.c
    * Changed "Unclosed control structures" to "Unclosed control structure (at line: %s)"
  * source/compiler/harbour.sly
    + Added logic to report unclosed control structures, instead of generic "Parse error ..."

2003-09-26 10:21 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/hbxml.c
    ! Third parameter of HBXML_DATAREAD was not correctly used. fixed

2003-09-25 20:15 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/libct/files.c
    * cast at 910

2003-09-25 19:25 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * make_b32.bat
    * keep a copy of bcc640.lib if it's there.
  * dll_b32.bat
  * hrbdll.bc
    * corrected CLEAN

2003-09-25 13:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/hbzlib/make_b32.bat
  * contrib/htmllib/make_b32.bat
  * contrib/internet/make_b32.bat
  * contrib/libct/make_b32.bat
  * contrib/libmisc/make_b32.bat
  * contrib/tip/make_b32.bat
  * contrib/tip/makefile.bc
  * contrib/wooopgui/make_b32.bat
  * contrib/xwt/make_b32.bat
  * contrib/xwt/makefile.bc
    * Correct CLEAN support

2003-09-25 13:00 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + doc/en/print.txt
    * Docs for Getprinters() and GetDefaultPrinter() function
  * doc/genhtm.rsp
    + print.txt added to list

2003-09-25 10:25 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/what32/makefile.bc
    + _winbrsh.c, _winsock.c
  * contrib/what32/env/bccwin32.mak
    * change lib to ..\..\lib
  * contrib/internet/env/bccwin32.mak
    + -q0
  * contrib/internet/source/xhFtp.prg
    * change windows.ch to winuser.ch
  * contrib/xwt/makefile.bc,vc,nt
    - hpane,vpane.prg

2003-09-25 09:08 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/hbzlib/makefile.bc
  * contrib/hbzlib/make_b32.bat
    * correct CLEAN option

2003-09-25 09:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/hbzlib/makefile.bc
    * make xHarbour/include relative.

2003-09-25 02:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/xwt/makefile.bc
  * contrib/xwt/makefile.nt
  * contrib/xwt/makefile.vc
    - gridpane.prg

2003-09-25 01:56 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  + dll_b32.bat
    * create harbour.dll for bcc (can I remove dll_55.bat?)

2003-09-25 01:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/woopgui/env/makelib.b32
  * contrib/whoo/env/makelib.b32
  * contrib/what32/env/makelib.b32
    * stifle erase commands

2003-09-24 22:20 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * config/bsd/gcc.cf
  * config/darwin/gcc.cf
  * config/dos/bcc16.cf
  * config/dos/djgpp.cf
  * config/dos/rsx32.cf
  * config/os2/gcc.cf
  * config/w32/bcc32.cf
  * config/w32/gcc.cf
  * config/w32/bcc32.cf
  * config/w32/mingw32.cf
  * config/w32/msvc.cf
  * config/w32/rsxnt.cf
    * account for include dir in contribs.

2003-09-24 22:00 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * makallvc.bat
    * minor fix
  * makallbc.bat
    * echo BCC_DIR setting (used by at least dll_b32.bat)
  * hrbdll.bc
    + CLEAN support
  * contrib/woopgui/env/makelib.b32
    * stifle erase commands
  * makefile.nt
  * makefile.vc
    * subsystem is Windows for optgui
  * dll_vc.bat
    * Exit after CLEAN

2003-09-24 16:45 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib/xwt/makefile.bc
    * corrected dependancy list

2003-09-24 19:56 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
   ! serious bug in network simultaneous access and buffer refresh,
     many thanks to Vicente Guerra for clear bug report

2003-09-23 21:39 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/vm/estack.c
    ! Fixed GPF trap when resizing the stack, and hb_arrayResetHolder() might call hb_procinfo() before HB_VM_STACK.pBase was reset.

2003-09-24 03:18 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/bin/!pack_src.sh
  * xharbour/config/rules.cf
  * xharbour/config/linux/gcc.cf
    * fixed compilation for Linux

  * xharbour/contrib/libct/files.c
    ! fixed bug in FILEDELETE

  * xharbour/include/hbapi.h
  * xharbour/include/hbsetup.h
    * #define HB_ARRAY_USE_COUNTER moved to hbsetup.h
      I think it's easier to control when all such definition in one place

2003-09-23 17:30 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  + contrib/htmllib/include
  + contrib/libct/include
    * move all local include files here
  * contrib/libct/tab.c
    * add casts on char 141
  * contrib/htmllib/Makefile
  + contrib/htmllib/make_b32.bat
  * contrib/htmllib/make_vc.bat
  * contrib/htmllib/makefile.bc
  * contrib/htmllib/makefile.vc
  - contrib/htmllib/htmllib.bc
  + contrib/internet/make_vc.bat
  + contrib/internet/makefile.vc
  * contrib/libct/Makefile
  * contrib/libct/makefile.bc
  * contrib/libct/makefile.vc
  * contrib/libct/make_b32.bat
  * contrib/libct/make_vc.bat
  * contrib/libmisc/makefile.bc
  * contrib/libmisc/makefile.vc
  * contrib/libmisc/make_b32.bat
  * contrib/libmisc/make_vc.bat
  * contrib/rdd_ads/makefile.vc
  * contrib/tip/makefile.bc
  * contrib/tip/makefile.vc
  * contrib/tip/make_b32.bat
  * contrib/tip/make_vc.bat
  * contrib/what32/makefile.bc
  * contrib/what32/makefile.nt
  * contrib/what32/makefile.vc
  * contrib/what32/make_b32.bat
  * contrib/what32/make_vc.bat
  * contrib/whoo/makefile.nt
  * contrib/whoo/makefile.vc
  * contrib/whoo/make_b32.bat
  * contrib/whoo/make_vc.bat
  * contrib/woopgui/makefile.nt
  * contrib/woopgui/makefile.vc
  * contrib/woopgui/make_b32.bat
  * contrib/woopgui/make_vc.bat
  + contrib/xwt/makefile.nt
  + contrib/xwt/makefile.vc
  + contrib/xwt/make_b32.bat
  + contrib/xwt/make_vc.bat
    * standardise bc and vc support
  * hrbdll.vc
  * hrbdll.bc
  * makallvc.bat
  + makallbc.bat
    * These last 2 will build all .exe, .dll and .libs

  * further tweaking is probably required for other platforms)

2003-09-23 17:16 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
   * source/rtl/hbsrlraw.c
     ! Fixed negative numbers serliaziation in LONGLONG context

   * source/rtl/trpc.prg
   * source/rtl/trpccli.prg
      + Added CheckServer() method to access some server data with a
        tcp connection, when is not available a UDP channel

   * source/rtl/gtcgi/gtcgi.c
     ! Maximum row & cols are now set to 25/80; this makes BOX command
       and error reporting possible ( gtcgi went out of memory on error
       reporting before).

   * tests/rpcclient.prg
   * tests/rpcserver.prg
     ! Some tests more

2003-09-23 11:20 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * bin/bld_solib.sh
    ! Changed with respect to the new dbf* libraries.

2003-09-23 00:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * contrib\hbzlib\Makefile
  * contrib\hbzlib\Make_b32.bat
  * contrib\hbzlib\Make_vc.bat
  * contrib\hbzlib\Makefile.bc
  * contrib\hbzlib\Makefile.vc
    * First of a set of changes to contribs make so they are all consistant
    * other contribs will follow tomorrow along with a batch file to create all.
  * source/rtl/tget.prg
    * Commentout AnalyzePicture() call. Can someone tell me what the intended
    * purpose of this was?

2003-23-09 00:50 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/isprint.c
    ! minor fix to getprinters() on Winxp/2k/nt
  * source/rtl/tprinter.c
    ! minor change on THARBOURPRINTER_SetDevice()

2003-09-22 11:30 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/scroll.c
    ! Fixed bugs when Bottom is less the Top, and/or Right is equal or less the Left.
    % Optimized, and formatted.

2003-09-20 23:50 UTC-0800 Brian Hays <bhays@abacuslaw.com>
  * contrib/rdd_ads/ads1.c
    * fixed single numeric parameter to AdsCustomizeAOF
  * contrib/rdd_ads/adsfunc.c
    * fixed parameter error handling in AdsSetAOF

2003-09-19 13:16 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * include/hbapi.h
    * Uncommented #define HB_ARRAY_USE_COUNTER - Now using old array management by default.

2003-09-19 09:58 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/rtl/listbox.prg
  * utils/hbmake/hbmake.prg
    ! __CAPLENGT() to __CAPLENGTH()

  - include/hbgetcmt.ch
    - Removed, no longer needed.

  * tests/tstchbx.prg
    * Formatting.

2003-18-09 22:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/listbox.prg
    ! minor fix


2003-18-09 22:10 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * source/rtl/listbox.prg
    ! __CAPLENGT() to __CAPLENGTH()

2003-09-18 15:50 UTC-0500 Paul Tucker <ptucker@sympatico.ca>
  * source/rtl/tget.prg
    * Check for !Empty(::type) @ 308 since Type can be NIL if no Picture.
    * This may not be the 'correct' fix, but solves the problem.

2003-09-18 16:40 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/vm/hvm.c
  * source/vm/thread.c
    ! Waiting for threads to terminate before quitting.

  * source/rtl/hbservice.c
    ! More strict control over mutex unlocks before signal enabling.


2003-09-18 15:45 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * tests/Makefile
    ! added gtcgi to compilation if user selects HB_GT_LIB=gtcgi

  * source/rtl/hbservice.c
    ! Multithread compliancy under pthreads (unix/linux)

2003-09-17 10:46 UTC-0300 Antonio Carlos Pantaglione <toninho@fwi.com.br>
  * source/rtl/memoedit.prg
    ! clipper compatibility if user function is passed as ""

2003-09-17 14:42 UTC+0200 Przemyslaw Czerpak <druzus@polbox.com>
  * xharbour/make_rpm.sh
  * xharbour/xharbour.spec
    ! fixes for buggy RPM - automatic _topdir detection

2003-09-17 08:50 UTC+2000 Giancarlo Niccolai <antispam /at/ niccolai [dot] ws>
  * source/rtl/filesys.c
    ! fixed error (set to 0) in fsCreate if creation is sucessful.
    ! little change in fsClose.

2003-09-16 08:50 UTC-0800 Ron Pinkas <ron@ronpinkas.com>
  * source/compiler/harbour.slx
    + Added GET support to HB_IN logic.

  * source/rtl/filesys.c
    + Added few missing HB_THREAD_STUB

2003-16-09 09:40 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  + make_deb.sh
    ! Build an debian package
  + debian/*
    ! Files need to build an debian package

  Notice , I don't to see this files on harbour repository, it give to me many
  work to has this work properly

2003-15-09 23:15 UTC-0300 Luiz Rafael Culik <culikr@uol.com.br>
  * make_rpm.sh
    * Fixed when conectiva is used (now build properly on both root/non root acount)
  * ChangeLog
    ! Renamed to ChangeLog.016 and Start an New One

