/* * $Id$ */ /* Use this format for the entry headers: YYYY-MM-DD HH:MM UTC[-|+]hhmm Your Full Name For example: 2008-12-31 13:59 UTC+0100 Foo Bar */ 2008-07-03 16:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/Makefile ! fixed some contrib library comments: # used before 1-st commented library created long comment to the end of library list 2008-07-03 15:41 UTC+0200 Viktor Szakats (harbour.01 syenar hu) - contrib/hbmysql/dbf2mysql.prg + contrib/hbmysql/dbf2mysq.prg * contrib/hbfbird/common.mak * contrib/hbfbird/Makefile - contrib/hbfbird/tfirebird.prg + contrib/hbfbird/tfirebrd.prg * contrib/hbfimage/tests/fitest.prg + contrib/hbfimage/tests/imgs_out - contrib/hbfimage/tests/images_out * Some more long filenames removed. ; TOFIX?: freeimage.ch is still long. * contrib/hbfimage/fi_winfu.c * contrib/hbfimage/fi_wrp.c % Using HB_ERR_FUNCNAME 2008-07-03 16:30 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * contrib/hbmzip/hbmzip.c + implemented file get attributes and file set attributes for DOS and OS2 ; I've not even tried to compile the code. I have no required OS and compile enviroment. DOS implementation is written using docs from http://www.delorie.com/djgpp/doc/libc-2.02/, OS2 implementation is just guess... Please test, I hope adding some #include will make this code usable. 2008-07-03 15:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu) - contrib/hbgd/tests/imgs_in/gdlogobig.png - contrib/hbgd/tests/imgs_in/conv_test.jpg - contrib/hbgd/tests/imgs_in/theclipper.gif + contrib/hbgd/tests/imgs_in/harbour.gif + contrib/hbgd/tests/imgs_in/gdlogo.png + contrib/hbgd/tests/imgs_in/conv_tst.jpg * contrib/hbgd/tests/gdtest.prg * contrib/hbgd/tests/tostring.prg * contrib/hbgd/tests/gdtestcl.prg * Removing long filenames in hbgd (part 3/3) 2008-07-03 15:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) - contrib/hbgd/tests/images_in - contrib/hbgd/tests/images_out + contrib/hbgd/tests/imgs_in + contrib/hbgd/tests/imgs_out * contrib/hbgd/tests/gdtest.prg * contrib/hbgd/tests/bartest.prg * contrib/hbgd/tests/barms.prg * contrib/hbgd/tests/test_out.prg * contrib/hbgd/tests/tostring.prg * contrib/hbgd/tests/gdtestcl.prg * contrib/hbgd/tests/animgif.prg * contrib/hbgd/tests/testdpi.prg * contrib/hbgd/tests/counter.prg * contrib/hbgd/tests/antialia.prg * Removing long filenames in hbgd (part 2/3) ! Added SVN headers. ! Fixed to not use hbcompat.ch. 2008-07-03 14:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbgd/Makefile * contrib/hbgd/common.mak - contrib/hbgd/gdexternal.ch + contrib/hbgd/gdextern.ch - contrib/hbgd/tests/gdtestcls.prg + contrib/hbgd/tests/gdtestcl.prg - contrib/hbgd/tests/antialiased.prg + contrib/hbgd/tests/antialia.prg ! Removing long filenames in hbgd (part 1/3) 2008-07-03 14:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbbmcdx/Makefile * contrib/hbbmcdx/common.mak - contrib/hbbmcdx/bmsixcdx1.c + contrib/hbbmcdx/bmsixcdx.c - contrib/hbbmcdx/bmdbfcdx1.c + contrib/hbbmcdx/bmdbfcdx.c - contrib/hbbmcdx/hbrddbmcdx.h + contrib/hbbmcdx/hbbmcdx.h ! Removed long filenames. 2008-07-03 14:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/spd.c ! DJGPP warning fixed, plus another update from Xavi. ; Sorry I've removed _SPD() as IMO there is not much point in keeping compatibility with a name which was never used by Harbour. That can be easily done outside Harbour though for those (few) who need it nevertheless. 2008-07-03 13:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbmsql/msql.h * updated for [Open]Watcom builds. Now DOS OpenWatcom builds works fine except hbbmcdx which needs special trick for long file names. Question: Should we change filenames in this library to 8.3 standard? * harbour/config/none.cf ! fixed to work with DOS and pure command.com 2008-07-03 12:40 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/Makefile * contrib/hbfimage/Makefile * contrib/hbhpdf/Makefile * contrib/rddads/Makefile ! Excluded from DOS builds. 2008-07-03 11:55 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! Fixed compile errors when compiled with some (but not all possible) older libcurl versions. ; It still requires libcurl 7.17.0 in order to work properly though. 2008-07-03 11:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/Makefile - contrib/hbziparch/hbzipcom.cpp * contrib/hbziparch/hbzipnew.cpp * contrib/hbziparch/common.mak * Merged source module hbzipcom.cpp into hbzipnew.cpp. + Using hb_fsSize() Harbour API instead of implementing this functionality locally and only for a limited number of platforms/compilers. 2008-07-03 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * hbziparch/hbziparc.c * hbziparch/hbziparc.h * hbziparch/hbzipcom.cpp * hbziparch/hbzipnew.cpp ! Fixed reintroduced warnings. Sorry Miguel, but the latest fix was not needed, since bAdded was reinited to FALSE in each iteration of the loop. ! sprintf() -> snprintf() % Optimizations. * Formatting, cleanups. ; Tested with BCC55, MSVC9 and MinGW. 2008-07-03 10:09 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/make_gcc.sh * contrib/hbgd/tests/bld.sh * contrib/hbhpdf/make_gcc.sh * contrib/hbsqlit2/make_gcc.sh * contrib/hbsqlit3/make_gcc.sh * contrib/hbvpdf/make_gcc.sh + svn propset svn:executable ON * ; Thanks Marek. I'm updating my local files to avoid this in the future. 2008-07-03 09:15 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/mtpl_gcc.mak ! Fixed copy/paste error in ifdef/endif * harbour/contrib/hbapollo/make_gcc.sh * harbour/contrib/hbcurl/make_gcc.sh * harbour/contrib/hbfbird/make_gcc.sh * harbour/contrib/hbfimage/make_gcc.sh * harbour/contrib/hbgd/make_gcc.sh * harbour/contrib/hbhpdf/make_gcc.sh * harbour/contrib/hbmysql/make_gcc.sh * harbour/contrib/hbpgsql/make_gcc.sh * harbour/contrib/rddads/make_gcc.sh * Changed "==" to "=" to allow compilation on Ubuntu 8.04. For some reasons I got error when "==" was used. 2008-07-03 08:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/Makefile * Changed so that only failing BSD and HPUX platforms are excluded. 2008-07-03 08:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbtpathy/tpos2.c ! Blind fix for three OS/2 warnings. David please test. 2008-07-02 23:44 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Removed unused variable. 2008-07-02 14:35 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/gtwvg/gtwvg.c * source/rtl/gtwvt/gtwvt.c ! Changed the wat EXIT procedure works. ; The change is provided by Ron Pinkas so I have implemented as is. Before also I was not finding any problems on Harbour but appln was GPFing on Exit with GTWVG. ; TOCHECK: Viktor see if it resolves the EXIT problem you are reporting 2008-07-02 22:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/Makefile * contrib/Makefile + Reenabled hbsqlit3 for w32 platform. 2008-07-02 22:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmzip/hbmzip.c + Added DOS branches but not actual content. Sorry. * contrib/hbsqlit3/Makefile * contrib/Makefile + Reenabled hbsqlit3 for w32 platform. 2008-07-02 22:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit2/Makefile * contrib/hbsqlit3/Makefile ! Excluded from DOS builds. * contrib/Makefile - Commented following contribs from GNU-make default builds until different platform/compiler issues and excessive warnings are resolved: hbsqlit2, hbsqlit3, hbw32ddr, hbwhat32, hbziparch 2008-07-02 21:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingwce.sh * harbour/bin/hb-mkslib.sh * harbour/make_tgz.sh + added Darwin and OS2 to architecure autodetection. 2008-07-02 20:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * make_gcc.sh * make_gnu.sh + Added Darwin to architecure autodetection. 2008-07-02 20:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbgf/Makefile * do not include dir.cf when there is no platform dependent hbgf* library 2008-07-02 18:52 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/hbzipcom.cpp * contrib/hbziparch/hbzipnew.cpp ! Two lines commented by mistake now reenabled. Thanks Miguel. * source/rtl/gtwvt/gtwvt.c * Minor naming, formatting. 2008-07-02 18:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbodbc/Makefile * added test for header files in non W32 builds ODBC is not standard system part in other then MS-Window platforms * harbour/contrib/hbgf/hbgfgtk/Makefile * updated path check for GTK header files In fact it still can give wrong results in different Linux or other *nixes distributions. The real path to GTK header files is unknown and should be always tested by pkg-config 2008-07-02 15:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbziparch/hbziparc.c - removed HB_FUNC_EXIT( HBZIPCLEANUP ) * harbour/contrib/hbziparch/hbzipnew.cpp + added automatic callback destructor registered by hb_vmAtExit() at 1-st callback set 2008-07-02 14:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbtpathy/tpos2.c * moved INCL_* definitions before harbour header files 2008-07-02 13:06 UTC+0100 Miguel Angel Marchuet * contrib/hbziparch/hbziparc.c + Added HBZIPCLEANUP() as EXIT function to clean. It will be called automatically at end application. 2008-07-02 12:43 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbcurl/make_b32.bat * contrib/hbcurl/make_vc.bat * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_vc.bat * contrib/hbhpdf/make_b32.bat * contrib/hbhpdf/make_vc.bat * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat + Added possibility to use HB_INC_* envvars to specify the header directories for external packages. This way _all_ Harbour make systems now able to use the same common logic to specify external header dirs. (For GNU-make you can even use a dir list). If HB_INC_* is used with the non-GNU make system, the .dll to .lib generation _won't_ happen, which is desirable for binary builds for distribution. HB_DIR_* envvars continue to work, in this case .libs are copied/generated from the external .dlls, and this is useful who build their Harbour from source. For official Harbour binary distributions HB_INC_* must be used. 2008-07-02 12:29 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbcurl/make_b32.bat * contrib/hbcurl/make_vc.bat * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_vc.bat * contrib/hbhpdf/make_b32.bat * contrib/hbhpdf/make_vc.bat * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat ! Fixed previous modification. More to come. 2008-07-02 11:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/xhb/Makefile * harbour/contrib/xhb/common.mak - harbour/contrib/xhb/hbchksum.c * removed HB_CHECKSUM() code - it's not necessary * harbour/contrib/xhb/xhbfunc.c + redirected HB_CHECKSUM() to HB_ADLER32() * harbour/source/rtl/gtwvt/gtwvt.c ! fixed WINCE builds. It was only for MiGWCE which partially emulates GetSystemMenu() but probably other builds will report that this function is missing. If possible please test if current Harbour application can be executed in real WinCE environment. * harbour/make_deb.sh * updated contrib library list * harbour/contrib/hbmysql/mysql.c ! fixed compilation for older MYSQL versions * harbour/contrib/gtwvg/gtwvg.c * harbour/contrib/gtwvg/wvgutils.c ! fixed UNICODE builds + harbour/config/none.cf + added dummy header file for GNU make to avoid errors on unsupported platforms * harbour/contrib/hbw32ddr/Makefile * harbour/contrib/hbmysql/Makefile * harbour/contrib/hbodbc/Makefile * harbour/contrib/hbwhat32/Makefile * harbour/contrib/hbtpathy/Makefile * harbour/contrib/hbw32/Makefile * harbour/contrib/hbole/Makefile * harbour/contrib/hbapollo/Makefile * harbour/contrib/hbfbird/Makefile * harbour/contrib/hbziparch/Makefile * harbour/contrib/hbcurl/Makefile * harbour/contrib/hbhpdf/Makefile * harbour/contrib/rddado/Makefile * harbour/contrib/gtwvg/Makefile * harbour/contrib/hbpgsql/Makefile * harbour/contrib/rddads/Makefile * harbour/contrib/hbfimage/Makefile * harbour/contrib/hbgd/Makefile * harbour/contrib/hbgf/hbgfw32/Makefile * harbour/contrib/hbgf/hbgfos2/Makefile * harbour/contrib/hbgf/hbgfgtk/Makefile * harbour/contrib/hbtip/Makefile * harbour/contrib/hbbmcdx/Makefile * updated to not generate errors for unsupported builds 2008-07-02 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbdefs.h ! Fixed DLL creation for MSVC (and maybe compilers, too). Thanks to Marek Paliwoda for the hint. * contrib/hbtpathy/tpos2.c ! Blind attempt to fix OS/2 compile error. 2008-07-02 10:52 UTC+0100 Miguel Angel Marchuet * contrib/hbziparch/hbziparc.c * corrected library name in comments. 2008-07-02 08:31 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbpgsql/Makefile ! Added /usr/include to the default dir list. 2008-07-02 01:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/make_b32_all.bat * contrib/make_b32_vc.bat * Contribs sorted by alphabet. 2008-07-02 01:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/hbchksum.c * contrib/xhb/hbcomprs.c - contrib/xhb/hbcomprs.h + contrib/xhb/hbcomprs.ch - Removed unnecessary C header. + Added xhb compatibility .ch header. 2008-07-02 01:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/hbcomprs.c * contrib/xhb/hbcomprs.h % Stripped yet another copy of an old embedded ZLIB version from Harbour. Now xhb compatibility compression functions use Harbour hbzlib.lib, thus reducing binary size and avoiding security problems with old ZLIB. ; Now the only copy of ZLIB in Harbour is in source/hbzlib. % Using HB_ERR_FUNCNAME. 2008-07-02 01:01 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/Makefile * contrib/hbziparch/common.mak - contrib/hbziparch/hbcomprs.c + contrib/hbziparch/hbxdirec.c ! Renamed to avoid collision with an xhb contrib file. 2008-07-01 22:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/hbzipnew.cpp ! Fixed a potential GPFs. (GCC warnings) * contrib/hbpgsql/postgres.c * contrib/hbwhat32/_wininet.c ! Fixed two const casting warnings in MSVS non-CPP mode. - tests/run_test.bat + tests/run_prg_all.bat - tests/gnu_test.bat + tests/bld_gnu.bat - tests/bld4dll.bat + tests/bld_b32_dll.bat + Some renames in the hope they will be easier to understand, and more standard. ! Fixed .dll reference. * contrib/hbziparch/Makefile ! Excluded from Darwin and OS/2 builds. ; NOTE: The Windows build I've tried are now building relatively clearly, only with the 1) known warnings 2) warnings in foreign code, plus 3) quite some in contrib/hbwhat32. Tested compilers: Win32 BCC551 - OK BCC582 - OK MSVS2005 - OK (doesn't work with set HB_BUILD_DLL=yes) MSVS2005cpp - OK (doesn't work with set HB_BUILD_DLL=yes) MSVS2008 - OK (doesn't work with set HB_BUILD_DLL=yes) MSVS2008cpp - OK (doesn't work with set HB_BUILD_DLL=yes) MinGW412 - OK MinGW430 - OK Win64 MSVS2008 Fails with: 'include\hbinit.h(218) : fatal error C1189: #error : Unknown initialization method. MSVS2008cpp - OK (doesn't work with set HB_BUILD_DLL=yes) Linux-Ubuntu (7.10) GCC413 - OK (FreeImage f.e. fails.) Darwin (OS X Leopard 10.5.4) GCC401 Fails with a lot of: 'Wrong type of codeblock parameter, is: 1, should be: 8' 2008-07-01 22:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c * contrib/gtwvg/gtwvg.c ! Fixed MSVC warnings. 2008-07-01 21:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/_winmmcap.c ! #include -> #include "hbapi.h" Harbour headers are not system headers. * contrib/gtwvg/gtwvg.c * Commented unused code to avoid warnings. * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbzipnew.cpp ! Fixed BCC 5.8 warning. ! Removed tabs. * Some formatting. 2008-07-01 21:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/vm/extrap.c ! Excluded GPF dumping code for Win64 and WinCE. 2008-07-01 20:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/hbinet.c % Recently added code fixed to use HB_ERR_FUNCNAME. ! Quick fix to recently added code to compile with MSVC. Please review, it seem that get/setsockopt() 4th parameter is void* in Linux but char* in Windows. 2008-07-01 20:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/vm/extrap.c ! Fixed MSVC error in new code. 2008-07-01 19:05 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * doc/whatsnew.txt + Added RC2 changes. ; Please review. 2008-07-01 18:36 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! Fixed version checking (pass 2). 2008-07-01 18:34 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! Fixed version checking. 2008-07-01 18:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * harbour-ce-spec * harbour-w32-spec * include/hbver.h * harbour.spec * RC1 -> RC2 * contrib/hbziparch/hbziparc.c ! Fixed potential GPF in HBZIPCLEANUP(). ! HBZIPCLEANUP() changed to be a HB_FUNC() (from HB_EXIT_FUNC()), so now it has to be called manually, but at least it's now doing something useful. (HB_EXIT_FUNC() in .c code never gets executed by itself). 2008-07-01 17:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/Makefile * contrib/hbcurl/Makefile * contrib/hbfbird/Makefile * contrib/hbfimage/Makefile * contrib/hbgd/Makefile * contrib/hbhpdf/Makefile * contrib/hbmysql/Makefile * contrib/hbpgsql/Makefile * contrib/rddads/Makefile ! Fixed a macro check to make autodetection really work. So the previous TOFIX (2008-06-30 19:20 UTC+0200) is now cleared. ; TODO: Adjust hbodbc to contrib Makefile standards. * contrib/hbgf/hbgfgtk/Makefile + Added header detection. (default: /usr/include) * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbzipcom.cpp * contrib/hbziparch/hbzipnew.cpp ! Pacified Linux warnings. * Some formatting. 2008-07-01 16:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * define whole contrib library list for new contrib/Makefile + added header files to respect differences between platform native and Windows only headers * harbour/harbour.spec * define whole contrib library list for new contrib/Makefile * divided libraries which needs external references into separated packages ! removed unnecessary dependences in binaries rebuild in shared mode * harbour/contrib/hbodbc/odbc.c * pacified warnings % minor optimization * harbour/contrib/hbcurl/hbcurl.c * harbour/contrib/hbfbird/firebird.c * harbour/source/vm/extrap.c * casting to pacify warnings * harbour/contrib/gtwvg/gtwvg.c ! fixed pointer comparison - C uses different precedence for ! operator then Clipper/xbase * harbour/source/rtl/hbinet.c ! fixed GPF HB_INET[GS]ET{SND,RCV}BUFSIZE() when wrong socket parameter is passed. Please remember that after RT error the control is returned to application. % removed any hardcoded limits for size of data passed in single read/write call during normal stream operations - removed iSndBufSize/iRcvBufSize 2008-06-30 19:20 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/Makefile * contrib/hbcurl/Makefile * contrib/hbfbird/Makefile * contrib/hbfimage/Makefile * contrib/hbgd/Makefile * contrib/hbhpdf/Makefile * contrib/hbmysql/Makefile * contrib/hbpgsql/Makefile * contrib/rddads/Makefile * Changed to use default for all architecture. Let's hope that checking existence for mixed platform paths won't create problems on any platforms. + Added include path detection logic to hbapollo, too. + Added Darwin path to hbgd include path list. + Added std Linux path to hbfbird include path list. ; TOFIX: Seems that 'ifneq ($(HB_INC_*_OK),)' doesn't really work if no path in the path list is valid. 2008-06-30 17:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/hbinet.c ! Fixed non-ANSI comment. 2008-06-30 17:00 UTC+0100 Miguel Angel Marchuet * source/rtl/hbinet.c + Added define SOCKET_ERROR, that is missing in some compilers. 2008-06-30 16:36 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbtip/tests/tiptest.prg ! Remove strings as arrays access. Thanks Lorenzo. 2008-06-30 14:46 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbextern.ch + New inet functions added. * source/rtl/hbinet.c ! Blind fix for Linux compile error. 2008-06-30 13:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbmysql/Makefile - Removed -DBIG_JOINS. If someone needs this, it can be specified via C_USR, but to me it seem this is a MySQL build-time switch, and it has no effect for interface code. 2008-06-30 13:18 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/Makefile * contrib/hbcurl/Makefile * contrib/hbfbird/Makefile * contrib/hbfimage/Makefile * contrib/hbgd/Makefile * contrib/hbhpdf/Makefile * contrib/hbmysql/Makefile * contrib/hbpgsql/Makefile * contrib/rddads/Makefile + Now possible to specify external header location using the HB_INC_* envars (similar to the ones used in non-GNU makefiles). In GNU make, multiple dirs can be specified, and the make system will always autodetect whether the headers are really there. If not, the build process will be skipped for that contrib. Additionally in Linux, the HB_INC_* vars will be inited with a default, if not specified by the builder. These default should be verified by Linux users and extended/fixed accordingly. Most of them were already initialized for Linux, so there should be no big surprises here. * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat + Synced C options with GNU make. (-DBIG_JOINS=1 added) * contrib/hbmysql/make_vc.bat - Removed -D__WIN32__. Now it seems to work without it. * contrib/hbcurl/make_gcc.sh ! Fixed example dir in comment. 2008-06-30 11:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbapi.h * source/rtl/set.c * source/vm/fm.c ! Fixed _SET_HBOUTLOG, _SET_HBOUTLOGINFO handling in fm.c. hb_setget*() functions cannot be used here as the set system is deinited at this point. So local buffers are holding the values. 2008-06-30 10:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/gtwvg/Makefile * contrib/hbapollo/Makefile * contrib/hbbtree/Makefile * contrib/hbclipsm/Makefile * contrib/hbct/Makefile * contrib/hbfbird/Makefile * contrib/hbfimage/Makefile * contrib/hbgd/Makefile * contrib/hbhpdf/Makefile * contrib/hbmisc/Makefile * contrib/hbmsql/Makefile * contrib/hbmysql/Makefile * contrib/hbmzip/Makefile * contrib/hbnf/Makefile * contrib/hbodbc/Makefile * contrib/hbpgsql/Makefile * contrib/hbsqlit2/Makefile * contrib/hbsqlit3/Makefile * contrib/hbtip/Makefile * contrib/hbtpathy/Makefile * contrib/hbvpdf/Makefile * contrib/hbw32/Makefile * contrib/hbw32ddr/Makefile * contrib/hbwhat32/Makefile * contrib/rddado/Makefile * contrib/rddads/Makefile ! CFLAGS -> C_USR * var = var + x -> var += x ! Added header install rules for all places where such headers are defined. I wonder why isn't this the default in our GNU-make system. * few other minor cleanups. * contrib/rddads/Makefile * Experimenting with HB_INC_ADS implementation in GNU-make system. HB_INC_ADS can now used to enable to rddads builds. In GNU-make HB_INC_ADS can contain a list of possible places where headers may be found. GNU-make will validate these and if the headers were found in any of these places, rddads will be built. For Linux there are some default dirs which will always be checked. 'HB_WITHOUT_ADS' and 'ACE_DIRS' is not longer used. ; Please test. If this works out okay, we can use this method for the rest of 3rd party dependent contribs. * contrib/rddads/Makefile % Don't define WIN32 in GNU-makefiles for w32. * contrib/hbmisc/Makefile ! Don't include non-existing 'test' dir in make. * contrib/gtwvg/Makefile * contrib/gtwvg/common.mak ! Not installing private .h file to common include dir. * contrib/hbw32ddr/w32_ddrw.cpp ! Fixed one GCC warning. (Some remain) 2008-06-28 11:37 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/gtwvg/gtwvg.c * contrib/gtwvg/gtwvg.h * contrib/gtwvg/hbgtwvg.ch + Implemented application to run as a System Tray Icon. ; IMPLEMENTATION: Hb_GtInfo( HB_GTI_SPEC, HB_GTS_SYSTRAYICON, ; { nMode /*NIM_ADD/MODIFY/DELETE*/, ; nIconType /*NIT_FILE/RESOURCEBYNAME/RESOURCEBYID*/, ; cnFileNameOrResourceName|Id, ; cTooltip } ) Right-click on SysTrayIcon will restore the appln in its original state. : TOKNOW: Does it qualify for GTWVT? * tests/wvtext.prg ! Modified to show the SysTrayIcon feature if linked with GTWVG. Link Guarded againt __GTWVG__ define. 2008-06-28 11:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/vm/extrap.c + Added Windows GPF detailed information dump (with some modifications) provided by Mindaugas Kavaliauskas. Many thanks. ; It would be very nice to have similar for Linux, OS/2, Darwin. 2008-06-28 10:44 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * tests/extend2.c * source/debug/dbgentry.c * contrib/hbodbc/odbc.c * contrib/hbw32/tprinter.c * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbzipnew.cpp * contrib/hbpgsql/postgres.c ! Changed strcpy() -> hb_strncpy() ! Changed strcat() -> hb_strncat() ! Some possible buffer overruns fixed along the way in hbziparch.lib ! Fixed some filename buffer sizes in hbziparch.lib ; TOFIX: There are still some remaining strcpy()/strcat() calls in Harbour code: core: dbgentry.c, hbwince.c contrib: hbnf, hbw32, hbwhat32, hbtip foreign code: zlib, sqlite2/3 Not all of these are necessarily bugs (but it's difficult to know without checking each). 2008-06-28 08:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/set.ch * include/hbset.h * source/rtl/set.c * source/vm/fm.c * source/vm/extrap.c + Added: Set( _SET_HBOUTLOGINFO[, ] ) -> Default value: "" This user defined text will be included in each hb_out.log messages. This way it's possible to include custom information in these entries to help identify and locate them. ! Fixed a few string not marked with HB_I_() translation marker. 2008-06-27 17:13 UTC+0100 Miguel Angel Marchuet * contrib/hbtip/client.prg * contrib/hbtip/ftpcln.prg * contrib/hbtip/httpcln.prg * contrib/hbtip/mail.prg * contrib/hbtip/sendmail.prg + Added methods setget to interrogate buffer size send/recive METHOD InetRcvBufSize( SocketCon, nSizeBuff ) METHOD InetSndBufSize( SocketCon, nSizeBuff ) + Added data members to assign default buffer sizes DATA nDefaultRcvBuffSize DATA nDefaultSndBuffSize + Asigned default buffer size to 64kb only for FTP transfer, previous to open sockets ::nDefaultSndBuffSize := 65536 ::nDefaultRcvBuffSize := 65536 * Fixed port ftp protocol. * source/rtl/hbinet.c * now works with default system buffer, for example 8kb at W2000. instead of harcoded 1400 2008-06-27 17:07 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbgf/hbgfgtk/msginfo.c ! Blind fix for missing MultiLineDelimiters definition. 2008-06-27 15:43 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/wincorec.c * contrib/hbwhat32/_winwnd.c * contrib/hbwhat32/wincore.prg + hb_retnl()/hb_parnl() calls replaced with hb_retptr()/hb_parptr(). This way it won't break on Win64. ; NOTE1: Functions dealing with wndproc/dlgproc functions on the Harbour level will now return/require POINTER types instead of numerics. App level code should be updated accordingly. INCOMPATIBLE. ; NOTE2: There might be other places in hbwhat32 where such conversion would be necessary. ; Please test. 2008-06-27 14:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fixed GPF in expressions like: #command CMD => #translate abc => \ problem located by Ron in xHarbour * harbour/source/pp/hbpp.c * extended string escaping to also quote " and ? (possible trigraph) * harbour/source/compiler/gencc.c ; comment formatting 2008-06-27 14:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/Makefile * After this change, HB_CONTRIBLIBS will _override_ the default list of contribs, rather than adding them to the default list (which BTW contains everything since this week, so there's no much point anyway, besides if someone was hosting local contribs in the Harbour contrib dir). * include/hbver.h - Removed recenly added HB_VERSION 0x010000. * Instead I've changed both .prg level and .c level __HARBOUR__ to contain this more granular (full) version number. ; NOTE: If someone is relying on the value of __HARBOUR__ in .prg code, the values should be multiplied by 256. 2008-06-27 13:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbstdgen.ch * include/hbver.h * Cleanups to previous change. ! Fixed HB_STD_CH_ to not be #defined in .prgs by default. 2008-06-27 12:51 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbgf/hbgfgtk/creamenu.c - Removed deprecated pre GTK2 API call with no equivalent in newer versions. If someone needs the menu shadow functionality for GTK1, please give some hint how to guard it, and we can add it back. 2008-06-27 12:24 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbstdgen.ch * include/hbver.h * include/hbdefs.h * source/pp/pplib.c * source/pp/ppcore.c * source/pp/hbpp.c * source/common/hbver.c * source/common/hbverdsp.c * contrib/hbsqlit3/hbsqlit3.c * contrib/examples/pp/hbppdef.h * Changed .c level __HARBOUR__ to have the same value as the existing .prg level one. * PP now gets the __HARBOUR__ define directly from the .c level instead of generating it locally. ; QUESTION: Should or shouldn't we change __HARBOUR__ to contain revision number too? (0x0100 -> 0x01000) This would allow for a greater level of development opportunities between minor revisions, more "agile" development. * include/hbpp.h * source/pp/ppcore.c - Two __XHARBOUR__ guards removed. 2008-06-27 03:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/gtwvg/Makefile * contrib/gtwvg/common.mak - contrib/gtwvg/wvtclass.prg + contrib/gtwvg/wvgclass.prg - contrib/gtwvg/wvtpaint.prg + contrib/gtwvg/wvgpaint.prg - contrib/gtwvg/wvtcore.c + contrib/gtwvg/wvgcore.c - contrib/gtwvg/wvtutils.c + contrib/gtwvg/wvgutils.c * contrib/gtwvg/hbgtwvg.ch * contrib/gtwvg/wvtwin.ch + Added self-guards for headers. ! Added missing SVN header and copyright to hbgtwvg.ch. ! Deleted ISBLOCK() from wvtwin.ch since it's already #defined in common.ch. * Renamed local source files from wvt*.* -> wvg*.* 2008-06-26 15:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/pp/hbpp.c ! Fixed typo in recent modification. Thanks to Grigory Filatov for spotting it. 2008-06-26 12:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/mysql.c * contrib/hbmysql/tmysql.prg * contrib/hbmsql/msql.c * contrib/hbmsql/tmsql.prg ! Fixed again to use hb_parptr()/hb_retptr() instead of hb_parnl()/hb_retnl(). This fixes these libs on 64 bit systems. This is an INCOMPATIBLE change, users of these libs will have to update their code when dealing with return values of the following functions: - hbmysql / SQLCONNECT() - hbmysql / SQLSTORER() - hbmysql / SQLUSERES() - hbmsql / MSQLSTORER() - hbmsql / MSQLLISTFI() They will now return pointer type instead of a number, so error checking will have to be changed from r > 0, r ==/=/!=/> 0 to !Empty( r ). ; Please test. * contrib/hbgf/hbgfw32/win32.c * contrib/hbgf/hbgfos2/os2pm.c * contrib/hbgf/hbgfos2/os2pm.ch * Some cleanups. ; Please test for OS/2. 2008-06-26 11:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbmsql/msql.c ! changed msqlGetErrMsg( NULL ) => msqlErrMsg * harbour/contrib/hbsqlit3/hbsqlit3.c ! include harbour header files after sqlite3.c which needs some extra sets for system header files * harbour/contrib/hbgf/hbgfw32/win32.c ! removed wrongly used TEXT( hb_parc( 1 ) ) macro. The TEXT() macro can be used _ONLY_ for literal strings. * harbour/contrib/hbgf/hbgfgtk/Makefile * harbour/contrib/hbgf/hbgfgtk/dispatch.c * harbour/contrib/hbgf/hbgfgtk/msginfo.c * harbour/contrib/hbgf/hbgfgtk/form.prg * harbour/contrib/hbgf/hbgfgtk/creawin.c ! fixed compilation in Linux * harbour/source/rtl/gtclip.c * pacified warning 2008-06-26 11:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/common/hbver.c * Changed version information layout: "Harbour a build x.y-z" -> "Harbour x.y.za" format. * contrib/gtwvg/gtwvg.c ! Fixed compile error. (commented line, please check this code) [ pGT->iLocalGTHandle = pWVT->iHandle; ] * contrib/gtwvg/wvtutils.c * contrib/gtwvg/wvtcore.c * contrib/gtwvg/wvtpaint.prg * contrib/gtwvg/wvtclass.prg % hb_arraySet( ..., hb_itemPut*() ) -> hb_arraySet*( ... ) * if() -> iif() * != on strings to IS*() macros. ; TODO: I'd suggest to change "WVT" references to "WVG" to avoid confusion with core WVT. At least in those places which wouldn't break compatibility (like source names). If there is no objection I can do it. * source/rtl/gtwvt/gtwvt.c * Minor cleanup. 2008-06-25 15:55 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/gtwvg.c * Some futuristic additions and synchronization with GTWVT. * harbour/contrib/gtwvg/tests/demowvg.prg * Update to recognize all key events. ;DONE: I am done with the update og GTWVG. Open to previous modifications, Viktor? 2008-06-25 18:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbfimage/fi_winfu.c * contrib/hbfimage/fi_wrp.c ! I cannot test it right now, but this should fix the build problem for hbfimage under Linux. 2008-06-25 16:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbver.h * removed unnecessary EOL inside comment * harbour/contrib/hbodbc/odbc.c ! use valid integer type instead of explicit casting in function call. Such casting is vary dangerous and may cause unpredictible results when integer value has different binary size * harbour/contrib/hbtpathy/Makefile * harbour/contrib/hbtpathy/common.mak * harbour/contrib/hbtpathy/telepath.ch * harbour/contrib/hbtpathy/tplinux.c * harbour/contrib/hbtpathy/tpwin32.c * harbour/contrib/hbtpathy/tpos2.c * harbour/contrib/hbtpathy/telepath.prg * harbour/contrib/hbtpathy/readme.txt * harbour/contrib/hbtpathy/tests/testtp.prg * converted EOL style to native * set valid SVN attributes * harbour/contrib/hbapollo/Makefile * disabled non W32 builds, SDE exists only for MS-Windows * harbour/contrib/hbziparch/Makefile ! fixed C flag setting for Linux builds * harbour/source/pp/ppcore.c * formatting * harbour/source/rtl/valtoexp.prg ! fixed empty date conversion * harbour/hbgtmk.sh * harbour/make_xmingwce.sh * harbour/make_deb.sh * harbour/make_rpmw32.sh * harbour/make_gcc.sh * harbour/make_rpm.sh * harbour/make_xmingw.sh * harbour/make_tgz.sh * harbour/make_rpmce.sh * harbour/contrib/hbmzip/make_gcc.sh * harbour/contrib/hbsqlit3/make_gcc.sh * harbour/contrib/make_gcc_all.sh * harbour/contrib/hbziparch/make_gcc.sh * harbour/contrib/hbnf/make_gcc.sh * harbour/contrib/hbhpdf/tests/files/cp932.txt * harbour/contrib/hbhpdf/make_gcc.sh * harbour/contrib/rddado/make_gcc.sh * harbour/contrib/gtwvg/make_gcc.sh * harbour/contrib/hbpgsql/make_gcc.sh * harbour/contrib/rddads/make_gcc.sh * harbour/contrib/hbclipsm/make_gcc.sh * harbour/contrib/mtpl_gcc.sh * harbour/contrib/hbfimage/make_gcc.sh * harbour/contrib/hbgd/tests/bld.sh * harbour/contrib/hbgd/make_gcc.sh * harbour/contrib/hbmisc/make_gcc.sh * harbour/contrib/hbtip/make_gcc.sh * harbour/contrib/hbbmcdx/make_gcc.sh * harbour/contrib/hbvpdf/make_gcc.sh * harbour/contrib/hbbtree/make_gcc.sh * set valid SVN EOL attribute 2008-06-25 11:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c * Slightly changed the way CLOSE button works. Now the close button, if enabled, will always force a shutdown. So this setting is made independent of SetCancel(). I choose this because there might be cases when we need to use in app code, yet we want to allow closing the window. Previously it was also easy to create confusing scenarios by using various combinations of HB_GTI_CLOSABLE + SetCancel(). Another kind of fix - without the advantage above - would be to fully sync SetCancel() with HB_GTI_CLOSABLE. * contrib/hbtpathy/tplinux.c ! Fixed embedded comments in Linux code. * contrib/hbziparch/hbziparc.h ! Fixed header casing. 2008-06-24 19:20 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmsql/msql.c * contrib/hbmysql/mysql.c ! Partially undone previous change where hb_par/retnl() calls were swapped for hb_par/retptr(). HB_PAR/RETPTR() macros are used in the time being, until .prg level code isn't updated to expect pointers rather then numerics. The problem is that these pointers are checked for zero on the .prg level. Notice that using par/retnl() for pointers makes these function fail on Win64. TOFIX: Two solutions come to mind: 1) extend HVM to make it possible to compare pointer types against zero. 2) develop different ways to return errors and modify .prg level code accordingly. I'd vote for 1) if doable. * contrib/hbfimage/fi_winfu.c * contrib/hbfimage/fi_wrp.c * contrib/hbfimage/Makefile * __GNUC__ macro requirement moved to C source from GNU-make CFLAGS. 2008-06-24 14:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tgetlist.prg ! Fixed Settle() calls. ! Removed type constraint from ::nLastExitState. (this value may be of any type, even in TGet()) * Formatting. 2008-06-24 07:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/gtwvg/common.mak * contrib/gtwvg/Makefile ! Added missing new public .ch header. 2008-06-24 00:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + contrib/hbziparch/_features.h + contrib/hbziparch/_platform.h + contrib/hbziparch/Aes.cpp + contrib/hbziparch/Aes.h + contrib/hbziparch/BaseLibCompressor.cpp + contrib/hbziparch/BaseLibCompressor.h + contrib/hbziparch/BytesWriter.h + contrib/hbziparch/Bzip2Compressor.cpp + contrib/hbziparch/Bzip2Compressor.h + contrib/hbziparch/DeflateCompressor.cpp + contrib/hbziparch/DeflateCompressor.h + contrib/hbziparch/DirEnumerator.cpp + contrib/hbziparch/DirEnumerator.h + contrib/hbziparch/FileFilter.cpp + contrib/hbziparch/FileFilter.h + contrib/hbziparch/FileInfo.h + contrib/hbziparch/Hmac.cpp + contrib/hbziparch/Hmac.h + contrib/hbziparch/RandomPool.cpp + contrib/hbziparch/RandomPool.h + contrib/hbziparch/Sha1.cpp + contrib/hbziparch/Sha1.h + contrib/hbziparch/std_mfc.h + contrib/hbziparch/std_stl.h + contrib/hbziparch/Wildcard.cpp + contrib/hbziparch/Wildcard.h + contrib/hbziparch/ZipAbstractFile.h + contrib/hbziparch/ZipAesCryptograph.cpp + contrib/hbziparch/ZipAesCryptograph.h + contrib/hbziparch/ZipArchive.cpp + contrib/hbziparch/ZipArchive.h + contrib/hbziparch/ZipAutoBuffer.cpp + contrib/hbziparch/ZipAutoBuffer.h + contrib/hbziparch/ZipBaseException.h + contrib/hbziparch/ZipCallback.h + contrib/hbziparch/ZipCallbackProvider.h + contrib/hbziparch/ZipCentralDir.cpp + contrib/hbziparch/ZipCentralDir.h + contrib/hbziparch/ZipCollections.h + contrib/hbziparch/ZipCollections_mfc.h + contrib/hbziparch/ZipCollections_stl.h + contrib/hbziparch/ZipCompatibility.cpp + contrib/hbziparch/ZipCompatibility.h + contrib/hbziparch/ZipCompressor.cpp + contrib/hbziparch/ZipCompressor.h + contrib/hbziparch/ZipCrc32Cryptograph.cpp + contrib/hbziparch/ZipCrc32Cryptograph.h + contrib/hbziparch/ZipCryptograph.cpp + contrib/hbziparch/ZipCryptograph.h + contrib/hbziparch/ZipException.cpp + contrib/hbziparch/ZipException.h + contrib/hbziparch/ZipExtraData.cpp + contrib/hbziparch/ZipExtraData.h + contrib/hbziparch/ZipExtraField.cpp + contrib/hbziparch/ZipExtraField.h + contrib/hbziparch/ZipFile.h + contrib/hbziparch/ZipFile_mfc.cpp + contrib/hbziparch/ZipFile_mfc.h + contrib/hbziparch/ZipFile_stl.cpp + contrib/hbziparch/ZipFile_stl.h + contrib/hbziparch/ZipFileHeader.cpp + contrib/hbziparch/ZipFileHeader.h + contrib/hbziparch/ZipFileMapping.h + contrib/hbziparch/ZipFileMapping_lnx.h + contrib/hbziparch/ZipFileMapping_win.h + contrib/hbziparch/ZipMemFile.cpp + contrib/hbziparch/ZipMemFile.h + contrib/hbziparch/ZipMutex.h + contrib/hbziparch/ZipMutex_lnx.h + contrib/hbziparch/ZipMutex_win.h + contrib/hbziparch/ZipPathComponent.h + contrib/hbziparch/ZipPlatform.h + contrib/hbziparch/ZipPlatformComm.cpp + contrib/hbziparch/ZipStorage.cpp + contrib/hbziparch/ZipStorage.h + contrib/hbziparch/ZipString.h + contrib/hbziparch/ZipString_mfc.h + contrib/hbziparch/ZipString_stl.h + contrib/hbziparch/ZipStringStoreSettings.h + ZipArchive lib update finished. ; Pass 2/2 ; Please test. 2008-06-24 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + contrib/hbziparch/readme.txt + contrib/hbziparch/zlib + contrib/hbziparch/zlib/deflate.h + contrib/hbziparch/zlib/zlib.h * contrib/hbziparch/common.mak * contrib/hbziparch/hbcomprs.c * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbzipcom.cpp * contrib/hbziparch/hbzipnew.cpp * contrib/hbziparch/License.txt * contrib/hbziparch/make_gcc.sh * contrib/hbziparch/make_vc.bat * contrib/hbziparch/Makefile * contrib/hbziparch/resource.h * contrib/hbziparch/stdafx.h * contrib/hbziparch/ZipExport.h * contrib/hbziparch/ZipPathComponent_lnx.cpp * contrib/hbziparch/ZipPathComponent_win.cpp * contrib/hbziparch/ZipPlatform_lnx.cpp * contrib/hbziparch/ZipPlatform_win.cpp * contrib/hbziparch/ZipString.cpp - contrib/hbziparch/stdafx.cpp - contrib/hbziparch/zipabstractfile.h - contrib/hbziparch/ziparchive.cpp - contrib/hbziparch/ziparchive.h - contrib/hbziparch/zipautobuffer.cpp - contrib/hbziparch/zipautobuffer.h - contrib/hbziparch/zipbaseexception.h - contrib/hbziparch/zipcentraldir.cpp - contrib/hbziparch/zipcentraldir.h - contrib/hbziparch/zipcollections.h - contrib/hbziparch/zipcompatibility.cpp - contrib/hbziparch/zipcompatibility.h - contrib/hbziparch/zipexception.cpp - contrib/hbziparch/zipexception.h - contrib/hbziparch/zipfile.cpp - contrib/hbziparch/zipfile.h - contrib/hbziparch/zipfileheader.cpp - contrib/hbziparch/zipfileheader.h - contrib/hbziparch/zipfilemapping.h - contrib/hbziparch/zipinternalinfo.h - contrib/hbziparch/zipmemfile.cpp - contrib/hbziparch/zipmemfile.h - contrib/hbziparch/zippathcomponent.h - contrib/hbziparch/zipplatform.h - contrib/hbziparch/zipplatformcomm.cpp - contrib/hbziparch/zipstorage.cpp - contrib/hbziparch/zipstorage.h - contrib/hbziparch/zipstring.h * ZipArchive 2.x -> ZipArchive 3.2.0 (latest) Only one minor modification (reported to author) Plus integrated ZLIB replaced with hbzlib. ; Pass 1 2008-06-24 00:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + contrib/hbziparch/tests + contrib/hbziparch/tests/bld_b32.bat + contrib/hbziparch/tests/bld_vc.bat + contrib/hbziparch/tests/zipa.prg + contrib/hbziparch/tests/unzipa.prg * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbzipcom.cpp * contrib/hbziparch/hbcomprs.c * contrib/hbziparch/hbzipnew.cpp * Further cleanup. ! Several potential buffer overruns fixed. (there are still quite some left) + Added simple tests. 2008-06-23 20:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbextern.ch * HB_GETREADVAR() added. 2008-06-23 19:40 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/getsys.prg * source/rtl/tgetlist.prg ! Fixed ReadModal() for C5.2 mode to not accept a (BTW unused) nPos parameter. This could cause an RTE in Harbour if ReadModal( ) was used, with HB_COMPAT_C53 turned off. Default build was not affected. + Added hb_GetReadVar( ) -> to get the name of a GET variable in uppercase and including the subscripts. Same as existing HBGetList():GetReadVar() on the active GET object. 2008-06-23 15:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/common.mak - contrib/hbziparch/zip.h - contrib/hbziparch/unzip.h * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbziparc.h * contrib/hbziparch/hbzipcom.cpp * contrib/hbziparch/hbzipnew.cpp * Further cleanup. ; Now the Harbour part compiles cleanly, except the recently added HB_FUNC_EXIT( HBZIPCLEANUP ). ; I have a version ready using the unmodified sources of the latest ZipArchive version. Waiting for testers or test code. 2008-06-23 14:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) - contrib/hbziparch/make_b32_dll.bat - contrib/hbziparch/make_b32_dll.mak - contrib/hbziparch/doc * contrib/hbziparch/Makefile * contrib/hbziparch/common.mak * contrib/hbziparch/hbziparc.c * contrib/hbziparch/hbziparc.h - contrib/hbziparch/zipcomp.cpp + contrib/hbziparch/hbzipcom.cpp - contrib/hbziparch/zipnew.cpp + contrib/hbziparch/hbzipnew.cpp - Docs integrated into source. - Removed .dll building batch files (highly redundant, non-maintained and probably non-working), so now the make system is fully standard. If .dll generation is that important, we will have to add it to the central contrib make files, so that we can use it for all contribs. * Renamed some files so separate ZipArch and Harbour parts. * Cleanups, renames (statics, globals), warning fixes, deleted unneeded stuff, some functions made static. ; This is still a mess. ; NOTE: Since there is no sample or test program, neither do I use this contrib, I couldn't test any of these changes. Please test. (if you have test code, upload it to hbziparch/tests) 2008-06-23 10:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/make_b32_dll.mak * contrib/hbziparch/make_b32.bat * contrib/hbziparch/make_vc.bat * contrib/hbziparch/Makefile * contrib/hbziparch/common.mak - contrib/hbziparch/lincompile.sh - contrib - contrib/hbziparch/include -> contrib/hbziparch - contrib/hbziparch/Linux + contrib/hbziparch/ZipFileMapping.h + contrib/hbziparch/ZipPathComponent_lnx.cpp + contrib/hbziparch/ZipPlatform_lnx.cpp - contrib/hbziparch/zippathcomponent.cpp + contrib/hbziparch/ZipPathComponent_win.cpp - contrib/hbziparch/zipplatform.cpp + contrib/hbziparch/ZipPlatform_win.cpp * Directory cleanup. ! Fixed #include. 2008-06-23 10:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbziparch/Makefile * contrib/hbziparch/common.mak - contrib/hbziparch/Linux + contrib/hbziparch/ZipFileMapping.h + contrib/hbziparch/ZipPathComponent_lnx.cpp + contrib/hbziparch/ZipPlatform_lnx.cpp - contrib/hbziparch/zippathcomponent.cpp + contrib/hbziparch/ZipPathComponent_win.cpp - contrib/hbziparch/zipplatform.cpp + contrib/hbziparch/ZipPlatform_win.cpp * Directory cleanup. 2008-06-23 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * make_vcce.mak * make_vc.mak * contrib/mtpl_vc.mak * KEEPSTATE -> HB_KEEPSTATE * contrib/hbziparch/Makefile * contrib/hbziparch/make_b32.bat * contrib/hbziparch/make_vc.bat * contrib/hbziparch/common.mak - contrib/hbziparch/zip.c + contrib/hbziparch/hbziparc.c - contrib/hbziparch/include/hbzip2.h + contrib/hbziparch/hbziparc.h - contrib/hbziparch/include/hbzip.h - contrib/hbziparch/include/hbz.h * contrib/hbziparch/zipcomp.cpp * contrib/hbziparch/zipnew.cpp - Removed unnecessary headers. * Renamed include/hbzip2.h to hbziparc.h * Renamed zip.c to hbziparc.c * Some cleanups to source. * BCC warnings suppressed. % Unecessary compilation flags removed. 2008-06-22 22:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbapierr.h * source/rtl/errorapi.c * source/rdd/hbsix/sxtable.c * contrib/hbct/charonly.c * contrib/hbct/charevod.c * contrib/hbct/charone.c * contrib/hbct/pos1.c * contrib/hbct/ascpos.c * contrib/hbct/token1.c * contrib/hbct/atnum.c * contrib/hbct/count.c * contrib/hbct/replace.c * contrib/hbct/ctpad.c * contrib/hbct/justify.c * contrib/hbct/remove.c * contrib/xhb/hbxml.c * contrib/hbmzip/hbmzip.c * contrib/hbtip/utils.c * Changed remaining &hb_errFuncName -> HB_ERR_FUNCNAME + Added compatibility comments. ! Fixed hb_errFuncName value (changed to 1 to be the same as HB_ERR_FUNCNAME). ; NOTE: 3rd party developers are encouraged to use HB_ERR_FUNCNAME instead of hb_errFuncName. There is no change in functionality. [TOMERGE 1.0.0RC1] 2008-06-22 22:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/hbcompat.ch + Added HB_SYMBOL_UNUSED() to xhb branch. [TOMERGE 1.0.0RC1] 2008-06-22 21:20 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/w32_ole.c * contrib/hbole/ole2.c * contrib/gtwvg/gtwvg.h ! HB_ID_REF() declaration changed to compile with MSVS2008 in AMD64. Przemek please verify me. ; With this, all 64bit contrib errors are fixed. [TOMERGE 1.0.0RC1] 2008-06-22 21:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbsetup.h + Added HB_OS_WIN_64 macro to replace _WIN64. [TOMERGE 1.0.0RC1] * contrib/hbwhat32/_winsys.c * contrib/hbwhat32/_winsock.c * contrib/hbwhat32/_wincall.c * contrib/gtwvg/wvtutils.c ! Fixed WIN64 compile errors. [TOMERGE 1.0.0RC1] * contrib/hbw32/dllcall.c * contrib/hbw32/w32_ole.c * _WIN64 -> HB_OS_WIN_64 [TOMERGE 1.0.0RC1] 2008-06-22 13:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c + Code cleanup for 64bit. Only calls to Harbour APIs are generating warnings now. (hb_xgrab, hb_xrealloc, hb_fsWriteLarge, hb_fsReadLarge, hb_retclen, hb_storclen) [TOMERGE 1.0.0RC1] 2008-06-22 12:24 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32ddr/w32_ddrw.cpp * contrib/hbodbc/odbc.c ! Fixed to compile with MSVS2008 in AMD64 mode. [1.0.0RC1] 2008-06-22 10:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/mtpl_b32.mak * contrib/mtpl_gcc.mak * contrib/mtpl_vc.mak + Added HB envvar harbour.exe override. This is currently useful in VC only to create cross-platform builds. [1.0.0RC1] 2008-06-22 10:24 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * ChangeLog + Marked changes merged with 1.0.0RC1. * make_vc.mak * make_vcce.mak * Syncing between these two. ! Fixed minor typo in CE comment. ! Fixed one rule where HB var was not respected in CE DLL generation. Marek please check me. 2008-06-22 01:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/Makefile ! Fixed to compile using GNU make system. This contrib needs xhb header in order to compile. (solved with an ugly hack) [1.0.0RC1] 2008-06-22 00:36 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/mysql.c ! Fixed GCC warning. 2008-06-21 23:27 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c - Removed HB_NOSTARTUPWINDOW link time GTWVT window hiding option. ; For the same effect, but with the advantage that the screen output won't slow the application at all, and that behaviour is controllable from the command line and/or at link time, please use gtgui.lib. With GTGUI the application window is neither created nor updated, while GTWVT will create the window, update the window, but it will be fully invisible with no way to unhide. Clipboard and sound generation works in both cases. For 100% similar end-user experience as the old hack: - link gtgui.lib - replace ANNOUNCE HB_NOSTARTUPWINDOW with ANNOUNCE HB_GT_GUI_DEFAULT - add REQUEST HB_GT_GUI to your application. * contrib/hbwhat32/whatutil.prg * contrib/hbwhat32/wincomm.prg * contrib/hbwhat32/wincore.prg * contrib/hbwhat32/windebug.prg * contrib/hbwhat32/winerror.prg * contrib/hbwhat32/winini.prg * contrib/hbwhat32/winrbar.prg * contrib/hbwhat32/wintabs.prg * contrib/hbwhat32/wintbar.prg * Some .prg level code cleanup. (= operators, if(), <> -> !=). No actual problem found. 2008-06-21 22:50 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbfimage/Makefile ! Fixed to compile with MinGW. [1.0.0RC1] 2008-06-21 22:24 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtalleg/gtalleg.c * source/rtl/gtgui/gtgui.c * source/rtl/gtwin/gtwin.c * source/rtl/gtwvt/gtwvt.c * source/rtl/gtxwc/gtxwc.c * Changed some GT names to more descriptive, uniform ones and leaving "win32" (it can be win64 too): "Win32 buffered console -> "Windows native console" "Win32 buffered WVT" -> "Windows GUI console (WVT)" "Strep GT driver for W32 GUI programs" -> "Windows dummy console for GUI programs" "XWindow Console XWC" -> "XWindow GUI console (XWC)" "Multiplatform Allegro graphics console" -> "Portable Allegro GUI console" 2008-06-21 21:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * doc/whatsnew.txt + Some updates. [1.0.0RC1] * contrib/Makefile ! Fix to prev. 2008-06-21 10:42 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbwhat32/commctrl.ch * contrib/hbwhat32/commdlg.ch * contrib/hbwhat32/wingdi.ch * contrib/hbwhat32/wininet.ch ! Pulled from MinGW distribution. ; TODO: Refinement for UNICODE version which I realized a little later. [1.0.0RC1] 2008-06-21 19:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/pp/hbpp.c ! Fixed to escape strings in generated hbverbld.h. [1.0.0RC1] 2008-06-21 18:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/_winsock.c * contrib/hbwhat32/_winmous.c ! Silenced GCC 4.30 warnings. NOTE: These warnings are pointing to important potential bugs (GPFs) in these functions. It would be better to fix them properly. 2008-06-21 18:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbole/Makefile + Marked as w32 only. + contrib/hbgf/hbgfw32/Makefile * contrib/hbgf/hbgfos2/Makefile * contrib/hbgf/hbgfgtk/Makefile + Added w32 GNU make file. + Added platforms guards. 2008-06-21 18:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu) - contrib/hbgf/hbgfw32/win32.ch + contrib/hbgf/hbgfw32/hbgfw32.ch * contrib/hbgf/hbgfw32/common.mak * contrib/hbgf/hbgfw32/button.prg * contrib/hbgf/hbgfw32/form.prg * contrib/hbgf/hbgfw32/edit.prg ! Made the .ch name less generic. 2008-06-21 17:58 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/Makefile - contrib/hbgf/gtk - contrib/hbgf/os2pm - contrib/hbgf/win32 + contrib/hbgf/hbgfw32 + contrib/hbgf/hbgfos2 + contrib/hbgf/hbgfgtk + contrib/hbgf/Makefile * contrib/hbgf/hbgfos2/Makefile + Decentralized GNU make for these contribs. * Renamed according to stds. ! Fix to be built under Linux/Win32. (if they don't work they should be fixed/disabled locally) * contrib/Makefile * contrib/hbodbc/Makefile * contrib/hbw32/Makefile * contrib/rddado/Makefile * Further decentralization of contrib building decisions. + Added all existing contribs to the list. Separated into two sections: standalone contribs, and ones with external dependencies. ; TODO: Refine this by some clever commenting. This is a multiplatform issue, so we need to work together. * contrib/examples/Makefile ! Fixed to include newly added examples. * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbcurl/make_b32.bat * contrib/hbcurl/make_vc.bat * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_vc.bat * contrib/hbhpdf/make_b32.bat * contrib/hbhpdf/make_vc.bat * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat + Some steps made to make it possible to disable any messings with .dlls. This is not yet complete, and the goal is to be able to use HB_INC_* to specify include dirs for external packages on all make systems (GNU, non-GNU .bat, non-GNU .sh) 2008-06-21 17:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) - contrib/hbgf/gtk - contrib/hbgf/os2pm - contrib/hbgf/win32 + contrib/hbgf/hbgfw32 + contrib/hbgf/hbgfos2 + contrib/hbgf/hbgfgtk + contrib/hbgf/Makefile * contrib/hbgf/hbgfos2/Makefile + Decentralized GNU make for these contribs. * Renamed according to stds. ! Fix to be built under Linux/Win32. (if they don't work they should be fixed/disabled locally) 2008-06-21 17:23 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32ddr/Makefile ! Fixed to compile with GNU make. ! Found a way to compile with MingW. [1.0.0RC1] * contrib/hbtpathy/Makefile ! Fixed to work at all. [1.0.0RC1] * contrib/Makefile * contrib/gtwvg/Makefile * contrib/hbbmcdx/Makefile * contrib/hbodbc/Makefile * contrib/hbtip/Makefile * contrib/hbw32/Makefile * contrib/hbw32ddr/Makefile * contrib/hbwhat32/Makefile * contrib/rddads/Makefile + Platform/compiler checks moved to the contrib level Makefiles instead of being in /contrib/Makefile. This way it's modular, anyone can easily find out any platform/compiler dependencies and the central Makefile is easier to manage since it's global for all platforms/compilers. As a side effect HB_WITHOUT_ODBC, HB_WITHOUT_ADS now behaves similarly on all platforms. ; Work in progress. The goal is to be safe to include all contribs in /contrib/Makefile. - contrib/hbw32ddr/w32_ddrw.h * contrib/hbw32ddr/w32_ddrw.cpp * Cleanups, removing unneeded fluffs. [1.0.0RC1] * contrib/hbziparch/make_b32_dll.mak - Removed many unneeded command line switches. ; This make file should better be standardized. * contrib/hbziparch/Makefile - Removed many unneeded command line switches. 2008-06-21 16:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbfbird/firebird.c ! Fixed two bugs signaled by GCC 4.30. * contrib/hbziparch/hbcomprs.c * contrib/hbziparch/zip.c * contrib/hbziparch/ziparchive.cpp * contrib/hbziparch/include/zip.h * contrib/hbziparch/include/ziparchive.h * contrib/hbziparch/include/unzip.h * contrib/hbziparch/include/zipinternalinfo.h - contrib/hbziparch/include/hbcomprs.h - contrib/hbziparch/include/zutil.h - contrib/hbziparch/include/zconf.h ! Stripped an old version (1.1.4) of ZLIB embedded in this contrib. Some warnings and even more security problems fixed this way. Users of this lib should link hbzlib.lib from now on. ! Fixed some warnings after recent update. NOTE: One is still there (unused ..HBZIPCLEANUP function). ; NOTE: The quality of this code is not up to Harbour standard. It compiles with a large amount of warnings on all (BCC, MSVC, GCC) compilers. Also the included ziparch source is dated. Anybody volunteering to clear these up? ; NOTE: Please test these changes, I'm not a user of this contrib. [1.0.0RC1] 2008-06-21 12:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * ChangeLog + Marked changes merged with 1.0.0RC1. * RC1 markings renamed to 1.0.0RC1. 2008-06-21 11:44 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * harbour-ce-spec * harbour-w32-spec * doc/whatsnew.txt ! Fixed version to be 1.0.0 RC1 [1.0.0RC1] * ChangeLog ! Marked a few changes for merge with 1.0.0RC1. 2008-06-20 16:25 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbwhat32/winuser.ch ! Pulled from MinGW distribution. ; HbWhat32 compiles fine but I have seen a lot of contradictions in the header. Anybody using hbwhat32 needs to test it properly. May be in normal usage this is OK. [1.0.0RC1] 2008-06-20 13:25 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbwhat32/winuser.ch ! Clean to confirm to .CH specifications. Formatting. ; Let me know if this cleanup fixes the Copyright issue. If it is alright then I will cleanup all other .CHs. 2008-06-20 21:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c + Refreshing whole screen after palette change. This replaces the previous method which had some side effects. * source/vm/fm.c * source/vm/extrap.c * Changed "Harbour" to "Application" in user visible screen/log messages. * contrib/hbwhat32/_winfont.c ! Fixed typo in previous commit. 2008-06-20 17:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbtpathy/telepath.prg ! Fixed embedded comments. [1.0.0RC1] 2008-06-20 16:23 UTC+0100 Miguel Angel Marchuet Frutos * contrib/hbziparch/zip.c * contrib/hbziparch/zipfile.cpp * contrib/hbziparch/zipnew.cpp * contrib/hbziparch/zipplatform.cpp * contrib/hbziparch/zipstorage.cpp * Synced with xharbour. Added relative paths capability, removed memory leaks and minor refinements. ( code aported by Juan Galvez ) [1.0.0RC1] 2008-06-20 15:07 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Removed PutChar override. This was added along the palette support, but I'm afraid we'll need to find an alternative solution, as this change caused a huge amount of flickering on every screen update, essentially nilling all screen change buffering efforts. ; TOFIX: Solve realtime palette change in an alternative way. 2008-06-20 14:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * ChangeLog + Marked changes merged with 1.0.0RC1. * include/hbgtinfo.ch ! Comment typo. [1.0.0RC1] * contrib/hbtpathy/tplinux.c * contrib/hbtpathy/telepath.prg ! Moved some commented "inline" stuff to C level. [1.0.0RC1] 2008-06-20 09:59 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/spd.c ! Fix for OS/2 warning. * contrib/examples/pe/editorhi.prg * contrib/examples/hscript/hscript.prg * Cleanups. * contrib/examples/hscript/bld_b32.bat ! Fixed to have hbzlib.lib [1.0.0RC1] 2008-06-19 18:26 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/examples/guestbk/guestbk.prg * contrib/examples/guestbk/inifiles.prg * contrib/examples/guestbk/testcgi.prg * contrib/examples/hscript/hscript.prg * contrib/examples/pe/editorhi.prg * contrib/gtwvg/tests/demowvg.prg * contrib/hbbtree/tests/test.prg * contrib/hbbtree/tests/ttest.prg * contrib/hbclipsm/tests/testgaug.prg * contrib/hbct/getinfo.prg * contrib/hbct/getinput.prg * contrib/hbct/getsecrt.prg * contrib/hbct/keytime.prg * contrib/hbct/numconv.prg * contrib/hbfbird/tfirebird.prg * contrib/hbgd/gd.prg * contrib/hbgd/gdbar.prg * contrib/hbgd/gdbarcod.prg * contrib/hbgd/gdimage.prg * contrib/hbgd/tests/animgif.prg * contrib/hbgd/tests/gdtest.prg * contrib/hbgd/tests/test_out.prg * contrib/hbgf/gtk/button.prg * contrib/hbgf/gtk/form.prg * contrib/hbgf/gtk/menuitem.prg * contrib/hbgf/gtk/winctrl.prg * contrib/hbgf/os2pm/button.prg * contrib/hbgf/os2pm/edit.prg * contrib/hbgf/os2pm/tform.prg * contrib/hbgf/os2pm/tmenu.prg * contrib/hbgf/os2pm/tmenuitm.prg * contrib/hbgf/tests/formtext.prg * contrib/hbgf/tests/testctrl.prg * contrib/hbgf/tests/testform.prg * contrib/hbgf/win32/button.prg * contrib/hbgf/win32/edit.prg * contrib/hbgf/win32/form.prg * contrib/hbgf/win32/menu.prg * contrib/hbgf/win32/menuitem.prg * contrib/hbhpdf/tests/harupdf.prg * contrib/hbmsql/tests/dbf2msql.prg * contrib/hbmsql/tmsql.prg * contrib/hbmysql/dbf2mysql.prg * contrib/hbmysql/tmysql.prg * contrib/hbmysql/tsqlbrw.prg * contrib/hbmzip/tests/myzip.prg * contrib/hbnf/aredit.prg * contrib/hbnf/calendar.prg * contrib/hbnf/clrsel.prg * contrib/hbnf/pending.prg * contrib/hbnf/sqzn.prg * contrib/hbnf/tbwhile.prg * contrib/hbnf/tests/test.prg * contrib/hbodbc/todbc.prg * contrib/hbpgsql/tests/dbf2pg.prg * contrib/hbpgsql/tpostgre.prg * contrib/hbsqlit2/tests/hbsqlite.prg * contrib/hbsqlit3/tests/sqlite3_test.prg * contrib/hbtpathy/telepath.prg * contrib/hbvpdf/hbvpdf.prg * contrib/hbvpdf/hbvpdft.prg * contrib/hbvpdf/tests/pdf_demo.prg * contrib/hbvpdf/tests/tstpdf.prg * contrib/hbw32/w32_tole.prg * contrib/hbw32/w32_tprn.prg * contrib/hbw32ddr/tests/testdx.prg * contrib/rddado/adordd.prg * contrib/rddado/tests/access2.prg * source/debug/debugger.prg * source/rdd/hbsix/sxini.prg * utils/hbdot/hbdot.prg * utils/hbextern/hbextern.prg * Cleanup. <> -> != or !( == ) for strings if() -> iif() (for inline, where noticed) ' = ' -> := or == for comparisons, or left as '=' in the few rare cases where this was (probably) intended (sxini.prg). Excluded: most tests, hbnf, util/hbdoc, util/hbmake, hbwhat32, gtwvg, hbvpdf has some difficult to judge '=' operators, so I left them. ! Fixed some _SET_EXACT dependencies in a few places. ; TODO: If possible, add a compile switch to catch these, as it's not very easy using 'grep'. 2008-06-19 11:23 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Avoid using the "Windows" word in public message. 2008-06-19 11:08 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbtip/cgi.prg * contrib/hbtip/encoder.prg * contrib/hbtip/ftpcln.prg * contrib/hbtip/httpcln.prg * contrib/hbtip/mail.prg * contrib/hbtip/popcln.prg * contrib/hbtip/sendmail.prg * contrib/hbtip/sessid.prg * contrib/hbtip/smtpcln.prg * contrib/hbtip/thtml.prg * contrib/hbtip/url.prg * Some formatting, cleanups, <> -> != * contrib/hbtip/sendmail.prg + hb_SendMail(): Added parameter. * contrib/hbtip/thtml.prg ! Removed five remaining _SET_EXACT dependent string comparisons. Exact comparisons were used for all these cases, with a NOTE added. 2008-06-19 02:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbtip/common.mak ! Added missing sendmail.prg [1.0.0RC1] * contrib/hbtip/sendmail.prg * Formatting. 2008-06-19 01:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/tests/testdll.prg * source/rtl/colorind.c * contrib/hbodbc/odbc.c * Minor cleanups. * contrib/hbtip/tests/base64.prg * contrib/hbtip/tests/dbtohtml.prg * contrib/hbtip/tests/httpadv.prg * contrib/hbtip/tests/tipmail.prg * contrib/hbtip/tests/tipmmail.prg * contrib/hbtip/tests/tiptest.prg ! All tip tests fixed and tested to compile/link with Harbour. * Changed to not require hbw32.lib. [1.0.0RC1] + contrib/hbtip/tests/test.dbf + Added for tests. [1.0.0RC1] 2008-06-18 11:39 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtclip.c ! hb_gt_w32_setClipboard() fix to CF_UNICODETEXT EOS char setting. [1.0.0RC1] * source/rtl/gtwvt/gtwvt.c + Internal error string cleanup. 2008-06-18 10:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c + Now showing the application's executable name in the window title on startup, instead of "Harbour WVT". * Window class name handling and control flow cleaned. [1.0.0RC1] 2008-06-17 23:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg % Minor opt. * contrib/hbwhat32/_winkbrd.c * contrib/hbwhat32/_wintext.c * contrib/hbwhat32/_windc.c * contrib/hbwhat32/_winsys.c * contrib/hbwhat32/_windir.c * contrib/hbwhat32/_winmsg.c * contrib/hbwhat32/_winmisc.c * contrib/hbwhat32/_winfont.c * contrib/hbwhat32/_winreg.c ! Potential warning fixes. 2008-06-17 23:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * tests/rto_get.prg * source/rtl/tget.prg ! Fixed TGet():assign() to pad character values to the original length with the original content. This also clears some existing differences in rto_get.prg. + Added regression test specifically for this. [1.0.0RC1] 2008-06-17 21:45 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtclip.c ! Added three LPWSTR casts to pacify warnings. [1.0.0RC1] 2008-06-17 18:49 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtclip.c ! Fixed get/set clipboard when UNICODE is #defined. (WinCE mostly). ! Fixed get/set clipboard when format is CF_UNICODETEXT. (untested, please someone review me) ! Fixed get clipboard when CF_TEXT/CF_OEMTEXT format is used, so that an additionaly zero byte won't be appended anymore to the returned string. [1.0.0RC1] (someone pls verify this) * source/rtl/gtwvt/gtwvt.c * "HARBOUR_WVT" -> "Harbour WVT". This text is visible, so it's better to make it "desktop friendlier"". [1.0.0RC1] 2008-06-17 13:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmzip/hbmzip.ch * contrib/hbmzip/hbmzip.c + Added error codes to hbmzip.ch + Interface code changed to use manifest constants instead of literals in a few places. [1.0.0RC1] 2008-06-17 09:43 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/spd.c + SQL_SPRINTF() enhancements from Javier. (internal modifiers for date and numeric types are now accepted). * contrib/hbw32/w32_ole.c * contrib/hbole/ole2.c * Formatting. 2008-06-16 18:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbole/ole2.c * More cleanups. * contrib/rddads/doc/en/adsfuncs.txt * contrib/rddads/doc/en/readme.txt + Updated. [1.0.0RC1] 2008-06-16 14:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbole/ole2.c * And some more. 2008-06-16 13:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbole/ole2.c * Further cleanup. 2008-06-16 11:04 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/set.ch ! Fix to previous commit. 2008-06-16 10:15 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/set.c ! Fix to previous commit. * contrib/hbole/oleauto.prg * contrib/hbole/ole2.c * Some cleanups. 2008-06-16 01:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/set.ch * include/hbset.h * source/rtl/set.c * source/vm/fm.c * source/vm/extrap.c + Added: Set( _SET_HBOUTLOG[, ] ) -> Default value: "hb_out.log" This replaces hb_fm.log and hb_ex.log, and makes it possible for the applications to control the filename where these internal Harbour outputs are written to. * source/rtl/gtwvt/gtwvt.c % Minor redundancy removed. 2008-06-15 15:16 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/gtwvg/gtwvg.c * contrib/gtwvg/wvtutils.c * contrib/gtwvg/wvtcore.c * contrib/gtwvg/wvtpaint.prg * contrib/gtwvg/gtwvg.h + contrib/gtwvg/hbgtwvg.ch ! Syntactically and parameters wise GTWVG matches GTWVT. ! More functions ported to Hb_GtInfo(). ! wvtcore.c and wvtutils.c are now based on function call instead of static variables. + Separate hbgtwvg.ch included containg GTI_ constants proprietory to GTWVG only. ! Organizing, formatting and code clean ups. ; TODO: Separate HB_GTWVT structure in 3 units 1) Core GT member. 2) WVG specif member - per GT. 3) GDI members Work-in-progress. Please deffer updates in GTWVG. 2008-06-15 23:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/vm/memvars.c * Minor format. * contrib/hbmzip/hbmzip.c * Minor cleanups. * contrib/hbtip/tests/httpadv.prg * contrib/hbtip/tests/dnldftp.prg * contrib/hbtip/tests/upld_ftp.prg * contrib/hbtip/tests/tipmail.prg * contrib/hbtip/tests/loadhtml.prg * contrib/hbtip/tests/ftpadv.prg * Changed to compile in Harbour. [1.0.0RC1] 2008-06-14 11:34 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/gtwvg/gtwvg.c * contrib/gtwvg/gtwvg.h * contrib/gtwvg/wvtutils.c * contrib/gtwvg/wvtcore.c * contrib/gtwvg/wvtpaint.prg * contrib/gtwvg/wvtclass.prg + Implemented all features recently added in gtwvt. * contrib/gtwvg/tests/demowvg.prg * Just refreshed to match the date/time stamps with gtwvg.lib ; This is first attempt in this series of optimizations in gtwvg to synchronize it with gtwvt builing a basis for inheretance from gtwvt. Now all EXPORTed funtions in gtwvg.c are stripped and isolated in wvtpaint.prg as prg code taking use of Hb_GtInfo() architecture. gtwvg.c contains only static functions and as such GT layer is made self contained. For this to happen I had to define few more GTI_* constants which goes in gtwvg.h and local to wvtpaint.prg. One or two of them validly become candidate fot gtwvt/hbgtinfo.ch also. TODO: To clean wvtutils.c by plugging the functionality in HB_GTINFO structure. Please do not update any of these files. 2008-06-14 12:03 UTC+0200 Viktor Szakats (harbour.01 syenar hu) + contrib/hbtip/tests + contrib/hbtip/tests/bld_b32.bat + contrib/hbtip/tests/bld_vc.bat + contrib/hbtip/tests/base64.prg + contrib/hbtip/tests/dbToHtml.prg + contrib/hbtip/tests/dnldftp.prg + contrib/hbtip/tests/ftpadv.prg + contrib/hbtip/tests/httpadv.prg + contrib/hbtip/tests/loadhtml.prg + contrib/hbtip/tests/tipmail.prg + contrib/hbtip/tests/tipmime.prg + contrib/hbtip/tests/tipmmail.prg + contrib/hbtip/tests/tiptest.prg + contrib/hbtip/tests/tiptime.prg + contrib/hbtip/tests/uploadftp.prg + Added TIP library tests from xhb repository. [1.0.0RC1] 2008-06-14 09:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/w32_ole.c * Fix to previous commit. 2008-06-14 09:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbbmcdx/bmdbfcdx1.c * contrib/hbct/ctnet.c * contrib/hbct/pos2.c * contrib/hbgf/gtk/creabutt.c * contrib/hbgf/gtk/creawin.c * contrib/hbgt/bitflags.c * contrib/hbmisc/stringsx.c * contrib/hbtip/encmthd.c * contrib/hbtip/utils.c * contrib/hbw32/w32_ole.c * contrib/hbwhat32/_wincdlg.c * contrib/hbwhat32/_winclpb.c * contrib/hbwhat32/_wintree.c * contrib/rddads/ads1.c * contrib/xhb/xstrdel.c * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rdd/delim1.c * source/rdd/hbsix/sxsem.c * source/rdd/sdf1.c * source/rdd/workarea.c * source/rtl/alert.prg * source/rtl/errorsys.prg * source/rtl/gtcrs/gtcrs.c * source/rtl/gtgui/gtgui.c * source/rtl/gtsln/gtsln.c * source/rtl/gtwin/gtwin.c * source/rtl/gtxwc/gtxwc.c * source/rtl/hbgtcore.c * source/rtl/hbregex.c * source/vm/cmdarg.c * source/vm/dynsym.c ! LUPDATE() buffer overread fixed. (hb_retds("")) [1.0.0RC1] % hb_itemPutC*()/hb_retc*()/hb_errInternal() "" parameter -> NULL NOTE: gtwvg not changed. * Few minor cleanups. * Some formatting in ads1.c. (verified to result in no actual codeflow change) ; TODO: hb_retc( NULL ) -> hb_retc_null() 2008-06-13 20:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.h * source/rtl/gtwvt/gtwvt.c ! Sorted out SELECTCOPY menu text and Unicode. 2008-06-13 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.h * source/rtl/gtwvt/gtwvt.c * tests/wvtext.prg + Added hb_gtInfo( HB_GTI_SELECTCOPY, ) to set the menu text ("Mark and Copy" on startup). cMenuText mustn't be zero length. Setting the menu text also enables select© automatically. The call will return the previously set menu text. To get the menu text without setting a new one, use: hb_gtInfo( HB_GTI_SELECTCOPY, "" ) This is good if someone wants to adapt the menu text to the OS's or app's language. * doc/en/hb_apiit.txt * include/hbapi.h * include/hbapiitm.h * source/rtl/gtwin/gtwin.c * source/rtl/hbgtcore.c * source/rtl/gtgui/gtgui.c * source/rtl/gtwvt/gtwvt.c * source/vm/macro.c * source/vm/debug.c * source/vm/itemapi.c * source/vm/hvm.c * source/vm/arrays.c * source/vm/extend.c * source/rdd/dbfntx/dbfntx1.c * source/rdd/sdf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/delim1.c * source/rdd/dbf1.c * source/rdd/dbffpt/dbffpt1.c * contrib/hbw32/w32_ole.c * contrib/gtwvg/gtwvg.c * contrib/rddads/ads1.c * contrib/hbmisc/spd.c * contrib/hbbmcdx/bmdbfcdx1.c * contrib/examples/rdddbt/dbfdbt1.c * I did a mistake in 1999 by giving the name hb_itemPutCPtr() to the function which would have to be correctly named hb_itemPutCLPtr() (notice the 'L' for 'length'). So, now this was renamed to hb_itemPutCLPtr(), stub was added with the old name, and Harbour code was changed to use the new one. I've also added hb_itemPutCPtr2() as a version not requiring len parameter, the proper name would be hb_itemPutCPtr() for this, but we cannot use it without breaking compatibility. IMPORTANT: I'd strongly suggest all 3rd parties to update their code to use the call hb_itemPutCLPtr() instead of hb_itemPutCPtr(). The final goal would be to have hb_itemPutCPtr() with two parameters instead of the hakish looking hb_itemPutCPtr2(). I'd welcome any opinions how to reach this goal. I didn't want to break compatiblity with 3rd parties this time, but IMO we may do it in 1.1, or even before 1.0. ! The above also fixes the (potential) problem when hb_retc_buffer()'s szText parameter was evaluated twice if HB_API_MACROS was #defined. 2008-06-14 06:18 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/source/rtl/gtwvt/gtwvt.c ! Replaced min()/max() functions with HB_MIN()/HB_MAX() macro. 2008-06-13 13:56 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed window trashing for tall/wide windows where the content cannot fill the entire window client area. ; There is still a great amount of flickering, while doing the resize. I wonder if there is any solution for this besides turning off full-content drag/resize. Anyways it's only really bad when trying insane sizes, so it's not a big problem for normal usage. 2008-06-13 22:24 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtwvt/gtwvt.h * Minor cleanups. 2008-06-13 21:56 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/source/rtl/gtwvt/gtwvt.c ! Fixed selection of left most column and top row. Thanks to Andy Wos for help. 2008-06-13 10:56 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtfunc.c * harbour/include/hbapigt.h + Added Palette implementation by color index. Hb_GtInfo( HB_GTI_PALETTE, nIndex[, nNewRGB ] ) -> nOldRGB * harbour/tests/wvtext.prg * Updated to demonstrate above functionality. 2008-06-13 09:12 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * harbour/include/hbgtinfo.ch + Added functionality to change Palette. Hb_GtInfo( HB_GTI_PALETTE, aNewPalette ) -> aOldPalette must be of 16 elements containg RGB colors. * harbour/tests/wvtext.prg * Updated to demonstrate palette info. ; TODO : Hb_GtInfo( HB_GTI_PALETTEBYINDEX, nIndex[, nNewRGB ] ) -> nOldRGB Needs deeper modifications in GT core. Needs additional parameter in core setup. Will commit today. 2008-06-12 17:57 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/strfmt.c + contrib/hbmisc/tests/tsstrfmt.prg + StrFormat() extended to automatically convert parameters to strings, above that the result will AllTrim()-med too before being inserted into the mask string: StrFormat( "%2 %1 born on %3", "Smith", "Mr.", Date() ) -> "Mr. Smith born on 06/12/08" 2008-06-12 11:02 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c % Minor optimization in new screen marking code. * contrib/hbmisc/strfmt.c * Cleanup, optimization, some internal limits removed. * contrib/hbmisc/spd.c * Former _SPD() function renamed to SQL_SPRINTF() 2008-06-12 00:40 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c ! Completely removed flickering under Mark and Copy operation without lengthy calculations. Forwarded by Andy Wos - thanks. ; Viktor, now first row and column are being selected. When right < left only then first column is not accessible but it is very rare in practical application. 2008-06-12 08:55 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbct/fcopy.prg ! Fixed crash in FILECOPY() (reported by Mario H. Sabado) [1.0.0RC1] * contrib/hbodbc/odbc.c * Using sizeof() wherever possible. ! SQLGETDATA(): One strcpy() converted to hb_strncpy() + SQLGETDATA(): One TOFIX added for strcat() usage and possible buffer overrun. Also, it looks to me that both of the above would better be replaced by memcpy() calls otherwise it cannot support embedded '\0's. Anyone? 2008-06-12 01:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.h * source/rtl/gtwvt/gtwvt.c ! Fixed remaining Mark&Copy trashing while doing the selection. * I've undone fix (2008-06-09 14:48 UTC+0800) for non-selectable maxrow/maxcol, since after the fix the _first_ row/col couldn't be selected. TOFIX: Reopened. 2008-06-12 01:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbw32/dllcall.c ! fixed typo in previous modification. It should be HB_PTRDIFF instead of HB_PTR_DIFF 2008-06-11 23:59 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/spd.c + Added support for index & indirect arguments ANSI C99. ; Update contributed by original author: Xavi . Thanks! * Function renamed from _SPD() to C_SPRINTF(). Name tentative. * source/rtl/filesys.c ! hb_fsIsDrv() restored to generic version fo WinCE, because its API doesn't have GetDriveTypeA(). 2008-06-11 13:30 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/tests/wvtext.prg + Added Massimo's contribution. 2008-06-11 12:30 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtwvt/gtwvt.h * harbour/include/hbgtinfo.ch + Added HB_GTI_CLOSABLE Hb_GtInfo( HB_GTI_CLOSABLE, TRUE|FALSE ) -> lPrevState TRUE enables the "X" button, FALSE disbles it. + Added functionality to respond to WM_CLOSE message. If application returns 1 then application is exited. * harbour/tests/wvtext.prg + Added functionality to demonstrate above feature. 2008-06-11 19:39 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * ChangeLog + Marked changes merged with 1.0.0RC1. 2008-06-11 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * include/hbgtinfo.ch * source/rtl/gtwvt/gtwvt.c ! Fixed stupid typo from me. This is why maximized size didn't want to get right. ! Fixed to not reposition non-maximized windows while resizing them and their top/left corner was off screen. ! Fixed to not allow font screen below a certain limit (3x4 pixels). This fixes some of the more obvious cases when window gets trashed. ! Fixed to not resize the windows when toggling the resizing feature using HB_GTI_RESIZABLE. + Added to disable maximize icon after maximizing and reenable it on the first resize attempt. - Removed TIMER related stuff as it's very difficult (or impossible) to support on other platforms. Timer support could be added to hbw32.lib, though. * Some cleanups. ; Remaining TOFIXes: - Window trashing when settling on a size which cannot be properly filled with the console. Try with vertically or horizontally narrow window shapes. - Mark&Copy is still trashing when swapping directions with the selection compared to the starting position. * tests/wvtext.prg ! Added missing SVN keywords properties. ! Added missing SVN eol property. ! Fixed to use the default font to have a more common ground for testing. + Added markers to the corners to easily spot chopped borders. * contrib/xhb/Makefile * contrib/xhb/common.mak - Removed some xhb specific non-standard headers from the list of those getting installed to the Harbour central include dir. Only hbcompat.ch, hbcompat.h and xhb.ch goes now to the official include dir. After this change has been merged with 1.0.0RC1, xhb.lib may be included in the default build. [1.0.0RC1] * contrib/hbw32/tests/testdll.prg + Added some more DLL calling samples. 2008-06-11 18:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdate.h * harbour/source/rtl/dates.c + added hb_dateUnformat() - code by David G. Holm extracted from CTOD() * updated copyright note to point original author of hb_dateFormat() and hb_dateUnformat() * harbour/source/rtl/dateshb.c * use hb_dateUnformat() in CTOD() 2008-06-11 16:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbw32/dllcall.c * added casting of wOrdinal to HB_PTR_DIFF to avoid waring * disabled asm code for WIN64 builds * disabled asm code for WINCE builds * disabled some code which breaks WINCE builds ; TODO: add support for WINCE/ARM and WIN64 * harbour/source/rtl/gtwvt/gtwvt.c ! always use literal strings inside TEXT() macro for UNICODE builds 2008-06-10 23:06 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c ! Fixed maximized state. Borders were missing. - Removed functionality to force Windows not to show Windows contents while resizing. ; Instead application can issue : To switch off full drag DllCall( "user32.dll", NIL, "SystemParametersInfo", 37, 0, 0, 0 ) To switch on full drag DllCall( "user32.dll", NIL, "SystemParametersInfo", 37, 1, 0, 0 ) ! Fixed non-refreshed client area under certain circumstances. * Removed all the hacks to adjust borders. * Adjusted maximize operation - now window is centered on the screen. ; TODO - Find a better solution to enabling and disabling of resizing feature at run time. 2008-06-11 04:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt2.c * added optimization for DTOS( ), f.e.: static s := DTOS( 0d20080611 ) 2008-06-11 01:17 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbwince.c ! fixed typo in GetDriveTypeA() * temporary disabled GetDriveTypeW() call because not all CRTLs for WinCE support it * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/source/common/expropt2.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * added full expression list stripping - it enables optimizations in few additional places ! fixed code to always refresh expression address after direct or indirect reduction - seems that we have some memory leaks and possible GPFs not located so far Please make tests with your code. 2008-06-10 15:35 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c ! Fixed maximized state. Borders were missing. + Added functionality to force Windows not to show Windows contents while resizing. This can be set manually via ; To review: If this behavior be controlled via HB_GTI_SHOWRESIZING or like. * harbour/tests/wvtext.prg * Minor changes. 2008-06-10 22:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/dllcall.c * Casts and cleanups. 2008-06-10 21:55 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/dllcall.c % Futher optimizations. ! Fixed LoadLibrary() handle leak in DLLPREPARECALL() when an invalid function is requested from a valid library. 2008-06-10 21:11 UTC+0200 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/dllcall.c % Optimizations. Removed one internal limit. + contrib/hbw32/tests/testdll.prg + Added small test code. 2008-06-10 19:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.c ! do not use min()/max() C functions. These are not portable functions. Use HB_MIN()/HB_MAX() macros instead. 2008-06-10 19:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/dllcall.c ! Fixed memory corruption when more than 15 parameters were passed to a DLL function. * contrib/hbw32/w32_regc.c % Minor optimization. 2008-06-10 18:50 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/dllcall.c ! Fixed to not execute code after hb_errRT*() calls. ! Fixed to call hb_gcFree() if the hb_gcAlloc()ed pointer is not hb_retptrGC()d (in case of errors). 2008-06-10 19:10 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/vm/hashfunc.c * extended functionality of HB_HSet(), HB_HDel() and HB_HDelAt() to return hash value 2008-06-10 17:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/Makefile * contrib/xhb/common.mak - contrib/xhb/hbrandom.c - We had it in core. Removed. 2008-06-10 17:27 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/Makefile * contrib/xhb/common.mak + contrib/xhb/hbrandom.c + Added some remaining xhb functions: HB_RANDOM() HB_RANDOMINT() HB_RANDOMSEED() Work of Giancarlo Niccolai / xhb. 2008-06-10 16:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbwince.c + added GetDriveTypeA() wrapper for WinCE builds * harbour/source/rtl/gtwvt/gtwvt.c ! changed wrongly used NULL to 0 * harbour/source/rtl/gtwvt/gtwvt.c * changed LoadLibrary() to LoadLibraryA() for UNICODE builds still some other code have to be updated for UNICODE builds. 2008-06-10 16:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * xhb/Makefile * xhb/common.mak + xhb/freadlin.c + Adopted HB_FREADLINE(). Work of Marcelo Lombardo / xhb. ! Fixed one potential leak (probably not exploited by current control flow). ; Please test. [1.0.0RC1] * xhb/hbcrypt.c % Minor opt. (HB_ERR_FUNCNAME) 2008-06-10 16:06 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/xhb/hbcrypt.c + contrib/xhb/hbnxs.h * contrib/xhb/Makefile * contrib/xhb/common.mak + Added HB_CRYPT()/HB_DECRYPT(). Thanks to Giancarlo Niccolai / xhb. + Changed to not depend on hbzlib. ; Minor modifications to compile smoothly in Harbour. [1.0.0RC1] * bin/bld.bat * Prev change undone. 2008-06-10 15:45 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/dllcall.c ! Fixed some xhb specific code to work in Harbour. Now the DLL functions started to work. ! Fixed buffer corruption (by 1 byte) when strings were passed by reference. + Added some XBase++-like support to always pass a copy of our string buffers to the called functions. This is safer but slower. The support is probably not complete. Please test. + Added some XBase++ compatible #defines. + Added CALLDLLTYPED() function where the return value type can be specified. Untested work in progress, feel free to modify. ; Now this test code works: --- hDLL := DllLoad( "pscript.dll" ) cVersion := Space(24) DllCall( hDll, NIL, "PSGetVersion", @cVersion ) ? cVersion DllUnload( hDLL ) --- ; TODO: Add header for these #defines. 2008-06-10 11:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed maximized window size. * contrib/hbw32/dllcall.c * Further cleanup. ! MessageBox()es converted to RTE calls. * contrib/hbcurl/hbcurl.c * contrib/rddads/ads1.c * contrib/rddads/adsfunc.c * source/rdd/dbcmd.c * source/rdd/dbcmd53.c * source/rdd/dbcmdx.c * source/rdd/dbsql.c * source/rdd/wafunc.c * source/rdd/workarea.c * source/rtl/abs.c * source/rtl/at.c * source/rtl/cdpapi.c * source/rtl/chrasc.c * source/rtl/copyfile.c * source/rtl/datec.c * source/rtl/dateshb.c * source/rtl/do.c * source/rtl/gtfunc.c * source/rtl/hbadler.c * source/rtl/hbbit.c * source/rtl/hbcrc.c * source/rtl/hbhex.c * source/rtl/hbinet.c * source/rtl/hbregex.c * source/rtl/hbregexc.c * source/rtl/hbrunfun.c * source/rtl/hbtoken.c * source/rtl/hbzlib.c * source/rtl/left.c * source/rtl/len.c * source/rtl/math.c * source/rtl/minmax.c * source/rtl/philes.c * source/rtl/philesx.c * source/rtl/replic.c * source/rtl/round.c * source/rtl/run.c * source/rtl/set.c * source/rtl/space.c * source/rtl/str.c * source/rtl/strcase.c * source/rtl/strpeek.c * source/rtl/strtran.c * source/rtl/strzero.c * source/rtl/substr.c * source/rtl/transfrm.c * source/rtl/trim.c * source/rtl/type.c * source/rtl/val.c * source/rtl/valtype.c * source/rtl/word.c * source/vm/arrayshb.c * source/vm/classes.c * source/vm/debug.c * source/vm/eval.c * source/vm/evalhb.c * source/vm/hashfunc.c * source/vm/memvars.c * source/vm/runner.c * &hb_errFuncName -> HB_ERR_FUNCNAME % Using HB_ERR_FUNCNAME wherever possible. 2008-06-09 14:48 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c ! Fixed for selection in the last row and column. 2008-06-09 21:28 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/errorapi.c * Using HB_ERR_FUNCNAME. 2008-06-09 21:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed windows size after maximize. * Temporary restored "instant resize" on mouse move. + contrib/hbw32/dllcall.c * contrib/hbw32/common.mak * contrib/hbw32/Makefile + Added DLL interface. From xhb. Work of several authors. ; I've applied some modifications made by Alex Strickland. ; The API calls below are implemented: XBase++ compatible: - DLLLoad() - DLLUnload() - DLLPrepareCall() - DLLExecuteCall() - DLLCall() Proprietary: - LoadLibrary() - Same as DLLLoad() - FreeLibrary() - Same as DLLUnload() - GetProcAddress() - CallDLL() - CallDLLBool() - GetLastError() - SetLastError() ! Fixed GetProcAddress() passed ordinals to always be WORDs casted to DWORD. ! Fixed a few possible buffer overruns. * Cleanup, format, etc. ; Compile with HB_NO_ASM if you use BCC55 and don't have TASM32 (or upgrade to free BCC58 which contains TASM32). ; "C struct" support was stripped (but that seems only a small portion. ; Please test. I doesn't work me for simple test code, I have no idea why. ; TOFIX: Replace MessageBox() calls with RTEs. ; TOFIX: Solve any name clashing problems and/or use namespace for the proprietary interface. * include/hbapierr.h + HB_ERR_FUNCNAME added to replace &hb_errFuncName 2008-06-09 20:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/doc/whatsnew.txt * minor fixes in formatting * harbour/source/rtl/hbgtcore.c ! fixed memory leak when HB_GTI_NOTIFIERBLOCK was used to overload register before block * harbour/source/vm/eval.c + added support for SYMBOL items in hb_evalLaunch() to be compatible with hb_itemDo() * harbour/contrib/hbmisc/spd.c * cleaned warnings 2008-06-09 09:47 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed most cases of trashing whilst marking. Maybe there is a simpler way of doing this... ! Readded "HB_NOSTARTUPWINDOW" feature deleted by mistake. ; TOFIX: Some trashing is still visible if switching directions relative to the starting corner. ; TOFIX: It doesn't seem to be possible to select the last row and the last column. Pritpal, could you take a look at it? 2008-06-09 07:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/wvtext.prg * include/hbgtinfo.ch * include/hbgtcore.h * source/rtl/hbgtcore.c * source/rtl/gtwvt/gtwvt.c * Changed the way notifications work. It's now platform neutral and more simple. hb_gtInfo( HB_GTI_NOTIFIERBLOCK, {|nEvent, ...| myhandler( nEvent, mycustomdata, ... ) }) may be used to set it. Use NIL to disable it. The purpose of this is to be able to get notifications from GT related user interactions not initiated inside the apps UI world. F.e. to save screen size after the user has changed it, or to have a last chance to commit tables, set flags, etc when user (or OS) closed the app window. ; TOFIX: New TIMER stuff in GTWVT should be replace by a platform neutral solution, which is probably MT. (see also "background events") ; TOFIX: Is there a way to force "non full content" resize on the application level? * bld/bld.bat * HB_USER_LIBS moved to the end of the lib list. 2008-06-08 22:10 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * Hack to fix maxrow() display. Now maximizing the window displays correctly on 25x80. * harbour/tests/wvtext.pr * More information. 2008-06-09 06:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/wvtext.prg * include/hbgtinfo.ch * include/hbgtcore.h * source/rtl/gtwvt/gtwvt.h * source/rtl/gtwvt/gtwvt.c ! Fixed a few warnings. ! Fixed bad selection behaviour when starting the selection (to not let it "stick" to the upper left corner). - Removed predefined symbols as a way to control GT behaviour. They may interfere with foreign libs. We have hb_gtInfo() for these kinds of settings. * HB_GTI_MARKCOPY -> HB_GTI_SELECTCOPY to use more generic terminology. * HB_GTI_RESIZEABLE -> HB_GTI_RESIZABLE ; TODO: Clean the callback interface to not be Windows specific, and to hole one notifier block with higher level of information. ; TOFIX: Sometime irreguralities appear in selection, probably due to skipped updates or the like. ; TOFIX: The window gets messy while resizing to a bigger size. Test: Grab the corner, resize to bigger size while not releasing the mouse button. ; TOFIX: Window resized to a very small size will have "dead" (non-updated) portions on the sides. ; TOFIX: Resize is without flicker now, but it's not interactive anymore, so it's difficult to predict what the result will be. ; TOFIX: It's possible to resize the windows so that parts of screen disappear. 2008-06-08 20:12 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * More fixes on resizing. Now appears to be behaving correctly. Please test. * harbour/tests/wvtext.pr * Formatting and typos. 2008-06-08 16:03 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/hbgtcore.c * harbour/include/hbgtinfo.ch + HB_GTI_MARKCOPY Added feature to toggle "Mark and Copy" Sysmenu option with: Hb_GtInfo( HB_GTI_MARKCOPY, TRUE|FALSE ) -> lPrevState Removed necessity to have Hb_NoCopyConsole() to not include it. Now appln always HAS this SysMenu option. + HB_GTI_RESIZEABLE Added feature to toggle resizing of appln window as: Hb_GtInfo( HB_GTI_RESIZEABLE, TRUE|FALSE ) -> lPrevState Function Hb_NoResizeableWindow() still hold good for startup. You always can activate/deactivate this feature from within appln. Few more optimizations while resizing, still work in progress. * harbour/tests/wvtext.prg * Updated to demonstrate above functionality. 2008-06-08 08:57 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * Fixed flickering in "Mark and Copy" operation. /* Viktor, see the slight change in your code. */ 2008-06-08 08:57 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c + Added functionality to disable "Mark and Copy" prompt in the SysMenu. Include Function Hb_NoCopyConsole() if you do not want this functionality. + Added funtionality to resize the console window with mouse operations. /* Resizing of console is enabled by default. To supress this behavior include a dummy function Hb_NoResizableWindow() Resizing is available in both directions. I mean horizontal as well as verticle. Maximize button is also enabled. Click it to see to your surprize that now console window will provide you DOS like terminal. However there is a bug in maximized operation, last row does not show up correct. I feel it belongs to some miscalculation, but what that is I am unable to locate, so far. Please experiment. */ * harbour/tests/wvtext.prg * Updated to new HB_GT*_ constants and new functionality. 2008-06-08 15:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbgtinfo.ch + Added comment to compatibility #defines, to not use them, since they're deprecated. [1.0.0RC1] * HB_GTI_CB_* -> HB_GTE_* (stands for GT Event). Removed plain GTI_ versions, GTI_* range is frozen, pls don't add new codes to them and especially don't use them in core code. * include/hbgfx.ch * include/hbgfxdef.ch * contrib/gtwvg/gtwvg.c * source/rtl/gtxwc/gtxwc.c * source/rtl/gtwvt/gtwvt.c * GFX_* constants renamed to HB_GFX_*. The old ones are still working but it's recommended to update to use HB_GFX_*. #define HB_GT_NO_XHB to disable the compatibility #defines, if it collides with your code or you want to test after transition. ; [1.0.0RC1] * source/rtl/dirdrive.c ! Guarded C53 undoc functions with HB_C52_UNDOC, which is enabled so it won't make a difference in default builds. ; [1.0.0RC1] * source/rtl/filesys.c ! Fixed hb_fsIsDrv() to use GetDriveTypeA() API, to avoid some win32 system MessageBox() to be shown when certain types of drives (f.e. USB reader devices) are queried. ; Please test. ; TOFIX: hb_fsChDrv() suffers from the same problem. ; [CANCELLED 1.0.0RC1] * contrib/hbcurl/hbcurl.c * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c % Optimized out explicit function name strings in RTE calls. ! The above is actually a fix (I hope) for the one in hb_adsCheckLock(). Error text also made more consistent. ; [CANCELLED 1.0.0RC1] * contrib/hbw32/w32_prn.c % Minor optimizations, cleanups. 2008-06-08 12:42 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c + Appending CRLF to each marked row before copying to the clipboard. * "Mark" sysmenu named "Mark and Copy". 2008-06-08 12:14 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/tmysql.prg * contrib/hbmysql/mysql.c * contrib/hbmysql/mysql.ch * contrib/hbtpathy/telepath.ch * contrib/hbtpathy/tplinux.c * contrib/hbtpathy/tpwin32.c * contrib/hbtpathy/tpos2.c * contrib/hbtpathy/tpcommon.c * contrib/hbmsql/msql.h * contrib/hbmsql/msql.ch * contrib/hbmsql/msql.c * contrib/hbfbird/firebird.c * contrib/hbfbird/tests/test.prg * contrib/hbapollo/apollo.c * contrib/hbmisc/hb_f.c * General code cleanup, formatting, minor optimizations, Harbour API usage cleanup, ANSI comments. ! Several minor fixes to Firebird interface code, but it still doesn't seem to work, and the code is very unclear, partly because of the strange/unsafe Firebird API. ! Firebird test.prg fixes: Variable name typos, undeclared vars, hard-coded paths. * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * Fixed location where .libs are looked for. [1.0.0RC1] * contrib/hbcurl/hbcurl.c % Minor cleanups. [1.0.0RC1] 2008-06-07 15:32 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtwvt/gtwvt.h + Added feature to copy text from WVT console just like any console window. /* 1. Click on SysMenu icon at the left on Title Bar 2. Click on "Mark" option 3. Place cursor on top of the text you wish to copy. 4. Keep left button down and drag to desired end of console text. 5. Release left button. 6. Right click anywhere "Paste" operation is supported. 7. Copies text is there. You can drag the mouse in any direction, copied text will always be in order. */ 2008-06-07 20:41 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbodbc/make_vc.bat ! Removed .dll -> .lib conversion for MSVC, since the .lib is provided by the MS SDK anyway. ; [1.0.0RC1] * contrib/hbcurl/hbcurl.c * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/tests/ftp_uldl.prg ! Cleanup the rare case when curl_easy_init() returns NULL. Functions now always return the same type, even in case libcurl failed to initialize. + Return values for above cases is now HB_CURLE_ERROR (== -1). ! CURL_*() passed pointers now are also checked for the pointer type, and RTE is thrown if they are not HBCURL ones. So for example in the very rare case when any hbcurl functions would get passed a GC pointer returned by another API, an argument error would be thrown now. ! CURL_ESCAPE()/CURL_UNESCAPE() fixed picked parameter ordinal. + CURL_ESCAPE()/CURL_UNESCAPE() added parameter checking. ; [1.0.0RC1] * contrib/rddads/adsmgmnt.c * Minor formatting. 2008-06-07 13:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/common.mak * contrib/hbmisc/Makefile - contrib/hbmisc/mathx.c + contrib/hbmisc/spd.c - Removed math functions equivalent with CT3 ones. INCOMPATIBLE: If your code used CEIL() from hbmisc, please update it to use CEILING() from hbct. Functionality is the same. + Added _SPD() function. Contributed by Javier (jarabal at gmail.com) 2008-06-07 09:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c % Minor opt. [1.0.0RC1] * ChangeLog + Marked changes merged with 1.0.0RC1. 2008-06-07 09:39 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/gtwvt/gtwvt.c ! Fixed cursor width to be synced properly after a font change. ! Fixed cursor SC_NORMAL height to be calculated from the font height, instead of being a static number. [1.0.0RC1] * contrib/hbcurl/hbcurl.c + Added RTEs when wrong parameter was passed to the remaining functions: CURL_EASY_STRERROR() CURL_SHARE_STRERROR() CURL_MULTI_STRERROR() CURL_GETDATE() [1.0.0RC1] 2008-06-06 23:30 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com * harbour/source/rtl/gtwvt/gtwvt.c ! hb_gt_wvt_Info() + GTI_SCREENSIZE Hb_GtInfo( GTI_SCREENSIZE, { nPxlWidth, nPxlHeight } ) Try to adjust the mode to rows and columns best fitting nPxlWidth, nPxlHeight. + GTI_SETTIMER Hb_GtInfo( GTI_SETTIMER, { nTimerId, nMiliSeconds } ) + GTI_KILLTIMER Hb_GtInfo( GTI_KILLTIMER, nTimerId ) 2008-06-06 20:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/source/rtl/hbgtcore.c * harbour/include/hbgtcore.h * harbour/include/hbgtinfo.ch * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtwvt/gtwvt.h + Added building blocks for CallBacks to be set with Hb_GtInfo( GTI_* ). * harbour/tests/wvtext.prg + Test program to taste few of the callbacks. /* This also sets the ground for futuristic multi-window GT I have kept MW GT code out of current implementation. This implementation does not interfere nor affects current functionality. A work in progress. Viktor, I have found a way to implement 'consol shearing, working on it and for that to happen these building blocks are a must. Przemek, please review the structure of . I have added a few members. Please bear with my meagre knowledge if I did something stupid, just correct it. */ 2008-06-06 17:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * ChangeLog + Marked changes merged with 1.0.0RC1. * contrib/hbpgsql/make_b32.bat - Removed special compiler switches no longer necessary. [1.0.0RC1] 2008-06-06 14:46 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c + Now throws RTEs when required parameters are missing or the wrong type. The concept here is that RTEs are only to catch syntax mistakes, and not errors resulting from actual libcurl usage/functionality/states. [1.0.0RC1] * contrib/hbapollo/apollo.ch * Formatting. [1.0.0RC1] 2008-06-06 10:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h * harbour/source/pp/ppcore.c + added hb_pp_errorCount() which returns total number of errors which appeared during preprocessing * harbour/source/pp/hbpp.c * added new switch: -u[] use command def set in (or none) * if neither -o nor -v is specified then -w is default action + added to default search paths INCLUDE envvar * set application exit code to non 0 value if errors appear during preprocessing * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.y ! added support for expression list without parenthesis used in statements - Clipper compatibility fix. 2008-06-06 07:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_tgz.sh * added build status (RC1) extracted automatically from hbver.h to final package name 2008-06-05 22:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/common.mak * contrib/hbapollo/Makefile + contrib/hbapollo/apollo.ch - contrib/hbapollo/tests/apollo.ch ! apollo.ch file was in tests by mistake. [1.0.0RC1] 2008-06-05 20:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) - contrib/examples/pp/hbpp.c + contrib/examples/pp/pp.c * contrib/examples/pp/bld_b32.bat * contrib/examples/pp/Makefile * hbpp.c -> pp.c to generate pp.exe using GNU make files. * contrib/examples/pp/bld_b32.bat % Removed unnecessary libs. 2008-06-05 18:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * harbour-ce-spec * harbour-w32-spec * harbour.spec * make_b32.mak * make_gcc.mak * make_vc.mak * make_vcce.bat * make_vcce.mak * make_xmingw.sh * make_xmingwce.sh + source/pp/hbpp.c - source/pp/hbppgen.c * source/pp/Makefile * hbppgen -> hbpp ; Please test. * harbour-w32-spec ! Added 'svn:keywords "Author Date Id Revision"' [1.0.0RC1] 2008-06-05 14:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/harbour.spec * harbour/make_tgz.sh * removed not longer used HBPP references, thanks to Adam * added hbppgen to list of installed binaries for native builds * removed hbppgen from cross builds * harbour/source/pp/Makefile * harbour/config/install.cf * added hack to install also hbppgen I do not want to make deeper modifications in non GNU makefiles now. Looks that now we are ready to rename hbppgen to hbpp. I would like to keep -w hbppgen option semantic as is. Does anyone find it as a problem? 2008-06-05 13:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_vcce.mak * harbour/make_vc.mak * harbour/common.mak * removed not longer used HBPP references 2008-06-05 13:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/hbppgen.c + added -d[=] command line switch * harbour/source/compiler/cmdcheck.c * cleaned processing -d[=] switches 2008-06-05 12:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh + added get_hbverstat function to extract build status from hbver.h * harbour/make_rpmw32.sh * harbour/harbour.spec * harbour/make_rpmce.sh * moved -RC1 from version to releasen part - it resolves the problem with illegal character in version number 2008-06-05 12:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/pp/hbppgen.c * contrib/examples/pp/hbpp.c * Headers cleaned. 2008-06-05 12:42 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * make_b32.mak * make_gcc.mak * make_vc.mak * make_vcce.mak * common.mak * utils/Makefile - utils/hbpp/hbpplib.c - utils/hbpp + contrib/examples/pp + contrib/examples/pp/bld_b32.bat * Moved utils/hbpp -> contrib/examples/pp + Added BCC make file. * contrib/examples/pe/bld_b32.bat ! Fixed. [1.0.0RC1] 2008-06-05 10:41 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/mysql.c ! Fixes to previous commit. ! Using hb_retptr(). ! SQLNROWS() fixed to return 64 bit values. % Using array API optimally. 2008-06-05 10:12 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * contrib/hbbtree/hb_btree.c * contrib/hbclipsm/gauge.c * contrib/hbfbird/firebird.c * contrib/hbgd/gdwrp.c * contrib/hbmsql/msql.c * contrib/hbmysql/mysql.c * contrib/hbnf/dispc.c * contrib/hbnf/getenvrn.c * contrib/hbnf/getver.c * contrib/hbnf/kspeed.c * contrib/hbodbc/odbc.c * contrib/hbole/ole2.c * contrib/hbsqlit2/hbsqlit2.c * contrib/hbsqlit3/hbsqlit3.ch * contrib/hbtpathy/tplinux.c * contrib/hbtpathy/tpwin32.c * contrib/hbtpathy/tpos2.c * contrib/hbtpathy/tpcommon.c * contrib/hbtip/thtml.ch * contrib/hbtip/utils.c * contrib/hbtip/tip.ch * contrib/xhb/hboutdbg.c * utils/hbpp/Makefile - utils/hbpp/pragma.c + utils/hbpp/hbpragma.c * General code quality improvements. (.api usage, sprintf -> snprintf, ANSI comments, CLIPDEFS, windows.h inclusion, hb_retc*_buffer, hb_ret(), hb_itemReturnRelease(), formatting.) ! Collision between two pragma.c files resolved. 2008-06-05 12:50 UTC-0400 Phil Barnett * Set version in harbour.spec to 1.0.0-RC1 * Set version in include/hbver.h to 1.0.0-RC1 [1.0.0RC1] 2008-06-05 03:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c * Suppressed GCC warnings in foreign code. Only works for GCC 4.2.x and above. Please test. 2008-06-05 03:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c * Suppressed MSVC warnings in foreign code. ; Added NOTE that suppressing warnings with #pragmas is not possible in GCC. 2008-06-05 02:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbpgsql/postgres.c ! Don't request windows.h. + Using hb_parptrGC() for 'PGconn'. + PQCONNECT() larger buffer for connect string. ! PQCONNECT() not passing trash to PG API if no. of params != 5 ! PQCONNECT() buffer overflow vulnerability. ! PQSETDBLOGIN() password could not be passed to PG API due to typo. ! PQMETADATA() now returns empty array instead of NIL in case of failure (so test.prg won't RTE). ! PQCREATETRACE(), PQCLOSETRACE(), PQTRACE() now only activated when 'NODLL' (temp name) is defined, since passing 'FILE *' to .dlls results in crash. ; TOFIX? added to PQESCAPEBYTEA() * Formatting. % Cleanup, optimizations. ; NOTE: I've tried test.prg and while it runs, it doesn't seem to work properly for some reason. ; TOFIX: Use hb_parptrGC() for 'PGresult', 'FILE*'. * contrib/hbpgsql/make_vc.bat + Now uses the .lib provided in the binary package. [1.0.0RC1] (This needs the current 8.3.1 version) 2008-06-05 02:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/macro.c ! pass macro compiled string to error object. It fixes Clipper incompatible behavior reported by Mindaugas. ! fixed few possible internal errors when user error handler will try to force wrong substitution 2008-06-05 02:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/hbpgsql/tests/bld_b32.bat * contrib/hbpgsql/tests/bld_vc.bat ! Fixed to use the right .dll to generate the .lib. [1.0.0RC1] * contrib/hbpgsql/tpostgre.prg * Comment. 2008-06-05 00:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit2/Makefile ! Readded last char of last line. [1.0.0RC1] 2008-06-04 23:18 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit2/hbsqlit2.c * Removed commented debug code. * Code cleanup, optimizations. ! GPFs fixed in many function, when no db was open. ! Automatically closing previous db when opening a new one. ! hb_sqlite2_db initialized with NULL. 2008-06-04 22:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/rto_get.prg + Added keypress emulator to aid automated testing. + Added test for EMG's bug case. [1.0.0RC1] 2008-06-04 21:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/hbcurl.c * contrib/hbcurl/tests/ftp_uldl.prg + Added test for deleting file. + Added dummy upload option: + CURL_EASY_SETOPT() / HB_CURLOPT_UL_NULL_SETUP ! Fixed all the setopt options below. Very old bug in hbcurl code. Now rename, delete, other custom commands plus a few other options work properly: HB_CURLOPT_HTTPHEADER HB_CURLOPT_HTTP200ALIASES HB_CURLOPT_QUOTE HB_CURLOPT_POSTQUOTE HB_CURLOPT_PREQUOTE HB_CURLOPT_TELNETOPTIONS ; [1.0.0RC1] 2008-06-04 20:17 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c ! Fix for GCC. 2008-06-04 20:12 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c * Minor. [1.0.0RC1] * contrib/hbodbc/todbc.prg * contrib/hbodbc/odbc.txt * contrib/hbodbc/sql.ch * contrib/hbodbc/readme.txt + Added SVN headers. * contrib/hbodbc/sql.ch ! Aligned #define values. 2008-06-04 19:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! Missing cast. [1.0.0RC1] 2008-06-04 18:55 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/hbcurl.c * contrib/hbcurl/tests/ftp_uldl.prg + Added some more test for downloading to memory, uploading from memory. + Added possibility to download to memory, and upload from memory: + CURL_EASY_SETOPT() / HB_CURLOPT_UL_BUFF_SETUP + CURL_EASY_SETOPT() / HB_CURLOPT_DL_BUFF_SETUP + CURL_EASY_SETOPT() / HB_CURLOPT_DL_BUFF_GET + CURL_EASY_DL_BUFF_GET() -> * Changed a few old Harbour setopt defines: (old ones are still working to retain compatibility) * HB_CURLOPT_SETUPLOADFILE -> HB_CURLOPT_UL_FILE_SETUP * HB_CURLOPT_CLOSEUPLOADFILE -> HB_CURLOPT_UL_FILE_CLOSE * HB_CURLOPT_SETDOWNLOADFILE -> HB_CURLOPT_DL_FILE_SETUP * HB_CURLOPT_CLOSEDOWNLOADFILE -> HB_CURLOPT_DL_FILE_CLOSE * HB_CURLOPT_SETPROGRESS -> HB_CURLOPT_PROGRESSBLOCK ; [1.0.0RC1] 2008-06-04 17:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c * Changed all logical options to default to .T.. This way all work the same way, and in real life usage the logical parameter can omitted in most cases. INCOMPATIBLE. [1.0.0RC1] * contrib/hbcurl/tests/ftp_uldl.prg + Added small example to get a dir listing. [1.0.0RC1] 2008-06-04 17:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c + Changed to use hb_parc() (instead of hb_parcx()) for all curl_easy_setopt() string options, so that NULL (NIL) will reset these options to default state, instead of passing an empty string to them. [1.0.0RC1] 2008-06-04 15:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/hbbit.c + Added important NOTE about hb_bit*() functions' relation to the compiler optimization engine. [1.0.0RC1] * source/vm/fm.c * source/vm/extrap.c * Log filenames converted to static variables. With the intent that they'll be converted to Set()s or similar user settable values in the future, since it's useful and more elegant to redirect these to the app's normal logfile. * contrib/hbsqlit3/hbsqlit3.c * Minor formatting. 2008-06-04 14:27 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit2/hbsqlit2.c * Further cleanup, optimizations. ! Converted to use ANSI comment only. * contrib/hbsqlit3/hbsqlit3.c % Minor optimization. 2008-06-04 14:02 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c % Removed __XHARBOUR__ guards. * Minor cleanups. * contrib/hbsqlit2/hbsqlit2.c % Major cleanup, formatting, optimizations. ! INCOMPATIBLE: public vars prefixed with 'hb_sqlite2_'. 2008-06-04 11:41 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbver.h + Added HB_VERSION unified version identifier: three bytes: major + minor + revision (0x000909) This is to aid 3rd parties to detect version. [1.0.0RC1] * contrib/hbsqlit3/make_b32.bat * contrib/hbsqlit3/hbsqlit3.c ! SQLITE3_OPEN(): Fixed potential leak. + BCC warnings are now suppressed for the foreign code only, and this is now effective in all build systems. * Code formatting. 2008-06-04 12:34 UTC-0400 Phil Barnett * Set version in harbour.spec to 0.9.9-RC1 * Set version in include/hbver.h to 0.9.9-RC1 * Update header info in doc/whatsnew.txt to proper date and release tag * Tag repository with RC1 2008-06-04 04:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-mkslib.sh * harbour/bin/hb-func.sh * harbour/bin/postinst.sh * harbour/bin/pack_src.sh * harbour/contrib/hbw32ddr/make_gcc.sh * harbour/contrib/hbmysql/make_gcc.sh * harbour/contrib/hbct/make_gcc.sh * harbour/contrib/hbodbc/make_gcc.sh * harbour/contrib/xhb/make_gcc.sh * harbour/contrib/hbwhat32/make_gcc.sh * harbour/contrib/hbtpathy/make_gcc.sh * harbour/contrib/hbtpathy/make_b32.bat * harbour/contrib/hbtpathy/make_vc.bat * harbour/contrib/hbgt/make_gcc.sh * harbour/contrib/hbw32/make_gcc.sh * harbour/contrib/hbmsql/make_gcc.sh * harbour/contrib/hbsqlit2/vdbeaux.c * harbour/contrib/hbsqlit2/build.c * harbour/contrib/hbsqlit2/hbsqlit2.ch * harbour/contrib/hbsqlit2/vdbeInt.h * harbour/contrib/hbsqlit2/opcodes.h * harbour/contrib/hbsqlit2/btree.c * harbour/contrib/hbsqlit2/delete.c * harbour/contrib/hbsqlit2/printf.c * harbour/contrib/hbsqlit2/trigger.c * harbour/contrib/hbsqlit2/attach.c * harbour/contrib/hbsqlit2/btree.h * harbour/contrib/hbsqlit2/sqlite.h * harbour/contrib/hbsqlit2/pragma.c * harbour/contrib/hbsqlit2/config.h * harbour/contrib/hbsqlit2/util.c * harbour/contrib/hbsqlit2/select.c * harbour/contrib/hbsqlit2/os.c * harbour/contrib/hbsqlit2/tests/hbsqlite.prg * harbour/contrib/hbsqlit2/hash.c * harbour/contrib/hbsqlit2/os.h * harbour/contrib/hbsqlit2/tokenize.c * harbour/contrib/hbsqlit2/hash.h * harbour/contrib/hbsqlit2/hbsqlit2.c * harbour/contrib/hbsqlit2/Makefile * harbour/contrib/hbsqlit2/pager.c * harbour/contrib/hbsqlit2/vacuum.c * harbour/contrib/hbsqlit2/auth.c * harbour/contrib/hbsqlit2/pager.h * harbour/contrib/hbsqlit2/insert.c * harbour/contrib/hbsqlit2/copy.c * harbour/contrib/hbsqlit2/parse.c * harbour/contrib/hbsqlit2/where.c * harbour/contrib/hbsqlit2/date.c * harbour/contrib/hbsqlit2/common.mak * harbour/contrib/hbsqlit2/expr.c * harbour/contrib/hbsqlit2/parse.h * harbour/contrib/hbsqlit2/random.c * harbour/contrib/hbsqlit2/vdbe.c * harbour/contrib/hbsqlit2/sqliteInt.h * harbour/contrib/hbsqlit2/update.c * harbour/contrib/hbsqlit2/main.c * harbour/contrib/hbsqlit2/btree_rb.c * harbour/contrib/hbsqlit2/vdbe.h * harbour/contrib/hbsqlit2/table.c * harbour/contrib/hbsqlit2/readme.txt * harbour/contrib/hbsqlit2/func.c * harbour/contrib/hbsqlit2/opcodes.c * harbour/contrib/hbsqlit2/encode.c * harbour/contrib/hbole/make_gcc.sh * harbour/contrib/hbmzip/make_b32.bat * harbour/contrib/hbmzip/make_vc.bat * harbour/contrib/hbfbird/make_gcc.sh * harbour/contrib/hbapollo/make_gcc.sh * harbour/contrib/hbcurl/tests/ftp_uldl.prg * harbour/contrib/mtpl_gcc.mak * harbour/source/hbpcre/cnv_o2hb.bat * harbour/source/hbpcre/cnv_hb2o.bat * CRLF<->LF conversion * set strict svn:eol-style 2008-06-04 02:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c ! Fix to ADSCREATEFTSINDEX(). Thanks Brian and Luis. * contrib/rddads/ads.ch * Formatting: Moved #commands together to end of the file. * Formatting: Aligned #define values to look more organized. 2008-06-04 00:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c * CURL_GETDATE(): using hb_retnint(). 2008-06-03 22:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! Fixed macros used in *_LARGE setopt options. * contrib/hbcurl/hbcurl.c * contrib/hbsqlit3/hbsqlit3.c * Using hb_parnint()/hb_retnint() instead of messing with LONG_LONG locally. 2008-06-03 19:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/garbage.c % clear hb_stack return item in HB_GCALL() function before executing hb_gcCollectAll() 2008-06-03 18:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile - harbour/source/rtl/hbrun.c + harbour/source/rtl/hbrunfun.c * renamed hbrun.c to hbrunfun.c to satisfy non GNU make system 2008-06-03 18:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile * harbour/include/hbextern.ch + harbour/source/rtl/hbrun.c + added function to execute commands which returns application exit code: HB_RUN( ) -> 2008-06-03 17:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_deb.sh ! added fixes by Guy Roussin - many thanks 2008-06-03 17:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbw32/w32_regc.c ! fixed typo hb_free() => hb_xfree() ! fixed UNICODE build * harbour/source/vm/itemapi.c * changed hb_itemPutC() and hb_itemPutCL() to be safe when user call it passing string which is stored in item passed as first parameter. It should fix problem located by Chen. Please test. 2008-06-03 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/extrap.c ! fixed unregistering exception error handler in OS2 builds David, if possible please test. 2008-06-03 10:12 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/vm/extend.c ! Reverted previous change. Caller should check the retval of hb_storclen_buffer() and free the pointer in case it's zero. Thanks Przemek. * contrib/hbw32/w32_regc.c * contrib/hbhpdf/harupdf.c * contrib/hbwhat32/_winsys.c * utils/hbmake/readline.c ! Fixed hb_storclen_buffer() calls. * contrib/hbwhat32/_winsys.c ! SYSTEMPARAMETERSINFO() fixed retval and leaks. ; Please test. * source/rtl/tget.prg ! Typo. 2008-06-03 09:11 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/rdd.api + Added necessary conversions. ; NOTE: 3 functions are not yet implemented in Harbour. * contrib/hbw32/w32_regc.c * contrib/hbw32/tests/testreg.prg % Optimizations. * Formatting. * contrib/hbw32/w32_ole.c ! Fixed indentation. * contrib/hbhpdf/harupdf.c ! Fixed hpdf_ReadFromStream() to not overflow to buffer in hb_storclen_buffer(). 2008-06-03 01:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/vm/extend.c ! hb_storclen_buffer() fixed to free the passed buffer in case it couldn't be stored. This situation was easy to miss and difficult to detect for the caller, and it might cause leaks. * contrib/hbw32/Makefile * contrib/hbw32/common.mak + contrib/hbw32/hbw32.ch + contrib/hbw32/w32_reg.prg + contrib/hbw32/w32_regc.c + contrib/hbw32/tests/testreg.prg + Added Windows registry handling stuff. Work of Peter Rees / xhb. * Code cleaned, formatted, optimized a bit. + Added an even simpler interface: w32_regRead( ) -> xValue w32_regWrite( , ) -> where is: "HKCU\key[\subkeys]\entry" 2008-06-02 23:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/make_b32_all.bat * contrib/make_gcc_all.sh * contrib/make_vc_all.bat + contrib/hbsqlit2 + contrib/hbsqlit2/Makefile + contrib/hbsqlit2/make_b32.bat + contrib/hbsqlit2/make_vc.bat + contrib/hbsqlit2/make_gcc.sh + contrib/hbsqlit2/common.mak + contrib/hbsqlit2/hbsqlit2.c + contrib/hbsqlit2/hbsqlit2.ch + contrib/hbsqlit2/LICENSE.txt + contrib/hbsqlit2/TODO.txt + contrib/hbsqlit2/readme.txt + contrib/hbsqlit2/attach.c + contrib/hbsqlit2/auth.c + contrib/hbsqlit2/btree.c + contrib/hbsqlit2/btree.h + contrib/hbsqlit2/btree_rb.c + contrib/hbsqlit2/build.c + contrib/hbsqlit2/config.h + contrib/hbsqlit2/copy.c + contrib/hbsqlit2/date.c + contrib/hbsqlit2/delete.c + contrib/hbsqlit2/encode.c + contrib/hbsqlit2/expr.c + contrib/hbsqlit2/func.c + contrib/hbsqlit2/hash.c + contrib/hbsqlit2/hash.h + contrib/hbsqlit2/insert.c + contrib/hbsqlit2/main.c + contrib/hbsqlit2/opcodes.c + contrib/hbsqlit2/opcodes.h + contrib/hbsqlit2/os.c + contrib/hbsqlit2/os.h + contrib/hbsqlit2/pager.c + contrib/hbsqlit2/pager.h + contrib/hbsqlit2/parse.c + contrib/hbsqlit2/parse.h + contrib/hbsqlit2/pragma.c + contrib/hbsqlit2/printf.c + contrib/hbsqlit2/random.c + contrib/hbsqlit2/select.c + contrib/hbsqlit2/sqlite.h + contrib/hbsqlit2/sqliteInt.h + contrib/hbsqlit2/table.c + contrib/hbsqlit2/tokenize.c + contrib/hbsqlit2/trigger.c + contrib/hbsqlit2/update.c + contrib/hbsqlit2/util.c + contrib/hbsqlit2/vacuum.c + contrib/hbsqlit2/vdbe.c + contrib/hbsqlit2/vdbe.h + contrib/hbsqlit2/vdbeaux.c + contrib/hbsqlit2/vdbeInt.h + contrib/hbsqlit2/where.c + contrib/hbsqlit2/tests/bld_b32.bat + contrib/hbsqlit2/tests/bld_vc.bat + contrib/hbsqlit2/tests/example.db + contrib/hbsqlit2/tests/hbsqlite.prg + Added hbsqlit2 SQLite 2.x interface library. With kind permission from the author: Alejandro de Gárate + Some renames were done here too to better fit into the contrib structure. + Added std make files. + Added to 'all' make files. + Added foreign SQLite 2.8.16 (final 2.x version) source code to the repository. Compiles with an okay amount of warnings under BCC but doesn't compile in C++ mode in MSVC (due to missing casts). ; NOTE: I've added this because this is the original SQLite Harbour interface, clean and working implementation, and SQLite 2 is incompatible with 3, and some may need to access existing 2.x databases from Harbour. 2008-06-02 21:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/vm/hvm.c % Minor opt to __SETPROFILE(), __TRACEPRGCALLS() ! __SETPROFILE() to only set the value if a parameter was passed. This way it's possible to read the value without destroying it. 2008-06-02 20:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/common/hbstr.c ! HB_EXPORT added to hb_strRemEscSeq(). Thanks Javier. 2008-06-02 20:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/ppcomp.c * harbour/source/compiler/cmdcheck.c ! do not disable macrotext substitution for -kc 2008-06-02 19:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt2.c + added compile time INT( ) optimization * harbour/source/compiler/hbusage.c * updated -k? description to show "(default)" for really set flags 2008-06-02 18:59 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/hbcompat.ch ! Minor fix in hb to xhb branch. * contrib/hbcurl/hbcurl.ch * '( 2 ** n )' expressions changed to actual values. ; We now have these optimized, but I'm committing anyway, as some folks may be scared away by seeing these, and not knowing it's optimized (and they might not even be optimized on some Clipper platforms...). * contrib/mtpl_vc.mak ! Fixed HB_VISUALC_VER to default to '60' rather than crashing. Same default is used for core make files already. * source/common/hbverdsp.c - Removed 'CA'. + Added word 'compatible' to the 'undocumented' line. 2008-06-02 16:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c ! do not optimize HB_BITAND(), HB_BITOR() and HB_BITXOR() when only one parameter is passed to keep RT error compatibility * use hb_compExprListStrip() to optimize function calls also when parameters are passed in parenthesis, f.e.: ? CHR(65), CHR((65)) It's not Clipper compatible and disabled by -kc switch. Viktor it will interact with some hbtest tests when compile time optimization used by Clipper gives different results then RT function f.e. CHR( ( 256 ) ). Please think if we should keep it. It's important optimization if someone uses constant values or expressions defined in parentheses. 2008-06-02 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbsqlit3/hbsqlit3.c ! use char * instead of LPSTR to compile in non Windows environment ! fixed one printf() parames ! fixed casting and parameter type in sqlite3_blob_open() * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c - removed unused hb_compExprAsLong() + added hb_compExprAsLongNum(), hb_compExprReduceBitFunc() + added compiletime optimizatiob for HB_BIT*() functions: HB_BITAND(), HB_BITOR(), HB_BITXOR(), HB_BITSET(), HB_BITRESET() HB_BITSHIFT(), HB_BITNOT(), HB_BITTEST() 2008-06-02 13:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbcurl/common.mak * harbour/contrib/hbcurl/hbcurl.c * harbour/contrib/hbcurl/hbcurl.ch * harbour/contrib/hbcurl/Makefile ! set svn:eol-style to native * harbour/contrib/hbcurl/make_gcc.sh ! set svn:eol-style to LF * harbour/contrib/hbcurl/Makefile * added missing rules to install header files and create library * harbour/contrib/hbcurl/hbcurl.ch ! closed uncloused /* comments * harbour/contrib/hbcurl/hbcurl.c ! fixed hb_curl_calloc() to clear allocated memory 2008-06-02 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt2.c + added hb_compExprReducePower() and compile time optimization for: ^ + added compile time optimization for: % when or is not integer value NOTE: both optimizations are not Clipper compatible and disabled when -kc compiler switch is used 2008-06-02 12:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbsqlit3/tests/blob.prg * harbour/contrib/hbsqlit3/tests/sqlite3_test.prg * harbour/contrib/hbsqlit3/sqlite3/sqlite3.c * harbour/contrib/hbsqlit3/sqlite3/sqlite3.h * converted TABs to SPACEs 2008-06-02 12:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/common/hbverdsp.c ! Minor correction. * Wording/layout. C++/C and ANSI C init mode is now in one line as "Other build settings". * contrib/hbcurl/hbcurl.c + Comment extended regarding libcurl version requirement. + Added version guard (not currently effective). 2008-06-02 11:34 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/vm/extrap.c ! Blind fix for OS/2. 2008-06-02 02:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c ! Removed Windows API dependencies (MessageBox() -> HB_TRACE()) % Minor opt. 2008-06-02 02:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbw32/w32_prn.c * contrib/hbhpdf/harupdf.c ! Fixed to not GPF in garbage collector if objects were explicitly released by caller using HPDF_FREE(), WIN32_DELETEDC(). * contrib/hbw32/w32_prn.c % Minor opt. * Formatting. * contrib/hbcurl/hbcurl.c % Minor opt. 2008-06-02 00:34 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * doc/whatsnew.txt + Added some recent stuff. * contrib/xhb/hbcompat.ch + hb_FSize() <-> FileSize() * contrib/hbcurl/hbcurl.c ! Fixed typo. 2008-06-01 23:56 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbvm.h * source/vm/hvm.c * source/vm/extrap.c ! Fixed OS/2 problem reported by David. (BTW, do we need really need to remove the exception handler before exiting? If yes, shouldn't we do the same under Win32?) * source/common/hbstr.c ! Silenced one 'loss of significant digit' BCC warning. 2008-06-01 17:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbsqlit3/hbsqlit3.c - Not needed to #include "sqlite3/sqlite3.h" if we've already #included "sqlite3/sqlite3.c" 2008-06-01 17:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/make_gcc_all.sh + contrib/hbsqlit3 + contrib/hbsqlit3/Makefile + contrib/hbsqlit3/make_b32.bat + contrib/hbsqlit3/make_vc.bat + contrib/hbsqlit3/make_gcc.sh + contrib/hbsqlit3/common.mak + contrib/hbsqlit3/hbsqlit3.c + contrib/hbsqlit3/hbsqlit3.ch + contrib/hbsqlit3/sqlite3/sqlite3.c + contrib/hbsqlit3/sqlite3/sqlite3.h + contrib/hbsqlit3/tests/bld_b32.bat + contrib/hbsqlit3/tests/bld_vc.bat + contrib/hbsqlit3/tests/blob.prg + contrib/hbsqlit3/tests/pack.prg + contrib/hbsqlit3/tests/metadata.prg + contrib/hbsqlit3/tests/sqlite3_test.prg + Added Harbour interface for SQLite 3.x. Thanks goes to Petr Chornyj for creating this code and making it available for this project. (The code also based on Alejandro de Gárate SQLite 2 interface work) + Added make files, arranged std contrib layout. * Renamed header, source and lib name to comply with 8.3 rules. + Added to 'all' make files. + Added foreign SQLite 3.5.9 (amalgamation) latest version source code to the repository. Compiles with lots of warnings under BCC and doesn't compile in C++ mode in MSVC (due to missing casts). ; We may remove foreign code once the warnings has been fixed and retrofitted in the original package. Since the two required files are simply #included in the Harbour source code, moving them anywhere, or accessing them from anywhere is a matter of -I switch. ; TOFIX: - Replace MessageBox() with RTE or HB_TRACE(). - Remove HB_OS_WIN_32_USED dependency. - Review if __XHARBOUR__ branches are indeed necessary. 2008-06-01 16:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/Makefile - tests/testhbf.prg + contrib/hbmisc/tests/testhbf.prg * Moved to its place. * contrib/hbcurl/hbcurl.c * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/make_b32.bat * contrib/hbcurl/make_vc.bat * contrib/hbcurl/make_gcc.sh * Minor. 2008-06-01 13:50 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.ch ! Few typos. 2008-06-01 13:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c ! Fixed TOFIX1 from the previous entry. 2008-06-01 13:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/vm/extrap.c ! Fixed missing header for OS/2. * source/vm/classes.c ! Minor fix in internal error text. * contrib/hbcurl/make_b32.bat * contrib/hbcurl/make_vc.bat * contrib/hbcurl/hbcurl.c * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/tests/ftp_uldl.prg ! non-GNU make will also look into the /bin folder for .dlls. ! Lots of fixes, too many to mention. + Enabled GC pointers. (see TOFIX though) + Added all remaining CURL 'easy' API parts and implemented all options existing in 7.18.1: + All option values (except bit-level ones) made available in hbcurl.ch + All options updated to latest CURL version in hbcurl.ch + All error codes made available in hbcurl.ch + CURL_EASY_DUPLICATE() + CURL_EASY_RESET() + CURL_EASY_PAUSE() + CURL_EASY_SEND() (not yet available in stable builds) + CURL_EASY_RECV() (not yet available in stable builds) + CURL_EASY_GETINFO() + CURL_ESCAPE() (obsolete) + CURL_UNESCAPE() (obsolete) + CURL_GETDATE() ; TOFIX1: Could someone look at it? In case I call the destructor (curl_easy_cleanup()) manually, the garbage collector will run into an invalid pointer, when terminating the test program. ; TOFIX2: The casting to 'curl_off_t' goes wrong. Could someone help? ; NOTE1: Harbour needs at least libcurl 7.17.0. Unfortunately compile time version detection is not working at this time, so try with the latest version 7.18.1. ; NOTE2: Most callback interfaces are not implemented on the Harbour level. ; NOTE3: Harbour is currently not optimizing " ** " type of expressions at compile time. Could we add it? This expression is not widespread, but anyways, it cannot hurt, if isn't too much work to do. 2008-05-31 21:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c * contrib/hbcurl/tests/ftp_uldl.prg + Using hb_fsReadLarge()/hb_fsWriteLarge() + Added redefinitiion of memory allocator functions. (doesn't work, disabled. hb_xgrab() is getting ptrs not allocated by us.) ! Fixes handling of size options in CURL_EASY_SETOPT(). + CURL_VERSION() + CURL_VERSION_INFO() + CURL_EASY_STRERROR() + CURL_SHARE_STRERROR() + CURL_EASY_ESCAPE() (see TOFIX) + CURL_EASY_UNESCAPE() (see TOFIX) + Test app extended. * Renames. ; Added several more TOFIXes. * source/rtl/tget.prg * Minor formatting. 2008-05-31 15:37 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c ! Replaced AdsShowError() calls with HB_TRACE() ones. DEBUG guards removed. ! Minor fixes in HB_TRACE messages. * contrib/rddads/adsmgmnt.c * Minor formatting. * contrib/hbcurl/hbcurl.c * contrib/hbcurl/tests/ftp_uldl.prg * Minor changes. 2008-05-31 14:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbmacro.ch * harbour/source/vm/macro.c * harbour/source/vm/hvm.c - removed HB_MACRO_STATEMENTS and HB_SM_PREPROC 2008-05-31 13:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbcurl/hbcurl.c * contrib/hbcurl/tests/ftp_uldl.prg + Using Harbour FS API. ! Minor fix in uploaded file name. * contrib/make_b32_all.bat * contrib/make_gcc_all.sh * contrib/make_vc_all.bat + Added to 'all' makefiles. 2008-05-31 12:46 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/hbcurl + contrib/hbcurl/Makefile + contrib/hbcurl/make_b32.bat + contrib/hbcurl/make_vc.bat + contrib/hbcurl/common.mak + contrib/hbcurl/make_gcc.sh + contrib/hbcurl/hbcurl.ch + contrib/hbcurl/hbcurl.c + contrib/hbcurl/tests + contrib/hbcurl/tests/bld_b32.bat + contrib/hbcurl/tests/bld_vc.bat + contrib/hbcurl/tests/ftp_uldl.prg + Added hbcurl - CURL interface library. ; Based on original work of Luiz Rafael Culik / xhb, but heavily reworked and fixed, and still a work in progress. 2008-05-31 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/debugger.prg * removed some unused var, formatting * harbour/source/pp/ppcore.c * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/common/hbdate.c * casting * harbour/source/common/hbstr.c * casting * use HB_ISSPACE() instead of isspace() for strict Clipper compatibility * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc ! never use 'char' to 'int' casting for parameters of toupper()/to*()/isuper()/is*() functions 2008-05-31 09:57 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbdefs.h * For __BORLANDC__: _declspec( dllexport ) -> __declspec( dllexport ) _declspec( dllimport ) -> __declspec( dllimport ) to suppress warning: Non-ANSI keyword used: '_declspec'. NOTE1: This warning could be normally seen when compiling contrib/rddads/ads1.c, or creating a .dll build of Harbour, after the recent addition of -w switch to enable BCC warnings. NOTE2: Neither look like ANSI C, and both are undocumented in BCC. ; Please test. * include/hberrors.h * source/compiler/hbgenerr.c + Pointless historical surprise added. * contrib/mtpl_b32.mak - Removed duplicate -d switch. * contrib/rddads/ads1.c + Empty line. * TODO - Removed TBrowse() item. 2008-05-30 22:06 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/pp/ppcore.c * "hb_inLine" -> "hb_inline" * source/hbpcre/_hbconf.h + Added #pragma warn -sig (-w-sig-) * source/common/hbverdsp.c * source/compiler/hbusage.c * Minor adjustments to compatible product names. 2008-05-30 19:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/accept.c * Minor format. * contrib/hbfbird/readme.txt + Added SVN header. * contrib/hbvpdf/hbvpdf.prg * contrib/hbvpdf/hbvpdf.ch * contrib/hbvpdf/tests/pdf_demo.prg + contrib/hbvpdf/readme.txt + Updated to latest 0.8 version. + Added readme.txt (including revision log) from original package. 2008-05-30 18:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbsetup.h * include/hbinit.h * source/compiler/harbour.yyc * source/compiler/harbour.y * HARBOUR_YYDEBUG -> HB_YYDEBUG (do we need this? it's a synomym for YYDEBUG) * HARBOUR_STRICT_ANSI_C -> HB_STRICT_ANSI_C (do we need this?) + HB_PCRE_REGEX added. + HB_PCRE_REGEX_BCC added. + HB_POSIX_REGEX added. - HB_MACRO_STATEMENTS 2008-05-30 17:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/common/hbverdsp.c * Some cleanups on appearance. * Company names removed (except CA). * contrib/rddads/adsmgmnt.c * Minor formatting. + contrib/examples/dbu/hb_dbu.dif * contrib/examples/dbu/bld_b32.bat * contrib/examples/dbu/readme.txt + Added .dif file with a patch fixing some multiplatforms issues in original dbu source. It's a quick hack, I might have missed something, and I didn't do any testing. Add your own fix, if you have some. * DBU_DIR -> HB_DIR_DBU * make_b32.mak * contrib/mtpl_b32.mak * config/w32/bcc32.cf + Added following switches for BCC: -d: merge duplicate strings (was enabled already in GNU make) -w: enable warnings. -w-sig-: disable 'Conversion may lose significant digits' warnings. 2008-05-30 12:17 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbdefs.h - Removed WIN32_LEAN_AND_MEAN to make things more standard. We're losing some compile time performance for Windows build, but it's marginal. Runtime performance is not affected. * contrib/hbgd/gdwrp.c * Removed BCC55 hack to workaround WIN32_LEAN_AND_MEAN problem. 2008-05-30 12:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbsetup.ch * include/hbsetup.h * source/common/hbverdsp.c * source/vm/arrays.c - HB_FUNC_CALLCONV - no longer used. - HARBOUR_OBJ_GENERATION - no longer used. + Added profiler setting to build info. - YACC debug setting removed frmo build info. * Build info strict compatibility line now says 5.2e/5.3b. * HB_EXTENSION renamed to "non-portable extension" - HB_COMP_STRONG_TYPES - no longer used. - HB_FIX_ACOPY_BUG Replaced with a HB_C52_STRICT guard, but locally overridden to always be strict (thus replicating the bug). This means no change in functionality for default builds. In any ways this is not a decision to make by the Harbour users. If anyone had this locally #defined anyway, pls shout. ; NOTE: It's nice that I'm removing unused stuff, but my impression is that by time we have added quite some new such settings burried in the code, so if you're aware of any such ones, please add them to hbsetup.h (or let's discuss which ones to add). 2008-05-30 11:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbgd/gdwrp.c * Tweaked the BCC55 hack for WIN32_LEAN_AND_MEAN and gd.h. 2008-05-30 09:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/extrap.c ! disabled SetUnhandledExceptionFilter() for WinCE builds * harbour/contrib/hbole/ole2.c * cleaned compilation in different env C/C++/UNICODE/compilers * harbour/contrib/hbw32/w32_ole.c * harbour/contrib/hbole/ole2.c * harbour/contrib/gtwvg/gtwvg.h ! do not use HB_ID_REF() for _WIN64 - I would like to ask someone with Win64 to verify current Harbour build status? 2008-05-30 09:29 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbapollo/apollo.c ! Added __BORLAND__ specific hack to suppress numerous non-ANSI warnings in foreign header. (#define _declspec __declspec) * contrib/hbapollo/apollo1.prg + File ending CRLF. * contrib/hbgd/gdwrp.c ! Fixed to explicitly include for __BORLANDC__ only. The reason for this hack is still unknwown, if anyone could help to investigate this, it would be great. 2008-05-30 03:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * removed unnecessary variable * harbour/contrib/hbw32/w32_ole.c * harbour/contrib/hbole/ole2.c * harbour/contrib/gtwvg/gtwvg.h ! use trick with HB_ID_REF() only for BCC and MSVC some other C++ compilers like OpenWatcom have different header files and does not need it. 2008-05-30 02:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbvm.h * harbour/source/vm/hvm.c * harbour/source/vm/extrap.c * moved code to set exception handler from hvm.c to extrap.c + added void hb_vmSetExceptionHandler( void ) to set exception filter ! fixed problem with C++ builds caused by missing extern "C" declaration for exception handlers in extrap.c 2008-05-30 01:54 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbhpdf/make_b32.bat * contrib/hbhpdf/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_vc.bat * Some internal envvars are now cleared on exit. * Some internal envvar names standardized (-> _HB_*). 2008-05-30 01:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/files.c ! fixed memory leak in FILEDELETE() reported by Ed - thanks. 2008-05-30 00:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/estack.c * declare hb_stack as static variable when HB_STACK_MACROS is disabled to be sure that non extern code will access hb_stack It's very important to eliminate such code before we add MT support. * harbour/source/vm/hvm.c * changed hb_vmFrame() to work in the same way as hb_vmVFrame() * harbour/source/rtl/hbgtcore.c ! fixed wrong clear column in right horizontal scrolling * harbour/source/rtl/memoedit.prg * use hb_inkeySetLast( n ) instead of KEYBOARD Chr( n ) ; InKey() 2008-05-29 20:56 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * make_b32.mak - HB_NO_BCC_MAX_OPENFILES_HACK - no longer used. * include/hbsetup.h - HB_ASORT_OPT_ITEMCOPY - no longer used. - HB_FAST_STOD - no longer used. 2008-05-29 20:38 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/dateshb.c * source/rtl/datesx.c % Reworked to be a bit faster than non-HB_FAST_STOD. - Removed HB_FAST_STOD build time option, because it wasn't safe. It caused reaching into undefined buffers when passed string was shorter than 8 chars. 2008-05-29 20:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/vm/hvm.c * Minor formatting. + source/vm/extrap.c + Added. Now for real. Thanks Luis. 2008-05-29 19:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * source/vm/Makefile * source/vm/mainwin.c * source/vm/estack.c + source/vm/extrap.c * source/vm/hvm.c * Rearranged/cleaned up exception handlers. * Renamed OS/2 one to comply with namespace rules. * Moved from estack.c/mainwin.c to extrap.c and hvm.c. * win32 ex.handler now enabled by default at HVM startup. * win32 ex.handler now writes exception info into hb_ex.log. * win32 ex.handler now pops up a MessageBox() by default. We should consider removing this but currently the default Windows handler kicks in anyway, which is also a GUI dialog. ; TODO: A common way to log these errors across all platforms. ; NOTE: HB_INCLUDE_WINEXCHANDLER is not used by Harbour anymore. ; NOTE: Please test OS/2 2008-05-29 17:37 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmysql/make_gcc.sh * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/make_b32_all.bat * contrib/make_gcc_all.sh * contrib/hbfbird/make_gcc.sh * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbapollo/make_gcc.sh * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/make_vc_all.bat * contrib/hbhpdf/make_gcc.sh * contrib/hbhpdf/make_b32.bat * contrib/hbhpdf/make_vc.bat * contrib/hbpgsql/make_gcc.sh * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/rddads/make_gcc.sh * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat * contrib/hbfimage/make_gcc.sh * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_gcc.sh * contrib/hbgd/make_vc.bat * Changed envvars pointing to external packages to comply with our own rules: APOLLO_DIR -> HB_DIR_APOLLO FIREBIRD_DIR -> HB_DIR_FIREBIRD FREEIMAGE_DIR -> HB_DIR_FREEIMAGE GD_DIR -> HB_DIR_GD MYSQL_DIR -> HB_DIR_MYSQL PGSQL_DIR -> HB_DIR_PGSQL ADS_DIR -> HB_DIR_ADS LIBHARU_DIR -> HB_DIR_LIBHARU (same rule for _INC -> HB_INC_) Sorry folks, but you'll need to update your env. (I can send a 'gsar' script to help that) + Added option for non-GNU BCC/VC contrib makes to accept HB_INC_ format envvars to specify the include dir only, so that we're now in sync with the non-GNU GCC build system (make_gcc.sh). ; TODO: HB_LIB_ (or HB_BIN_) is still to be done any .dll/.lib handling. 2008-05-29 17:02 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg * ::picture(), ::PutMask(), ::unTransform() moved next to each other for easier editing/fixing. * common.mak - source/common/hbfhnd.c * source/common/Makefile - Removed file not used by Harbour anymore. * contrib/hbole/ole2.c ! Fixed OLE C++ errors under MSVC. Using Przemek's method. ; TOFIX: This one is still left: .\ole2.c(714) : error C2664: 'HRESULT (IUnknown *,const IID &,void **)' : cannot convert parameter 2 from 'LPIID' to 'const IID &' Reason: cannot convert from 'LPIID' to 'const IID' No constructor could take the source type, or constructor overload resolution was ambiguous 2008-05-29 11:45 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/rto_get.prg + Some tests added. + Some older tests fixed and enabled (they made C5.x crash). * source/rtl/tget.prg + Some notes about C5.x crash behaviour. ! Formatting/indentation fixes. % Minor optimizations. * contrib/xhb/Makefile * contrib/xhb/common.mak ! Added hbfast.h, hbxml.h * contrib/hbfimage/fi_wrp.c ! Fixed two BCC warnings in new code. * contrib/hbgd/gdwrp.c ! Changed to generate proper extern references even for BCC. Now tests compile OK. The trick was to explicitly #include before all the other headers, instead of just requesting it using HB_OS_WIN_32_USED. * contrib/hbfimage/fi_winfu.c * contrib/hbfimage/fi_wrp.c * contrib/hbgd/gdwrp.c * contrib/hbct/ct.h * contrib/hbpgsql/postgres.c - Removed #defining _CLIPDEFS_H. It's only needed when using Clipper compatibility API headers (*.api, extend.h). 2008-05-29 03:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/gtwvg.h * harbour/contrib/gtwvg/wvtcore.c * harbour/contrib/hbw32/w32_ole.c ! fixed compilation in C++ mode 2008-05-28 22:41 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/hbpcre/cnv_o2hb.bat * source/hbpcre/cnv_hb2o.bat + Added LICENSE * contrib/hbfimage/tests/fitest.prg * contrib/hbfimage/fi_wrp.c + Added FI_LOADFROMMEM(), FI_GETFILETYPEFROMMEM() ; Borrowed from Pavel Tsarenko / xhb. * contrib/hbclipsm/gauge.c % Minor rearrangement. * contrib/hbmysql/make_vc.bat ! #defining __WIN32__ to make it build under VC. ; NOTE: C++ builds of everything related to OLE2 are broken. Could someone look into it? (hbw32, gtwvg, hbole under BCC and MSVC) 2008-05-28 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/Makefile * respect HB_WITHOUT_ODBC and HB_WITHOUT_ADS envvars * harbour/debian/control * harbour/make_deb.sh * removed libncurses5-dev, libslang2-dev, libgpmg1-dev, libx11-dev and unixodbc-dev from dependences list. + added support for HB_COMMERCE=yes envvar + added automatic detection for curses, slang, gpm, x11 and odbc devel packages + added test for ACESDK detection - it tests if ach.h file exists in default user or system wide installation The above modifications are not tested and I would like to ask Debian/Ubuntu users to make necessary tests. 2008-05-28 18:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/hbzlib/ChangeLog * harbour/source/hbzlib/zutil.c * harbour/source/hbzlib/gzio.c * harbour/source/hbzlib/zutil.h * harbour/source/hbzlib/zconf.h * use _WINCE macro instead of _WIN32_WCE to detect WinCE builds defining _WIN32_WCE interacts with header files and should be left for user to specify exact WinCE version 2008-05-28 16:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/harbour.spec * harbour/make_rpmce.sh * harbour/make_rpmw32.sh * harbour/make_rpm.sh * removed --with zlib switch - now zlib will be created in all builds * added hbzlib library * added hbmzip library - MiniZIP wrapper to manage ZIP files * harbour/contrib/Makefile * added hbmzip library to default builds * harbour/include/hbzlib.h ! changed \ in include path ! added relative paths for LCC and XCC * harbour/bin/hb-func.sh * updated for hbzlib library in core code and hbmzip in contrib * harbour/utils/hbdot/Makefile * harbour/utils/hbrun/Makefile * added hbzlib library to linked library list * harbour/include/hbzlib.h * harbour/bin/hb-func.sh * harbour/make_gcc.mak * harbour/config/darwin/gcc.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/sunos/gcc.cf * harbour/config/bsd/gcc.cf * harbour/utils/hbdot/Makefile * harbour/utils/hbrun/Makefile + added support for compilation with HB_EXT_ZLIB macro It forces using external (OS) ZLIB library instead of hbzlib. Still some other make files should be updated to respect it. 2008-05-28 14:42 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * bin/bld.bat * bin/bld_os2.cmd + Added hbzlib + Added hbpcre for OS/2. - contrib/hbzlib - Removed. 2008-05-28 14:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * include/Makefile + include/hbzlib.ch + include/hbzlib.h * include/hbextern.ch + source/rtl/hbzlib.c * source/rtl/Makefile * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/make_gcc_all.sh * contrib/Makefile + contrib/hbmzip + contrib/hbmzip/Makefile + contrib/hbmzip/common.mak + contrib/hbmzip/make_b32.bat + contrib/hbmzip/make_vc.bat + contrib/hbmzip/make_gcc.sh + contrib/hbmzip/hbmzip.ch + contrib/hbmzip/ioapi.c + contrib/hbmzip/zip.c + contrib/hbmzip/unzip.c + contrib/hbmzip/ioapi.h + contrib/hbmzip/crypt.h + contrib/hbmzip/zip.h + contrib/hbmzip/unzip.h + contrib/hbmzip/hbmzip.c + contrib/hbmzip/readme.txt + contrib/hbmzip/tests + contrib/hbmzip/tests/bld_b32.bat + contrib/hbmzip/tests/bld_vc.bat + contrib/hbmzip/tests/myzip.prg + contrib/hbmzip/tests/myunzip.prg + Added hbzlib.h which is a simple wrapper to source/hbzlib/zlib.h. * Moved ZLIB specific Harbour wrappers and header from /contrib/hbzlib to /source/rtl. + Added /contrib/hbmzip lib based on /contrib/hbzlib. Copy + modify was used to keep the repo history. hbmzip contains all the MiniZip parts from former /contrib/hbzlib. New hbmzip header file: hbmzip.ch + Added new Harbour level zip functions to hbextern.ch. ; TODO: Remove /contrib/hbzlib, add core hbzlib to lib lists. 2008-05-28 13:33 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/hbzlib/ChangeLog * source/hbzlib/adler32.c * source/hbzlib/compress.c * source/hbzlib/crc32.c * source/hbzlib/deflate.c * source/hbzlib/gzio.c * source/hbzlib/infback.c * source/hbzlib/inffast.c * source/hbzlib/inflate.c * source/hbzlib/inftrees.c * source/hbzlib/trees.c * source/hbzlib/uncompr.c * source/hbzlib/zconf.h * source/hbzlib/zutil.c + Added modified ZLIB sources, with many tweaks to compile cleanly under Harbour. Thanks to Przemek for it. + source/hbpcre/LICENCE + source/hbzlib/README + Added legal text to foreign libs. 2008-05-28 13:29 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * make_b32.mak * make_vc.mak * make_vcce.mak * make_gcc.mak * source/Makefile + source/hbzlib + source/hbzlib/ChangeLog + source/hbzlib/adler32.c + source/hbzlib/compress.c + source/hbzlib/crc32.c + source/hbzlib/crc32.h + source/hbzlib/deflate.c + source/hbzlib/deflate.h + source/hbzlib/gzio.c + source/hbzlib/infback.c + source/hbzlib/inffast.c + source/hbzlib/inffast.h + source/hbzlib/inffixed.h + source/hbzlib/inflate.c + source/hbzlib/inflate.h + source/hbzlib/inftrees.c + source/hbzlib/inftrees.h + source/hbzlib/Makefile + source/hbzlib/trees.c + source/hbzlib/trees.h + source/hbzlib/uncompr.c + source/hbzlib/zconf.h + source/hbzlib/zlib.h + source/hbzlib/zutil.c + source/hbzlib/zutil.h + Added unmodified ZLIB sources to Harbour core. + Added them to make systems. ; Work in progress. 2008-05-28 12:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg % Flow cleanup. 2008-05-28 11:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg ! Fixed ::unTransform() padding for strings with @R picture. (Edmer Issue #1) ! Fixed ::unTransform() to not use the "Chr( 1 )" hack to remove certain chars from string. (there is still one such remaining) ! Fixed ::unTransform() padding with zero decimals for numerics. This cleared some differences in rto_get.prg. ! Fixed ::toDecPos() to not crash with non-numeric vars. - Removed some XBase++ specific code which is not needed for Harbour. - Removed some other unnecessary code dealing with '.'/',' swapping. % Minor cleanups. ; WARNING! Please test these with real code, as we have no extensive regression test suite for the above code parts. * tests/rto_get.prg + Added some test cases (and counter test cases) for problems reported by Edmer. * source/hbpcre/cnv_o2hb.bat * source/hbpcre/cnv_hb2o.bat ! Fix for potential s&r problem. (not adapted to converted code yet) * contrib/xhb/Makefile * contrib/xhb/common.mak + contrib/xhb/xstrdel.c + STRDEL() added from Walter Negro / xhb. * contrib/rddads/adsfunc.c + Minor correction to HB_TRACE handling. * contrib/hbfimage/fi_winfu.c % Removed unused var. 2008-05-28 11:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbrdddbf.h * harbour/include/hbapirdd.h * harbour/source/rdd/workarea.c * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/usrrdd/usrrdd.c * harbour/contrib/rddads/ads1.c * harbour/contrib/hbbmcdx/bmdbfcdx1.c + added ULONG ulConnection parameter to DROP() and EXISTS() RDD node methods + added 4-th parameter with ulConncetion index to [HB_]DBDROP() and [HB_]DBEXISTS() functions 2008-05-27 22:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_deb.sh ! fixes suggested by Guy Roussin 2008-05-27 22:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/harbour.spec * added hbvpdf library 2008-05-27 17:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/idle.c * updated included header files * removed unnecessary separated code for MacOSX * small modification in comment * harbour/source/hbpcre/pcreinal.h ! do not redefine BOOL type and TRUE / FALSE definitions * harbour/source/hbpcre/_hbpcreg.c * remap memory functions to Harbour core ones * harbour/source/hbpcre/pcrevutf.c * harbour/source/hbpcre/pcreoutf.c * harbour/source/hbpcre/pcrecomp.c * pacify warnings when utf8 mode is disabled * harbour/source/hbpcre/pcrefind.c * casting * harbour/contrib/gtwvg/wvtutils.c * harbour/contrib/rddads/adsfunc.c * cleanup warnings 2008-05-27 09:43 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbapi.h * source/vm/hvm.c * source/vm/cmdarg.c + Added support for internal switch format: --hb: //hb: Both are equivalent to original CA-Cl*pper: // 2008-05-27 04:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * make_vc.mak - No longer explicily defining WIN32, __WIN32__, __WINDOWS__ macros. 2008-05-27 04:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/_windlg.c * contrib/hbole/ole2.c * contrib/hbfbird/firebird.c * contrib/hbziparch/zipnew.cpp * contrib/hbziparch/hbcomprs.c * contrib/hbnf/dispc.c * contrib/gtwvg/wvtutils.c * contrib/hbfimage/fi_winfu.c * contrib/hbfimage/fi_wrp.c ! MSVC errors and warnings fixed. ; TOFIX: Several of them remain. Some contribs don't compile (gtwvg, hbole, hbw32) at all in C++ mode. * contrib/mtpl_vc.mak - No longer explicily defining WIN32, __WIN32__, __WINDOWS__ macros. 2008-05-27 03:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * bin/bld.bat + MSVC now sets the lib dir globally, so lib names don't need to contain the path anymore. * source/vm/fm.c * Minor cleanup. - contrib/hbgd/tests/bldtest.sh + contrib/hbgd/tests/bld.sh * Update, cleanup, SVN header. 2008-05-27 03:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg ! fixed cursor positioning when it's moved faster then record buffer refreshed. It should also fix flickering problem reported by Viktor - please test. 2008-05-26 16:59 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * source/hbpcre/Makefile * source/hbpcre/chartabs.c -- changes * source/hbpcre/config.h * source/hbpcre/pcre.h * source/hbpcre/pcrecomp.c * source/hbpcre/pcreconf.c * source/hbpcre/pcredfa.c * source/hbpcre/pcreexec.c * source/hbpcre/pcrefind.c * source/hbpcre/pcrefinf.c * source/hbpcre/pcreget.c * source/hbpcre/pcreinal.h * source/hbpcre/pcreinfo.c * source/hbpcre/pcremktb.c * source/hbpcre/pcreoutf.c * source/hbpcre/pcrerefc.c * source/hbpcre/pcrestud.c * source/hbpcre/pcretabs.c * source/hbpcre/pcretryf.c * source/hbpcre/pcrever.c * source/hbpcre/pcrevutf.c * source/hbpcre/pcrexcls.c * source/hbpcre/ucp.h * source/hbpcre/ucpinter.h - source/hbpcre/pcreglob.c -- renames + source/hbpcre/_hbpcreg.c - source/hbpcre/pcreprni.c + source/hbpcre/pcreprni.h - source/hbpcre/ucptable.c + source/hbpcre/ucptable.h + source/hbpcre/_hbconf.h -- new files + source/hbpcre/pcrenewl.c - source/hbpcre/dftables.c -- deletion + Updated to PCRE 7.7 (from 6.3) ; Original code not (yet) modified, so some warnings may appear in foreign code. ; Please test. + source/hbpcre/cnv_hb2o.bat + source/hbpcre/cnv_o2hb.bat + Added batch files to help conversion from original PCRE source files into Harbour, and also to convert back to original to make it easy to spot local changes. 2008-05-26 12:23 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbclipsm/gauge.c ! Fixed GPF in GaugeNew(). Old bug. (leak and non-function was a misreport, it was indeed this GPF. Now it works correctly.) 2008-05-26 12:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbapi.h * source/vm/extend.c + Added hb_retc_null() which is equivalent to hb_retc( NULL ) and will return an empty string. I opted for this because hb_retc( NULL ) usage is not compatible with CA-Cl*pper _retc(), so it might create problems when writing C code intended for both Clipper and Harbour. * contrib/hbclipsm/stack.c * contrib/hbclipsm/environ.c * contrib/hbclipsm/status.c * contrib/hbclipsm/gauge.c % Optimizations. ; TOFIX: GAUGE*() still leaks and doesn't seem to function. * contrib/rddads/adsmgmnt.c % Optimizations (using hb_arraySet*()). ! Fixed typo in ADSMGGETOPENTABLES2(). 2008-05-26 11:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmsql/make_b32.bat * contrib/hbmsql/make_vc.bat * contrib/hbmsql/msql.c + Now automatically setting _OS_WIN32, no need to use special CFLAGS anymore. 2008-05-26 11:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu) - contrib/hbgd/include - contrib/hbgd/doc/COPYING ! Removed foreign headers. * contrib/hbgd/gdwrp.c ! Minor comment correction. 2008-05-25 17:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/gtwvg.c ! Fixed two resource leaks. 2008-05-25 14:57 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbclipsm/date.c ! Fixed internal error in MDY(), DMY(). Thanks Petr. ! DMY() extra space removed. 2008-05-25 02:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * doc/whatsnew.txt + Uploaded Przemek's detailed 1.1.1 Harbour change listing. ; I've actually committed this accidentally a few days ago, without noticing. I apologize for doing so, and I'm now at least correcting the missing ChangeLog description. (plus those few minor typos I've mentioned on the list) 2008-05-24 14:55 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtutils.c * Uncommitted previous changes. - hb_arraySet( a, hb_itemPut*(x,*) ) + hb_arraySet*( a,* ) * harbour/contrib/gtwvg/wvtclass.c * CLASS TBrowseWVG() - ::DoConfigure() + ::SetVisible() This method override is more appropriate for the purpose. 2008-05-24 08:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtutils.c ! Wvt_CreateDialogDynamic() ! Wvt_CreateDialogModal() ! Win_GetDlgItemText() ! Win_SetDlgItemText() Fixed memory leak. 2008-05-23 21:56 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/browse.prg * source/rtl/getsys53.prg * source/rtl/profiler.prg * source/rtl/tbrowse.prg * source/debug/dbghelp.prg * source/debug/dbgwa.prg * utils/hbextern/hbextern.prg * utils/hbtest/hbtest.prg * utils/hbtest/rt_array.prg * utils/hbtest/rt_class.prg * utils/hbtest/rt_date.prg * utils/hbtest/rt_file.prg * utils/hbtest/rt_hvm.prg * utils/hbtest/rt_hvma.prg * utils/hbtest/rt_math.prg * utils/hbtest/rt_misc.prg * utils/hbtest/rt_str.prg * utils/hbtest/rt_stra.prg * utils/hbtest/rt_trans.prg % FUNCTION -> PROCEDURE 2008-05-23 21:25 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/compiler/hbfunchk.c ! Typo in message. 2008-05-23 08:00 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtclass.prg * Class TBrowseWVG - METHOD ColumnsSep + METHOD DoConfigure Optimized population of ::aColumnsSep. Thanks Viktor pointing to this direction. 2008-05-23 10:57 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * harbour.spec + Added one missing HU translation. 2008-05-23 10:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/gtwvg/tests/demowvg.prg * contrib/gtwvg/wvtclass.prg + TBrowseWVT class moved to contrib core, to make it available for all WVT apps. 2008-05-22 19:00 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/tests/demowvg.prg + CLASS TBrowseWVG FROM TBrowse Subclassed TBrowse to retreive <::aColumnsSep> for WVG browsers to paint column separator lines. Now Wvt*class prompt of main menu works like a charm. /* BTW, new TBrowse is really a wonderful code. Hats off to Przem, once again. */ 2008-05-22 12:20 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * source/common/hbstr.c * fixed typo in prevoius commit 2008-05-22 10:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbextern.ch * source/rdd/dbcmdx.c + Added dbPack() and dbZap() XBase++ compatibility functions. 2008-05-22 10:10 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * source/common/hbstr.c * casting for gcc 4.3.0 * source/rtl/idle.c * changed for make it work in Centos 5.1 * source/rtl/hbini.prg * set only = as default key, field separator 2008-05-22 08:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * hbwhat32/_winsys.c * hbwhat32/_wincomm.c ! Warnings. * source/rtl/net.c ! Fixed GPF in NETNAME() under DOS (in error condition only). ! Fixed GPF in NETNAME()/HB_USERNAME() on unsupported platforms. 2008-05-22 08:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) - contrib/hbmisc/dbftools.c * contrib/hbmisc/common.mak * contrib/hbmisc/Makefile - Removed to avoid collision with similar file in hbct. Notice the content was also similar, except that in hbct it was updated and extended. There was also FIELDTYPE() implemented which was colliding with function with the same name in core. * include/hbextern.ch * source/rdd/dbcmd.c * source/rdd/dbdrop.c * source/rdd/dbexists.c * source/rdd/fieldhb.c + Added HB_ prefixed versions of DBDROP(), DBEXISTS(), FIELDDEC(), FIELDLEN(), FIELDTYPE() * source/rdd/rddinfo.c ! Comment. * tests/multifnc/Makefile ! Updated lib names. * contrib/hbapollo/apollo.c ! Fixed MSVC errors. * contrib/mtpl_b32.bat * contrib/mtpl_vc.bat ! Removed one obsolete line. + Now defines _HB_MAKELOG. * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbgd/make_b32.bat * contrib/hbhpdf/make_b32.bat * contrib/hbmysql/make_b32.bat * contrib/hbodbc/make_b32.bat * contrib/hbodbc/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/hbw32ddr/make_b32.bat * contrib/hbw32ddr/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/rddads/make_b32.bat + Redirects .lib creation (implib, lib) output to log file. * contrib/xhb/hbcompat.ch + Added some more conversions for xhb code. * contrib/rddads/ads1.c + Added two TODOs. (to adsDrop and adsExists) * source/pp/hbppgen.c ! MSVC warning fixed. * make_vc.mak ! Typo in prev commit. 2008-05-21 19:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rdd/dbdrop.c * source/rdd/dbexists.c % Minor opt in source layout. * ChangeLog ! Typos. 2008-05-21 17:45 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * harbour.spec + Added HU translation (cpwin). * source/rtl/gtfunc.c % Minor opt. * source/rtl/console.c * source/rtl/fserror.c * source/rtl/strmatch.c * source/rtl/padr.c * source/rtl/hbhex.c * source/rtl/at.c * source/rtl/abs.c * source/rtl/dates.c * source/rtl/padc.c * source/rtl/mod.c * source/rtl/hbrandom.c * source/rtl/filesys.c * source/rtl/padl.c * source/rtl/val.c * source/rtl/hbregex.c * source/vm/runner.c * source/vm/hashes.c * source/vm/itemapi.c * source/vm/hvm.c * source/vm/maindllp.c * source/vm/fm.c * source/vm/arrayshb.c * source/vm/classes.c * source/common/hbtrace.c * Formatting (whitespace only) 2008-05-21 16:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * make_b32.mak * make_vc.mak * make_vcce.mak + Added HBDOC_LIBS to specify external libs for HBDOC. Only for non-GNU B32/VC/VCCE builds! For non-GNU GCC it's probably LDFLAGS, for GNU it's probably LDLIBS. NOTE: Use full path for the libs. Such dependency is anything but good though (the core build depends on a contrib lib, the contrib lib depends on the core build), so consider this a temporary solution. Moving HBDOC to the contrib area is one possibility, dropping it is another one. ; There is quite a big mess regarding these envvars depending on the type of make system, platform, compiler, etc, that it's almost impossible to document or understand, so maybe it'd be worth a review after the release, and sync all these external flag and dir envvars. * utils/hbdoc/genpdf1.prg ! Fixed warnings in HBDOC_PDF guarded code. 2008-05-21 15:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * bin/bld.bat * bin/bld_os2.cmd ! Removed trailing backslash from default Harbour bin dirs. * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_vc.bat * contrib/hbhpdf/make_b32.bat * contrib/hbhpdf/make_vc.bat * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbodbc/make_b32.bat * contrib/hbodbc/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/hbw32ddr/make_b32.bat * contrib/hbw32ddr/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat ! Fixed to handle long *_DIR settings in those contribs where external packages are required. * contrib/gtwvg/tests/bld_b32.bat * contrib/gtwvg/tests/bld_vc.bat * contrib/hbapollo/tests/bld_b32.bat * contrib/hbapollo/tests/bld_vc.bat * contrib/hbclipsm/tests/bld_b32.bat * contrib/hbclipsm/tests/bld_vc.bat * contrib/hbct/tests/bld_b32.bat * contrib/hbct/tests/bld_vc.bat * contrib/hbfbird/tests/bld_b32.bat * contrib/hbfbird/tests/bld_vc.bat * contrib/hbfimage/tests/bld_b32.bat * contrib/hbfimage/tests/bld_vc.bat * contrib/hbgd/tests/bld_b32.bat * contrib/hbgd/tests/bld_vc.bat * contrib/hbgf/tests/bld_b32.bat * contrib/hbgf/tests/bld_vc.bat * contrib/hbhpdf/tests/bld_b32.bat * contrib/hbhpdf/tests/bld_vc.bat * contrib/hbmisc/tests/bld_b32.bat * contrib/hbmisc/tests/bld_vc.bat * contrib/hbmysql/tests/bld_b32.bat * contrib/hbmysql/tests/bld_vc.bat * contrib/hbnf/tests/bld_b32.bat * contrib/hbnf/tests/bld_vc.bat * contrib/hbodbc/tests/bld_b32.bat * contrib/hbodbc/tests/bld_vc.bat * contrib/hbole/tests/bld_b32.bat * contrib/hbole/tests/bld_vc.bat * contrib/hbpgsql/tests/bld_b32.bat * contrib/hbpgsql/tests/bld_vc.bat * contrib/hbtpathy/tests/bld_b32.bat * contrib/hbtpathy/tests/bld_vc.bat * contrib/hbvpdf/tests/bld_b32.bat * contrib/hbvpdf/tests/bld_vc.bat * contrib/hbw32/tests/bld_b32.bat * contrib/hbw32/tests/bld_vc.bat * contrib/hbw32ddr/tests/bld_b32.bat * contrib/hbw32ddr/tests/bld_vc.bat * contrib/hbzlib/tests/bld_b32.bat * contrib/hbzlib/tests/bld_vc.bat * contrib/rddado/tests/bld_b32.bat * contrib/rddado/tests/bld_vc.bat * contrib/rddads/tests/bld_b32.bat * contrib/rddads/tests/bld_vc.bat ! Fixed to honor HB_*_INSTALL envvar settings in bld_*.bats for /tests * contrib/examples/hscript/dir.hs * contrib/examples/hscript/bld_b32.bat - contrib/examples/hscript/makehtm.bat * Cleanup. * contrib/rddads/rddads.h * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c * contrib/rddads/adsmgmnt.c * Header cleanup, minor code opt. * ADS_REQUIRE_VERSION==8 is now equivalent to ADS_LIB_VERSION=810. Brian suggested this is what the majority of users need. See next however. * ADS_REQUIRE_VERSION compatibility handling disabled to make usage and support more straightforward. I'd suggest everyone to remove any old ADS_REQUIRE_VERSION settings, if - and only if - there is a need to force an older version, ADS_LIB_VERSION=??? should be used, where ??? is 810 for ACE 8.10 (for example). 2008-05-21 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg * updated some comments * harbour/source/vm/hvm.c * harbour/source/vm/classes.c * formtting 2008-05-21 03:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbvpdf/Makefile * contrib/hbvpdf/common.mak * contrib/hbvpdf/hbvpdf.prg * contrib/hbvpdf/hbvpdft.prg + contrib/hbvpdf/hbvpsup.prg - contrib/hbvpdf/tests/fonts.dat + fonts.dat embedded in code (using BASE64 encoding). 2008-05-20 21:06 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbvpdf/tests/pdf_demo.prg * contrib/hbvpdf/tests/tstpdf.prg * contrib/hbvpdf/hbvpdft.prg ! TABs -> SPACEs 2008-05-20 20:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * added HB_USR_LIBS set during build time to list of predefined libs in hb* scripts * harbour/source/rtl/hbgtcore.c ! fixed horizontal scrolling. Warning CTIII does not support horizontal scrolling and ignores 6-th scroll parameters. This behavior is intentionally not replicated in CTWIN though it can be easy added if someone will need it but covered with some macro to not change default builds. It will be enough to overload SCROLL() method and set iCol = 0 before calling SUPER_SCROLL(). 2008-05-20 17:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbvpdf/hbvpdft.prg ! Fixed include filename to be in lower case. Reported by Lorenzo. * contrib/hbhpdf/tests/files/gray.jpg * contrib/hbhpdf/tests/files/rgb.jpg * contrib/hbgd/tests/gdtest.prg * contrib/hbgd/tests/gdtestcls.prg * contrib/hbgd/tests/tostring.prg * contrib/hbgd/tests/images_in/gdlogobig.png - contrib/hbgd/tests/images_in/conv_test.jpeg + contrib/hbgd/tests/images_in/conv_test.jpg ! .jpg cleanup. 2008-05-20 13:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/hbvpdf + contrib/hbvpdf/common.mak + contrib/hbvpdf/hbvpdf.prg + contrib/hbvpdf/hbvpdf.ch + contrib/hbvpdf/make_gcc.sh + contrib/hbvpdf/tests + contrib/hbvpdf/tests/fonts.dat + contrib/hbvpdf/tests/files + contrib/hbvpdf/tests/files/color.tif + contrib/hbvpdf/tests/files/test.txt + contrib/hbvpdf/tests/files/color.jpg + contrib/hbvpdf/tests/pdf_demo.prg + contrib/hbvpdf/tests/tstpdf.prg + contrib/hbvpdf/tests/bld_b32.bat + contrib/hbvpdf/tests/bld_vc.bat + contrib/hbvpdf/hbvpdft.prg + contrib/hbvpdf/make_b32.bat + contrib/hbvpdf/make_vc.bat + contrib/hbvpdf/Makefile + Added Viktor K's pure Clipper pdf lib. + Added Pritpal's OOP version. + Added make files, reorged dir layout, named files to avoid collision. + Added minor #define tweak to compile as-is. * Renamed pdf.ch to hbvpdf.ch for above reasons, if this hurts anybody, I will correct it. ! Fixed unused vars and a few other things. ; TOFIX: - ShellExecute(), GetDeskTopWindow() dependencies commented out. - fonts.dat dependency is a PITA, so this file should be moved inside the .prg somehow. - There are some hard-wired non portable things like Acrobat executable path. * contrib/Makefile * contrib/make_b32_all.bat * contrib/make_gcc_all.sh * contrib/make_vc_all.bat + hbvpdf added to make systems. 2008-05-20 09:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/wincorec.c ! Removed old-style Clipper comment from C code. * contrib/hbwhat32/_winsys.c ! Fixed unresolved external in SYSTEMPARAMETERSINFO(). 2008-05-20 08:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbmisc/numtxthu.prg * contrib/hbmisc/numtxten.prg + Updated. * utils/hbmake/hbmake.prg ! Typos. 2008-05-20 02:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * doc/es/Makefile * doc/whatsnew.txt * source/lang/Makefile * source/rtl/gtcrs/Makefile * source/main/Makefile * source/debug/Makefile * source/codepage/Makefile * source/rdd/hbsix/Makefile * source/compiler/Makefile * contrib/hbgf/os2pm/Makefile * contrib/hbgf/gtk/Makefile * Some TAB/space cleanup. 2008-05-20 02:18 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/complex.c ! fixed typo in last modification - I chose wrong token 2008-05-19 23:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_rpm.sh * harbour/harbour.spec * changed --without gpl to --without gpllib * harbour/source/compiler/complex.c * changed END terminal symbol used for END SEQUENCE to ENDSEQ for better error reporting in wrong .prg code 2008-05-19 18:35 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbwhat32/Makefile * contrib/hbwhat32/common.mak + contrib/hbwhat32/wincorec.c * contrib/hbwhat32/wincore.prg ! Got rid of begindump/enddump ; No more begindump/enddump in repo. 2008-05-19 18:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbtpathy/common.mak * contrib/hbtpathy/Makefile * contrib/hbtpathy/telepath.prg + contrib/hbtpathy/tpcommon.c ! Got rid of begindump/enddump 2008-05-19 16:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * doc/whatsnew.txt + Added first round of whatsnew update. 2008-05-19 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c + ADSSTMTSETTABLELOCKTYPE() + ADSVERIFYSQL() (for ACE 6.20 or upper) + ADSCREATEFTSINDEX() (for ACE 7.00 or upper) ; Thanks to Brian Hays for these functions. 2008-05-19 09:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/Makefile ! Spaces to TABs. 2008-05-19 09:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/xhb/usrrdd.ch + contrib/xhb/math.ch + contrib/xhb/classex.ch * contrib/xhb/Makefile * contrib/xhb/common.mak + Some more xhb compatibility. 2008-05-19 09:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg % Minor code optimization. * contrib/rddads/adsfunc.c ! Minor correction. 2008-05-19 00:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/harupdf.c ! Fixed HPDF_READFROMSTREAM() to not directly write into the variable buffer. The function will now return the status code instead of buffer length. The latter can be determined using Len(). 2008-05-19 00:07 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/harupdf.c ! Fixed to use garbage collector to automatically free HPDF_Doc pointers. The rest of pointers seem to be handled automatically by internal memory manager of libharu. Also note that leaks wouldn't be reported by Harbour, because libharu currently uses memory via std C calls, not via hb_x*() functions. 2008-05-18 22:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/harupdf.c ! Added one TOFIX. ! Fixed some casts. 2008-05-18 22:27 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/harupdf.c + Calling hb_fsNameConv() in filename parameters. Thanks Petr for the suggestion. ! Changed hb_parnl()/hb_retnl() calls to hb_parptr()/hb_retptr() where a "handle" (which is a memory pointer) is passed. ; TOFIX: Some of these calls should be changed to the GC version to avoid leaks by bad or interrupted program code. 2008-05-18 20:15 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/harupdf.c ! Fixed GPFs. Thanks to Petr Chornyj. 2008-05-18 19:09 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/tests/harupdf.prg ! "\" -> hb_OSPathSeparator(). 2008-05-18 18:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/rddads/tests/datad.prg + Added new test program for ADS DD/SQL functionality. Kindly sent by Brian Hays. NOTE: The code will show some errors on SQL execution. I couldn't investigate, but it does the same with older versions of rddads, too. * contrib/rddads/ads1.c ! Two occurences of AdsShowError() calls guarded with DEBUG. This call pops up a visual dialog box on screen and halts execution until this is confirmed by the user. Not very desirable inside RDD code in real life environments. Proper error codes were and are still returned in these cases. * contrib/rddads/adsfunc.c * Final reformat and optimization. ! Fixed to not call AdsShowError() by default, only when DEBUG is #define-d. For about the same reason as above. Caller should use AdsGetLastError() to get the error code and string and present it to the user as required. + QUESTIONs added. * contrib/rddads/adsmgmnt.c * ADSMGGETOPENTABLES() changed to return empty array instead of error code in case of error. This way it now behaves consistently with the rest of the mgmnt functions. Error code and string can be get by the caller using ADSGETLASTERROR(). + ADSMGGETOPENTABLES2() added, which is similar to ADSMGGETOPENTABLES(), but will also return lock type for all tables, this way clearing a long standing TODO in the source. 2008-05-18 09:22 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c + QUESTION added. * Formatting. 2008-05-18 09:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbhpdf/harupdf.c ! Fixed all MSVC warnings. Now builds cleanly. 2008-05-18 08:52 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/hbhpdf/Makefile + contrib/hbhpdf/make_b32.bat + contrib/hbhpdf/make_vc.bat + contrib/hbhpdf/make_gcc.sh + contrib/hbhpdf/common.mak + contrib/hbhpdf/tests/bld_b32.bat + contrib/hbhpdf/tests/bld_vc.bat + Added build/make files. ; Please test GNU make files. * contrib/make_b32_all.bat * contrib/make_gcc_all.sh * contrib/make_vc_all.bat + Added hbhpdf to 'all' make files. (not yet to GNU make files though) - contrib/hbhpdf/tests/ + contrib/hbhpdf/tests/files/ * Data files needed for test app moved to a subdir. * contrib/hbhpdf/tests/harupdf.prg ! Absolute paths changed to relative ones (for both input and output ones). ! NumToHex() -> hb_NumToHex() + hbct added to lib list because test program uses SIN()/COS()/TAN() from it. - contrib/hbhpdf/tests/harupdf.ch + contrib/hbhpdf/harupdf.ch * Moved to main dir. - contrib/hbhpdf/hpdf.h - Removed original libharu header. This will be picked up from the package dir, along with the rest of the .h files. * contrib/hbhpdf/harupdf.ch + Added self-guard. * contrib/hbhpdf/harupdf.c ! Fixed a few BCC warnings. It now builds cleanly. ; NOTE: There are a lot MSVC casting warnings and errors left. ; Many thanks for this contrib to Pritpal Bedi. 2008-05-17 18:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) + harbour/contrib/hbhpdf + harbour/contrib/hbhpdf/harupdf.c + harbour/contrib/hbhpdf/hpdf.h Initial upload of wrappers for HaruPDF Library (http://sourceforge.net/projects/libharu/). + harbour/contrib/hbhpdf/tests + harbour/contrib/hbhpdf/tests/harupdf.prg + harbour/contrib/hbhpdf/tests/harupdf.ch Test program. + harbour/contrib/hbhpdf/tests/32_32_color.dat + harbour/contrib/hbhpdf/tests/32_32_gray.dat + harbour/contrib/hbhpdf/tests/32_32_rgb.dat + harbour/contrib/hbhpdf/tests/a010013l.afm + harbour/contrib/hbhpdf/tests/a010013l.pfb + harbour/contrib/hbhpdf/tests/basn0g01.png + harbour/contrib/hbhpdf/tests/basn0g02.png + harbour/contrib/hbhpdf/tests/basn0g04.png + harbour/contrib/hbhpdf/tests/basn0g08.png + harbour/contrib/hbhpdf/tests/basn2c08.png + harbour/contrib/hbhpdf/tests/basn0g16.png + harbour/contrib/hbhpdf/tests/basn2c16.png + harbour/contrib/hbhpdf/tests/basn3p01.png + harbour/contrib/hbhpdf/tests/basn3p02.png + harbour/contrib/hbhpdf/tests/basn3p04.png + harbour/contrib/hbhpdf/tests/basn3p08.png + harbour/contrib/hbhpdf/tests/basn4a08.png + harbour/contrib/hbhpdf/tests/basn4a16.png + harbour/contrib/hbhpdf/tests/basn6a08.png + harbour/contrib/hbhpdf/tests/basn6a16.png + harbour/contrib/hbhpdf/tests/maskimage.png + harbour/contrib/hbhpdf/tests/cp932.txt + harbour/contrib/hbhpdf/tests/cp936.txt + harbour/contrib/hbhpdf/tests/elic_jp.txt + harbour/contrib/hbhpdf/tests/euc.txt + harbour/contrib/hbhpdf/tests/gray.jpg + harbour/contrib/hbhpdf/tests/rgb.jpg + harbour/contrib/hbhpdf/tests/penguinattack.ttf + harbour/contrib/hbhpdf/tests/sjis.txt Needed files to run the haruprf.prg. Files are pulled from HaruPDF library distribution. /* NOTE! this library need distribution from : http://sourceforge.net/projects/libharu/ The distribution contains libpng.lib and zlib.lib for Windows. Viktor, please put copyright notices and all other necessary batch files to build this library. */ 2008-05-17 15:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/hbppgen.c * cleaned code used to locate ChangeLog file 2008-05-16 19:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/source/compiler/hbmain.c * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc ! moved function related variables and structures from HB_COMP to PFUNCTION - it fixes many different problems which can appear in some code, also the recent Mindaugas' example ! initialize statement value in error action to avoid valgrind/CodeGuard warning reports when syntax error appear in some complex statements * harbour/source/rtl/scrollbr.prg * repalced TAB with SPACEs 2008-05-16 09:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tbrowse.prg + HIDDEN -> PROTECTED * contrib/rddads/rddads.h * Comment. * contrib/rddads/adsfunc.c ! ADSCOPYTABLECONTENTS() fixed to throw an RTE if destination area is not ADS. ! ADSCOPYTABLECONTENTS() fixed to not change the current workarea to the destination area (even if destination area wasn't ADS). * contrib/rddads/ads1.c ! Added some missing bits to VFP support. Requires ACE 9.00 or upper. 2008-05-15 17:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/gtwvg.c * harbour/source/rtl/gtwvt/gtwvt.c ! fixed memory corruption caused by missing ASCII-0 terminator when window title is retrieve 2008-05-15 12:37 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h ! Fix to previous commit to avoid warning. (and again) 2008-05-15 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h ! Fix to previous commit to avoid warning. * contrib/rddads/adsmgmnt.c * contrib/rddads/tests/testmg.prg % Final cleanup, minor optim. + HB_TRACE messages made shorter, added to all functions, consume less string space, now enabled if HB_TRACE trace level is INFO or above (instead of being commented out). Maybe they could be deleted, even. + ADSMGGETINSTALLINFO(), ADSMGGETACTIVITYINFO(), ADSMGGETCOMMSTATS(), ADSMGGETCONFIGINFO() now return an empty array in case of error instead of NIL, to be in sync with the rest of the functions. Now the only exception is ADSMGGETLOCKOWNER() which will return an ADS error code on failure and array on success. Please tell if the above functionality change hurts compatibility too much. WARNING: Change in error behavior. 2008-05-15 09:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h ! Fixed to not allow to override to a higher lib version of the one of ACE lib. This applies to both ADS_LIB_VERSION and the compatibility ADS_REQUIRE_VERSION. ! Fixed so that ADS_LIB_VERSION override always takes precedence over ADS_REQUIRE_VERSION. * contrib/rddads/tests/testmg.prg ! Fixed to not crash when there's no server. * contrib/rddads/adsmgmnt.c % Minor opt. 2008-05-15 03:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/db_brows.prg ! Removed note of hbmisc requirement. * tests/Makefile - tests/twirl.prg + contrib/hbmisc/tests/twirl.prg ! Test moved to local test dir. * source/vm/cmdarg.c ! hb_cmdargIsInternal(): Removed '--' as internal option marker, since it will disallow any application code to accept such options. We will now stick with '//' prefix for Clipper compatible internal options. * contrib/hbzlib/tests/myzip.prg * contrib/hbzlib/tests/myunzip.prg * contrib/hbzlib/hbmzip.c + Added support for password on Harbour API level. ; NOTE: This password is not at the moment compatible with .zip passwords added by standard .zip utilities. 2008-05-15 02:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/tbrwtext.prg ! declare HBDebugger as friend class of HBBrwText to avoid scope errors when debugger code executes some protected messages. It will be better to clean debugger code but I do not have time for it now. ! use HBEditor() in edit mode to eliminate problems with cursor positioning in source code window * harbour/source/debug/debugger.prg * added protection against RT error during macro evaluation of wrong user expressions 2008-05-14 20:36 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c % Some optimizations and cleanups. ! ADSVERSION(): Fixed possible memory corruption when wrong parameter was passed (not 0 or 3). ! ADSVERSION(): Fixed not trimming first char if it's a space. ! ADSSTMTSETTABLEPASSWORD(): Fixed to check pArea->hStatement rather than hConnect before making the call to ACE API AdsStmtSetTablePassword(). Someone please check me on this. 2008-05-14 15:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c ! Minor cleanups. 2008-05-14 13:04 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/bld4dll.bat * tests/gnu_test.bat - tests/test.ch - tests/testinc.prg - tests/db_brows.ch * tests/db_brows.prg - tests/entries.ini - tests/hversion.prg - tests/cgi.ch * tests/testcgi.prg ! Cleanups. 2008-05-14 12:06 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/hbclipsm/tests/bld_b32.bat + contrib/hbclipsm/tests/bld_vc.bat + contrib/hbmisc/tests/bld_b32.bat + contrib/hbmisc/tests/bld_vc.bat + contrib/hbmysql/tests/bld_b32.bat + contrib/hbmysql/tests/bld_vc.bat + contrib/hbnf/tests/bld_b32.bat + contrib/hbnf/tests/bld_vc.bat + contrib/hbtpathy/tests/bld_b32.bat + contrib/hbtpathy/tests/bld_vc.bat + contrib/hbw32/tests/bld_b32.bat + contrib/hbw32/tests/bld_vc.bat + contrib/hbw32ddr/tests/bld_b32.bat + contrib/hbw32ddr/tests/bld_vc.bat + contrib/hbzlib/tests/bld_b32.bat + contrib/hbzlib/tests/bld_vc.bat + contrib/rddado/tests/bld_b32.bat + contrib/rddado/tests/bld_vc.bat + contrib/rddads/tests/bld_b32.bat + contrib/rddads/tests/bld_vc.bat + Added non-GNU make files to make it easy to build contrib tests. * contrib/hbw32ddr/make_b32.bat * contrib/hbw32ddr/make_vc.bat + Added automatic generation of ddraw.lib. * contrib/rddads/tests/testmg.prg ! _ADS -> ADS * contrib/rddads/ads1.c ! Fixed MSVC warning. * contrib/hbbtree/tests/test.prg * contrib/hbbtree/tests/ttest.prg * License moved to top of the files. * contrib/hbw32ddr/tests/testdx.prg ! SVN ID added. * Some formatting. 2008-05-14 11:38 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c ! Completed namespace cleanup, with the global vars: adsFileType -> hb_ads_iFileType adsLockType -> hb_ads_iLockType adsRights -> hb_ads_iCheckRights adsCharType -> hb_ads_iCharType bTestRecLocks -> hb_ads_bTestRecLocks adsConnectHandle -> hb_ads_hConnect adsOEM -> hb_ads_bOEM ; Please modify your code, if you relied on these. ! Minor code cleanups. 2008-05-14 11:19 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c ! Fixed and extended ADS_REQUIRE_VERSION compatibility handling. Thanks Brian. Usage of this #define is obsoleted, and in case someone wants to override version autodetection, ADS_LIB_VERSION should be used instead. ! Some public C level functions renamed to respect namespace: adsCloseCursor() -> hb_adsCloseCursor() hb_rddGetADSWorkAreaPointer() -> hb_adsGetWorkAreaPointer() ShowPercentage() -> hb_adsShowPercentageCB() 2008-05-14 10:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbfimage/tests/bld_b32.bat + contrib/hbfimage/tests/bld_vc.bat + Standardized. 2008-05-14 10:46 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_vc.bat * contrib/hbmysql/make_vc.bat * contrib/hbzlib/make_vc.bat * contrib/rddads/make_vc.bat + Use .lib files supplied with 3rd party packages (where available), rather than generating them locally. ; Please test. 2008-05-14 10:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg ! fixed :insColumn() - added missing hb_aIns() parameter. 2008-05-14 10:27 UTC+0100 Viktor Szakats (harbour.01 syenar hu) - lib/b32/empty - lib/vc/empty - bin/b32/empty - bin/vc/empty - contrib/hbgd/tests/images_out/EMPTY - obj/b32/empty - obj/vc/empty - No longer needed for SVN. 2008-05-14 08:29 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/hbct/tests/bld_b32.bat * contrib/hbct/tests/bld_vc.bat * contrib/hbodbc/tests/bld_b32.bat + contrib/hbodbc/tests/bld_vc.bat * contrib/hbole/tests/bld_b32.bat + contrib/hbole/tests/bld_vc.bat * contrib/hbfbird/tests/bld_b32.bat + contrib/hbfbird/tests/bld_vc.bat * contrib/gtwvg/tests/bld_vc.bat * contrib/gtwvg/tests/bld_b32.bat * contrib/hbpgsql/tests/bld_b32.bat + contrib/hbpgsql/tests/bld_vc.bat * contrib/hbgf/tests/bld_b32.bat + contrib/hbgf/tests/bld_vc.bat * contrib/hbgd/tests/bld_b32.bat * contrib/hbgd/tests/bld_vc.bat - contrib/hbgd/tests/bldtest.bat + Standardized contrib test build batch files for non-GNU make systems. + Added MSVC flavour of these. + Now automatically sets Harbour bin/inc/lib paths. * source/rtl/scrollbr.prg % Minor opt, slipped in by last change. * contrib/hbfbird/tfirebird.prg ! Fixed duplicate class var declaration. 2008-05-14 01:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rddads/adsfunc.c ! use OemToCharBuffA() and CharToOemBuffA() for UNICODE W32 builds 2008-05-14 00:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/complex.c ! added casting to unsigned char to force syntax error when some unknown tokens appear. Negative values bison recognizes as end of input. * harbour/contrib/rddads/adsmgmnt.c ! cleaned one warning 2008-05-13 11:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/xhb/txml.prg ! fixed wrongly defined scopes. Note: during porting xHarbour code to Harbour scopes should be carefully checked because in xHarbour in many cases wrong scopes does not cause any RT errors. 2008-05-13 09:43 UTC+0100 Viktor Szakats (harbour.01 syenar hu) + contrib/hbct/tests/bld_b32.bat + contrib/hbct/tests/bld_vc.bat + Added non-GNU make files for tests. * contrib/hbct/tests/Makefile + Added ctwtest.prg to GNU makefile for hbct tests. (so building of these was actually solved already) * contrib/rddads/adsfunc.c ! Minor comment. 2008-05-12 22:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/gtwvg/tests/bld_b32.bat + Added switch to compile in GUI mode. 2008-05-12 21:50 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h * contrib/rddads/ads1.c * contrib/rddads/adsfunc.c * Some cleanups. Minor fixes, comments added. 2008-05-12 19:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/Makefile + Added hbpcre to the list of libs. 2008-05-12 14:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * bin/bld.bat + Added hbpcre to lib list. * source/rtl/hbini.prg ; Some formatting. * tests/Makefile + tests/parseini.prg + tests/parseini.ini + tests/parseins.ini + Added .ini handling tests. Adapted from xhb. 2008-05-12 13:56 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * bin/bld.bat + Added %HB_USER_LIB% for w32/msvc. + contrib/hbapollo/tests/bld_vc.bat + contrib/gtwvg/tests/bld_vc.bat + Added VC make files. * contrib/gtwvg/tests/demowvg.prg - Removed (unused) embedded C code. ; It still doesn't run though. * contrib/gtwvg/tests/bld_b32.bat ! Fixed eol-style. 2008-05-12 11:58 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c ! Readded one mistakenly removed cast. 2008-05-12 11:54 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/scrollbr.prg ! Fixed :Update(). Submitted by Edmer. ! Fixed formula in :CalcThumbPos(). Reported by Edmer. ! Fixed assigment in :CalcThumbPos() to not interfere with ::lOverride. Reported by Edmer. ; Please test. 2008-05-12 18:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/ads1.c + Added DBOI_SKIPUNIQUE (C5.3 ordSkipUnique()) implementation when compiled for ADS 9.00 or above. 2008-05-10 00:44 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h * contrib/rddads/adsfunc.c * contrib/rddads/adsmgmnt.c * More cleanups, internal fixes. ! ADSTESTLOGIN() fixed to not write into the 7th param string buffer directly since this may cause HVM corruption. To solve this properly, this parameter must now be passed by reference. 8th parameter is no longer needed. ! ADSBLOB2FILE(), ADSFILE2BLOB(), ADSGETTABLECHARTYPE() fixed to not GPF when selected workarea is not ADS. + ADSDDSETDATABASEPROPERTY() now able to clear the content of numeric properties. 2008-05-09 11:47 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/rddads.h * contrib/rddads/adsfunc.c * contrib/rddads/adsmgmnt.c * More cleanups, minor fixes. ! One fix to previous change. + Implemented: ADSMGGETLOCKS() ADSMGGETWORKERTHREADACTIVITY() Please test these. 2008-05-08 21:14 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/ads.ch * contrib/rddads/rddads.h * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c * contrib/rddads/adsmgmnt.c * Lots of minor code cleanups, formatting fixes, optimizations, and several minor fixes. ! Lib version related fixes. (some features were not updated for newer ACE versions). + Automatic version detection extended with 6.20 and 5.00. 6.00 is still missing, if someone has it, pls send it to me. Even 6.11-8.00 versions disappeared from the vendor's site lately. + Added support for all possible properties in ADSDDGETDATABASEPROPERTY() ADSDDSETDATABASEPROPERTY() * ADSMGGETUSERNAMES() will now always return an array of users with 6 elements in each item, all data which is not available for the compiled version of the lib, will be filled with empty strings. Previously the number of elements depended on the compiled version. ; Besides the above, no functionality change should be experienced. ; Please test. * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat ! Changed to never look for ace32.dll in system32 dir to generate the ace32.lib. ! Some other fixes to prev change where ADS_VER was obsoleted. * contrib/hbct/ctwfunc.c * contrib/hbct/ctextern.ch + Added hbct_MaxRow()/hbct_MaxCol() emulating the original overloaded MaxRow()/MaxCol() functions of CT3 lib. * source/rtl/maxrow.c * Reverted previous change on request, thus introducing a 3rd party lib specific function parameter extension. Users of CT3 lib's overloaded MaxRow(.T.)/MaxCol(.T.) functions are encouraged to change the app code to rather use hbct_MaxRow()/hbct_MaxCol() or hb_ScrMaxRow()/hb_ScrMaxCol(). These functions are easy to implement in CA-Cl*pper too (simple wrappers to Max*()). * source/compiler/hbmain.c * Reverted previous change on request. Some outputs are not exactly CA-Cl*pper compatible this way, but functionally it probably doesn't matter for most ppl. * contrib/xhb/hbcompat.ch ! Corrected MaxRow()/MaxCol()/hb_ScrMaxRow()/hb_ScrMaxCol() translations. (hopefully. someone using xhb please test) - tests/ctwtest.prg + contrib/hbct/tests/ctwtest.prg * Moved CT lib specific test to contrib local test directory (containing lots of other CT tests already). Building these is yet to be solved. * contrib/hbct/tests/math.prg * contrib/hbct/tests/trig.prg * contrib/hbct/tests/num1.prg ! Added SVN header. * include/hbgtinfo.ch * Minor comment. * contrib/rddads/make_gcc.sh * Help text sync with *.bat. 2008-05-08 14:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg ! fixed positioning when cursor is moved by :rowpos assignment and vertical move methods used together * harbour/source/vm/estack.c * updated hb_stackDispCall(), hb_UnhandledExceptionFilter(), OS2TermHandler() to show functions where codeblock where defined instead of EVAL() just like in call stack presented by cancel operation * updated hb_UnhandledExceptionFilter() to work in unicode mode * harbour/source/vm/hvm.c ! fixed 1-st procedure presented in call stack during cancel operation to use the same conditions as for all others 2008-05-07 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat * contrib/rddads/ads.ch * contrib/rddads/rddads.h * contrib/rddads/ads1.c * contrib/rddads/adsfunc.c * contrib/rddads/adsmgmnt.c + Added ACE version autodetection. You can override with: -DADS_LIB_VERSION=700 (and similar) (ADS_REQUIRE_VERSION still accepted for compatibility) ! Fixed a few lib version related problems. ! hMgmtHandle global renamed to ads_g_hMgmtHandle. * Formatting. * contrib/rddads/rddads.h + QUESTION: added about ADS_MAX_KEY_LENGTH redefinition. Is it needed? * source/compiler/hbmain.c * Changed output device (hb_compOutStd() -> hb_compOutErr()) for following texts: "Compiling..." "No code generated" "Lines x, Functions/Procedures x" This is to replicate CA-Cl*pper behaviour a bit more. * include/hbextern.ch * common.mak * source/rtl/Makefile * source/rtl/maxrow.c + source/rtl/scrrow.c * contrib/xhb/hbcompat.ch + Added hb_ScrMaxRow(), hb_ScrMaxCol() These will return the screen dimensions regardless of the size of an active window (when using CT windows for example). Functionality is the same as MaxRow(.T.) and MaxCol(.T.) previously. ! MaxRow()/MaxCol() extended parameters removed. + Added MaxRow(.T.)/MaxCol(.T.) conversions for xhb lib (hbcompat.ch) in both directions. ; XBase++ doesn't have any extended parameters for Max*() function. Flagship has two of them, both of them doing something different. CAVO doesn't have these functions at all. * contrib/xhb/hbcompat.ch ! GTI_* macros updated to HB_GTI_*. * source/vm/memvclip.c % Minor opt in __QQPUB(). * source/vm/extend.c * 0 -> NULL * source/vm/estack.c - QUESTION removed. * source/lang/msgbgmik.c * source/rtl/console.c * source/rtl/philes.c * source/rtl/adir.prg * source/rtl/getsys53.prg * source/rtl/getsys.prg * source/rtl/tget.prg * source/rtl/ttopbar.prg * source/rtl/pushbtn.prg * source/rtl/mod.c * source/rtl/memofile.c * source/rtl/radiobtn.prg * source/rtl/filesys.c * source/rtl/tbrowse.prg * source/vm/estack.c * source/vm/itemapi.c * source/vm/hvm.c * source/vm/cmdarg.c * source/vm/fm.c * source/vm/eval.c * source/common/hbver.c * source/common/expropt2.c * utils/hbtest/hbtest.prg * utils/hbtest/rt_misc.prg * utils/hbtest/rt_str.prg ! Comment fixes and minor formatting. 2008-05-06 02:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh ! do not add .exe suffix if user added it explicitly in W32/DOS builds * harbour/source/vm/dynsym.c * added internal error when size of dynamic table exceed maximal size % small optimization in hb_dynsymFind() function * harbour/source/pp/ppcore.c * added support for generating #line directives in strictly Clipper compatible way even if they are redundant. It can be enabled by HB_PP_STRICT_LINEINFO_TOKEN compiler time macro, f.e. using environment variables: set C_USR=-DHB_PP_STRICT_LINEINFO_TOKEN %C_USR% and making clean build. 2008-05-05 11:31 UTC+0100 Miguel Angel Marchuet Frutos * include/hbmemory.ch * source/vm/fm.c + Added Memory( HB_MEM_BLOCKS ) 2008-05-02 10:17 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat * contrib/rddads/rddads.h * contrib/rddads/ads1.c * contrib/rddads/adsfunc.c ! Fixed to compile without ADS_VER/ADS_REQUIRE_VERSION being set. + Some features are automatically detected. NOTE1: To get all supported features included, it's still recommended to set ADS_VER/ADS_REQUIRE_VERSION before building this lib. NOTE2: Lowest tested ACE version is 6.11, and it may work with 5.x (if someone has this version, pls send it to me) 2008-04-29 13:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * source/rdd/Makefile * source/rdd/dbstrux.prg * source/rdd/rddord.prg + source/rdd/rddordu.prg + source/rdd/dbstruxu.prg + Moved some UNDOC functions to separate files. * Removed STRICT guard from _dtxCondSet(). * include/hbextern.ch ! Added missing _dtxCondSet(). * source/rtl/colorind.c * source/rtl/direct.c * Minor formatting. * source/vm/asort.c ! Changed one direct item access to item API call. * contrib/rddads/ads.ch * contrib/rddads/adsfunc.c * contrib/rddads/ads1.c ! Added support for ADS9 VFP file type and fields. ; Borrowed from xhb / Luiz Rafael Culik. (changed to compile using original - older - ADS headers) ; Please review & test. * source/vm/pcount.c % Minor opt. * contrib/hbtip/sendmail.prg ! SF bugtracker#1934698 fix applied. Thanks Chen. - contrib/hbapollo/tests/bld.bat * contrib/hbapollo/tests/bld_b32.bat % Using central bld.bat instead of modified local copy. + contrib/gtwvg/tests/bld_b32.bat + Added BCC32 build batch file for GTWVG tests. ; NOTE: demowvg still doesn't seem to work. 2008-04-28 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwin/gtwin.c * added mouse wheel support to GTWIN ; TOFIX: the mouse events code in GTWIN needs cleanup current code which uses s_mouseLast is wrong and can cause that some events will be missing and some others are wrongly reported. It should be changed to sth similar to the code I added to GTOS2 2008-04-28 09:38 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/common/hbver.c ! Fixed warning in recent change. * Minor adjustment to Vista/Server 2008 detection to be exactly along MS recommendation. 2008-04-28 09:28 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * source/rtl/Makefile * source/rtl/einstvar.prg + source/rtl/einstvau.prg * Undoc function moved to separate file. 2008-04-28 01:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rdd_ads/adsfunc.c ! Fixed warning in ADSDIRECTORY() for ADS >= 9.00. * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/adsmgmnt.c + Added AdsIsEmpty( ) -> With .adt tables will return .T. if value of the field is NULL. With .dbf it's just equivalent to Empty(). (by Luis Krause Mantilla) + Added ADSMGGetOpenTables( nMaxNumberOfFilesToReturn, cUserName, nConnection ) + Added ADSMGGetOpenIndexes( nMaxNumberOfFilesToReturn, cTableName, cUserName, nConnection ) (by Antonio Carlos Pantaglione & Brian Hays) ; Changes borrowed from xhb, added minor optimization, formatting and warning fix. * include/hbclass.ch ! Comment typos. 2008-04-27 22:42 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/common/hbver.c + OS(), hb_verPlatform(): Added detection of Windows Server 2008. * source/rtl/tobject.prg ! XPP feature guarded with HB_COMPAT_XPP 2008-04-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg ! Fixed to not extend ::left(), ::right(), ::backspace(), ::delete() with an internally used (but also externally accessible) extra parameter. This interface is now made fully C5x compatible. * tests/rto_tb.prg ! Fixed to override __eInstVar53() (instead of _eInstVar()) * include/hbextern.ch * common.mak * source/rdd/Makefile + source/rdd/dbcmdhb.c + Added non-internal versions of __dbPack() and __dbZap(), named: hb_dbPack() and hb_dbZap(). If group needs it I can add dbPack() and dbZap() too in separate files to lessen the problem of name collision with app code. * source/rtl/inkey.c * Formatting. + HB_KEYPUT(): Now possible to pass an array with string elements. (see feature in xhb/__KEYBOARD()) * HB_KEYPUT(): For string parameter it now uses hb_inkeySetText() API, rather than a loop of hb_inkeyPut()s. * contrib/xhb/xhbfunc.c ! xhb flavour of __KEYBOARD() sync fixed. (hb_inkeySetText() got extended in xhb, so here we're using hb_inkeyPut() for single numeric key codes). ; Now same code is used as in HB_KEYPUT(). * source/vm/memvars.c * source/vm/hvm.c * source/vm/arrayshb.c + Added HB_C52_STRICT branches for the remaining RTEs which produced different results in hbtest. ! Fixed HB_C52_STRICT RTE for AFill(). ; NOTE: It's not possible to build Harbour currently when HB_C52_STRICT, so it's not easy to test these. * include/hbclass.ch ! Typos. * source/rtl/memoedit.prg * source/rtl/achoice.prg * source/rtl/treport.prg * Formatting. * source/rtl/tobject.prg * Formatting. % Minor opt. 2008-04-25 12:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg * changed internal logic used for vertical movements. Now it should be much closer to Clipper though it also replicates some wrong Clipper behaviors due to removed protection against some concurrent modifications in browsed object. I left two TOFIX notes and I'll reimplement them later. Please test. Lorenzo it should resolve the problem you reported. 2008-04-24 21:23 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * make_vcce.mak * make_b32.mak * make_gcc.mak * make_vc.mak * utils/hbdoc/Makefile * utils/hbdoc/hbdoc.prg * utils/hbdoc/genpdf1.prg - Removed pdflib references from make file, since the contrib was not working and got removed. + PDF enabling logic in HBDOC made local to HBDOC. Now HBDOC_PDF should be #defined in HARBOURFLAGS (or PRG_USR) envvar, proper pdf library should be specified using LDFLAGS envvar. * contrib/mtpl_b32.mak ! Removed permanent '-P' C compiler switch from .prg -> .c rule. Thanks Rafa. Marek pls check me. 2008-04-24 13:00 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * contrib/hbgd/gdimage.prg * removed two method that simply call public function * renamed GetTrueColorPixel back to GetTrueColor * contrib/hbtip/sendmail.prg * contrib/hbtip/smtpcln.prg * added support for smtp with authentication * added timeout parameter * borrowed from xHarbour 2008-04-24 11:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/achoice.prg ! Fixed to abort (rather than crash), when user callback function returns a non-numeric type. This is CA-Cl*pper compatible behaviour. * source/rtl/dbedit.prg + Documented CA-Cl*pper behaviour when it crashes if a non-numeric (and non-NIL) var is returned from the user callback function. 2008-04-24 10:51 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/memoedit.ch * source/rtl/memoedit.prg ! XPP feature marked with HB_COMPAT_XPP. ! Fixed to not crash if user callback function returns non-numeric type. 2008-04-24 10:24 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/xhb/xhb.ch * contrib/xhb/xhbfunc.c ! xhb flavour of __KEYBOARD() synced with current xhb code. * contrib/hbmisc/hb_f.c ! Swapped C file seek constants to Harbour ones. * Minor cleanups and formatting. * source/rtl/tbrowse.prg ! Committed patch to ::setPosition() submitted by Przemek on the devl list. * source/rtl/tget.prg * Minor changes. Copyright updated. 2008-04-23 22:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * contrib/rddads/adsfunc.c + Added these functions: ADSCREATESAVEPOINT() (for ADS 8 and above) ADSROLLBACKSAVEPOINT() (for ADS 8 and above) ADSDDCREATELINK() (for ADS 9 and above) ADSDDMODIFYLINK() (for ADS 9 and above) ADSDDDROPLINK() (for ADS 9 and above) + Extended AdsMgGetUserNames() to return aucAuthUserName, aucOSUserLoginName and aucTSAddress from ADS_MGMT_USER_INFO structure. Only available for ADS >= 8. ; Borrowed from xhb / Luiz Rafael Culik. * contrib/rddads/ads1.c + Made it compile with ADS 9. * contrib/rddads/adsmgmnt.c ! Fixed ADS_VER -> ADS_REQUIRE_VERSION 2008-04-23 20:11 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg + Some protected object vars renamed to better show their roles. ! Fixed ::setFocus() to not mess with width related vars. ! Fixed ::PutMask() to not mess with display width. ! Fixed ::varPut() to only accept certain var types. ! Fixed ::picture() to more consistently reset picture related vars. ! Hack added to ::Reform() to try to set ::nDispLen like CA-Cl*pper. ! Fixed ::posInBuffer() to only work when in focus. (I didn't test if this is XPP compatible, but it surely avoids a possible RTE now.) ! Removed ::display() non-compatible 'lForce' parameter. ! Minor cleanups. ; NOTE: Now o[16] (aka ::nDispLen) is almost totally CA-Cl*pper compatible. * tests/rto_get.prg + Added some more tests. 2008-04-23 18:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/achoice.prg * source/rtl/alert.prg * source/rtl/browse.prg * source/rtl/einstv52.prg * source/rtl/einstvar.prg * source/rtl/persist.prg * source/rtl/tclass.prg * source/rtl/teditor.prg * source/rtl/typefile.prg * source/rtl/wait.prg * Formatting. * != -> !( == ) for strings. 2008-04-23 14:03 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg ! Fixed o[13] and o[14] content (they were swapped) in C5.3 mode. ! Fixed ::varPut() to not have the extra Harbour parameter. ! Fixed ::picture to not mess with ::nDispLen when @S is used. Now solved with new internal var ::nPicLen. % ::ResetPar() internal method moved inside ::display() ! Fixed ::updateBuffer() to set ::xVarGet (o[19] in C5.3 mode and o[11] in C5.2 mode when ::hasFocus) to ::original. ! Fixed ::display() behavior when not in focus. ! Fixed ::reset() to be more compatible by setting ::xVarGet. ! Fixed ::undo() for non-gettable variable types. ! Fixed ::killFocus() to never call ::assign(). ! Fixed ::varPut() to never touch internal vars (old 'lReFormat' mode). ! Fixed ::varGet() to not touch ::xVarGet internal var. ! Fixed ::insert()/::overStrike() to call ::display() in out of bound and rejected cases. ! Fixed ::insert()/::overStrike() to not set ::Rejected when position is out of bound. ! Fixed internal ::PutMask() to never initiate a ::block evaluation. ; NOTE: Since Get() object is a highly complicated beast, bumps are expected. Pls test this code with your applications and report any problems with reduced code snippet. I'll include those tests in the regression test suite. Notice that after these changes, the number of differences between C5.x and Harbour are further reduced, especially regarding the "object as array" kind of access and regarding block evaluation. Currently, differences are mostly present in o[16] in C5.3 mode, plus some odd cases testing mostly invalid picture values, and a few other minor differences here and there. Plus of course further differences may happen to exist in cases not covered by rto_get.prg. * source/rtl/einstvar.prg ! Fixed to only include _eInstVar() if HB_C52_UNDOC is #defined (it is by default). * source/rtl/tbrowse.prg + Added missing XPP methods (three synomyms to existing methods). * tests/rto_get.prg + Added even more tests. + Added some additional info about errors. ! Fixed ::block SETGET tracing. 2008-04-23 09:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fixed some combinations of user functions in stream pragmas, f.e.: #pragma __cstream|f1(%s)|f2() or: #pragma __cstream||f2(%s) + added support for: #pragma __[c]streaminclude "fileName"| f.e.: #pragma __streaminclude "foo1.html"|cHtml:=%s __cstreaminclude decode C like escape sequences, __streaminclude doesn't do that and takes file body in raw form. Maximum file size is arbitrary set to 65520. 2008-04-23 02:32 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/hbgd/gdimage.prg ! Fixed at gdimage.prg(271): "Warning W0019 Duplicate declaration of Method 'GETTRUECOLOR'" the method was having a INLINE to the gdImageTrueColorPixel() function and the fix simply renamed the method name from 'GetTrueColor' to 'GetTrueColorPixel'. Please, someone used to the hbgd lib check if the new method name is correct. 2008-04-23 02:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/dbgbrwsr.prg * respect oCol:colorBlock() used by debugger code in few places * harbour/source/debug/dbgtobj.prg * sort messages and show methods in lower letters just like Clipper * harbour/source/debug/dbgtobj.prg * harbour/source/debug/dbgthsh.prg * harbour/source/debug/dbgtarr.prg ! added protection against RT error when user type wrong expression in OBJECT, ARRAY and HASH inspectors 2008-04-22 20:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch * harbour/include/hbcomp.h * harbour/source/compiler/hbmain.c * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.y ! fixed -w3 warnings when class name is different then function name * allow to overwrite predefined classes definitions it's a dirty hack but current implementation of predefined function and class declarations has to be rewritten from scratch in the future so I make it intentionally - at least it resolves some memory leaks like: harbour -n -w3 tbcolumn.prg * harbour/config/rules.cf * harbour/make_b32.mak * harbour/make_gcc.mak * harbour/make_vc.mak * harbour/make_vcce.mak * harbour/contrib/mtpl_b32.mak * harbour/contrib/mtpl_gcc.mak * harbour/contrib/mtpl_vc.mak * changed default Harbour compiler switch -w2 to -w3 * harbour/contrib/xhb/xhbcomp.prg * replaced repeated declarations by small hack * harbour/utils/hbmake/tmake.prg ! fixed reported by -w3 repeated aDir declaration * harbour/source/rtl/tbrowse.prg * calculate frozen area size for 5-th element of array returned by xbase++ compatible method :viewArea(). Viktor please check me. If you can also describe what exactly TOFIX in :firstScrCol() and :viewArea() means then maybe I can help - I do not have xbase++ so I do not know what should be fixed. 2008-04-22 15:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/bld_os2.cmd * changed eol-style from native to CRLF 2008-04-22 14:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg * updated mouse positioning for non integer coordinates 2008-04-22 04:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c + added new function hb_dbgObjSendMessage() which allows to call messages with given given execution context for proper scope checking * harbour/source/debug/dbgentry.c + added HB_DBG_SENDMSG() for calling messages with given execution context * harbour/source/debug/dbgtobj.prg * removed all __obj*() function calls * use HB_DBG_SENDMSG() to access/assign object variables ! fixed default value in GET operation called from object inspector to always show current object variable value ! fixed set for object variables which hold value: "Method" they were recognized as method Now object variables can be inspected by debugger. If object has multiple private messages with the same name inherited from parent classes then their context will be dynamically changed depending on position in currently debugged code. 2008-04-21 15:54 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tbrowse.prg ! Added some new lines to XPP methods. * contrib/hbtip/thtml.prg * contrib/hbtip/popcln.prg * contrib/hbtip/sendmail.prg * contrib/hbtip/cgi.prg * contrib/hbtip/url.prg * contrib/hbtip/mail.prg * contrib/hbtip/ftpcln.prg ! Fixed ambigous "=" and "!=" to "==" or ":=" or "!( == )" constructs. Someone pls verify if these fixes are right in the broader context. 2008-04-21 15:02 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * include/hbextern.ch * source/rtl/Makefile * source/rtl/checkbox.prg * source/rtl/einstvar.prg + source/rtl/einstv52.prg * source/rtl/listbox.prg * source/rtl/pushbtn.prg * source/rtl/radiobtn.prg * source/rtl/radiogrp.prg * source/rtl/tbcolumn.prg * source/rtl/tbrowse.prg * source/rtl/tget.prg * source/rtl/tmenuitm.prg * source/rtl/tpopup.prg * source/rtl/ttopbar.prg ! _eInstVar() made compatible with C5.2 in C5.2 mode. * Renamed _eInstVar52() -> __eInstVar52() (Harbour internal function namespace) * Renamed _eInstVar53() -> __eInstVar53() (Harbour internal function namespace) * __eInstVar52() moved to a separate file. * Harbour now uses __eInstVar53() internally. - make_os2_gcc.cmd + make_gnu_os2.cmd * Renamed to align the filename with the rest of the GNU make command files. Content unchanged. 2008-04-21 14:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/rto_get.prg * tests/rto_tb.prg + Added more tests. + Enabled object as array results by default. + More details for TGet test results. * bin/bld_os2.cmd ! Fixed lib names. Thanks David. * source/rtl/tobject.prg * Formatting. * source/rtl/tget.prg ! Delimiter colors in C5.3 mode made compatible. ! ::colorSpec handling in C5.3 mode made compatible for some invalid parameter types. ! Fixed handling decimals in :row, :col, :pos methods. ! Fixed to compile in C5.2 mode without warning (introduced in recent commit). * source/rtl/tbrowse.prg ! Fixed handling decimals in :nTop, :nBottom, :nLeft, :nRight. + Added unfinished XPP method :viewArea() + Added untested XPP method :firstScrCol() ; Few minor formatting. * include/hbextern.ch * source/rtl/einstvar.prg + Added _eInstVar52() which is the C5.2 compatible version of this function. It also replicates a bug. * _eInstVar() renamed to _eInstVar53(). * _eInstVar() made a stub to call _eInstVar53(). * source/rtl/checkbox.prg * source/rtl/listbox.prg * source/rtl/pushbtn.prg * source/rtl/radiobtn.prg * source/rtl/radiogrp.prg * source/rtl/scrollbr.prg * source/rtl/symbol.prg * source/rtl/teditor.prg * source/rtl/tget.prg * source/rtl/tget1.prg * source/rtl/tgetlist.prg * source/rtl/tmenuitm.prg * source/rtl/tmenusys.prg * source/rtl/tpopup.prg * source/rtl/ttopbar.prg * Formatting (EXPORT: -> EXPORTED:) * contrib/hbtip/thtml.prg * contrib/hbtip/ftpcln.prg ! Fixed to work regardless of SET EXACT setting. ; NOTE: I'd suggest an optional compiler warning to detect plain "=" usage. It's bad practice in most cases. 2008-04-20 13:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tobject.prg ! fixed the problem with SET EXACT ON I introduced recently by mistake * harbour/contrib/xhb/txml.prg * harbour/contrib/hbw32/w32_tole.prg * harbour/contrib/hbw32/w32_tprn.prg * replaced some = use for assign or comparison with := or == when it will have the same meaning. Looks like some parts of TIP library will not work with SET EXACT ON and should be updated. 2008-04-18 13:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/wvtcore.c ! fixed missing ; in last modification * when wrong color string is passed from user code then use hb_gtGetCurrColor() 2008-04-18 03:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg ! fixed typo in last minute modification 2008-04-18 02:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tbrowse.prg * new TBrowse code - many thanks to Viktor Szakats for his help and code and to all others who tested this implementation. It should be very close to Clipper except some minor differences. Most of them are bugs not replicated intentionally. In few cases some of them like wrong positioning of logical columns with extended size by oCol:picture expression the original Clipper behavior is covered by HB_C53_STRICT macro (with cell overwriting during navigation but without internal buffer overflows) but it should be used rather for tests only not for normal applications. I left three TODO notes in the code for some less important things which maybe addressed in the future though they should not effect 99.99% of Clipper programs. It's a new code so it's possible that it contains bugs so if you will find any problems then please inform me. Warning: This TBrowse implementation is strongly Clipper oriented. It's neither compatible with previous Harbour nor xHarbour one in intentional or unexpected differences to Clipper. It also does not have any extensions which existed in the old code. In the old code there was TODO note about some xBase++ extensions - I do not have xBase++ so I cannot say anything about it. If any of you things that they are important then I can add them if group agree but I will need detail description of additional methods and probably results of some tests. 2008-04-18 01:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapigt.h * harbour/source/rtl/gtapi.c ! changed USHORT hb_gtColorToN( char * szColorString ) to int hb_gtColorToN( char * szColorString ) - it should be the same type as indexes in hb_gtColorsToString() functions * harbour/source/rtl/hbgtcore.c * return -1 from COLORNUM() method when passed color is not valid color string * harbour/contrib/hbct/screen2.c * harbour/contrib/hbct/color.c * harbour/contrib/hbct/screen1.c * harbour/contrib/hbct/ctwfunc.c * harbour/contrib/hbnf/color2n.c * harbour/contrib/gtwvg/wvtcore.c * updated to respect -1 returned for wrong color strings * harbour/source/rtl/tget.prg * updated to respect -1 returned for wrong color strings Viktor please check me, now it's simpler and hbtest does not reports any errors so I guess that this version will work like in Clipper also for :colorSpec := "R,X,Y,0" or similar * harbour/source/rtl/tobject.prg * harbour/source/debug/dbgbrwsr.prg * formatting 2008-04-18 01:04 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/rto_tb.prg + Added some assigment tests using numerics with decimals. ! Fixed typo in prev commit. 2008-04-18 00:01 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * tests/rto_tb.prg + Added some C5.3 var tests. + Added object as array info. * Suppressed _eInstVar() difference by including a strictly compatible copy of it for Harbour. * Exclude incompatible binary array elements of the object. * tests/rto_get.prg * Exclude incompatible binary array elements of the object. + bin/bld_os2.cmd + Added OS/2 build command file. ; Someone pls test and update the content if needed. 2008-04-17 13:46 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg * Formatting. * source/rtl/net.c ! Casting in DOS branch. 2008-04-17 13:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak * source/rtl/Makefile * source/rtl/defpath.c + source/rtl/defpathu.c * source/rtl/errorapi.c + source/rtl/errorapu.c * source/rtl/shadow.c + source/rtl/shadowu.c * Undocumented compatibility functions moved to separate files. 2008-04-17 03:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * include/hbextern.ch * source/rtl/errorapi.c + Added ERRORINHAN() (and alias ERRORINHANDLER()) CA-Cl*pper compatible, undocumented function, guarded with HB_C52_UNDOC. Same as Harbour __ERRINHANDLER(). * source/rtl/trim.c * source/rtl/strtran.c + Added strict branches for incompatible error messages. % Minor optimization in STRTRAN() parameter checking. * utils/hbtest/rt_str.prg + Reenabled two C53-only test calls. * include/hbdefs.h ! Minor indentation fix. * utils/hbdoc/hbdoc.prg * utils/hbdot/hbdot.prg * utils/hbmake/hbmake.prg * utils/hbpp/hbpp.c * utils/hbtest/hbtest.prg * utils/hbrun/hbrun.prg ! Year updated in copyright banners. 2008-04-16 14:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch ! removed: MESSAGE IS used as synonym of: MESSAGE METHOD If someone was using the removed version then please update the code to MESSAGE ... METHOD ... The removed command has special meaning in Class(y) and it allow to define alternate names for existing messages. I'll add support for them in the future. * harbour/contrib/hbct/ctwin.c * added disabled code which is a workaround for some possible bad side effect caused by online shadow showing by CTWIN. * harbour/source/rtl/errorint.c ! fixed displaying internal error message * harbour/source/common/hbver.c * added "Rev." prefix to shown revision number * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c + added hb_compExprReduceNegate() ! fixed wrong negate optimizations for platforms where HB_LONG_MAX is smaller then -HB_LONG_MIN, f.e. all x86 based CPUs. ! fixed setting the size in optimized negative numbers ! fixed some math optimizations to not use casting to double value when it's not necessary - when double precision is smaller then HB_LONG (f.e. on x86 it's 53 bits and HB_LONG has 64bit) such casting can damage up to 11 less significant bits in big 64 bit numbers. * harbour/source/rtl/hbinet.c * replaced MAKEWORD() macro with HB_MKWORD() to pacify BCC58 warnings * harbour/include/hbdefs.h + added #include It should hide some warnings related to redefined integer size constants Viktor if it will not help for BCC58 warnings then you will have to add #include few lines below but please remember that older BCC version does not have it so check for the exact compiler version. ! changed macros which setting default numeric item size for more strict Clipper compatible mode. I'm not a fun of some Clipper behavior in calculating number size and I left some notes about it in hbdefs.h Anyhow this and some other modifications below should cover the differences you've found recently. Some things are not addressed by me intentionally, f.e. _itemPutNL() in Clipper always set size to 10 without checking the maximum size so it's too small for values less then -999999999. Harbour compiler makes more compile time optimizations then Clipper. The formatting rules used by compiler are a little bit different then by VM so this can be source of some other differences to Clipper. I can easy create some examples. Harbour supports 64bit signed integers and Clipper doesn't. This is yet another situation when we may have different results then Clipper. Most of them can be hidden if we add new PCODE(s) for integer number with explicit size but I do not think it's such important to increase PCODE list. In few cases it will be necessary to disable some optimizations at all and I do not like it. In the future when I will be adding some new optimizations I also add compiler switch to disable/enable optimizations which can have such side effects for people who need strict formatting. * harbour/include/hbvmpub.h * harbour/source/common/hbstr.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/rtl/round.c * updated for more Clipper compatible number formating using new macros 2008-04-15 13:32 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tget.prg + TGet instance variable ordering in class definition made CA-Cl*pper compatible, so that it's now possible to access object vars as array elements the same way. Read-only access is strongly recommended when using this unofficial access method, and the practice is overall discouraged. NOTE: oGet[8] is not supported in Harbour. NOTE: in oGet[11] (in C52 mode), oGet[17] (in C53 mode) only the first char is compatible, which is the type. The rest is 'trash' in CA-Cl*pper. * tests/rto_get.prg + Extended tests with regards to array access of the TGet object. * source/rtl/tbcolumn.prg * Formatting. * source/common/hbstr.c * source/compiler/ppcomp.c * source/compiler/hbgenerr.c * utils/hbpp/hbpp.c ! Fixed some BCC58 warnings. ; TOFIX: These remain: Warning W8017 C:\devl\BCC58\Include\stdint.h 77: Redefinition of 'INT16_MIN' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 78: Redefinition of 'INT32_MIN' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 79: Redefinition of 'INT64_MIN' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 82: Redefinition of 'INT16_MAX' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 83: Redefinition of 'INT32_MAX' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 84: Redefinition of 'INT64_MAX' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 87: Redefinition of 'UINT16_MAX' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 88: Redefinition of 'UINT32_MAX' is not identical Warning W8017 C:\devl\BCC58\Include\stdint.h 89: Redefinition of 'UINT64_MAX' is not identical Warning W8084 source\rtl\hbinet.c 507: Suggest parentheses to clarify precedence in function HB_FUN_HB_INETINIT * utils/hbtest/rt_main.h ! Typo. * utils/hbtest/make_c5x.bat + Cleanups, fixes, enhancements. * Changed invocation for C53. Now "53" (without quotes) should be used as command line parameter. + Now automatically selects linker. ! Fixed MSC parameters for C53. + Copyright added. 2008-04-14 23:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/errorapi.c * allow to pass NULL instead of PHB_ITEM pointer in argument list of RT error functions: hb_errRT_BASE() hb_errRT_BASE_Ext1() hb_errRT_BASE_Subst() hb_errRT_BASE_SubstR() to not force allocating dummy item in upper level code. * harbour/source/rtl/mod.c ! small fix in substitued return value in code like: proc main() set fixed on ? transform(mod( 12345, 0 ),"") return * harbour/utils/hbmake/hbmlang.c * harbour/utils/hbmake/hbmutils.prg * harbour/utils/hbmake/hbmake.prg ! removed gtnul library - it does not longer exists * minor formatting 2008-04-14 01:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * utils/hbtest/rt_main.h * Cleanup. 2008-04-14 01:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/tbcolumn.prg + TBColumn() instance variable ordering in class definition made CA-Cl*pper compatible, so that it's now possible to access object vars as array elements the same way. Read-only access is strongly recommended when using this unofficial access method, and the practice is overall discouraged. 2008-04-13 22:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * utils/hbtest/make_c5x.bat * utils/hbtest/hbtest.prg * utils/hbtest/rt_miscc.c * utils/hbtest/rt_misc.prg - Removed dependency on hbclip. + Added proper C version of hb_SToD() for C5.x builds. (Needs MSC) ! Refixed hb_SToD() results messed up in my previous commit. Sorry for the confusion, Harbour was perfectly 100% compatible, the reference values were wrong in default HBTEST for CA-Cl*pper. + Disabling hb_SToD() tests with invalid input values for CA-Cl*pper in case there was no C compiler available when building HBTEST. This is to avoid any invalid results (due to the .prg version of hb_SToD()) and to avoid confusions such as above. 2008-04-13 21:59 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * source/rtl/mod.c ! Fixed error object to be C5x compatible when wrong or too few parameters were passed to MOD(). Now the previously corrected MOD() regression tests pass. (I misinterpreted the problem in the previous ChangeLog entry.) * utils/hbtest/rt_math.prg + Added two new tests for MOD() 2008-04-13 19:19 UTC+0100 Viktor Szakats (harbour.01 syenar hu) * common.mak + utils/hbtest/rt_main.h + utils/hbtest/rt_miscc.c * utils/hbtest/rt_str.prg * utils/hbtest/Makefile * hbtest/make_c5x.bat * hbtest/make_xpp.bat + Added light framework to implement C level regression tests. + Added regression tests for some incompatible Str() conversions. TOFIX: The problem seems to be in hb_retnl() (and friends, presumably) where in C5x the internal width gets modified to 20 when certain value is reached (+/-1000000000), while in Harbour the length stays 10. I tried to do the same test using Item API, but I got so strange results in Clipper, that I finally dropped it. + Added optional C compilation using MSC for CA-Cl*pper build batch file. + Added better support to compile the test suite under C5.3. Caller will need to use "set HB_COMPAT_C53=1" for this mode. * utils/hbtest/rt_array.prg ! Corrected some (ASize()) expected results when not in 5.3 mode. * utils/hbtest/rt_str.prg + Added comments for some erroneous C5.3 'Str(Val())' results. * utils/hbtest/rt_math.prg ! Corrected expected C5.2/5.3 result for 'MOD()'. * utils/hbtest/rt_misc.prg ! Some results synced with C5.x (where the result could be "explained"), two marked as buggy/questionable. ! Two strange Harbour-synced results swapped for the somewhat more meaningful C5.x ones. + Added some more strange date conversion tests. ; All these could be fixed in Harbour to give the exact same C5.x values even for these strange inputs, but it's by no means a priority. * source/rtl/transfrm.c ! FoxPro/XPP feature guarded with HB_COMPAT_FOXPRO || HB_COMPAT_XPP, meaning that it stays enabled by default because of HB_COMPAT_XPP. * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat ! Fixed the dir precedence when looking for ace32.dll. 2008-04-11 11.45 UTC+0100 Belgrano Massimo (mbelgrano/at/deltain.it) * harbour/contrib/rddado/adordd.prg ! removed old reference aAdoFunc[UR_FOUND]:=(@ADO_FOUND()) 2008-04-10 13:50 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * source/debug/tbrwtext.prg ! fixed small typo that was allowing wordwrapping long source code lines and was messing with the correct display of the current line 2008-04-10 15:39 UTC+0100 Belgrano Massimo (mbelgrano/at/deltain.it) * harbour/contrib/rddado/adordd.prg * Instead of overloading FOUND method in ADO RDD it will be more efficient to use standard implementation written in C by Przemyslaw suggestion 2008-04-09 20:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog * harbour/harbour.spec * reverted translation to UTF8 - Tomaz please check your editor settings and disable automatic translation to UTF8. It's not the first as such situation happens. * harbour/include/hbclass.ch + added two missing PP directives ! protected against some repeated external definitions * harbour/source/pp/Makefile * harbour/source/pp/hbppgen.c * harbour/source/pp/ppcore.c * harbour/source/common/hbver.c * harbour/source/common/hbverdsp.c * harbour/source/main/harbour.c * harbour/source/vm/cmdarg.c * harbour/utils/hbpp/hbpp.c * harbour/include/hbpp.h * harbour/include/hbcomp.h * harbour/include/hbver.h * harbour/include/hbapi.h * harbour/make_vcce.mak * harbour/make_b32.mak * harbour/make_vc.mak * harbour/make_gcc.mak + added support for dynamically set during compilation ChangeLog entry ChangeLog ID and SVN revision and compilation flags Now hbppgen creates in include directory hbverbld.h file with information extracted from ChangeLog. New hbppgen parameters: Syntax: ./hbppgen [.prg] [options] Options: -i add #include file search path -c[] look for ChangeLog file -o creates .c file with PP rules -v creates .h file with version information -w write preprocessed (.ppo) input file -q disable information messages + added new C functions: int hb_verSvnID( void ) - retrieves ChangeLog SVN revision number const char * hb_verSvnChangeLogID( void ) - retrieves a static buffer containing ChangeLog ID string const char * hb_verSvnLastEntry( void ) - retrieves a static buffer containing ChangeLog last entry string const char * hb_verFlagsC( void ) - retrieves a static buffer containing build time C compiler flags in C_USR envvar const char * hb_verFlagsL( void ) - retrieves a static buffer containing build time linker flags in L_USR envvar const char * hb_verFlagsPRG( void ) - retrieves a static buffer containing build time Harbour compiler flags in PRG_USR envvar + added new default PP defines which can be used in .prg code compiled by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID * harbour/source/rtl/gtxwc/gtxwc.c * formatting * harbour/source/rtl/gttrm/gttrm.c ! fixed redrawing GPM mouse pointer after screen updating * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * updated for compilation even if some POSIX macros are not supported f.e. problems with some DJGPP versions reported recently * harbour/source/debug/dbgentry.c * harbour/source/debug/dbgtobj.prg * harbour/source/debug/dbgbrwsr.prg * harbour/source/debug/dbgthsh.prg * harbour/source/debug/tbrwtext.prg * harbour/source/debug/dbgwa.prg * harbour/source/debug/debugger.prg * harbour/source/debug/dbghelp.prg * harbour/source/debug/dbgtarr.prg ! Fixed object inspector in the debugger. ! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger. ! Added an minimalistic TBrowse implementation that is just enough for internal use by the debugger. Fixes miscellaneous problems e.g. when debugging a piece of code with RELATIONs turned on. Fixes by Phil Krylov borrowed from xHarbour. 2008-04-09 UTC+0100 Belgrano Massimo (mbelgrano/at/deltain.it) * harbour/contrib/rddado/adordd.prg * harbour/contrib/rddado/tests/access2.prg * Support For Found() working after a LOCATE command by Antonio Linares 2008-03-26 16:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtos2/gtos2.c * small changes, removed some un-needed code - by Maurilio Longo in xHarbour ! use screen buffer in BYTEs instead of USHORTs to avoid possible problems on big endian machines. I do not know if such OS2 ports exist but this code should be also endian independent like rest of Harbour code * harbour/source/rtl/hbgtcore.c ! Fixed screen buffer corruption on little-endian platforms in hb_gt_def_ColdArea() - fixed by Phil Krylov in xHarbour - many thanks 2008-03-25 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/lang/Makefile + harbour/source/lang/msgskiso.c + harbour/source/lang/msgskwin.c + harbour/source/lang/msgskkam.c + harbour/source/lang/msgsk852.c + added Slovak national messages by Gyula Bartal - many thanks * harbour/include/hbapi.h * harbour/source/vm/arrays.c ! Guarded hb_arraySetNLL() declaration with #ifndef HB_LONG_LONG_OFF. ! Fixed trace in hb_arraySetNInt(). By Phil Krylov borrowed from xHarbour * harbour/include/hbgtcore.h ! added missing HB_EXTERN_BEGIN / HB_EXTERN_END By Ron Pinkas borrowed from xHarbour * harbour/source/rtl/gtos2/gtos2.c % updated for much faster screen updating in OS2 console - many thanks for Maurilio Longo for tests and code. * harbour/source/rtl/cdpapi.c ! fixed CP string translation for CPs with accented equal characters + added HB_UTF8CHR( ) -> It's compatible with the function HB_UTF8CHR() by Phil Krylov in xHarbour * harbour/source/rtl/gtsln/gtsln.h * removed repeated #include * harbour/contrib/hbct/files.c ! fixed FILESEEK() called with 3-rd parameter set to .T. (exact attribute match) * harbour/config/os2/global.cf ! added fixes by David Arturo Macias Corona + harbour/make_os2_gcc.cmd + added build file for GCC OS2 users with minimal environment settings 2008-03-15 16:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbzlib/zip.c ! fixed to not ignore errors in zipFlushWriteBuffer() * harbour/contrib/hbzlib/tests/myzip.prg * harbour/contrib/hbzlib/tests/myunzip.prg ! removed procedure return values 2008-03-15 15:15 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/contrib/hbzlib/zip.c ! fixed compression bug 2008-03-13 11:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbsql.c ! fixed typo in last commit which causes GPF when FOR condition was used without WHILE - thanks to Lorenzo 2008-03-12 17:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/common/hbver.c * harbour/source/rtl/gttone.c * added hb_iswince() and fixed TONE() for WinCE * harbour/source/rtl/math.c ! added workaround for SIGFPE platforms which generate it instead of setting errno during execution of math functions * harbour/source/rtl/gtcrs/hb-charmap.def ! remap 0x9b (155) to '.' in Linux terminals - it's control code * harbour/source/rdd/dbsql.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbf1.c ! always restore current workarea in WA EVAL() method ! always use EVAL() method for user codeblocks and macros * harbour/source/rdd/dbcmd.c ! fixed DBRELATION() called without numeric parameters or with 0 to return first relation expression (Clipper compatible) * harbour/contrib/hbtip/thtml.prg ! fixed wrongly ported to Harbour xHarbour specific code * harbour/source/common/hbstr.c + added missing const in one declaration * formatting * harbour/source/rtl/transfrm.c ! fixed casting for C++ compilers * harbour/source/rtl/errorapi.c * harbour/source/rdd/dbfntx/dbfntx1.c ! cleanup warnings * harbour/source/common/hbtrace.c * harbour/source/rdd/dbcmdx.c * harbour/source/rdd/wafunc.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/hbsix/sxcrypt.c * formatting 2008-03-11 14:04 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbtest/rt_trans.prg * cleaned TRANSFORM() tests * harbour/contrib/rddads/ads1.c ! fixed binary number formatting 2008-03-10 09:53 UTC+0100 Belgrano Massimo (mbelgrano/at/deltain.it) * harbour/utils/hbtest/rt_trans.prg ! added news regression test Corretted error Formatted source 2008-03-10 13:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapifs.h ! default usage of BSD locks in *BSD systems for emulating DOS/Windows DENY_* flags has been disabled because tests on FreeBSD 6.2 and MacOSX shows that this implementation can create self deadlock when used simultaneously with POSIX locks - thanks to Phil and Lorenzo for locating the problem and tests. 2008-03-09 18:30 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * config/darwin/install.cf * added missed semicolon * contrib/hbtip/utils.c * added translation for CR and LF 2008-03-09 16:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtclip.c ! fixed two very bad bugs in get clipboard action used for W32 and GTs which do not support system clipboard data 2008-03-07 19:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/ctrand.prg ! fixed random() parameter interpretation - the action was reverted 2008-03-05 19:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbtest/rt_trans.prg * minor comment cleanup 2008-03-05 19:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/screen2.c ! fixed possible vary bad bug (memory buffer overflow) in SCREENSTR() * harbour/source/rtl/hbffind.c ! fixed possible GPF in some *nixes * harbour/source/vm/classes.c ! do not execute the same destructor inherited from different parent classes more then once * harbour/source/rtl/transfrm.c ! fixed bug with '9' used as stop condition of function pattern this character cannot be stripped, f.e.: ? transform( "abc", "@_99*" ) ! fixed bug with '*' or '$' used with @), f.e.: ? transform( -12345, "@) $999999" ) ! fixed replacing '.' with ',' when @E is used without picture part, f.e.: ? transform( 123.45, "@E" ) ! fixed ',' conversions ? transform( 12.34,"@E ab,cd.ef9,9.99,.--" ) ! fixed bug with picture starting with ".", f.e.: ? transform( 0.3456, ".999" ) ! fixed "@(" and "@)" conversions, f.e.: ? transform( -12345, "@) 1999*999" ) ! fixed late oveflow detection in "@(" and "@)", f.e.: ? transtest( -12345, "@( 6798^999" ) ! fixed "@E" conversion for dates to keep user delimiters set in _SET_DATEFORMAT, f.e.: set( _SET_DATEFORMAT, "mm:dd:yyyy" ); ? transform( date(), "@E" ) set( _SET_DATEFORMAT, "yyyydd" ); ? transform( date(), "@E" ) Please note that Harbour is not strictly Clipper compatible here because it respects _SET_DATEFORMAT set by user. ! fixed 64bit integer conversion by eliminating conversion to 'double' f.e.: ? transform( 1234567890123456789, "99999999999999999999" ) ? transform( -1234567890123456789, "99999999999999999999" ) ! some other fixes, see regression test transtst.prg % speed improvement in numeric conversions + harbour/tests/transtst.prg + added regression test for transform function * harbour/utils/hbtest/rt_trans.prg * disabled transform() tests for "@E" and result smaller then 5 bytes CA-Cl*pper do not check result size and always exchanges bytes 1-2 with bytes 4-5 for @E conversion. It's buffer overflow bug and I do not want to replicate it inside our transform implementation. It also causes that the results for for strings smaller then 5 bytes behaves randomly. In fact precise tests can show that it's not random behavior but CA-Cl*pper uses static buffer for result and when current one is smaller then 5 bytes then first two bytes are replaced with 4-5 bytes from previous result which was length enough, f.e.: ? transform( "0123456789", "" ) ? transform( "AB", "@E" ) ? transform( "ab", "@E" ) Replicating exact CA-Cl*pper behavior it's trivial (it will be enough to use static buffer two and not check the size of current result) but IMHO it's bug. * harbour/source/rtl/round.c * added strictly Clipper compatible code covered by HB_C52_STRICT and comment about possible difference in Harbour. * harbour/include/hbgtinfo.ch * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtwvt/gtwvt.c + added HB_GTI_ISUNICODE - it returns logical value with information about Unicode mode in active GT driver - it's necessary for proper CP initialization in some GTDs which can work in both mode depending on client side settings * harbour/source/rtl/gttrm/gttrm.c * improved UTF-8 detection * added automatic PuTTY detection * improved PuTTY and some xterm key handling * added some missing RXVT keys 2008-02-25 00:08 UTC-0600 Teo Fonrouge (teo/at/windtelsoft/dot/com) * make_vc.mak ! Fixed small typo 2008-02-22 22:28 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.mak * Synchronized with make_vc.mak regarding HB_BUILD_ST and HB_BUILD_MODE environment usage. There is still a difference between make_b32.mak and make_vc.mak, because under BCC - ST mode is default, while under MSVC - MT mode is default. To use MT mode under BCC one needs to set HB_BUILD_ST to something different than a word "yes". For example: set HB_BUILD_ST=no. The difference comes from the fact that so far BCC build has always been done in ST mode. It will be changed after a 1.0 release. Please note that harbour.dll is *always* built in MT mode under BCC and MSVC. * harbour/make_vc.mak ! Forced MT mode for harbour.dll * Minor formating * harbour/contrib/mtpl_vc.mak ! Fixed compilation using ST mode * harbour/contrib/mtpl_b32.mak ! Fixed compilation of CPP files + Added ST/MT handling logic * harbour/contrib/hbziparch/make_b32.bat ! Fixed compilation on some BCC instalations 2008-02-22 03:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * added -xhgtk switch for linking with xHGtk library * harbour/source/pp/hbppgen.c * harbour/utils/hbpp/hbpp.c ! added missing #include "hbset.h" 2008-02-22 00:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c ! fixed unicode values for control codes in default CP437 unicode table * harbour/source/rtl/gtchrmap.c ! added missing default translation of chr(155) - it's control code on most of terminals and should not be shown in non UFT-8 mode * harbour/source/rtl/gttrm/gttrm.c ! do not use alternate character set for box drawing in UTF-8 mode New Linux consoles disable UTF-8 mode when alternate character set is enabled * harbour/contrib/hbct/ctwin.c * harbour/contrib/hbct/ctwin.h * harbour/contrib/hbct/ctwfunc.c * overload ReadKey() method for future window moving when scroll lock is set and for KEYREAD() implementation. * store real last key value in CTWIN GT. 2008-02-21 22:17 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_vc.mak + Added a possiblity to compile harbour in ST or MT mode by using an environment variable called HB_BUILD_ST. Setting HB_BUILD_ST to yes, causes Harbour+RTL+VM to be built in ST mode. Otherwise MT mode is used. 2008-02-20 00:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbpp/hbpp.c ! added hb_setGetDirSeparator() 2008-02-20 00:11 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/hbppgen.c ! added hb_setGetDirSeparator() * harbour/source/common/hbfsapi.c ! fixed wrong index in path updating 2008-02-19 23:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/main/harbour.c * harbour/source/common/hbfsapi.c ! fixed hb_fsFNameSplit()/hb_fsFNameMerge() to respect path delimiter set by user * harbour/contrib/hbct/ctwfunc.c ! fixed WFORMAT() called without parameters - it should reset all existing margins ! fixed WSETSHADOW() to accept color also as character parameter 2008-02-18 12:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed very bad typo in my last commit - thanks to Jorge and Enrico for confirmation 2008-02-16 11:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdate.h ! fixed limitation which forced to use hbdate.h after hbapi.h or hbdefs.h 2008-02-15 10:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbnf/Makefile * contrib/hbnf/common.mak - contrib/hbnf/descend.c + contrib/hbnf/descendn.c - contrib/hbnf/menuto.prg + contrib/hbnf/menutonf.prg ! Renamed some files in libnf to not collide with core source names. (Thanks Marek) 2008-02-15 09:47 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/hbfimage/make_gcc.sh ! Fixed CFLAGS settings from a proper FREEIMAGE_INC envvar * harbour/contrib/hbziparch/make_vc.bat ! Disabled warnings about functions considered "depreciated" by MS * harbour/contrib/mtpl_gcc.mak * harbour/contrib/mtpl_gcc.sh ! Fixed HB_ARCHITECTIRE, CC and LD envvar settings * harbour/contrib/mtpl_vc.mak ! Forced CPP mode compilation for a ".cpp.obj" rule 2008-02-13 20:13 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/mtpl_vc.mak ! Enable compilation in C++ mode using HB_BUILD_MODE envvar 2008-02-13 14:36 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfcdx/dbfcdx1.c * pacify compiler warning 2008-02-13 14:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbwhat32/whatutil.prg * contrib/hbwhat32/winrbar.prg * contrib/hbwhat32/winerror.prg * contrib/hbwhat32/wintabs.prg * contrib/hbwhat32/windebug.prg * contrib/hbwhat32/wintbar.prg * contrib/hbwhat32/wincore.prg ! Fixed warnings. 2008-02-13 14:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/direct.c * fixed Clipper compatibility when last character of given path is directory delimiter or drive delimiter * harbour/source/rdd/dbf1.c * added RT error when corrupted memo block address is detected in DBF file. 2008-02-12 08:04 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/hbwhat32/make_gcc.sh ! Fixed compilation under MingW and Cygwin * harbour/contrib/make_b32_all.bat * harbour/contrib/make_vc_all.bat + Added hbwhat32 to a list of compiled contribs * harbour/contrib/make_gcc_all.sh - Removed hbzlib from a list of mandatory compiled contribs. It still can be compiled conditionaly. 2008-02-11 16:23 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/xhb/wintypes.ch ! added missing => in #ytranslate command - thanks to Alex * harbour/contrib/hbw32/w32_tole.prg * fixed typo in one comment * harbour/contrib/hbw32/w32_ole.c ! added cleanup code for s_pOleAuto - memory leak fix 2008-02-10 04:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * source/lang/Makefile + source/lang/msgbgmik.c + source/lang/msgbe866.c + source/lang/msgbewin.c + source/lang/msghr437.c + source/lang/msghrwin.c + source/lang/msgua866.c + source/lang/msguakoi.c + source/lang/msguawin.c + Added some msg files from xhb. Some problems corrected. (Belarussian ISO code, long filename and internal ID for HR1250) 2008-02-09 22:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/make_rpm.sh * harbour/make_rpmce.sh * harbour/make_rpmw32.sh * updated for recent changes in library names * added '--with zlib' build switch * changed '--without odbc' to '--with odbc' * changed '--with adsrdd' to '--with ads' * harbour/debian/control * updated note about supported platforms 2008-02-09 12:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/w32/global.cf * removed ' quoting from commands - *sh shells removed them but without such shell they are passed to windows command interpreter and not all version removed them 2008-02-09 10:06 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/hbtpathy/tplinux.c * harbour/contrib/hbtpathy/tpos2.c * harbour/contrib/hbtpathy/tpwin32.c * Fixed guarding file content with proper OS constant (HB_OS_UNIX, HB_OS_WIN_32, HB_OS_OS2) 2008-02-08 19:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbfimage/make_gcc.sh * contrib/rddads/make_gcc.sh ! Two minor corrections to *_INC path setting examples for Windows. 2008-02-08 16:51 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) + harbour/contrib/gtwvg/make_gcc.sh + harbour/contrib/hbapollo/make_gcc.sh + harbour/contrib/hbclipsm/make_gcc.sh + harbour/contrib/hbct/make_gcc.sh + harbour/contrib/hbfbird/make_gcc.sh + harbour/contrib/hbfimage/make_gcc.sh + harbour/contrib/hbgd/make_gcc.sh + harbour/contrib/hbgt/make_gcc.sh + harbour/contrib/hbmisc/make_gcc.sh + harbour/contrib/hbmsql/make_gcc.sh + harbour/contrib/hbmysql/make_gcc.sh + harbour/contrib/hbnf/make_gcc.sh + harbour/contrib/hbodbc/make_gcc.sh + harbour/contrib/hbole/make_gcc.sh + harbour/contrib/hbpgsql/make_gcc.sh + harbour/contrib/hbtip/make_gcc.sh + harbour/contrib/hbtpathy/make_gcc.sh + harbour/contrib/hbw32/make_gcc.sh + harbour/contrib/hbw32ddr/make_gcc.sh + harbour/contrib/hbwhat32/make_gcc.sh + harbour/contrib/hbziparch/make_gcc.sh + harbour/contrib/hbzlib/make_gcc.sh + harbour/contrib/rddads/make_gcc.sh + harbour/contrib/xhb/make_gcc.sh + Added missing files to allow compilation using non standard build system. Please note that some contribs require external packages, so to succesfuully compile them you will have to set a proper environment variable, pointing to a list of directories, containig required package header files. Those envvars are listed below : APOLLO_INC FIREBIRD_INC FREEIMAGE_INC GD_INC MYSQL_INC PGSQL_INC ZLIB_INC ADS_INC Note that those envvars may contain list of directories, for example : export ADS_INC="/usr/include include ." Also note that on Windows systems, using MingW or Cygwin, you will have to generate a proper import files from dlls, available in those packages - using MingW or Cygwin dlltool - to build end user programs, utilizing those packages. * harbour/contrib/mtpl_gcc.mak * harbour/contrib/mtpl_gcc.sh * harbour/contrib/make_gcc_all.sh + Added the rest of contrib libs to compile * harbour/contrib/hbtpathy/tplinux.c * harbour/contrib/hbtpathy/tpos2.c * harbour/contrib/hbtpathy/tpwin32.c + Added an operating system guard around the content of thses files to allow including all three files in a library. 2008-02-08 15:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbmacro.h * harbour/include/hbexprb.c * harbour/source/vm/macro.c * harbour/source/compiler/hbmain.c ! fixed name conflict in privates/publics declaration. Harbour allows to declare memvars with the same name as file wide statics or fields but this extensions was not working well in some cases and can cause unexpected results in variable declaration, f.e. try this code: static v:="static" proc main() public v:="public" ? v, M->v return compiled with -n -w switches and also with -n -w -a before this fix. ! fixed some compile time warnings in memvars declaration to be more Clipper compatible ! fixed compiling external modules (DO [WITH ]) when function is already declared but with different letter case. Harbour does not convert in DO statement to upper case to play well with case sensitive file systems and it could cause confusing warning message: Cannot open .prg, assumed external * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc ! added protection against bug in bison destructors which might cause multiple free the same memory block on syntax error due to * harbour/source/rdd/dbf1.c ! added missing binary flag for daytime fields * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed possible memory leak during accessing corrupted NTX files ! fixed possible GPF during accessing corrupted NTX files * harbour/source/compiler/genc.c * minor cleanup * harbour/config/os2/global.cf ! use FOR command to delete group of files 2008-02-07 20:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/lib.cf * moved some definitions for easier detecting library build mode * harbour/config/os2/dir.cf * harbour/config/os2/global.cf * some modifications which should help for old GNU make OS2 ports and maybe also current ones 2008-02-07 11:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/os2/gcc.cf * use OS2_LIB_ARCH as library name to avoid problems with DEL * harbour/config/os2/global.cf * use double backslash characters - hack to test if it's sufficient workaround for problems mkdir on OS2 2008-02-06 11:08 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_gcc.mak * harbour/make_gcc.sh ! Some fixes for OS/2+eComStation. Still not all is working ok (dlls) 2008-02-05 10:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/os2/global.cf ! fixed typo in FOR command 2008-02-04 22:57 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_gcc.mak ! Fixed compilation under DJGPP * contrib/mtpl_gcc.mak ! Fixed compilation under GNU make 2008-02-04 15:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/os2/global.cf * added workaround for non working 'if' function in OS2 GNU make port 2008-02-04 16:40 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/vm/fm.c ! fixed hex dump of fm.log. The previous "hex" dump contained characters: ( ) . , + - / * 2008-02-04 09:31 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/harbour-ce-spec * harbour/harbour-w32-spec * updated for new library names * harbour/ChangeLog * harbour/include/hbexprb.c * formatting * harbour/source/rtl/net.c ! fixed casting * harbour/harbour.spec * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/contrib/Makefile * removed hbzlib - it cannot be longer part of default build because Viktor removed zlib header files. Viktor sorry but IMHO you should revert it and also restore ace.h - it creates serious problems without any valuable addition. Now we will have to rebuild Harbour on many different platforms and often it will not be possible to install some libraries. We cannot force installing additional libs by people who will create binaries for incoming releases so it's important to revert it. Please do it. * harbour/config/bsd/install.cf * harbour/config/darwin/install.cf * harbour/config/hpux/install.cf * harbour/config/linux/install.cf * harbour/config/sunos/install.cf * harbour/config/dos/install.cf * harbour/config/os2/install.cf * harbour/config/w32/install.cf * redirected echo error messages to stderr when *sh shell is used * harbour/config/lib.cf * harbour/config/bin.cf * harbour/config/global.cf * harbour/config/hpux/gcc.cf * harbour/config/hpux/global.cf * harbour/config/darwin/gcc.cf * harbour/config/darwin/global.cf * harbour/config/dos/owatcom.cf * harbour/config/dos/global.cf * harbour/config/dos/rsx32.cf * harbour/config/global.cf * harbour/config/linux/owatcom.cf * harbour/config/linux/global.cf * harbour/config/os2/gcc.cf * harbour/config/os2/global.cf * harbour/config/sunos/gcc.cf * harbour/config/sunos/global.cf * harbour/config/bsd/global.cf * harbour/config/w32/owatcom.cf * harbour/config/w32/bcc32.cf * harbour/config/w32/gcc.cf * harbour/config/w32/rsxnt.cf * harbour/config/w32/global.cf ! fixed build process. DOS and WINDOWS users should make tests for different compilers. I tested only DOS-OpenWatcom, DOS-DJGPP, W32-BCC32, W32-OpenWatcom, W32-POCC, W32-XCC and corss builds W32-MinGW, W32-MinGW-CE. OS2 version not testes at all - I hope it will work. LINUX-GCC, LINUX-G++, LINUX-OpenWatcom, BSD-GCC, HPUX-GCC tested and they are working. I hope that SunOS version also works though I do not have any solaris installation where I can make real tests. 2008-02-02 23:40 UTC+0100 Ryszard Glab (harbour//rglab.pl) * config/os2/global.cf * restored double backslash in deletion command 2008-02-02 15:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/examples/rdddbt - contrib/examples/dbfdbt * Renamed after move. 2008-02-02 15:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/examples/dbfdbt + contrib/examples/dbfdbt/dbfdbt1.c + contrib/examples/dbfdbt/Makefile - source/rdd/dbfdbt * Moved no longer used (superceded) core RDD code to /contrib/examples/ 2008-02-02 02:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbapicdp.h * common.mak * source/codepage/Makefile + source/codepage/uc1252.c + source/codepage/cpdewin.c + source/codepage/cpruiso.c + Added RUISO (Russian ISO-8859-5) and DEWIN (German CP1252, actually identical to DEISO) codepages and a CP1252<->Unicode table. Borrowed from Phil Krylov (xhb). 2008-02-01 17:35 UTC+0100 Ryszard Glab (harbour/at/rglab.pl) * config/lib.cf * fixed to correctly list the source of installed library 2008-02-01 12:25 UTC+0100 Ryszard Glab * config/os2/global.cf * fixed to delete single library during 'clean' when command shell is used 2008-02-01 08:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbw32ddr/w32_ddrw.cpp ! Fixed compile error under MSVC. ! Fixed MSVC warning (strdup() -> hb_strdup()) Now compiles without warnings under MSVC. ! Reindented, some formatting. 2008-02-01 02:35 UTC+0100 Ryszard Glab * config/lib.cf * added vpath to search target libraries in lib// * config/darwin/global.cf * config/hpux/global.cf * config/dos/global.cf * config/linux/global.cf * config/os2/global.cf * config/sunos/global.cf * config/bsd/global.cf * config/w32/global.cf * fixed to remove a single library during 'clean' 2008-01-31 23:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/gtwvg/tests/demowvg.prg ! SVN header added. * source/rtl/dircmd.prg ! Minor typos in comments. * source/rtl/net.c % Minor opt. 2008-01-31 22:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/examples/guestbk/bld_b32.bat * contrib/examples/pe/bld_b32.bat * contrib/examples/dbu/bld_b32.bat * contrib/examples/hscript/bld_b32.bat ! Lib name changes. 2008-01-31 19:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/net.c ! Typo fixed. 2008-01-31 19:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_gcc_all.sh ! Added SVN header. * contrib/hbgf/win32/common.mak ! Same change done as on the other 'common.mak's in contrib. 2008-01-31 18:47 UTC+0100 Ryszard Glab * config/hpux/gcc.cf * config/darwin/gcc.cf * config/dos/owatcom.cf * config/dos/watcom.cf * config/dos/bcc16.cf * config/dos/rsx32.cf * config/dos/djgpp.cf * config/linux/owatcom.cf * config/linux/gcc.cf * config/os2/gcc.cf * config/os2/icc.cf * config/sunos/gcc.cf * config/bsd/gcc.cf * config/w32/msvc.cf * config/w32/owatcom.cf * config/w32/watcom.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/xcc.cf * config/w32/rsxnt.cf * config/w32/cemgw.cf * config/w32/pocc.cf * config/w32/mingw32.cf * fixed to link contrib libraries (all contrib libraries are placed in lib// directory) NOTE: OS/2 users: the names of libraries have 'hbgf' prefix 2008-01-31 18:41 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) + contrib/mtpl_gcc.mak + Readded to SVN yet another time 2008-01-31 18:29 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * contrib/gtwvg/common.mak * contrib/hbapollo/common.mak * contrib/hbbmcdx/common.mak * contrib/hbbtree/common.mak * contrib/hbclipsm/common.mak * contrib/hbct/common.mak * contrib/hbfbird/common.mak * contrib/hbfimage/common.mak * contrib/hbgd/common.mak * contrib/hbgt/common.mak * contrib/hbmisc/common.mak * contrib/hbmsql/common.mak * contrib/hbmysql/common.mak * contrib/hbnf/common.mak * contrib/hbodbc/common.mak * contrib/hbole/common.mak * contrib/hbpgsql/common.mak * contrib/hbtip/common.mak * contrib/hbtpathy/common.mak * contrib/hbw32/common.mak * contrib/hbw32ddr/common.mak * contrib/hbwhat32/common.mak * contrib/hbziparch/common.mak * contrib/hbzlib/common.mak * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak * contrib/rddado/common.mak * contrib/rddads/common.mak * contrib/xhb/common.mak * contrib/mtpl_gcc.mak ! Fixed possible error in Bcc build, related to recent changes + contrib/hbbmcdx/make_gcc.sh + contrib/hbbtree/make_gcc.sh + contrib/rddado/make_gcc.sh + contrib/make_gcc_all.sh + contrib/mtpl_gcc.sh + Readded, due to my wrong last commit, when these files were not added at all 2008-01-31 18:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * harbour-ce-spec * harbour-w32-spec * harbour.spec * make_tgz.sh * utils/hbpptest/Makefile + utils/hbpptest/hbpptest.prg - utils/hbpptest/pretest.prg ! Fixed hbpptest to have this name (instead of 'pretest') even when built with the GNU make system. 2008-01-31 17:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * bin/hb-func.sh + Updated for lib name change. Please test & review. * source/rtl/net.c * include/hbapi.h + Added hb_netname() and hb_username() low level versions of NETNAME() and hb_USERNAME(). 2008-01-31 17:40 UTC+0100 Ryszard Glab * config/w32/mingw32.cf * fixed library name mainstd -> hbmainstd 2008-01-31 16:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbextern.ch * source/rtl/net.c * contrib/xhb/hbcompat.ch ! Removed non-compatible xhb extension from NetName(). + hb_UserName() function added with the above functionality. ! Slight correction to the Win32 branch of hb_UserName(). + Added compatibility translations to NetName(1) for xhb lib users (enough to #include "hbcompat.ch"). 2008-01-31 14:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbbtree/hb_btree.c ! Removed HB_ERR_SS_TOOLS reference. 2008-01-31 13:00 UTC+0100 Ryszard Glab * source/rdd/Makefile * config/global.cf * added HB_LIB_DIRS with a list of valid RDD subdirectories (HB_LIB_DRIVERS stores the list of valid RDD libraries) 2008-01-31 12:40 UTC+0100 Ryszard Glab * doc/howtosvn.txt * svn update does not report locally modified files - it is required to run 'svn status' to list all changed files * config/lib.cf * config/bin.cf * config/darwin/gcc.cf * config/darwin/global.cf * config/hpux/gcc.cf * config/hpux/global.cf * config/dos/owatcom.cf * config/dos/watcom.cf * config/dos/bcc16.cf * config/dos/global.cf * config/dos/rsx32.cf * config/dos/djgpp.cf * config/global.cf * config/linux/owatcom.cf * config/linux/gcc.cf * config/linux/global.cf * config/os2/gcc.cf * config/os2/icc.cf * config/os2/global.cf * config/sunos/gcc.cf * config/sunos/global.cf * config/bsd/gcc.cf * config/bsd/global.cf * config/w32/msvc.cf * config/w32/owatcom.cf * config/w32/watcom.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/xcc.cf * config/w32/rsxnt.cf * config/w32/global.cf * config/w32/cemgw.cf * config/w32/pocc.cf * config/w32/mingw32.cf * updated to create libraries in harbour/lib// subdirectories NOTE: only 'linux/gcc' modifications were tested -please report any problems (mostly slash or backslash issues probably) 2008-01-30 21:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * contrib/gtwvg/common.mak * contrib/hbapollo/common.mak * contrib/hbbmcdx/common.mak * contrib/hbbtree/common.mak * contrib/hbclipsm/common.mak * contrib/hbct/common.mak * contrib/hbfbird/common.mak * contrib/hbfimage/common.mak * contrib/hbgd/common.mak * contrib/hbgt/common.mak * contrib/hbmisc/common.mak * contrib/hbmsql/common.mak * contrib/hbmysql/common.mak * contrib/hbnf/common.mak * contrib/hbodbc/common.mak * contrib/hbole/common.mak * contrib/hbpgsql/common.mak * contrib/hbtip/common.mak * contrib/hbtpathy/common.mak * contrib/hbw32/common.mak * contrib/hbw32ddr/common.mak * contrib/hbwhat32/common.mak * contrib/hbziparch/common.mak * contrib/hbzlib/common.mak * contrib/rddado/common.mak * contrib/rddads/common.mak * contrib/xhb/common.mak ! Changed to be compatible with GNU make for alternative building system centered around common.mak. + contrib/make_gcc_all.sh + contrib/mtpl_gcc.mak + contrib/mtpl_gcc.sh + New files for building contrib libs with GNU make using alternative building system centered around common.mak. + contrib/hbbmcdx/make_gcc.sh + contrib/hbbtree/make_gcc.sh + contrib/rddado/make_gcc.sh + New files for building contrib libs with GNU make using alternative building system centered around common.mak. Work in progress. * contrib/make_b32_all.bat * contrib/make_vc_all.bat + Added Copyright notes. * contrib/mtpl_b32.bat * contrib/mtpl_b32.mak * contrib/mtpl_vc.bat * contrib/mtpl_vc.mak ! Minor cleanup and formatting. * make_gcc.mak * make_gcc.sh ! Minor fix related to Cygwin platform 2008-01-29 01:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * ChangeLog ! Typos. * utils/hbpp/hbpplib.c ! Replaced RTE code 1001 with 1002. (almost the same error condition, but better have it different to avoid any support confusions). 2008-01-28 12:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbapierr.h * source/rtl/errorapi.c ! Removed HB_ERR_SS_TOOLS non-core #define (formerly used by /contrib/hbct) from core header. ! Removed non-core related Error API call hb_errRT_TOOLS() (functionality was similar to hb_errRT_BASE()) * contrib/hbct/ctnet.c ! Fixed RTE calls to use unique IDs instead of 9999. Subcode changed to 0 from 999. * utils/hbpp/hbpplib.c ! Replaced RTE code 9999 with 1001. 2008-01-28 09:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rdd/dbfntx/Makefile * source/rdd/dbfdbt/Makefile * source/rdd/dbfcdx/Makefile * source/rdd/dbffpt/Makefile ! Missing LIBNAME change now done. * ChangeLog ! Missing dbfdbt -> rdddbt name change added to prev entry. 2008-01-27 17:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbmysql/make_b32.bat * contrib/hbmysql/make_vc.bat * contrib/hbodbc/make_b32.bat * contrib/hbodbc/make_vc.bat * contrib/hbfbird/make_b32.bat * contrib/hbfbird/make_vc.bat * contrib/hbapollo/make_b32.bat * contrib/hbapollo/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/hbpgsql/make_b32.bat * contrib/hbpgsql/make_vc.bat * contrib/rddads/make_b32.bat * contrib/rddads/make_vc.bat * contrib/hbfimage/make_b32.bat * contrib/hbfimage/make_vc.bat * contrib/hbgd/make_b32.bat * contrib/hbgd/make_vc.bat ! Minor formatting. * contrib/hbzlib/make_b32.bat ! -a added to implib until a better fix is found for the problem. * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c ! Changed previously used internal error code ranges to better fit in already used ones. (70??/71?? -> 93??) * contrib/hbbmcdx/bmdbfcdx1.c ! 9999 internal error codes synced with CDX RDD. 2008-01-27 15:26 UTC+0200 Chen Kedem * source/rtl/objfunc.prg ! Change hb_ISPOINTER() -> hb_ISSYMBOL() 2008-01-27 12:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/objfunc.prg ! Fixed ISNUMBER() -> hb_ISPOINTER() for pointers. Thanks to Chen Kedem. * utils/hbtest/rt_stra.prg * utils/hbtest/rt_array.prg ! Fixed expected results to use the recently introduced new error codes. Thanks to Chen Kedem. 2008-01-26 22:42 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * make_gcc.mak + Added an extra compilation phase for building shared VM+RTL library (if needed) ! Some minor fixes and cleanup 2008-01-26 17:00 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * source/rtl/gtxwc/gtxwc.h added missed K_SH_keys 2008-01-26 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/pp/Makefile ! Missed modification made after lib name change. 2008-01-26 10:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/rddads/adsfunc.c ! Warning fixed in ADSGetServerName(). * contrib/hbtip/sessid.prg ! SVN header added. * contrib/hbtip/common.mak + New file added. * contrib/hbtip/Makefile * Formatting. * source/rtl/gtxwc/gtxwc.c ! Formatting. 2008-01-26 10:10 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * contrib/hbtip/utils.c added .ico support to TIP_MIMETYPE * contrib/hbtip/cgi.prg + contrib/hbtip/sessid.prg moved statis funcs GenerateSID, CheckSID, DateToGmt from cgi.prg to new sessid.prg and renamed to TIP_* * contrib/hbtip/httpcln.prg fixed few typos that generated RT errors * source/rtl/gtxwc/gtxwc.c added missed K_SH_keys 2008-01-26 09:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/Makefile + contrib/rddado * contrib/rddado/common.mak * contrib/rddado/Makefile + contrib/gtwvg * contrib/gtwvg/common.mak * contrib/gtwvg/Makefile + contrib/rddads * contrib/rddads/common.mak * contrib/rddads/Makefile - contrib/hbrddado - contrib/hbgtwvg - contrib/hbrddads * utils/hbmake/hbmutils.prg ! Done some final renames in contrib to be consistent with the core names where some new rules had to be made for DJGPP compatibility. Old name New name -------- -------- hbgtwvg -> gtwvg hbrddado -> rddado hbrddads -> rddads 2008-01-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/pp/pplib.c * source/rtl/run.c * source/rtl/hbgtcore.c * source/rtl/philesx.c * source/rtl/strzero.c * source/vm/runner.c * source/vm/debug.c * source/vm/itemapi.c * source/vm/arrayshb.c * source/vm/classes.c * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c ! Replaced 9999 internal and RT error codes with unique ones, in new Harbour ranges: RT/PP: 1001-1999 RT/BASE: 6001-6999 runner: 6101-6199 Internal/misc: 6001-6999 Internal/RDD: 9301-9399 NOTE: If you find some more 9999s in the core code, pls tell. 2008-01-26 06:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * tests/gfx.prg * tests/wcecon.prg * tests/gtchars.prg * tests/gtkeys.prg * include/hbgtinfo.ch * source/rtl/hbgtcore.c * source/rtl/gtkbstat.c * source/rtl/gtdos/gtdos.c * source/rtl/gtwin/gtwin.c * source/rtl/gtxwc/gtxwc.c * source/rtl/gtos2/gtos2.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtalleg/gtalleg.c * source/rtl/gtstd/gtstd.c * source/rtl/gtsln/gtsln.c * source/rtl/gttrm/gttrm.c * source/rtl/gtpca/gtpca.c * source/rtl/gtgui/gtgui.c * source/rtl/gtcgi/gtcgi.c * source/rtl/gtwvt/gtwvt.c * contrib/hbgtwvg/gtwvg.c ! Some minor formatting to the .ch file. Removed reference to non-existing doc/gtinfo.txt. * Using HB_GTI_* instead of GTI_* in Harbour files. 2008-01-25 21:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour-ce-spec * harbour-w32-spec * bin/bld.bat * harbour.spec * common.mak * source/pp/Makefile * source/lang/Makefile * source/macro/Makefile * source/rtl/Makefile * source/vm/mainstd/Makefile * source/vm/Makefile * source/vm/mainwin/Makefile * source/main/Makefile * source/debug/Makefile * source/codepage/Makefile * source/common/Makefile * source/rdd/nulsys/Makefile * source/rdd/Makefile * source/rdd/hsx/Makefile * source/rdd/usrrdd/Makefile * source/compiler/Makefile * contrib/hbct/tests/Makefile * contrib/hbodbc/tests/bld_b32.bat * contrib/hbole/tests/bld_b32.bat * contrib/hbapollo/tests/bld.bat * contrib/hbfbird/tests/bld_b32.bat * contrib/hbfbird/tests/Makefile * contrib/hbpgsql/tests/Makefile * contrib/hbfimage/tests/bld_b32.bat * contrib/hbgd/tests/bldtest.bat * contrib/hbmisc/tests/Makefile * contrib/hbgf/tests/bld_b32.bat * contrib/hbbtree/tests/Makefile * contrib/examples/guestbk/Makefile * contrib/examples/pe/Makefile * contrib/examples/dbu/Makefile * contrib/examples/misc/Makefile * contrib/examples/hscript/Makefile * utils/hbdoc/Makefile * utils/hbextern/Makefile * utils/hbdot/Makefile * utils/hbmake/Makefile * utils/hbmake/hbmutils.prg * utils/hbmake/hbmake.prg * utils/hbpp/Makefile * utils/hbpptest/Makefile * utils/hbtest/Makefile * utils/hbrun/Makefile * tests/Makefile * Core libs renamed to be prefixed with hb, while having the first significant 5 chars unique. Old name New name -------- -------- codepage -> hbcpage common -> hbcommon compiler -> hbcplr debug -> hbdebug hbsix -> hbsix hsx -> hbhsx lang -> hblang macro -> hbmacro pp -> hbpp rtl -> hbrtl vm -> hbvm rdd -> hbrdd dbfcdx -> rddcdx dbffpt -> rddfpt dbfntx -> rddntx dbfdbt -> rdddbt nulsys -> hbnulrdd usrrdd -> hbusrrdd mainwin -> hbmainwin mainstd -> hbmainstd NOTE/TODO: We're currently not in sync with contribs, regarding hb prefixing, since in contrib rdds and gts (rightly) also have hb prefixes. The only reason not to add them in core this time, is to keep compatibility with DJGPP. Maybe we should remove those prefixes from contrib. NOTE/TODO: Do tests in as many platforms and as many contrib tests as possible. Feedback from hbmake users is also welcome. !!! Please update your local make files !!! * include/hbgtinfo.ch + Added HB_ prefixed versions for all GTI_ macros. Unprefixed GTI_ macros are to be considered xhb compatible (or legacy) ones, and they can be excluded by #defining HB_GT_NO_XHB if they seem to collide with user code. TODO: Switch to use HB_GTI_* inside Harbour code. 2008-01-25 17:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/radiogrp.prg ! Minor formatting. 2008-01-25 16:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/hbzlib/zlib.h - contrib/hbzlib/zconf.h * contrib/hbzlib/hbmzip.c * contrib/hbzlib/readme.txt ! Removed zlib headers included in Harbour SVN. For this contrib to compile, users will need to have the zlib package installed. ! stricmp() -> hb_stricmp() to avoid MSVC warning and to be more portable. 2008-01-25 15:20 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/compiler/hbmain.c ! fixed a few /w3 memory leaks 2008-01-25 10:47 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * contrib/make_b32_all.bat * contrib/make_vc_all.bat ! moved hbzlib compilation into "conditional section" of above batfiles 2008-01-25 10:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbrddads/make_b32.bat * contrib/hbrddads/make_vc.bat ! Removed duplicate line. 2008-01-25 10:05 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat + Added creation of .lib from .dll for non-GNU make systems. 2008-01-23 02:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbrddntx.h ! fixed type of Signature field in tag structure * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed possible leaving locked index when number of tags exceed 63. 63 is maximum number of tags in multi tag NTX file ! fixed typo in HB_TRACE message % simplify NTXNODE data access in RDDINFO method * harbour/source/rdd/dbfcdx/dbfcdx1.c * formatting, some minor cleanup and fixed typo in comment 2008-01-18 02:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbrddads/make_b32.bat * contrib/hbrddads/make_vc.bat ! Fixed typo in a label. (Thanks to Eduardo Horbino) 2008-01-18 01:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbzlib/hbmzip.c * cast result of hb_fsGetOsHandle() to expected OS handle type - thanks to Jorge 2008-01-18 01:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbzlib/zip.c * harbour/contrib/hbzlib/unzip.c ! fixed possible access to uninitialized memory - thanks to Lorenzo * harbour/contrib/hbzlib/hbzlib.c * fixed casting - thanks to Andi * harbour/contrib/hbzlib/hbmzip.c * use hb_fsGetOsHandle() instead of LongToHandle() - code which uses hb_fsGetOsHandle() will work also with our own virtual handles if we add such extensions in the future * harbour/source/vm/harbinit.prg ! call __SetHelpK() only when HELP() function/procedure exist Clipper compatible behavior 2008-01-17 17:29 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec ! removed dummy %endif which left after recent modification for Mandriva detection * harbour/ChangeLog ! fixed ChangeLog description - I repeated by mistake the previous one 2008-01-17 16:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbzlib/ioapi.c * harbour/contrib/hbzlib/zip.c * harbour/contrib/hbzlib/unzip.c * harbour/contrib/hbzlib/crypt.h * harbour/contrib/hbzlib/hbzlib.c * harbour/contrib/hbzlib/hbmzip.c * casting for C++ compilation * changed function declaration for C++ compilation * removed #include "errno.h" - some platforms do not have it * updated WIN32 API for WinCE and UNICODE builds * use localtime_r() only for Linux builds - TODO: create our own API for it and remove all #if... from core code so we will have it only in one place easy to update for different platforms * harbour/contrib/hbzlib/common.mak * replaced TABs with SPACEs * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/harbour.spec * harbour/bin/hb-func.sh * harbour/contrib/Makefile + added hbzlib to contrib libraries compiled by default 2008-01-16 12:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_b32_all.bat * contrib/make_vc_all.bat + contrib/hbzlib/common.mak + Added missing non-GNU make file. + Added hbzlib to "all" non-GNU make batches. 2008-01-16 03:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/contrib/hbzlib/crypt.h + added modified for minizp crypt.h - it comes from minizip source code and it's modified infozip file * harbour/contrib/hbzlib/zip.c * disabled unused functions to eliminate warning * harbour/contrib/hbzlib/unzip.c * added suggested by compiler statement markers {} to pacify warnings * harbour/contrib/hbzlib/hbmzip.c ! added missing parenthesis in one logical expression * updated for Linux compilation - not tested yet but it can be cleanly compiled * harbour/contrib/hbzlib/hbzlib.c * synced with some minor modifications in my local copy 2008-01-16 03:18 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/macro.c ! strip trailing and leading SPACEs and TABs from macro compiled symbols 2008-01-16 01:20 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) + harbour/contrib/hbzlib + added support for zlib library and zip files (based on minizip) + harbour/contrib/hbzlib/zconf.h + harbour/contrib/hbzlib/zlib.h + zlib include files + harbour/contrib/hbzlib/zip.h + harbour/contrib/hbzlib/unzip.h + minizip include files + harbour/contrib/hbzlib/ioapi.c + harbour/contrib/hbzlib/zip.c + harbour/contrib/hbzlib/unzip.c + minizip source files. Some fixes are applied to avoid compile time warnings and errors, see readme.txt for list ; I've compiled with BCC only, please, check other compilers + harbour/contrib/hbzlib/hbzlib.c + zlib wrapper functions. Przemyslaw Czerpak is author of this code. The file was posted to developers mailing list on 2007-05-17. I think licence statements in the begining of file gives permission to include it into SVN. * HB_UNCOMPRESSLEN() function added. Source copied from Przemyslaw's email on 2008-01-10. + harbour/contrib/hbzlib/hbmzip.c + wrapper functions for minizip library Function names uses convention: - HB_ZIP*() - manages compression of .zip file: HB_ZIPOPEN(), HB_ZIPCLOSE() - HB_ZIPFILE*() - manages compression of files inside .zip: HB_ZIPFILECREATE(), HB_ZIPFILEWRITE(), HB_ZIPFILECLOSE() - HB_UNZIP*() - manages decompression of .zip fileL HB_UNZIPOPEN(), HB_UNZIPCLOSE() - HB_UNZIPFILE*() - manages decompression of files inside .zip HB_UNZIPFILEOPEN(), HB_UNZIPFILEREAD(), HB_UNZIPFILECLOSE(), HB_UNZIPFILEFIRST(), HB_UNZIPFILENEXT(), HB_UNZIPFILEPOS(), HB_UNZIPFILEGOTO(), HB_UNZIPFILEINFO() Parameters of functions are documented inside source files. + implemented some higher level functions. These function are not wrapper of minizip: HB_ZIPSTOREFILE(), HB_UNZIPEXTRACTCURRENTFILE() ; minizip gives low level access on zip files. This could be a problem if you not going to put your fingers on internals, but just want to compress/decompress files. Because managing of file attributes is a little complicated. These higher level functions do the job. ; please test code under linux. Source is written using docs only, without test or deeper knowledge. + harbour/contrib/hbzlib/hbzlib.ch + defines for zlib and minizip libraries ; I've used HB_ZLIB_* and HB_ZIP_* prefixes, because some original names of minizip library are too general, ex., APPEND_STATUS_CREATE If you want to use original define names we change this. + harbour/contrib/hbzlib/readme.txt * some comments on the source of libraries and ChangeLog for minizip files + harbour/contrib/hbzlib/tests/myzip.prg + harbour/contrib/hbzlib/tests/myunzip.prg + tiny compression/decompression utilities written in Harbour + harbour/contrib/hbzlib/Makefile + harbour/contrib/hbzlib/make_b32.bat + harbour/contrib/hbzlib/make_vc.bat + makefiles written using another contrib's makefiles as template ; I'm not makefiles guru, please test it. I've also used command line parameters: -DNOCRYPT -DNOUNCRYPT, to compile minizip. I don't know howto include these to our makefiles 2008-01-15 19:30 UTC+0100 Tomaz Zupan (tomaz.zupan/at/orpo.si) * harbour.spec * Recognize more Mandriva releases * Changed platform from mdk to mdv for Mandriva 2008-01-15 14:27 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/macro.c ! make macro substitution before macro compilation - Clipper compatible behavior - fix borrowed from xHarbour ! do not overwrite 1-st error object by others which can appear during macro TYPE() checking 2008-01-14 13:44 UTC+0100 Miguel Angel Marchuet Frutos * source/vm/extend.c * Undo Added conversion from logical params in hb_par* functions. ( thks to Juan Gálvez ) 2008-01-14 12:28 UTC+0100 Miguel Angel Marchuet Frutos * source/vm/extend.c * Added conversion from logical params in hb_par* functions. ( thks to Juan Gálvez ) 2008-01-15 10:31 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h ! do not define [U]LONGLONG when HB_DONT_DEFINE_BASIC_TYPES macro is set 2008-01-15 10:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/usrrdd/usrrdd.c * added missing 'const' to few variable declarations 2008-01-14 19:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * replaced TAB with SPACEs * harbour/source/rdd/dbcmd.c * changed hb_retnl() in LASTREC() to hb_retnint() to increase maximum record number to 2^32 - unsigned 32bit integer instead of signed one. * harbour/source/rdd/dbf1.c ! fixed possible memory leak/GPF when sx_DBFencrypt() is called when table already has password set * added support for password passing in sx_DBFdecrypt() - it's accepted only when table has no password * harbour/source/rdd/hbsix/sxcompat.prg - removed SX_SETPASS() * harbour/source/rdd/hbsix/sxtable.c + added new SX_SETPASS() implementation which supports some undocumented SIX3 actions ! fixed problem with setting password for currently open table with SX_SETPASS( ) 2008-01-12 13:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c - removed hb_itemLockReadCPtr()/hb_itemLockWriteCPtr()/hb_itemUnLockCPtr() Whole modification which will address all different aspects it to complex to introduce it now. I'll return to this problem after 1.0 release 2008-01-11 18:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * removed unused variable 2008-01-11 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + added new functions: BOOL hb_itemParamStore( USHORT uiParam, PHB_ITEM pItem ) BOOL hb_itemParamStoreForward( USHORT uiParam, PHB_ITEM pItem ) They copy/move pItem body to parameter passed by reference and return TRUE when operation was done successfully (uiParam was passed by reference) * harbour/include/hbcompdf.h * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/compiler/hbmain.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/hbusage.c * removed HB_I18N_SUPPORT macro and enabled I18N code in default build 2008-01-11 17:32 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/include/hbexprb.c * harbour/source/compiler/hbmain.c ! added string escaping before to i18n .pot files + added hb_i18n_gettext_strict() support for compiler. This function generates warning if argument is not literal string. See discussion on mailing list from 2007-11-23 to 2007-11-29, for details. 2007-01-10 18:05 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * source/rtl/teditor.prg ! Fixed [ scrolls past ::naTextLen ] 2007-01-10 17:50 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * source/rtl/memoedit.prg * source/rtl/teditor.prg + Implemented Clipper compatible missing parameters: nTextBuffRow nTextBuffColumn nWindowRow nWindowColumn Tested slightly but need deeper testing in case scrolls past ::naTextLen. 2008-01-09 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/estack.c * added missing static to s_initSymbol declaration * harbour/include/hbgtinfo.ch * harbour/source/rtl/scroll.c * formatting * harbour/common.mak * added empty line necessary for some make systems (f.e. wmake) * harbour/bin/hb-func.sh * changed system libs order to avoid problems on some platforms * harbour/bin/pack_src.sh * collect information about repository files using 'svn status -v' command instead of scanning .svn/entries files to avoid problems with different formats used by SVN * harbour/include/hbchksum.h * harbour/include/hbset.h ! added missing extern in few function prototypes * harbour/include/hbclass.ch * use HB_CLS_PARAM_LIST macro instead of ... for strict C52 mode * harbour/source/common/hbfsapi.c + added missing const to one declaration * harbour/source/common/hbstr.c * minor cleanup in hb_stricmp() * harbour/source/rtl/inkey.c ! casting to avoid negative values during char to int translation * harbour/source/rtl/mouse53.c * added one internal definition * harbour/source/rtl/philes.c * removed unnecessary #include(s) * added missing const to one declaration * harbour/source/rtl/valtype.c * harbour/source/vm/hashfunc.c * cleanup RT error call to eliminate hb_paramError() function * harbour/source/pp/pplib.c * harbour/source/vm/runner.c * harbour/source/vm/debug.c * harbour/source/vm/arrayshb.c * harbour/source/vm/classes.c * harbour/source/vm/hvm.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtfunc.c * harbour/source/rtl/hbinet.c * harbour/source/rtl/hbregex.c * harbour/source/rtl/idle.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/hbtoken.c * harbour/source/rtl/direct.c * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbcmd53.c * harbour/source/rdd/fieldhb.c * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hbsix/sxcrypt.c * harbour/source/compiler/hbcmplib.c * harbour/contrib/hbrddads/adsfunc.c * harbour/contrib/hbrddads/adsmgmnt.c - removed unnecessary calls to hb_ret() % replaced hb_itemRelease( hb_itemReturn( pItem ) ) with hb_itemReturnRelease( pItem ) % replaced hb_itemPut*( hb_arrayGetItemPtr( pArray, ... ), ... ) with hb_arraySetNI( pArray, ... ) * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/contrib/xhb/cstructc.c * harbour/contrib/hbw32/w32_ole.c * harbour/contrib/hbgtwvg/wvtcore.c * cleaned typos with double ;; * harbour/source/vm/extend.c * harbour/source/rtl/math.c * cleaned HB_EXPORT usage * harbour/source/pp/ppcore.c ! fixed Harbour extension which allows to use match marker at the beginning of rule definition * harbour/source/main/harbour.c ! fixed hex conversion in FM log module - fix done by Phil Krylov in xHarbour * harbour/source/rdd/nulsys/nulsys.c + added dummy version of DBEVAL() and DBFILTER() - these functions are used in RTL * harbour/contrib/hbct/bitnum.c + added INTNEG(), INTPOS() + harbour/contrib/hbct/ctrand.prg + added RANDOM(), RAND() - borrowd from xHarbour by Pavel Tsarenko + harbour/contrib/hbct/setrc.c + added SETRC() * harbour/contrib/hbct/getinput.prg % minor optimization * harbour/contrib/hbct/Makefile * harbour/contrib/hbct/common.mak * updated for new files * harbour/contrib/hbnf/tempfile.prg * use HB_FTempCreate() - modification borrowed from xHarbour TOFIX this function uses hb_isbyref() which does not exist in Harbour * harbour/config/w32/msvc.cf + added -nologo flag for cl.exe (Phil Krylov's modification borrowed from xHarbour * harbour/config/w32/mingw32.cf - removed repeated definitions * harbour/config/w32/install.cf ! added alternative install rule for command.com with max line size limit 2008-01-08 19:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbclass.ch ! Enabling HB_CLS_NO_DECORATION if compiled with HB_C52_STRICT, since in strict mode some PP extensions required by the decoration feature are not available. (Thanks Przemek for the tip) * source/rtl/tget.prg * Some formatting. 2008-01-05 01:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tpopup.prg ! Fixed typo in POPUPMENU():getAccel(), causing wrong position being returned. Reported by Jose Miguel. * source/rtl/ttopbar.prg ! Changed HB_C52_STRICT guards to HB_EXTENSION. 2007-12-28 15:51 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * source/rtl/tbrowse.prg Method DispCell() case 'L' DispOut( ftmp, cColor ) => DispOut( alltrim( ftmp ), cColor ) 2007-12-22 13:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_tgz.sh + added HB_BUILDSUF - removed hbverfix and pretest from final binaries ! fixed setting UNTAR_OPT 2007-12-22 12:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_tgz.sh + added HB_BUILDSUF - removed hbverfix and pretest from final binaries ! fixed setting UNTAR_OPT 2007-12-22 11:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_tgz.sh * use -fPIC on HP-UX * respect user defined C_USR and L_USR ! fixed typo in GNU tar detection 2007-12-22 11:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-mkslib.sh + added -fPIC to GCC parameters - it's necessary on some platforms + use .sl suffix for shared library in HP-UX * harbour/bin/hb-func.sh + use .sl suffix for shared library in HP-UX * harbour/bin/postinst.bat * removed < > from email address * harbour/include/hbgtcore.h * harbour/source/rtl/gtkeycod.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * fixed typo in function name - it should be hb_gt_dos_keyCodeTranslate() not hb_gt_dos_keyCodeTanslate() * harbour/make_tgz.sh * updated for non GNU tar versions * harbour/ChangeLog * replaced TABs with SPACEs 2007-12-21 20:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingw.sh * fixed yet another typo located by Phil Krylov - thanks 2007-12-21 18:49 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingw.sh * fixed two typos - many thanks to Phil Krylov for locating them 2007-12-21 18:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh * try to detect GNU tar * harbour/make_xmingw.sh * added new default location for MinGW cross-compiler in Gentoo distribution * added auto detection of MinGW cross-compiler installation which should work in most cases when default location test fails * harbour/make_tgz.sh * try to detect GNU make and GNU tar * harbour/source/rtl/gtwvt/gtwvt.c * call hb_gt_wvt_InitWindow explicitly to eliminate problems with ignored WM_CREATE message when new window handler is not yet registered 2007-12-21 18:00 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/lang/msgltwin.c * month name typo 2007-12-21 10:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * added system libraries necessary for linking some of harbour contrib libs in WinCE * minor cleanup * harbour/source/rtl/gtxwc/gtxwc.c * added missing 'const' in declaration 2007-12-21 10:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * respect -fPIC used to create Harbour binaries in default GCC switches used by hb* scripts 2007-12-20 15:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_rpmw32.sh * moved -maxdepth option before actions and expressions in find parameters 2007-12-20 15:00 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/make_xmingw.sh * moved -maxdepth before -name * harbour/source/rtl/hbini.prg * added hb_ininew() * harbour/contrib/hbtip/sendmail.prg * removed hbcompat.ch dependences + harbour/contrib/hbtip/utils.c * fixed a type in jpeg mime string * added TIP_HTMLSPECIALCHARS + harbour/contrib/hbpgsql/postgres.c * added PQRESULT2ARRAY 2007-12-20 11:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile * harbour/include/hbgtcore.h + harbour/source/rtl/gtkeycod.c + added hb_gt_dos_keyCodeTanslate() - based on hb_gt_ReadKey() from GTDOS by David G. Holm * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * use hb_gt_dos_keyCodeTanslate() to eliminate repeated code * harbour/contrib/hbrddads/Makefile * harbour/contrib/hbpgsql/Makefile * updated code to locate directories with header files * harbour/source/rtl/hbini.prg ! fixed typo in HB_IniRead() * harbour/source/rtl/persist.prg ! eliminated internal static variable 2007-12-20 08:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/files.c ! added missing 'return;' - in OS2 builds - it should fix value returned by SETFDATI(), many thanks to David for his tests, now SETFDATI() should be fully functional in OS2 builds. 2007-12-19 18:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/xhb/Makefile * harbour/contrib/xhb/common.mak + harbour/contrib/xhb/xhbqself.c + added xHarbour compatible HB_QSELF() function * harbour/contrib/xhb/xhbfunc.c * removed HB_QSELF() redirecting to Class(y) compatible __SENDER() function * harbour/contrib/xhb/xhbcomp.prg ! fixed scalar classes overloading, do not enable extended messages for basic types if user haven't requested it (ENABLE TYPE CLASS ...), use scalar classes defined in RTL 2007-12-19 13:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbmath.h * harbour/source/rtl/math.c * cleaned matherr API, now it works in the same way on all platforms - this modification fixes also some strange results when math functions were called with wrong arguments on some platforms * harbour/contrib/hbct/trig.c * harbour/contrib/hbct/finan.c * harbour/contrib/hbct/ctmath2.c * updated for new matherr API and cleaned some minor problems * harbour/contrib/hbct/files.c ! use DATE and TIME parameters formated like for DOS in OS2 version of SETFDATI() - David, if possible please repeat the test from my previous commit, thank you. 2007-12-18 13:08 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/xhb/xhbcomp.prg + Added xHarbour specific methods to Type classes. 2007-12-18 11:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog * reverted conversion to UTF8 of national characters (svn diff) * harbour/include/hbdate.h * harbour/source/common/hbdate.c + added hb_timeStrGet() * harbour/contrib/hbct/files.c * use hb_timeStrGet() instead of sscanf() + added OS2 version of SETFDATI() - please test it !!! I'm interesting in results of this code compiled with OS2 Harbour build: proc main() local cFile:="_tst.tmp" FCLOSE(FCREATE(cFile)) ? FILEDATE(cFile), FILETIME(cFile) ? SETFDATI(cFile,STOD("20061129"),"12:34:45") ? FILEDATE(cFile), FILETIME(cFile) ? SETFDATI(cFile) ? FILEDATE(cFile), FILETIME(cFile) FERASE(cFile) return 2007-12-18 06:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/files.c * harbour/source/common/hbfsapi.c ! fixes in OS2 build - thanks to David 2007-12-17 21:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * bin/bld.bat ! %HB_USER_LIBS% (for bcc32) moved to the beginning of the lib list. * contrib/mtpl_b32.mak ! Fixed preprocessor error in line 190 when HB_INSTALL_PREFIX != HB_ROOT * source/rtl/getsys53.prg * source/rtl/getsys.prg ! Moved ReadStats() to getsys53.prg * ChangeLog ! Removed UTF-8 signature from the beginning of the file. Unfortunately accented chars got converted to UTF8, which would need to fixed. Pritpal, please turn off this feature on your editor for Harbour. 2007-12-17 21:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapigt.h * harbour/include/hbgtcore.h * harbour/source/rtl/gtapi.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gt_tpl/gt_tpl.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtgui/gtgui.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtstd/gtstd.c * harbour/contrib/hbct/ctwin.c * harbour/contrib/hbgtwvg/gtwvg.c * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtalleg/ssf.h * harbour/source/rtl/gtalleg/fixedth.sfc * added missing const to few declarations * formatting and minor code cleanup * harbour/source/rtl/hbgtcore.c ! fixed GTNUL registration * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtstd/gtstd.c * moved static variables to dynamic GT area * harbour/contrib/hbct/files.c ! fixed DOS version 2007-12-17 13:41 UTC+0100 Miguel Angel Marchuet Frutos * common.mak + Added some missing files (suggested by Juan Gálvez) 2007-12-16 15:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbgtwvg/gtwvg.h * added OleLoadPicture() declaration when BCC5.5 is used. It's missing in BCC55 header files. 2007-12-16 15:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbct/files.c ! fixed pure C compilation I broke in previous commit 2007-12-16 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbfsapi.c + added OS2 version of hb_fsFileExists() and hb_fsDirExists() Please test - I do not have OS2 * harbour/source/rdd/dbf1.c ! removed unnecessary printf() message I left by mistake * harbour/contrib/hbct/files.c + added OS2 version of SETFATTR() Please test - I do not have OS2 * harbour/config/os2/global.cf + added temporary workaround for possible problems with some GNU make versions * harbour/make_deb.sh + build hbpgsql when libpq-dev is installed * harbour/include/clipdefs.h * do not define PBYTE, PSHORT, PUSHORT, PLONG, PULONG, PBOOL, PVOID when HB_OS_OS2 && HB_DONT_DEFINE_BASIC_TYPES is defined 2007-12-15 18:35 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/contrib/hbrddads/adsfunc.c + ADSGetServerName() * harbour/contrib/hbrddads/make_b32.bat * harbour/contrib/hbrddads/make_vc.bat ! Fixed variable names in help screen * Added setting to ADS_REQUIRE_VERSION by value of ADS_VER 2007-12-14 08:55 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/hbgtwvg/wvtutils.c ! Fixed memory leak in HB_FUNC( WVT_GETTITLE ) 2007-12-14 13:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * force linking GT drivers in hb* scripts also when shared library is used 2007-12-14 08:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tscalar.prg + added APPEND method to array scalar object 2007-12-13 16:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapigt.h * harbour/source/rtl/gtapi.c ! fixed DISPCOUNT() return value * cleaned some GT functions declarations 2007-12-13 10:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.c ! fixed allocating terminal context - thanks to Enrico * harbour/contrib/hbct/token2.c + added automatic cleanup code for static data allocated by TokenInit() using hb_vmAtExit() functions * Change RestToken() to validate size of passed string * harbour/contrib/hbct/ct.prg - removed TokenExit() from CT EXIT procedure - it's not longer necessary * harbour/contrib/hbrddads/adsmgmnt.c * minor cleanup - hb_xgrab() cannot return NULL pointer 2007-12-13 18:05 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/hbrddads/adsmgmnt.c ! Fixed memory leak in HB_FUNC( ADSMGGETLOCKOWNER ) if ( pstUserInfo ) hb_xfree( pstUserInfo ); 2007-12-12 22:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gt_tpl/gt_tpl.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * updated for new API * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtalleg/gtalleg.c * cleanup 2007-12-13 10:42 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/hbgtwvg/wvtpaint.prg ! Formatting. * harbour/contrib/hbgtwvg/hbgtwvg.c + static BOOL hb_gt_wvt_PutChar( PHB_GT pGT, int iRow, int iCol, BYTE bColor, BYTE bAttr, USHORT usChar ) GUI elements need that every screen region requsted to be redrawn must be redrawn. 2007-12-12 11:06 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog * removed UTF-8 signature: 0xEF 0xBB 0xBF * harbour/source/rtl/gtwvt/gtwvt.c * converted TABs to SPACEs 2007-12-12 10:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/idle.c ! fixed casting in hb_idleSleep() which truncated the fraction part of given timeout 2007-12-11 23:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/compiler/hbusage.c * Year bumped to 2008. 2007-12-11 16:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * formatting * harbour/source/vm/hvm.c ! fixed typo in HB_TRACE message * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * updated for multi window usage * harbour/source/vm/maindllp.c * use MessageBox() instead of hb_errInternal() - thanks to Jon Jagger for information about the problem 2007-12-09 19:17 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/hbgtwvg/tests/demowvg.prg ! Formatting. ! "xHarbour" => "(x)Harbour" 2007-12-08 12:13 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/xhb/cstruct.prg + #include 'xhb.ch' ! Line#259 : cSynon[1] == '*' => left( cSynon,1 ) == '*' Now C Structure support in Harbour is exactly like xHarbour. Tested. 2007-12-07 15:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbgtwvg/Makefile * contrib/hbgtwvg/common.mak - contrib/hbgtwvg/gtwvt.h + contrib/hbgtwvg/gtwvg.h - contrib/hbgtwvg/gtwvt.c + contrib/hbgtwvg/gtwvg.c * contrib/hbgtwvg/wvtutils.c * contrib/hbgtwvg/wvtcore.c ! Renamed gtwvt to gtwvg to avoid clash with gtwvt in core when using non-GNU make files. * source/vm/extend.c ! Fixed trace messages in hb_parcx() * utils/hbmake/hbmutils.prg ! Fixed cosmetic problem. (Thanks to Bill Robertson) 2007-12-07 11:39 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * harbour/contrib/hbgtwvg/gtwvt.h * harbour/contrib/hbgtwvg/gtwvt.c * moved RGB definition of used colors to terminal window structure, now each window can use different palette 2007-12-07 10:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtapi.c * harbour/source/rtl/inkeyapi.c * harbour/source/rtl/mouseapi.c - removed hb_gt_*(), hb_inkey_*(), hb_mouse_*() functions + implemented HB_GTSELF_*() functions and changed HB_GTSUPER_*() ones to operate on GT context passed ad 1-st parameter. Now GT API allows to create many GTs working simultaneously + added hb_gt_Base() core function which returns GT context it will be extended soon to allow using many GT contexts, setting thread default one or switch between them using some .prg function. * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/gtcrs.h * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/gtsln.h * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtsln/mousesln.c * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtgui/gtgui.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * harbour/contrib/hbct/ctwin.c * harbour/contrib/hbct/ctwin.h * harbour/contrib/hbct/ctwfunc.c * harbour/contrib/hbgtwvg/gtwvt.h * harbour/contrib/hbgtwvg/gtwvt.c * updated GT code for new GT API. I still haven't added GT cloning to them and only GTTRM is ready to use in multi window MT programs but now they can be systematically modified and it can be done locally without core code modifications. * harbour/contrib/hbgtwvg/wvtutils.c ! fixed some memory leaks in Unicode conversions 2007-12-06 11:35 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/lang/msgltwin.c * more changes from LT to LTWIN * harbour/common.mak * restored missing msgltwin.c * harbour/include/hbapi.h * harbour/source/vm/hashes.c + added hash key support for pointer type 2007-12-06 00:20 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/gtwvt.c ! Small addition in PaintText() wrongly omitted while cleaning. * harbour/contrib/gtwvg/wvtutils.c * Tooltip - Initialization of variable. * harbour/contrib/gtwvg/tests/demowvg.prg ! Fixed to run with Harbour perfectly. Please note that TBrowse in Harbour needs some fixes. Replace it with xHarbour TBrowse and the look of composite dialog changes. 2007-12-06 02:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbextern.ch * common.mak * source/codepage/Makefile - source/codepage/cpdedos.c + source/codepage/cpde850.c - source/codepage/cpeldos.c + source/codepage/cpel737.c - source/codepage/cpesdos.c + source/codepage/cpes850.c - source/codepage/cpfrdos.c + source/codepage/cpfr850.c - source/codepage/cptrdos.c + source/codepage/cptr857.c ! Renamed some codepage modules to include the actual DOS codepage number instead of nothing or generic "dos" name. * common.mak * source/lang/Makefile + source/lang/msgtr857.c - source/lang/msgtrdos.c ! Rename one language module to be in sync with proper internal ID. 2007-12-06 01:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * doc/howtosvn.txt ! Fixed the SVN propset command to include all needed keywords, not just "Id". * common.mak * source/codepage/Makefile - source/codepage/cpgedos.c - source/codepage/cpgeiso.c + source/codepage/cpdedos.c + source/codepage/cpdeiso.c ! Renamed to be in sync with rules and content. * source/lang/msgnl.c ! svn propset svn:keywords "Author Date Id Revision". (to correct my prev commit) * include/hbextern.ch ! Adjusted CP/MSG module names. 2007-12-05 21:15 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/codepage/cpltwin.c * harbour/source/lang/msgltwin.c * changed language ID to: LTWIN * svn properties 2007-12-05 20:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/codepage/cphuwins.c * source/codepage/cphuiso.c * source/codepage/cphuwin.c * source/codepage/cphuisos.c ! Fixed sloppy wording in comment. (Thanks Chen) * common.mak * source/codepage/Makefile + source/codepage/cpgeiso.c - source/codepage/cpgewin.c * Renamed to ISO to be in sync with the actual codepage used. (Thanks Chen) ; Might be a good idea to readd the "real" WIN version to stay compatible. Anyone? 2007-12-05 19:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/lang/msgnl.c * source/lang/msgelwin.c * source/lang/msgltwin.c * source/lang/msgel.c * source/codepage/cpitisb.c * source/codepage/cpit850.c * source/codepage/cpcswin.c * source/codepage/cpskwin.c * source/codepage/cpitiso.c ! Some SVN header, SVN keywords and some errors in comments fixed. (Thanks Chen) 2007-12-05 14:20 UTC+0200 Chen Kedem * doc/dirstruc.txt * Change "test" to "tests". * doc/en/lang.txt * Update language table for HB_LANGSELECT to reflect source/lang * Update codepage table for HB_SETCODEPAGE to reflect source/codepage 2007-12-05 09:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbct/files.c ! FILESIZE() fixed to return -1 when the file doesn't exist. - contrib/hbmysql/test + contrib/hbmysql/tests - contrib/hbw32ddr/test + contrib/hbw32ddr/tests - contrib/hbodbc/test + contrib/hbodbc/tests - contrib/hbtpathy/test + contrib/hbtpathy/tests - contrib/hbw32/test + contrib/hbw32/tests - contrib/hbole/test + contrib/hbole/tests - contrib/hbfbird/test + contrib/hbfbird/tests - contrib/hbapollo/test + contrib/hbapollo/tests - contrib/hbnf/test + contrib/hbnf/tests - contrib/hbfimage/test + contrib/hbfimage/tests - contrib/hbmisc/test + contrib/hbmisc/tests - contrib/hbgtwvg/test + contrib/hbgtwvg/tests - contrib/hbrddads/test + contrib/hbrddads/tests - contrib/hbbtree/test + contrib/hbbtree/tests ! Renamed test to tests to use 'tests' everywhere inside the repository. 2007-12-04 23:56 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtcore.c ! Small typo and formatting. * harbour/contrib/gtwvg/wvtutils.c * More UNICODE compliant. * harbour/contrib/gtwvg/test/demowvg.prg ! Adjusted to respect changes in core lib. 2007-12-05 08:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h * added HB_GTSELF_*() macros for future use * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtalleg/ssf.h * harbour/source/rtl/gtalleg/fixedth.sfc * harbour/source/rtl/gtalleg/ssf.c * replaced one global variable by static one * formatting * harbour/contrib/hbct/files.c ! fixed default attribute mask in FILEATTR() 2007-12-05 02:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmake/hbmutils.prg ! Some fixes related to contrib dir renames. NOTE: Blind fix. I don't use this tool. If you do, pls report problems. 2007-12-04 20:39 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/make_b32_all.bat * harbour/contrib/make_vc_all.bat ! Fixed argument handling in created "worker bat file" 2007-12-04 17:04 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.mak * harbour/make_vc.mak * TABs converted to spaces. Minor formatting * harbour/make_gcc.mak * harbour/make_vcce.mak * Minor formatting 2007-12-04 16:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_vcce.bat * Checking if HB and HBPPGEN envvars are set is moved to BUILD rule to not affect CLEAN and INSTALL rules 2007-12-04 12:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h + added some missing HB_GTSUPER_* functions * harbour/contrib/hbgtwvg/wvtcore.c * use hb_gt*() functions instead of hb_gt_*() ones * harbour/contrib/hbgtwvg/wvtutils.c * harbour/contrib/hbgtwvg/gtwvt.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtgui/gtgui.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gttone.c * harbour/source/rtl/gtclip.c * minor cleanup in hb_gt_w32_*() function names * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtclip.c * use common for all GT internal Clipboard buffer - thanks to Pritpal for a note 2007-12-04 10:17 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/make_b32_all.bat * harbour/contrib/make_vc_all.bat - Removed the dependancy on a worker bat file named make_.bat. Now a worker bat file is created on a fly. - harbour/contrib/make_b32.bat - harbour/contrib/make_vc.bat - Removed. No longer neccesary. 2007-12-03 22:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/inkey.c + harbour/source/rtl/inkeyapi.c * moved hb_inkey*() functions to GT subsystem so now they can be overloaded by GT drivers and/or operate on different GT context * harbour/source/rtl/mouse53.c * eliminated to unused static variables * harbour/source/rtl/mouseapi.c * do not include unnecessary header files * harbour/source/rtl/gtchrmap.c * replaced // comment by /* ... */ 2007-12-03 21:40 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_gcc.sh * Eliminated HB_GT_LIST hack in common.cf, converted from common.mak * harbour/make_gcc.mak * Minor change in handling platforms which are Windows compatible 2007-12-03 18:25 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_gcc.mak * harbour/make_gcc.sh + Added the possibility to build dll/so of Harbour VM+RTL (tested om MingW, Cygwin, FC8/64) * harbour/make_b32.mak * harbour/make_vc.mak * harbour/make_vcce.mak + Added HB_ARCHITECTURE definition (to be used in a future) * harbour/source/rtl/gtchrmap.c ! Fixed compilation under Linux using make_gcc.sh 2007-12-03 16:30 UTC+0200 Chen Kedem * ChangeLog * Update my email address * doc/dirstruc.txt + Add short description to the newly added directories. 2007-12-03 11:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapigt.h * removed declaration for not existing function: hb_inkeyGet() * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * moved all static variables used by core GT code to HB_GT_BASE structure * harbour/source/rtl/inkey.c * cleanup * harbour/contrib/Makefile * moved HB_CONTRIBLIBS to the end build library list because they may need some other contrib libraries in dependences list 2007-12-02 12:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbnf/nwsem.prg * harbour/contrib/hbnf/prtesc.prg * harbour/contrib/hbnf/mouse1.prg * harbour/contrib/hbnf/workdays.prg * harbour/contrib/hbnf/sleep.prg * harbour/contrib/hbnf/xbox.prg * harbour/contrib/hbnf/d2e.prg * harbour/contrib/hbnf/mouse2.prg * harbour/contrib/hbnf/ntow.prg * harbour/contrib/hbnf/floptst.prg * harbour/contrib/hbnf/e2d.prg * converted TABs to SPACEs 2007-12-02 05:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * updated for new contrib libraries names 2007-12-02 04:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h * harbour/source/rdd/hsx/hsx.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/hbpcre/ChangeLog * harbour/source/hbpcre/pcrecomp.c * minor modifications to pacify some MSVC warnings 2007-12-02 04:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/mouse53.c * do not include unnecessary header files * harbour/bin/pack_src.sh * changed packing procedure - now it does not scan chosen directories and files but all contents of all .svn/entries to extract files stores in SVN repository and then pack them - it's very good method to pack whole Harbour repository without .svn/* data and risk of packing local files. * harbour/harbour.spec * harbour/harbour-ce-spec * harbour/harbour-w32-spec * updated for recent changes in directory and library names 2007-12-01 23:55 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/lang/msgltwin.c * svn properties 2007-12-01 22:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbgd/make_b32.bat * contrib/hbgd/gdwrp.c ! Fixed the way HB_OS_WIN_32_USED is used and windows.h is included to work like in rest of Harbour. This way it works for all compilers/build systems. 2007-12-01 22:21 UTC+0100 Francesco Saverio Giudice (info at fsgiudice dot com) * harbour/contrib/hbgd/make_b32.bat ! Fixed compilation under BCC added -DHB_OS_WIN_32_USED to CFLAGS env var to compile gdwrp.c creating undecorate C function names 2007-12-01 21:07 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_vcce.mak ! Fixed compilation against bug in Texas Instruments versions of ARM processors 2007-12-01 21:52 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/include/hbwince.h ! Fixed compilation in C++ mode by renaming local variable named "template" to "tmplt". "template" is a reserved word in MSVC C++. + Added few missing WINAPI function declarations under MSVC WinCE. * harbour/source/common/hbwince.c ! Fixed compilation in C++ mode by renaming local variable named "template" to "tmplt". "template" is a reserved word in MSVC C++. 2007-12-01 20:12 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_vcce.bat + Added existence verification of HB and HBPPGEN environment variables and existence of files which are pointed by them 2007-12-01 20:30 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) + harbour/source/lang/msgltwin.c * harbour/source/lang/Makefile * harbour/common.mak + message file for Lithuanian language 2007-12-01 15:27 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/source/rtl/hbinet.c ! Fixed compilation under Cygwin environment * harbour/make_gcc.sh + Added Cygwin as a detected platform 2007-12-01 03:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * debian/copyright * doc/license.txt * COPYING - Removed one explicily listed license exception: 'samples\pe\license.txt', since it is now in the contrib which is covered in the "contrib license" section anyway. This license is probably included only as an example file for the editor. Ryszard? 2007-12-01 03:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/hgf + contrib/hbgf * contrib/hbwhat32/Makefile * contrib/hbwhat32/common.mak * contrib/hbfbird/test/bld_b32.bat * contrib/hbapollo/test/bld.bat * contrib/hbpgsql/tests/bld_b32.bat * contrib/hbfimage/test/bld_b32.bat * contrib/hbgd/tests/bldtest.bat * contrib/hbgf/os2pm/Makefile * contrib/hbgf/tests/bld_b32.bat * contrib/hbgf/win32/common.mak * contrib/hbgf/gtk/Makefile * contrib/hbrddado/common.mak * contrib/hbrddado/Makefile * contrib/hbbmcdx/common.mak * contrib/hbbmcdx/Makefile * contrib/hbgtwvg/common.mak * contrib/hbgtwvg/Makefile * contrib/hbrddads/common.mak * contrib/hbrddads/Makefile ! Some fixes to previous changes. ; Here is the final summary of contrib lib renames: ----------- ------------- ------------- Old Old New DIR LIBNAME DIR & LIBNAME ----------- ------------- ------------- adordd adordd hbrddado apollo apollo hbapollo bmdbfcdx bmdbfcdx hbbmcdx btree hbbtree hbbtree directx hbwin32ddrw hbw32ddr firebird firebird hbfbird freeimage hbfreeimage hbfimage gd hbgd hbgd gtwvg gtwvg hbgtwvg hbzlib hbziparch hbziparch htmllib html (DELETED) libct ct hbct libgt gt hbgt libmisc hbmisc hbmisc libnf nf hbnf msql msql hbmsql mysql hbmysql hbmysql odbc hbodbc hbodbc ole hbole hbole pdflib hbpdflib (DELETED) pgsql hbpg hbpgsql rdd_ads rddads hbrddads samples samples hbclipsm telepath telepath hbtpathy tip tip hbtip what32 what32 hbwhat32 win32 hbwin32 hbw32 xhb xhb xhb hgf hgf* hbgf* 2007-12-01 02:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/Makefile - contrib/telepath + contrib/hbtpathy * contrib/hbtpathy/common.mak * contrib/hbtpathy/Makefile - contrib/what32 + contrib/hbwhat32 - contrib/win32 + contrib/hbw32 * contrib/hbw32/common.mak * contrib/hbw32/Makefile - contrib/adordd + contrib/hbrddado - contrib/gtwvg + contrib/hbgtwvg - contrib/rdd_ads + contrib/hbrddads - contrib/tip + contrib/hbtip * contrib/hbtip/common.mak * contrib/hbtip/Makefile - contrib/bmdbfcdx + contrib/hbbmcdx * contrib/hbct/Makefile * contrib/hbct/common.mak * contrib/hbgt/common.mak * contrib/hbgt/Makefile * contrib/hbnf/common.mak * contrib/hbnf/Makefile * Contrib lib rename finished. ; Please report build (or other) problems. 2007-12-01 02:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/libct + contrib/hbct - contrib/libgt + contrib/hbgt - contrib/libnf + contrib/hbnf * contrib/Makefile * contrib/make_b32_all.bat * contrib/make_vc_all.bat * utils/hbmake/hbmutils.prg * Contrib lib rename continued. 2007-12-01 02:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/Makefile - contrib/msql + contrib/hbmsql * contrib/hbmsql/common.mak * contrib/hbmsql/Makefile - contrib/libmisc + contrib/hbmisc - contrib/mysql + contrib/hbmysql - contrib/odbc + contrib/hbodbc - contrib/ole + contrib/hbole - contrib/pgsql + contrib/hbpgsql * contrib/hbpgsql/common.mak * contrib/hbpgsql/Makefile - contrib/samples + contrib/hbclipsm * contrib/hbclipsm/common.mak * contrib/hbclipsm/Makefile * Contrib lib rename continued. 2007-12-01 02:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/pdflib * contrib/make_b32_all.bat * contrib/make_vc_all.bat - Removed pdflib (not working, abandoned) 2007-12-01 02:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/htmllib * contrib/Makefile * contrib/make_b32_all.bat * contrib/make_vc_all.bat * Removed htmllib (obsolete, non-maintained). 2007-12-01 01:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/btree + contrib/hbbtree - contrib/directx + contrib/hbw32ddr * contrib/hbw32ddr/Makefile * contrib/hbw32ddr/common.mak - contrib/firebird + contrib/hbfbird * contrib/hbfbird/Makefile * contrib/hbfbird/common.mak - contrib/freeimage + contrib/hbfimage * contrib/hbfimage/Makefile * contrib/hbfimage/common.mak - contrib/gd + contrib/hbgd - contrib/hbzlib + contrib/hbziparch * contrib/hbziparch/make_b32_dll.bat * contrib/hbziparch/make_b32_dll.mak * contrib/Makefile * contrib/make_b32_all.bat * contrib/make_vc_all.bat * Contrib lib rename continued. 2007-12-01 00:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/apollo + contrib/hbapollo * contrib/hbapollo/common.mak * contrib/hbapollo/Makefile * contrib/make_b32_all.bat * contrib/make_vc_all.bat * First contrib lib rename (live rehearsal). (goals: hb prefix, dirname = libname, 8 chars limit) * contrib/make_b32_all.bat * contrib/make_vc_all.bat * DIRS internal envvar renamed to _HB_DIRS. 2007-11-30 20:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/include/hbstack.h ! Added HB_EXPORT to hb_stackPop(). Required by dll build with -gc3 switch * Removed HB_EXPORT from hb_stackReturnItem() and hb_stackSelfItem() 2007-11-30 19:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtgui/gtgui.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtcgi/gtcgi.c * harbour/contrib/libct/ctwin.c * harbour/contrib/gtwvg/gtwvt.c + added GT ID (int s_GtId) * harbour/include/hbapigt.h * harbour/source/rtl/gtapi.c + added some missing wrappers for hb_gt_* functions to avoid including hbgtcore.h by non GT code - such functions separation will be important in MT mode where each thread can operate on different GT context (window) * harbour/contrib/libct/screen2.c * harbour/contrib/libct/screen1.c * harbour/contrib/libct/ctwfunc.c * use hb_gt* functions instead of hb_gt_*() ones * harbour/include/hbapigt.h * harbour/source/rtl/inkey.c * changed hb_setInkeyLast() to hb_inkeySetLast() to keep hb_inkey*() prefix in all inkey() related functions + added hb_inkeySetText() - removed hb_inkeyTranslate() * harbour/contrib/libct/setlast.c * use hb_inkeySetLast() instead of hb_setInkeyLast() * harbour/source/rdd/usrrdd/usrrdd.c * removed dummy xHarbour code not usable in Harbour * harbour/include/hbapi.h * harbour/source/vm/codebloc.c * harbour/source/vm/hvm.c * added const to BYTE * pCode parameter of hb_codeblockMacroNew() 2007-11-30 07:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_b32.mak * harbour/make_vc.mak ! Reverted moving HB_GT_LIB to common.mak, because in common.mak it is set to gtstd by default. 2007-11-30 08:45 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_vcce.mak ! Conditionaly add HB_NO_WIN_CONSOLE to CFLAGS based on HB_WINCE_COMPILE_WITH_GTWIN envvar 2007-11-30 07:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_b32.mak * harbour/make_vc.mak % HB_GT_LIB definition moved to common.mak to avoid redundancy 2007-11-30 06:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/make_b32_all.bat * harbour/contrib/make_vc_all.bat + Cleanup of used environment variables 2007-11-30 06:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.bat * harbour/make_vc.bat * harbour/make_vcce.bat * Restored handling of exit level 2007-11-29 22:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_vcce.bat * make_vcce.mak * make_b32.bat * make_b32.mak * make_vc.bat * make_vc.mak * common.mak + Now every internally used envvars are reset before exiting. ! Not tampering with user level envvars by changing their content to default values. % HB_GT_* envvar defaulting moved to .mak file level, since these envvars were not used on batch file level anyway. * make_vcce.bat * make_vcce.mak * CFLAGS -DHB_NO_WIN_CONSOLE moved to the make file. If there was any reason to have this only CE C flag in batch file separated from the rest of the extra CE C flags in the make file, please speak up. This change may cause trouble for those using the make file directly and at the same time don't want to use the HB_NO_WIN_CONSOLE compiler flag. In this case we should add a documented way to disable it inside the make file IMO. * contrib/freeimage/make_b32.bat * contrib/freeimage/make_vc.bat * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat * contrib/firebird/make_b32.bat * contrib/firebird/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/gd/make_b32.bat * contrib/gd/make_vc.bat * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat * contrib/odbc/make_b32.bat * contrib/odbc/make_vc.bat * contrib/what32/make_b32.bat * contrib/what32/make_vc.bat * contrib/msql/make_b32.bat * contrib/msql/make_vc.bat + Now every internally used envvars are reset before exiting the batch file, so they won't interact with other batch files even if being called after each other using "call". So "%COMPSPEC% /c" is not necessary anymore when calling these batches. ! Fixed to use _HB_CC_NAME when dealing with .dll to .lib conversions. * contrib/make_b32_all.bat * contrib/make_vc_all.bat + Added gtwvg library. + Added what32 library (to DO_NOT_COMPILE list for b32). * contrib/mtpl_b32.bat * contrib/mtpl_vc.bat ! Undone prev change because it interacted with .dll to .lib conversions. 2007-11-29 22:10 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.bat * harbour/make_vc.bat * harbour/make_vcce.bat * Added handling of exit level in case of make error 2007-11-29 21:40 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.bat * harbour/make_vc.bat * harbour/make_vcce.bat * Take care of environment variables possibly modified inside batch files. Should leave user environment space in a consistent state. 2007-11-29 01:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mtpl_b32.bat * contrib/mtpl_vc.bat + Clear the internal envvars used by these .bat files, to not leave any junk after themselves. 2007-11-28 18:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/source/common/hbfhnd.c * Added conditional define to disable Bcc extension (HB_NO_BCC_MAX_OPENFILES_HACK). Required for dll build with dynamic runtime (-tWR). * harbour/make_b32.mak * harbour/make_vc.mak * harbour/make_vcce.mak * $ECHO) and $(DEL) definitions moved to common.mak to avoid redundancy 2007-11-28 15:16 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * updated for library name modification 2007-11-28 15:01 UTC+0100 Tomaz Zupan (tomaz.zupan@orpo.si) * harbour.spec ! fixed name libhbmisc. Change needed after namechange see: (2007-11-23 03:03 UTC+0100 Viktor Szakats) 2007-11-27 21:38 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/gtwvt.c * Minor fixes. * harbour/contrib/gtwvg/wvtutils.c * Tooltip functions activated guarded against __WINCE__ ! Minor fixes. More UNICODE compliant. * harbour/contrib/gtwvg/wvtpaint.prg ! Wvt_GetOpenFileName() - Fixed to respect recent UNICODE compliance. * harbour/contrib/gtwvg/test/demowvg.prg ! Adjusted to respect changes in core lib. 2007-11-27 21:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_b32.bat * contrib/make_vc.bat ! Refixed to work again with /contrib/hgf/win32 (or any other nested libs) 2007-11-27 20:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbfsapi.c ! fixed typo 2007-11-27 18:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/xhb/hbcomprs.c * harbour/contrib/xhb/hbcomprs.h * harbour/contrib/freeimage/fi_winfu.c * harbour/contrib/firebird/test/testapi.c * harbour/contrib/firebird/firebird.c * harbour/contrib/what32/sqltypes.ch * harbour/contrib/what32/_wincret.c * harbour/contrib/what32/_winpen.c * harbour/contrib/what32/what32.ch * harbour/contrib/what32/_winmem.c * converted TABs to spaces 2007-11-27 18:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbfsapi.c * define INVALID_FILE_ATTRIBUTES when not defined in C header files - temporary workaround for missing INVALID_FILE_ATTRIBUTES definition in new MSVC versions * harbour/include/hbwince.h * removed INVALID_FILE_ATTRIBUTES definition 2007-11-27 17:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbwince.c * disabled dummy GetDiskFreeSpaceA() overloading - it's not longer necessary 2007-11-27 14:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * inherit some parameters like -mlp{64,32}, -m{64,32} set in C_USR during build as default C compiler/linker switches in hb* scripts * harbour/config/w32/pocc.cf + added comdlg32.lib to linked library list * harbour/source/common/hbwince.c + added dummy FreeResource() function. This is a note from MSDN: FreeResource() is an obsolete function. It is provided for backward compatibility with 16-bit Windows applications. FreeResource() is not necessary for 32-bit Windows applications to free the resources loaded using LoadResource() function. * harbour/contrib/gtwvg/wvtutils.c + added workaround for wrong ChooseColorW() definition in header files include in last oficial relase (0.50) of MinGW32-CE Pritpal above finished modifications I was able to make using only pure MinGW32-CE 0.50. The following functions used by GTWVG are still missing: GetMenu(), SetMenu(), CreateBrushIndirect(), GetViewportOrgEx(), IsDlgButtonChecked(), OleLoadPicture(), TrackPopupMenu(), If you are sure that they exist in WinCE then simply create static import library for them or dynamic wrappers. 2007-11-27 11:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbwince.c * added MulDiv() implementation for MinGW32-CE builds 2007-11-27 11:31 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c * make all hb_compI18n*() functions which do not need external access static - now only hb_compI18nAdd() is public function. If it will be necessary to make other functions public then we will make it but please always try to declare new functions as static if it's not necessary to access them externally - it helps in future modifications because we do not have to worry about external code which may access some functions. * harbour/config/hpux/gcc.cf * added commented -mlp64 GCC switch to CFLAGS and LDFLAGS - this switch forces 64-bit mode in HP-UX on IA64 * harbour/source/common/hbwince.c + added wrapper for LocalHandle() and direct translation for LocalLock() * harbour/config/w32/cemgw.cf + added commdlg, commctrl, luuid and ole32 to linked library list for some contrib code 2007-11-27 10:36 UTC+0100 J. Lefebvre Mafact (jfl/at/mafact.com) * source/common/hbfsapi.c added a check for HB_WINCE for using "FILE_ATTRIBUTE_DEVICE" 2007-11-27 09:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak + Added optional HB_CC_DIRNAME to control (and override) where the final target files will be created inside obj/lib/bin dirs. Marek pls report if this solved anything for you. 2007-11-27 01:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_b32.mak ! Removed -l flag from .dll creation to be in sync with the rest of Harbour. * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak ! Synced with core flags (VC mainly). * contrib/freeimage/fi_winfu.c * contrib/freeimage/fi_wrp.c * contrib/freeimage/make_b32.bat * contrib/freeimage/make_vc.bat * contrib/firebird/firebird.c * contrib/firebird/make_b32.bat * contrib/firebird/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/pdflib/pdfhbdoc.c * contrib/pgsql/postgres.c * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/mysql/mysql.c * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat ! Some extra lib-level custom C flags fixed to be in sync with rest of Harbour. (mainly HB_OS_WIN_32_USED) * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat ! hbziparch extra switches removed (all of them). This made surface a whole lot of warnings. If someone wants to create a .dll from this, -DZLIB_DLL will need to be added to C_USR. -a8 switch was also removed from the BCC build. If someone know that it's necessary, pls shout. 2007-11-27 00:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh * updated for recent file name modifications * harbour/include/hbgtcore.h * harbour/source/rtl/gtclip.c * changed hb_gt_w32_SetClipboard() type from void to BOOL * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * added basic input support for DJGPP * harbour/contrib/gtwvg/gtwvt.c ! fixed memory leak and GPF trap * harbour/contrib/gtwvg/wvtutils.c ! rewritten and fixed CLIPBOARD functions - Pritpal this functions should be removed, they are redundant and works only in MS-Windows * make WVT__GETOPENFILENAME() and WVT__GETSAVEFILENAME() Unicode ready and fixed possible GPF trap 2007-11-26 22:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mtpl_b32.bat * contrib/mtpl_vc.bat % Eliminated _HB_SHOW_ERRORS. 2007-11-26 21:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak ! Fixed: HB_CC_NAME -> _HB_CC_NAME (files were directly created in '/lib//' since last change) If someone wants to override the default dir names where bin/lib/obj files are created - by using an undocumented internal envvar - pls use 'set _HB_CC_NAME=...' 2007-11-26 20:50 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/make_b32.bat * harbour/contrib/make_vc.bat * Removed TABS unintentionaly introduced in my last commit 2007-11-26 19:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/freeimage/make_b32.bat * contrib/freeimage/make_vc.bat * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat * contrib/firebird/make_b32.bat * contrib/firebird/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/gd/make_b32.bat * contrib/gd/make_vc.bat * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat ! Fixed CFLAGS assignments to not include %C_USR%, as this is done in the .mak files anyway. * contrib/what32/make_b32.bat * contrib/what32/make_vc.bat + Added ..\xhb to the include path for Harbour. 2007-11-26 18:50 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/mtpl_b32.mak * harbour/contrib/mtpl_vc.mak ! Fixed "hardcoded" definitions for OBJ_DIR, LIB_DIR, BIN_DIR * Reset "echo" to "echo." 2007-11-26 08:00 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) + harbour/contrib/gtwvg/test + demowvg.prg + test.dbf + dia_excel.ico + v_browse.ico + v_clcltr.ico + v_calend.ico + v_clclt.bmp + v_filter.ico + v_help.ico + v_index.bmp + v_lock.bmp + v_new.bmp + v_notes.bmp + v_notes1.bmp + v_selct1.bmp + v_tools.bmp + vr_1.ico Initial placement of files to demonstrate the usage of gtwvg and its GUI elements. Please note that this appln may terminate without notice at places where browser is opened because appln needs tbrowse:aColumnsSep instance variable which I will do shortly. Rest all components are working ok. 2007-11-26 17:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/postinst.sh * workaround for missing 'install' command in some HP-UX versions * harbour/contrib/xhb/cstructc.c * casting for 64bit builds 2007-11-26 08:00 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtcore.c ! Fixed side effects of copy/paste in hb_wvt_gtDlgProcModal(). * harbour/contrib/gtwvg/wvtclass.prg * Changed cCaption[1] to left( cCaption,1 ) to work without xhb.lib. 2007-11-26 07:50 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/what32 * wininet.ch * winerror.prg * windebug.prg * wintabs.prg * wintbar.prg svn:eol-style = native svn:keywords = Id 2007-11-26 14:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-mkslib.sh * harbour/bin/postinst.sh * set predefined CCPREFIX in cross build hb*-mkslib * harbour/make_xmingw.sh ! fixed BSD build cross build - problem noticed by Phil Krylov in xHarbour * harbour/source/rdd/dbffpt/dbffpt1.c * casting * harbour/config/darwin/gcc.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/sunos/gcc.cf * harbour/config/bsd/gcc.cf * added support for HB_CRS_LIB envvar which allow to overload platform default [n]curses library name 2007-11-26 14:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/what32/wintabs.prg * contrib/what32/wintbar.prg ! Fixes to make them compile with Harbour. Pritpal, could you please check this, because it's not exactly clear what is the intent in the source code, so these might be the wrong fixes. * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak ! Using a neutral character instead of double quote in hacked DOS "if %1 ==" commands to avoid the situation where the quote is filtered, replaced under certain (not defined) Windows/BCC environments. Same change done for VC to stay in sync. 2007-11-26 06:15 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.mak * harbour/make_gcc.mak * harbour/make_vc.mak * harbour/make_vcce.mak ! Fixed generation of pptable.c for dll build (I am amazed how it used to work before) * Changed -Iobj\$(HB_CC_NAME) to -I$(OBJ_DIR) 2007-11-26 09:46 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh ! fixed typo * harbour/contrib/gtwvg/gtwvt.c * use hb_strncpy() instead of strcpy() 2007-11-26 08:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/gtwvt.h * harbour/contrib/gtwvg/gtwvt.c * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * casting and minor formatting 2007-11-26 06:15 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak ! HB and HBPPGEN definitions moved to end of file, because they have to be defined after HARBOUR_EXE and HBPPGEN_EXE 2007-11-26 02:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/wvtcore.c ! fixed typo 2007-11-26 02:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/gtwvt.h * harbour/contrib/gtwvg/gtwvt.c * harbour/contrib/gtwvg/wvtcore.c * moved hb_wvt_GetStringAttrib(), hb_wvt_PutStringAttrib(), hb_wvt_gtLoadPictureFromResource(), hb_wvt_gtLoadPicture(), hb_wvt_gtRenderPicture(), hb_wvt_gtDestroyPicture() from gtwvt.c to wvtcore.c * changed hb_wvt_GetStringAttrib() and hb_wvt_PutStringAttrib() to work with any GTs ! removed GTWVG internal screen buffer and fixed to work well woth core code screen buffer ! some fixes borrowed from Harbour GTWVT * synced most of contrib/gtwvg/gtwvt.c code with rtl/gtwvt/gtwvt.c - removed unused GLOBAL_DATA members: foreground, background, BUFFERSIZE, byAttributes, byBuffer, pAttributes, pBuffer, caretPos, displayCaret, RectInvalid Pritpal please check if it works for you with GUI extensions. I've tested it as normal GT driver and it works correct in my tests. 2007-11-25 23:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c + extended GTI_WINTITLE to return window title: hb_gtInfo( GTI_WINTITLE [, ] ) -> * formatting and code cleanup 2007-11-25 23:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/what32/Makefile + contrib/what32/make_b32.bat + contrib/what32/make_vc.bat + contrib/what32/common.mak + Added GNU and non-GNU make files for what32. ; Not fully tested, because I stumbled across a few problems when compiling: - for BCC32 this lib needs TASM32 (non-free AFAIS) - it need xhb lib and headers - several .prg warnings, so it needs PRG_USR=-w1 before building. - error in .prg: .\wintabs.prg(98) Warning W0001 Redefinition or duplicate definition of #define TCN_SELCHANGE ; An MSVC warning: - ..\..\obj\vc\wincore.c(711) : warning C4129: 'w' : unrecognized character escape sequence This is inline C code in wincore.prg 2007-11-25 13:15 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/what32 + wininet.ch + winerror.prg + windebug.prg + wintabs.prg + wintbar.prg Renamed/synchronised for GNU makes. 2007-11-25 13:07 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/what32 - wininet.CH - errorsys.prg - debug.prg - wintabs.Prg - wintbar.Prg Removed to have all lower case and avoid name conflicts. 2007-11-25 20:20 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/common.mak * harbour/make_b32.mak * harbour/make_gcc.mak * harbour/make_vc.mak * harbour/make_vcce.mak * Moved HB and HBPPGEN definitions to common.mak to reduce unnecesary redundancy * harbour/contrib/make_b32.bat * harbour/contrib/make_vc.bat * Enclosed "help usage message" in double quotes due to special meaning of "<>" symbols in command processor. 2007-11-25 11:00 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) + harbour/contrib/what32 + _winbmp.c + _winbrsh.c + _wincall.c + _wincdlg.c + _winclpb.c + _wincomm.c + _wincret.c + _windate.c + _windc.c + _windir.c + _windlg.c + _windll.c + _windraw.c + _winfont.c + _wingdi.c + _winhead.c + _winicon.c + _winlist.c + _wininet.c + _winini.c + _winkbrd.c + _winlv.c + _winmain.c + _winmapi.c + _winmem.c + _winmenu.c + _winmeta.c + _winmisc.c + _winmmcap.c + _winmous.c + _winmsg.c + _winpen.c + _winprn.c + _winrect.c + _winreq.c + _winrgn.c + _winscrlb.c + _winserial.c + _winshell.c + _winsock.c + _winsys.c + _wintab.c + _wintbar.c + _wintext.c + _wintree.c + _winview.c + _winwnd.c + commctrl.ch + commdlg.ch + debug.ch + import.ch + sqltypes.ch + what32.ch + wingdi.ch + wininet.ch + winstruc.ch + wintypes.ch + winuser.ch + debug.prg + errorsys.prg + whatutil.prg + wincdlg.prg + wincomm.prg + wincore.prg + winini.prg + winrbar.prg + wintabs.prg + wintbar.prg Initial upload of xharbour/contrib/what32. Direct item access replaced with api calls. Still untested. 2007-11-25 12:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/wvtutils.c ! changed 'template' used as variable name to 'lpTemplate' Some C++ compilers may not accept 'template' as variable name because 'template' has special meaning in C++ so please do not use such name - thanks to Andi 2007-11-25 12:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbwmain.c * harbour/source/vm/mainwin.c ! fixed unnecessary conversion of WinMain() parameters on W32/W64 when UNICODE macro is set - thanks to Chen * harbour/source/rdd/sdf1.c * harbour/source/rdd/delim1.c ! fixed code wrongly synced with xHarbour - in Harbour HB_SET_EOL is char* not PHB_ITEM - thanks to Andi * harbour/source/compiler/genc.c ! fixed file name in generated for C inline code by escaping special characters - thanks to Andi * harbour/source/rtl/gtwvt/gtwvt.c * minor code cleanup * harbour/contrib/gtwvg/wvtcore.c ! fixed setting default foreground and background color when user does not pass it's own one. Previous versions was using _s->background and _s->foreground - it was wrong because this variables in all GTWVT base GTs (also in xHarbour) contains not default color but the color recently used to redraw some part of screen - f.e. after exposing some region - it means that they can have any value. Such bugs are hard to locate because the same program can be executed many times without any problem and suddenly he will use wrong colors drawing sth - if you observed such effect then it can be the results of the above problem. Now default color is taken from core GT code. Two functions make it: hb_wvt_FgColorParam() and hb_wvt_BgColorParam() Both accept also colors passed as standard Clipper strings. The same should be also fixed in xHarbour just like the problem with executing registered user functions when HVM is closing fixed in previous commit - even if now it does not cause GPF (due to race condition it may be exploited only sometimes) then it does not mean it works correctly. 2007-11-24 20:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * removed unused global hdc * formatting and minor code cleanup * harbour/source/vm/hvm.c + added to hb_vmRequestReenter() support for checking if HVM is properly initialized and working for code which may want to execute PCODE before HVM initialization or after HVM close - in such case hb_vmRequestReenter() will return FALSE. Please also remember that in the future hb_vmRequestReenter() may return FALSE also in some other cases. * harbour/source/vm/eval.c * use hb_vmRequestReenter()/hb_vmRequestRestore() in hb_itemDo[C]() instead of hb_vmPushState()/hb_vmPopState() * harbour/contrib/gtwvg/gtwvt.c ! always use hb_vmRequestReenter()/hb_vmRequestRestore() before executing .prg functions/codeblocks. It will resolve the problem with executing .prg functions during HVM closing. Anyhow I suggest to register C cleanup functions using hb_vmAtExit() for code which needs some additional destructor/closing procedure. * code formatting and indenting 2007-11-24 11:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/gtwin/gtwin.c * source/rtl/gtcrs/gtcrs.h * source/rtl/gtsln/gtsln.h * source/rtl/gttrm/gttrm.c * source/rtl/gtwvt/gtwvt.h + #defining xhb compatible K_SH_* keyboard codes only if they were not already defined. * utils/hbdoc/genasc.prg ! Fixed problem generating filenames for .txt output. Also added LFN branch to get rid of the 8.3 limitation. 2007-11-24 01:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/msql/Makefile * contrib/msql/make_b32.bat * contrib/msql/make_vc.bat * contrib/msql/msql.h * contrib/msql/tmsql.prg ! Fixed to compile with non-GNU BC/VC makefiles. (short-term fixes, there may be better / more generic ways to fix it) ! C warnings fixed. ! Harbour warnings fixed. ! Makefile changed to Harbour standard GNU format. * contrib/make_b32_all.bat * contrib/make_vc_all.bat + msql enabled. - contrib/msql/dbf2msql.prg - contrib/msql/test.prg + contrib/msql/tests + contrib/msql/tests/dbf2msql.prg + contrib/msql/tests/test.prg * Tests moved to tests dir. 2007-11-23 21:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mtpl_vc.mak ! Some minor fixes for VC. - %1 -> %%1 to be on the safe side. - Fixed double execution of inline files. Thanks to Marek. * contrib/make_b32_all.bat * contrib/make_vc_all.bat ! Batch file calling method reset to Marek's version ('%COMSPEC% /c' as opposed to 'call') to avoid any unwanted "crosstalk" between contrib build procedures through the CFLAGS envvar. 2007-11-23 21:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/doc/man/harbour.1 * harbour/source/compiler/hbusage.c + added description for -j switch * harbour/include/hbexprb.c * replaced // comments by /* */ * accept (domain) parameters of HB_i18nGettext() when number of parameters is two or more Should we generate compile time warning when wrong number of parameters is passed to this function or they are not literal strings? Maybe only after -j+ or sth like that? * harbour/include/hbclass.ch * harbour/include/tbrowse.ch * harbour/include/hbpers.ch * harbour/include/getexit.ch * replaced // comments by /* */ 2007-11-23 18:55 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/include/hbexprb.c * changed HB_i18nGettext() to hb_i18n_gettext(), to respect original gettext lowercase function name convention 2007-11-23 06:57 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/gtwvt.c * HB_EXPORT void hb_wvt_GetStringAttrib( USHORT top, USHORT left, USHORT bottom, USHORT right, BYTE * sBuffer, BYTE * sAttrib ) * HB_EXPORT void hb_wvt_SetStringAttrib( USHORT top, USHORT left, USHORT bottom, USHORT right, BYTE * sBuffer, BYTE * sAttrib ) ! Restored. Please keep these functions as is as those have wide-usage. 2007-11-23 12:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c ! fixed bad typo in hb_compI18nAdd() and memmove() range which can cause GPF * changed pFileName to FileName in hb_compI18nSave() to respect used by us naming convention * eliminated strcpy() - do not use strcpy()/strcat() - these functions are reported as dangerous by security restrict compilers. I suggest to use hb_strncpy()/hb_strncat() instead (remember about different size meaning in these functions) or some others depending on context (f.e. hb_strdup() in this case) 2007-11-23 10:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/wvtutils.c * harbour/contrib/gtwvg/wvtcore.c * use lstrlen( text ) instead of strlen( hb_parc( 2 ) ) * removed dummy casting 2007-11-23 09:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbwince.c + added dummy Arc(), FrameRect(), FloodFill() for WinCE builds * harbour/make_gcc.mak ! restored TABs in rules definitions. Viktor TABs for GNU make have special meaning - your last modifications broke this file * harbour/contrib/libmisc/Makefile ! comment DIR rule as temporary workaround for problem with library name 2007-11-22 22:49 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtcore.c ! Fixes for UNICODE Support. ? Przem, please review. I suspect about like these fixes: DrawText( _s->hGuiDC, hb_parcx( 6 ), strlen( hb_parcx( 6 ) ), &rc, iAlignH | DT_WORDBREAK | DT_TOP ); => LPTSTR text = HB_TCHAR_CONVTO( hb_parc( 6 ) ); DrawText( _s->hGuiDC, text, strlen( hb_parc( 6 ) ), &rc, iAlignH | DT_WORDBREAK | DT_TOP ); ^--------------------^ OK | How to compute length of "text" 2007-11-22 21:45 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/wvtutils.c ! Fixes for UNICODE Support. ? Przem, please review. It is not complete, still there are warnings. 2007-11-23 05:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gtwvg/wvtcore.c ! casting * harbour/source/rtl/memofile.c * cleaned warning in *nixes 2007-11-23 05:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * removed foreground and background from GLOBAL_DATA - they are not necessary + added support for gfxPrimitive() - fixed xHarbour code * harbour/contrib/gtwvg/gtwvt.c + added support for gfxPrimitive() - fixed xHarbour code * removed some methods which can be safely replaced by default ones * harbour/tests/gfx.prg * harbour/tests/wcecon.prg * harbour/tests/gtchars.prg * updated the order of changed font parameters * harbour/contrib/xhb/hbcompat.ch ! added missing closing square bracket 2007-11-23 04:59 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_b32.bat * make_vc.bat * make_vcce.bat + Accepts "Install" and "Clean" consistently. ! Not directly modifying C_USR, instead use CFLAGS internally. * contrib/make_b32_all.bat * contrib/make_vc_all.bat * contrib/make_b32.bat * contrib/make_vc.bat * contrib/mtpl_b32.bat * contrib/mtpl_vc.bat * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak - contrib/mtpl_defs.mak % Removed COPYCMD requirement. ! Not modifying any user level envvars anymore. (so no need for COMPSPEC trick to call another copy of command com) ! Some other smaller fixes. ! Fixed rdd_ads in make_*_all.bats. * Removed the simple common part for BC/VC to consistently separate the BC/VC make file system. The only common part now is common.mak in each contrib. (Marek I hope you don't mind, I promise to update them in case of changes. We have quite some reduancy between BC/VC anyway, so this won't hurt much overall, but they are now nicely separated and maybe bit easier to oversee for someone new to the project. ! Avoiding 'exit' command, as it stops all batch file execution, and as a bad side-effect can force to exit shells too. - CFLAGS, CLIBFLAGS, HARBOURFLAGS not advertised anymore as official public vars to set compiler flags. C_USR, PRG_USR should be used, which are also GNU make system compatible. ! Fixed copyrights. ! Tabs converted to spaces. 2007-11-23 03:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat * contrib/examples/dbu/bld_b32.bat * contrib/firebird/make_b32.bat * contrib/firebird/make_vc.bat * contrib/freeimage/make_b32.bat * contrib/freeimage/make_vc.bat * contrib/gd/make_b32.bat * contrib/gd/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat * contrib/odbc/make_b32.bat * contrib/odbc/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat + Accepts "Install" and "Clean" consistently. * Not using "exit" command anymore. ! Restored some lost changes. ! Not directly modifying C_USR, instead use CFLAGS internally. + Now rddads will find ace32.dll in system32 dir too. ; It's not possible to set HB_DLL_DIR directly now, just through the _DIR envvar. Some contribs may try to "autodetect" the exact location of the .dll (currently rddads). 2007-11-23 03:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_b32.mak * make_gcc.mak * make_vc.mak * make_vcce.mak * common.mak ! Fixed copyrights. ! Tabs converted to spaces. - CFLAGS not advertised anymore as an official public var to set compiler flags. C_USR should be used, which is also GNU make system compatible. * make_vc.mak * make_vcce.mak ! Removed /Y from copy command (we're using the COPYCMD trick in core make files). - contrib/adordd/access1.prg - contrib/adordd/access2.prg - contrib/adordd/mysql1.prg - contrib/adordd/mysql3.prg + contrib/adordd/tests + contrib/adordd/tests/access1.prg + contrib/adordd/tests/access2.prg + contrib/adordd/tests/mysql1.prg + contrib/adordd/tests/mysql3.prg - contrib/btree/mktest.bat + contrib/btree/test/mktest.bat - contrib/samples/testdate.prg - contrib/samples/testenv.prg - contrib/samples/testgaug.prg - contrib/samples/testnum.prg - contrib/samples/teststat.prg - contrib/samples/testtime.prg - contrib/samples/tststack.prg + contrib/samples/tests + contrib/samples/tests/testdate.prg + contrib/samples/tests/testenv.prg + contrib/samples/tests/testgaug.prg + contrib/samples/tests/testnum.prg + contrib/samples/tests/teststat.prg + contrib/samples/tests/testtime.prg + contrib/samples/tests/tststack.prg * Test related files moved to test dir. ! Added EOLs to the last line in adordd files. - contrib/gd/README + contrib/gd/readme.txt * Renamed to use proper extension. * contrib/adordd/common.mak * contrib/apollo/common.mak * contrib/bmdbfcdx/common.mak * contrib/btree/common.mak * contrib/directx/common.mak * contrib/firebird/common.mak * contrib/freeimage/common.mak * contrib/gd/common.mak * contrib/hbzlib/common.mak * contrib/hgf/win32/common.mak * contrib/htmllib/common.mak * contrib/ole/common.mak * contrib/pdflib/common.mak * contrib/pgsql/common.mak * contrib/libct/common.mak * contrib/libgt/common.mak * contrib/libnf/common.mak * contrib/libmisc/common.mak * contrib/mysql/common.mak * contrib/odbc/common.mak * contrib/rdd_ads/common.mak * contrib/samples/common.mak * contrib/telepath/common.mak * contrib/tip/common.mak * contrib/win32/common.mak * contrib/xhb/common.mak * Formatting made consistent. * contrib/adordd/common.mak * contrib/bmdbfcdx/common.mak * contrib/btree/common.mak * contrib/freeimage/common.mak * contrib/gd/common.mak * contrib/hgf/win32/common.mak * contrib/libct/common.mak * contrib/libnf/common.mak * contrib/mysql/common.mak * contrib/odbc/common.mak * contrib/pdflib/common.mak * contrib/pgsql/common.mak * contrib/rdd_ads/common.mak * contrib/samples/common.mak * contrib/tip/common.mak * contrib/xhb/common.mak + Added headers. * contrib/btree/common.mak * contrib/freeimage/common.mak * contrib/freeimage/Makefile * contrib/hbzlib/common.mak * contrib/hbzlib/Makefile * contrib/libct/common.mak * contrib/libmisc/common.mak * contrib/libmisc/Makefile * contrib/mysql/common.mak ! Library names synced between GNU and non-GNU make systems. ! Some libraries renamed to not have a too common or non-descriptive name, like "misc". non-GNU hb_btree -> hbbtree (synced with GNU) non-GNU fi_lib -> hbfreeimage GNU fi_lib -> hbfreeimage non-GNU hbzip -> hbziparch GNU ziparchive -> hbziparch non-GNU libct -> ct (synced with GNU) non-GNU libmisc -> hbmisc GNU misc -> hbmisc non-GNU mysql -> hbmysql (synced with GNU) * contrib/apollo/Makefile * contrib/firebird/Makefile ! Fixed space to tabs. + contrib/msql/make_b32.bat + contrib/msql/make_vc.bat + contrib/msql/common.mak + Added non-GNU make files. ; TOFIX: I cannot compile these still. * contrib/msql/Makefile ! Added SVN header. ; TOFIX: This is a non-standard Makefile. Did anyone manage to compile this lib? * contrib/adordd/adordd.ch * contrib/adordd/adordd.prg ! Added EOLs to the last line. * utils/hbmake/hbmutils.prg * Lib names fixed and changed to reflect the recent changes in contrib. * contrib/rdd_ads/rddads.h ! Minor cosmetic fix. * include/hbextern.ch * source/rtl/memofile.c ! MEMOWRIT() 3rd parameter marked as extension. + HB_MEMOWRIT() function added, which never writes the obsolete EOF char at the end of the file. 2007-11-23 03:55 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/include/hbcompdf.h * harbour/source/include/hbexprop.h * harbour/source/include/hbexprb.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/hbmain.c + added i18n support Implemented -j[filename] switch to indicate output filename. Default filename is .pot. If switch -o is used, this file is created in specified output path. Output file format is compatible with 'gettext' utils, but not all available features are implemented. Harbour level function HB_i18nGettext( cText [, cContext ] ) should be used to indicate translatable strings. All this commit is commented using #ifdef HB_I18N_SUPPORT and is in development stage. Please, do not use it yet. 2007-11-23 01:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + gtwvg/common.mak + gtwvg/make_b32.bat + gtwvg/make_vc.bat + Added non-GNU make files. ; TOFIX: gtwvt.obj will clash with the core file with this name, so this won't properly work yet. * gtwvg/wvtpaint.prg ! HB_INLINE() -> hb_bitAnd() * gtwvg/Makefile * Minor formatting. 2007-11-23 01:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbvm.h * harbour/source/vm/hvm.c * make hb_vmPushNumInt() public function * harbour/contrib/gtwvg/wvtcore.c ! fixed hb_wvt_gtDlgProcMLess() and hb_wvt_gtDlgProcModal() - fixed GPF when codeblock are used - use hb_vmPushNumInt() instead of hb_vmPushLong() to push handles and numbers with potentially unknown size. I still suggest to use pointers ITEMs instead of converting handles to numbers but I'm leaving such modifications to library authors - using hb_vmPushNumInt() is a workaround for striping highest 32 bit from handles by hb_vmPushLong() in XP64 - use hb_vmRequestReenter() / hb_vmRequestRestore() to avoid crash when function/codeblock is executed during HVM has been serving an exception (f.e. BREAK/QUIT/RETURN) 2007-11-22 18:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.c * declared two functions hb_gt_wvt_AddCharToInputQueue() and hb_gt_wvt_AddCharToInputQueue() as static - they were public by mistake * harbour/contrib/gtwvg/wvtcore.c * harbour/contrib/gtwvg/gtwvt.c * moved hb_wvt_gtDlgProcMLess() and hb_wvt_gtDlgProcModal() from gtwvt.c to wvtcore.c These both functions are wrong and have to be fixed. * farther cleanup: - declared some internal functions as static - synced some other with GTWVT - removed some repeated declarations 2007-11-22 14:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbwince.h + added HB_TCHAR_CONVNREV() macro * harbour/contrib/gtwvg/wvtutils.c * harbour/contrib/gtwvg/wvtcore.c * harbour/contrib/gtwvg/gtwvt.c * cleaned MinGW warnings ! fixed compilation with HB_TR_LEVEL_DEBUG * some minor cleanup in UNICODE conversions 2007-11-22 12:21 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwvt/gtwvt.c * formatting * harbour/contrib/gtwvg/gtwvt.h * harbour/contrib/gtwvg/gtwvt.c * removed some unused code and redirect some methods to common for all MS-Win GTs functions. Pritpal this code needs cleanup. Now it's xHarbour GT hacked to compile and link with Harbour API. It means that this code also inherited some small incompatibilities to Clipper which exists in xHarbour GTs. If you agree I'll try to systematically clean it and as I can see IMO the final version will look like GTWVT in core code plus some additional code so it can be quite easy separated. Probably with some small modifications in GTWVT it will be possible to remove these two files from GTWVG at all changing GTWVG to inherit from core GTWVT. Such separation will also show what is core GT code and what is GUI Windows extension what should help in defining common multi platform API. 2007-11-21 22:57 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) * harbour/contrib/gtwvg/gtwvt.c ! Suppressed warnings. 2007-11-22 04:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/make_rpmce.sh * harbour/make_rpmw32.sh * updated for removed ace.h * harbour/bin/pack_src.sh * updated for some recent modifications in contrib/pgsql TOFIX: it should be updated for all recent modifications in contrib and MS-Windows build scripts. * harbour/bin/hb-func.sh + added gtwvg to -gt* parameters in hb* scripts * harbour/contrib/Makefile + added gtwvg in W32 builds * harbour/contrib/xhb/hbcomprs.c * harbour/contrib/xhb/hbcomprs.h * cleaned some warnings * harbour/contrib/gtwvg/gtwvt.h * harbour/contrib/gtwvg/wvtutils.c * harbour/contrib/gtwvg/wvtpaint.prg * harbour/contrib/gtwvg/wvtwin.ch * harbour/contrib/gtwvg/wvtcore.c * harbour/contrib/gtwvg/gtwvt.c * harbour/contrib/gtwvg/Makefile * harbour/contrib/gtwvg/wvtclass.prg * set svn attributes: svn ps svn:eol-style native svn ps svn:keywords Id Pritpal please remember about it before you commit new files. For .bat files use svn ps svn:eol-style CRLF or better set default attribute in your SVN config file so you will not have to set it manually each time you are adding new file. 2007-11-21 06:08 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) + contrib/gtwvt + gtwvt.c + gtwvt.h + wvtcore.c + wvtutils.c + wvtpaint.prg + wvtclass.prg + wvtwin.ch * Initial port of xHarbour's GTWVT + WVTGUI in a combined manner. ? Please create the make files as I am poor in this field. ? Przem, please add switches to hnmk/hbcemk files for -gtwvg as is done for -gtwvt. 2007-11-22 01:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/fssize.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/filesys.c * set _LARGEFILE64_SOURCE in all builds and use HB_USE_LARGEFILE64 macro (set automatically when __USE_LARGEFILE64 is defined too or HB_OS_HPUX && O_LARGEFILE) to enable large file support in 32 bit POSIX systems. It should help to enable large file support in other then Linux different 32 bit *nixes. I hope it will resolve Sandro problems with HPUX. * harbour/source/vm/itemapi.c * do not return DATE item value in hb_itemGetNDDec() It was old and unused xHarbour only code - now hb_itemGetNDDec() is compatible with hb_itemGetND() * harbour/source/rtl/seconds.c ! fixed typo in BSD builds BTW can someone test current SVN code with Solaris? I will not be able to make such test myself in the nearest few weeks. 2007-11-21 21:45 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/mtpl_defs.mak * harbour/contrib/mtpl_b32.mak * harbour/contrib/mtpl_vc.mak * Resored Viktor's Copyright removed by mistake in my last commit 2007-11-21 21:10 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) - harbour/contrib/make_all.mak - harbour/contrib/mtpl_ruls.mak - Removed due to explict request from Viktor to revert new make system * harbour/contrib/make_b32_all.bat * harbour/contrib/make_vc_all.bat * Restored to my original version * After restoration modified to allow proper compilation under Win98 * Blocked compilation for contribs required additional setting (Sorry Viktor I do not share your opinion in regard to this issue) + harbour/contrib/make_b32.bat + harbour/contrib/make_vc.bat + Restored to my original version * Modified to show which dir is compiled * harbour/contrib/mtpl_b32.mak * harbour/contrib/mtpl_vc.mak * Removed makefile integration between Bcc and Msvc. You now HAVE TO do duplicative work to modify CLEAN and INSTALL rule. IMO this is wrong behavior, but requested by Viktor. 2007-11-21 19:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c + added emulation for clipboard in core GT code. Now: hb_gtInfo( GTI_CLIPBOARDDATA ) -> and: hb_gtInfo( GTI_CLIPBOARDDATA, ) is working in all GTs even if such functionality is not supported by OS. 2007-11-21 18:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_vcce.bat * harbour/make_vcce.mak * harbour/make_b32.mak * harbour/common.mak * harbour/contrib/make_all.mak * harbour/contrib/mtpl_ruls.mak * harbour/make_gcc.mak + added missing Marek's Copyright * set svn attributes: svn ps svn:eol-style [native|CRLF] svn ps svn:keywords Id * harbour/contrib/mtpl_defs.mak * harbour/contrib/mtpl_b32.mak * harbour/contrib/mtpl_vc.mak + added missing Marek's and Viktor's Copyrights * set svn attributes: svn ps svn:eol-style [native|CRLF] svn ps svn:keywords Id Viktor, Marek if I missed sth then please fix me. * harbour/make_gcc.sh * added mine Copyright note 2007-11-21 17:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/make_all.mak * harbour/contrib/make_b32_all.bat * harbour/contrib/make_vc_all.bat * harbour/contrib/mtpl_b32.bat * harbour/contrib/mtpl_b32.mak * harbour/contrib/mtpl_vc.bat * harbour/contrib/mtpl_vc.mak * Adopted to new make system - Handling of PRG_HEADERS and C_HEADERS is implemented. All common.mak files from contrib dirs should be modified to add those defines if required. Only those headers defined in PRG_HEADERS and C_HEADERS are installed into HB_INC_INSTALL dir. If this dir is equal HB_ROOT those header are automaticaly CLEANed. - Changed "echo." to "echo" for Borland makefiles to enable proper work on Win2003 + harbour/contrib/mtpl_defs.mak + Rules for Bcc and Msvc are unified now and placed into a new makefile, "included" by mtpl_b32.mak and mtpl_vc.mak. + harbour/contrib/mtpl_ruls.mak - harbour/contrib/mtpl.mak + Renamed to more verbose name - harbour/contrib/make_b32.bat - harbour/contrib/make_vc.bat - Removed - no longer neccesary * harbour/contrib/libmisc/make_b32.bat * harbour/contrib/libmisc/make_vc.bat * harbour/contrib/libnf/delone.bat * harbour/contrib/libnf/make_b32.bat * harbour/contrib/libnf/make_vc.bat * harbour/contrib/mysql/delone.bat * harbour/contrib/mysql/make_b32.bat * harbour/contrib/mysql/make_vc.bat * harbour/contrib/odbc/a_mk_vc.bat * harbour/contrib/odbc/delone.bat * harbour/contrib/odbc/make_b32.bat * harbour/contrib/odbc/make_vc.bat * harbour/contrib/odbc/mhlp_b32.bat * harbour/contrib/odbc/mhlp_vc.bat * harbour/contrib/ole/delone.bat * harbour/contrib/ole/make_b32.bat * harbour/contrib/ole/make_vc.bat * harbour/contrib/pdflib/delone.bat * harbour/contrib/pdflib/make_b32.bat * harbour/contrib/pdflib/make_vc.bat * harbour/contrib/pgsql/delone.bat * harbour/contrib/pgsql/make_b32.bat * harbour/contrib/pgsql/make_vc.bat * harbour/contrib/rdd_ads/delone.bat * harbour/contrib/rdd_ads/make_b32.bat * harbour/contrib/rdd_ads/make_vc.bat * harbour/contrib/samples/delone.bat * harbour/contrib/samples/make_b32.bat * harbour/contrib/samples/make_vc.bat * harbour/contrib/telepath/delone.bat * harbour/contrib/telepath/make_b32.bat * harbour/contrib/telepath/make_vc.bat * harbour/contrib/tip/delone.bat * harbour/contrib/tip/make_b32.bat * harbour/contrib/tip/make_vc.bat * harbour/contrib/win32/a_mk_bc.bat * harbour/contrib/win32/delall.bat * harbour/contrib/win32/delone.bat * harbour/contrib/win32/make_b32.bat * harbour/contrib/win32/make_vc.bat * harbour/contrib/xhb/delone.bat * harbour/contrib/xhb/make_b32.bat * harbour/contrib/xhb/make_vc.bat * Adopted to new make system * harbour/common.mak * harbour/make_b32.mak * harbour/make_gcc.mak * harbour/make_vc.mak * harbour/make_vcce.mak * Minor cleanup 2007-11-21 05:44 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * harbour/harbour.spec * harbour/make_rpmce.sh * harbour/make_rpmw32.sh * harbour/make_rpm.sh * changed --without adsrdd to --with adsrdd now ADS* RDDs are not created by default * harbour/make_rpm.sh * set '--with adsrdd' when ${HOME}/ads/acesdk/ace.h or /usr/local/ads/acesdk/ace.h exists * harbour/contrib/rdd_ads/Makefile + added ${HOME}/ads/acesdk/ace.h as alternative ace.h location * harbour/source/rdd/hbsix/sxini.prg ! fixed typo 2007-11-20 19:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh ! fixed using -o in hbcc * harbour/contrib/rdd_ads/rddads.h ! small hack for Linux compilation and compilers which do not set unix macro * harbour/contrib/rdd_ads/Makefile * added /usr/local/ads/acesdk to include directory list Viktor the side effect of removing ace.h from our repository is blocking ADS* RDDs compilation by people who do not have ACE installed - I expect it will be serious problem in creating BETA4 binaries because not all people who create them have ACE installed or even want to install it and without these RDDs for many users new Harbour version will be unusable. * harbour/source/rtl/seconds.c ! fixed stupid typo in milliseconds calculation * harbour/contrib/xhb/hbchksum.c * harbour/contrib/xhb/hbcomprs.c * harbour/contrib/xhb/hbcomprs.h ! use hb_retclenAdopt() instead of hb_retclenAdoptRaw() + svn:keywords Id svn:eol-style native TOFIX - these files have to be removed or changed to avoid name conflicts with ZLIB - personally I vote to add real ZLIB wrapper and only xHarbour compatible .prg functions when they are necessary. Probably only: HB_COMPRESS(), HB_UNCOMPRESS(), HB_COMPRESSBUFLEN() and maybe: HB_COMPRESSERROR(), HB_COMPRESSERRORDESC() In xHarbour: HB_CHECKSUM( [, ] ) -> is exactly the same function as in Harbour: HB_ADLER32( [, ] ) -> with the exception to bug with negative values fixed in Harbour only. 2007-11-20 17:02 UTC+0100 Miguel Angel Marchuet Frutos * contrib/xhb/common.mak + Added some missing lines (suggested by Juan Gálvez) 2007-11-20 13:45 UTC+0100 Miguel Angel Marchuet Frutos * contrib/bmdbfcdx/bmdbfcdx1.c * synced with dbfcdx as nedded 2007-11-19 20:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/examples/dbu/bld_b32.bat * Now the non-GNU build batch file will look for DBU source in the original CA-Cl*pper installation, if specified (using 'set CLIPPER_DIR=C:\CLIPPER5\'). 2007-11-19 20:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/rdd_ads/test + contrib/rdd_ads/test/testmg.prg - contrib/rdd_ads/testmg.prg * Moved. * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/rdd_ads/adsmgmnt.c - contrib/rdd_ads/ace.h + Non-GNU make files standardized. You'll need to set these envvars to tell the package (Advantage Client Engine) location (and version): set ADS_DIR=C:\ads\acesdk set ADS_VER=810 * ADS_VER is optional, if not speficied, zero will be returned as "index sort buffer size" by AdsMgGetConfigInfo(). ; The exact .dll location inside the package dir will be detected (tested 6.11-8.10) - Now ADS header is not included anymore in Harbour. Notice that this header file is a copyrighted file where such distribution is not permitted. Anyhow, distributing other packages headers is not good practice anyway. * contrib/rdd_ads/rddads.h * WatcomC / LCC hack implemented outside ace.h. Please test this as I don't have any of these compilers. 2007-11-19 19:03 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/compiler/hbopt.c ! fixed HB_P_MACROFUNC optimization 2007-11-19 15:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/examples/dbu + contrib/examples/dbu/readme.txt + contrib/examples/dbu/bld_b32.bat + contrib/examples/dbu/Makefile + Added make files for original CA-Cl*pper DBU. One will need the original sources to compile. 2007-11-18 23:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/mtpl_b32.bat + contrib/mtpl_vc.bat + Added generic non-GNU make batch files. ; Thanks to Marek. * utils/hbmake/hbmutils.prg ! Some untested fixes to hbmake. If someone uses this tool, pls send reports. - contrib/mkall_b32.bat * contrib/make_b32_all.bat + contrib/make_vc_all.bat * Renamed. + VC version added. * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak ! Minor fix by Marek. * contrib/rdd_ads/doc/gendoc.bat ! Fix to run from its place. * contrib/rdd_ads/adsmgmnt.c ! Fixed to compile with ADS 8.10. #define ADS_VER=810 (or upper) to enable this. * contrib/rdd_ads/rddads.h ! Fixed to compile using original ads.h headers. (tested with 6.11, 7.00, 7.10, 8.00, 8.10) * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c ! Suppressed this BCC32 warning using #pragma: 'Call to function 'AdsApplicationExit' with no prototype in function ...' + contrib/rdd_ads/unixutils.h + Added dummy header to fix compilation under Linux, using the original ads.h headers. Not tested. Supposed to replace the workaround currently in local ads.h where '#include "unixutils.h"' is commented out. * contrib/rdd_ads/readme.txt ! Added SVN header. * contrib/pgsql/Makefile * contrib/pgsql/common.mak + Added pgrdd.prg to make files. - contrib/pgsql/tstpgrdd.prg + contrib/pgsql/tests/tstpgrdd.prg ! Moved test to test dir. * contrib/pgsql/pgrdd.prg ! Fixed warnings. - contrib/pgsql/README + contrib/pgsql/readme.txt * Rename. * contrib/pgsql/common.mak ! Lib name change: libhbpg -> hbpg + contrib/pgsql/tests/bld_b32.bat + Added test app build helper. * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/ole/make_b32.bat * contrib/ole/make_vc.bat * contrib/xhb/make_b32.bat * contrib/xhb/make_vc.bat * contrib/libmisc/make_b32.bat * contrib/libmisc/make_vc.bat * contrib/freeimage/make_b32.bat * contrib/freeimage/make_vc.bat * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat * contrib/firebird/make_b32.bat * contrib/firebird/make_vc.bat * contrib/htmllib/make_b32.bat * contrib/htmllib/make_vc.bat * contrib/libct/make_b32.bat * contrib/libct/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/libgt/make_b32.bat * contrib/libgt/make_vc.bat * contrib/hgf/win32/make_b32.bat * contrib/hgf/win32/make_vc.bat * contrib/telepath/make_b32.bat * contrib/telepath/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/gd/make_b32.bat * contrib/gd/make_vc.bat * contrib/libnf/make_b32.bat * contrib/libnf/make_vc.bat * contrib/tip/make_b32.bat * contrib/tip/make_vc.bat * contrib/adordd/make_b32.bat * contrib/adordd/make_vc.bat * contrib/btree/make_b32.bat * contrib/btree/make_vc.bat * contrib/directx/make_b32.bat * contrib/directx/make_vc.bat * contrib/win32/make_b32.bat * contrib/win32/make_vc.bat * contrib/samples/make_b32.bat * contrib/samples/make_vc.bat * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat * contrib/odbc/make_b32.bat * contrib/odbc/make_vc.bat * contrib/bmdbfcdx/make_b32.bat * contrib/bmdbfcdx/make_vc.bat % Using the batch file templates. + Some other additions and fixes related to make it easy to specifiy 3rd party package locations. These envvars can be used for our libs: set APOLLO_DIR=C:\Apollo set FIREBIRD_DIR=C:\Firebird set FREEIMAGE_DIR=C:\FreeImage set GD_DIR=C:\gd set MYSQL_DIR=C:\mysql set PDFLIB_DIR=C:\pdflib set PGSQL_DIR=C:\pgsql 2007-11-18 12:09 UTC+0800 Pritpal Bedi (pritpal@vouchcac.com) + contrib/xhb/hbcomprs.c % Direct access to item values changed to api calls. + contrib/xhb/hbchksum.c % Direct access to item values changed to api calls. + contrib/xhb/hbcomprs.h Hb_Compress(), Hb_Uncompress(), Hb_CheckSum() functions made available. Borrowed from xHarbour. 2007-11-18 13:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/hbcompat.ch + Added xhb SecondsSleep() translation. * contrib/freeimage/make_b32.bat * contrib/freeimage/make_vc.bat * contrib/firebird/make_b32.bat * contrib/firebird/make_vc.bat ! Some fixes. * contrib/libct/cttime.prg ! SECTOTIME() fix. Borrowed from xhb. * contrib/apollo/apollo.c * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat ! Fixed and tested with latest downloadable package. * contrib/win32/w32_tprn.prg * contrib/win32/w32_prn.c + Minor fix (from xhb) * source/rtl/errorint.c ! Defaulting all string parameters to "" when they are NULL to avoid any potential problems later in the function. * source/rtl/hbgtcore.c % Passing NULL instead of "" in hb_errInternal() calls. * source/vm/itemapi.c ! Internal error is lauched in case the parameters passed to hb_itemPutCLConst() are violating string item rules. Thanks for Mindaugas for the suggestion. TOFIX: Since this violation will most probably happen in contrib/win32 OLE code, we'll need to fix that code too. * utils/hbmake/hbmake.prg ! Fixed to not request wvtgui.lib. 2007-11-17 12:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/make_b32.bat * contrib/make_vc.bat * contrib/mkall_b32.bat ! Added SVN headers. ! Fixed SVN properties (keywords, eol-style=CRLF). 2007-11-17 12:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/cstructc.c * contrib/make_b32.bat ! Some fixes for recent changes. 2007-11-17 10:20 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/contrib/adordd/make_b32.bat * harbour/contrib/adordd/make_vc.bat * harbour/contrib/apollo/make_b32.bat * harbour/contrib/apollo/make_vc.bat * harbour/contrib/bmdbfcdx/make_b32.bat * harbour/contrib/bmdbfcdx/make_vc.bat * harbour/contrib/btree/make_b32.bat * harbour/contrib/btree/make_vc.bat * harbour/contrib/directx/make_b32.bat * harbour/contrib/directx/make_vc.bat * harbour/contrib/firebird/make_b32.bat * harbour/contrib/firebird/make_vc.bat * harbour/contrib/freeimage/make_b32.bat * harbour/contrib/freeimage/make_vc.bat * harbour/contrib/gd/make_b32.bat * harbour/contrib/gd/make_vc.bat * harbour/contrib/hbzlib/make_b32.bat * harbour/contrib/hbzlib/make_vc.bat * harbour/contrib/htmllib/make_b32.bat * harbour/contrib/htmllib/make_vc.bat * harbour/contrib/libct/make_b32.bat * harbour/contrib/libct/make_vc.bat * harbour/contrib/libgt/make_b32.bat * harbour/contrib/libgt/make_vc.bat * harbour/contrib/libmisc/make_b32.bat * harbour/contrib/libmisc/make_vc.bat * harbour/contrib/libnf/make_b32.bat * harbour/contrib/libnf/make_vc.bat * harbour/contrib/mysql/make_b32.bat * harbour/contrib/mysql/make_vc.bat * harbour/contrib/odbc/make_b32.bat * harbour/contrib/odbc/make_vc.bat * harbour/contrib/ole/make_b32.bat * harbour/contrib/ole/make_vc.bat * harbour/contrib/pdflib/make_b32.bat * harbour/contrib/pdflib/make_vc.bat * harbour/contrib/pgsql/make_b32.bat * harbour/contrib/pgsql/make_vc.bat * harbour/contrib/rdd_ads/make_b32.bat * harbour/contrib/rdd_ads/make_vc.bat * harbour/contrib/samples/make_b32.bat * harbour/contrib/samples/make_vc.bat * harbour/contrib/telepath/make_b32.bat * harbour/contrib/telepath/make_vc.bat * harbour/contrib/tip/make_b32.bat * harbour/contrib/tip/make_vc.bat * harbour/contrib/win32/make_b32.bat * harbour/contrib/win32/make_vc.bat * harbour/contrib/xhb/make_b32.bat * harbour/contrib/xhb/make_vc.bat ! Synced with recent changes to main bat files from harbour dir + harbour/contrib/make_b32.bat + harbour/contrib/make_vc.bat + harbour/contrib/mkall_b32.bat + Added bat files for compiling (almost) all contribs 2007-11-17 07:20 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/make_b32.bat * harbour/make_vc.bat * harbour/make_vcce.bat + Customize showing error log file in case of compilation error ! Do not remove error log file if CLEAN rule fails. * harbour/make_vcce.mak ! Minor formatting 2007-11-17 03:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/win32/w32_ole.c ! Fixed more direct item accesses. Now only complicated cases remain. 2007-11-17 03:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_vcce.bat * make_vcce.mak ! Minor corrections (syncing with existing files). * doc/genhtm.bat ! Minor fix to make it work out of the box. - Some obsolete stuff removed from it. * include/hbapiitm.h * include/hbapi.h * source/vm/itemapi.c + Added hb_itemPutCLConst() which is the same as hb_itemPutCConst() but the buffer length can be passed. Same as xhb hb_itemPutCRawStatic(). + contrib/xhb/hbcompat.h + Added C level compatibility header file. * contrib/win32/w32_ole.c ! hb_itemPutCRawStatic() -> hb_itemPutCLConst() ! Some more xhb API calls changed to Harbour ones. ! TraceLog() -> HB_TRACE() ! HB_ITEM s_OleAuto -> PHB_ITEM s_pOleAuto TOFIX (new): s_pOleAuto is not freed on app exit. ! Fixed a few more internal accesses by using API calls. ; NOTE: There are four more complicated problems here to be solved: 1) hb_stackSetActionRequest() call 2) Passing direct references to HB_ITEM .value members to external functions. 3) Storing "hidden" information in string ITEMs prepended after the strings' actual content. 4) Not freeing s_pOleAuto (this var BTW is used in one static function only) * source/rtl/hbinet.c * source/rdd/dbcmd.c ! Changed some xhb C level API calls to Harbour ones. * contrib/xhb/Makefile * contrib/freeimage/Makefile * contrib/apollo/Makefile * contrib/firebird/Makefile * contrib/libct/Makefile * contrib/telepath/Makefile * contrib/pgsql/Makefile * contrib/gd/Makefile * contrib/libnf/Makefile * contrib/tip/Makefile * contrib/adordd/Makefile * contrib/rdd_ads/Makefile * contrib/btree/Makefile * contrib/samples/Makefile * contrib/mysql/Makefile * contrib/odbc/Makefile * contrib/pdflib/Makefile ! Added C and Harbour public headers to GNU makefiles. ! Added one missing SVN header. * contrib/pdflib/pdfhbdoc.ch * contrib/pdflib/pdf.ch ! Added missing SVN headers. - contrib/pdflib/pdflib.h - Removed this file which belongs to the pdflib package. This package is needed anyway to use this contrib. (but the contrib is badly broken) * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat ! Minor typo. * source/rtl/persist.prg ! Prefixed static var name with "s_" 2007-11-16 21:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/win32/w32_ole.c ! Some trivial cases fixed where low-level stuff was directly accessed. ! Some remaining static vars prefixed with s_. 2007-11-16 20:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/natmsgu.c ! Typo fixed. 2007-11-16 18:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) + harbour/make_vcce.bat + harbour/make_vcce.mak + Added WinCE/MSVC 8.0 bat/makefile environment 2007-11-16 15:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_b32.mak * make_vc.mak ! Fixed BC/VC make files to generated pptable.c in the obj dir instead of source/pp. ! Synced BC/VC pptable.c dependencies with make_gcc.mak ; Suggested by Przemek. * make_gcc.mak ! Fixed to not delete source/pp/pptable.c on clean (since it's never generated there). 2007-11-16 14:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbsetup.ch ! Minor fix in comments. * contrib/xhb/hbcompat.ch + Added hb_rddInfo() translation for xhb apps. * common.mak * include/hbextern.ch * source/rtl/Makefile + source/rtl/natmsgu.c * source/rtl/natmsg.c + Added Harbour internal version of undocument Clipper Nat*() (and friends) calls. These are always available in core. Harbour __natIsAffirm() = Clipper IsAffirm() Harbour __natIsNegative() = Clipper IsNegative() Harbour __natMsg() = Clipper NationMsg() Harbour __natSortVer() = Clipper _NatSortVer() Harbour __natMsgVer() = Clipper _NatMsgVer() * utils/hbtest/rt_misc.prg * source/rtl/dircmd.prg * source/rtl/getsys.prg * source/rtl/tgetlist.prg * source/rtl/tlabel.prg * source/rtl/treport.prg ! Now using Harbour internal __NAT*() functions instead of C5.x undocumented calls, so Harbour will now compile with HB_C52_UNDOC turned off. 2007-11-16 01:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/freeimage + contrib/freeimage/Makefile + contrib/freeimage/make_b32.bat + contrib/freeimage/make_vc.bat + contrib/freeimage/common.mak + contrib/freeimage/freeimage.ch + contrib/freeimage/fi_winfu.c + contrib/freeimage/fi_wrp.c + contrib/freeimage/readme.txt + contrib/freeimage/test + contrib/freeimage/test/bld_b32.bat + contrib/freeimage/test/fitest.prg + contrib/freeimage/test/sample1.jpg + contrib/freeimage/test/italia.gif + contrib/freeimage/test/fsg.jpg + contrib/freeimage/test/images_out + Added FreeImage OSS library Harbour interface. ! Some minor fixes and file rearrangements made. + Added std make files. ; TOFIX: There is still a potentially dangerous warning to be fixed in FI_GETBACKGROUNDCOLOR() ; Borrowed from xhb. ; NOTE: The lib made some features available through the xhb specific C struct functionality. Since such functionality is not implemented in Harbour, the library would need to be extened with some more wrappers to make C level vars accessible from Harbour code. But even without this functionality, the lib seems quite useful. ; NOTE: The lib also has some Windows specific functions: FI_FITOBITMAP(), FI_BITMAPTOFI(), FI_WINDRAW() + contrib/xhb/hbfast.h + Added this file to enhance C interface code compatibility with xhb. * contrib/firebird/* ! Fixed SVN properties. 2007-11-15 20:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/firebird + contrib/firebird/Makefile + contrib/firebird/make_b32.bat + contrib/firebird/make_vc.bat + contrib/firebird/common.mak + contrib/firebird/tfirebird.prg + contrib/firebird/firebird.c + contrib/firebird/readme.txt + contrib/firebird/test + contrib/firebird/test/Makefile + contrib/firebird/test/bld_b32.bat + contrib/firebird/test/simple.prg + contrib/firebird/test/test.prg + contrib/firebird/test/stress.prg + contrib/firebird/test/testapi.c + Added firebird library, with some warnings and other minor things fixed, and Harbour std non-GNU make / build files added. ; TOFIX: There is still a potentially dangerous warning to be fixed in FBGETBLOB(). ; Borrowed from xhb. * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat ! Fixed to not override C_USR set by user. + contrib/mysql/test + contrib/mysql/test/test.prg - contrib/mysql/test.prg * Moved test file to test dir. 2007-11-15 00:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/make_b32.bat * contrib/xhb/make_vc.bat * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat * contrib/htmllib/make_b32.bat * contrib/htmllib/make_vc.bat * contrib/libct/make_b32.bat * contrib/libct/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/libgt/make_b32.bat * contrib/libgt/make_vc.bat * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/libnf/make_b32.bat * contrib/libnf/make_vc.bat * contrib/gd/make_b32.bat * contrib/gd/make_vc.bat * contrib/tip/make_b32.bat * contrib/tip/make_vc.bat * contrib/adordd/make_b32.bat * contrib/adordd/make_vc.bat * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/btree/make_b32.bat * contrib/btree/make_vc.bat * contrib/directx/make_b32.bat * contrib/directx/make_vc.bat * contrib/win32/make_b32.bat * contrib/win32/make_vc.bat * contrib/samples/make_b32.bat * contrib/samples/make_vc.bat * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat * contrib/odbc/make_b32.bat * contrib/odbc/make_vc.bat * contrib/bmdbfcdx/make_b32.bat * contrib/bmdbfcdx/make_vc.bat ! Removed HB_*_INSTALL manipulation from .bat files. ! Different but compatible logic added on batch file level for odbc and rddads, where the batch file is copying the .dll .libs to the final install dir. 2007-11-14 23:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * include/hbextern.ch * source/rdd/Makefile + source/rdd/rddinfo.c * source/rdd/dbcmd.c + source/rdd/dbdrop.c + source/rdd/dbcmd53.c + source/rdd/dbexists.c + source/rdd/fieldhb.c ! Moved away C53 functions to a separate file. + Added HB_RDDGETTEMPALIAS() as a documented version of the long existing __RDDGETTEMPALIAS(). The latter name still kept for compatibility. ! Moved away non-namespace conformant HB_EXTENSIONs to separate files to cause less harm form those not wanting these or already using these names in app code. + Added HB_RDDINFO() namespace conformant version of the RDDINFO() Harbour extension. RDDINFO() still works but it's now defined in a separate file to cause less potential harm. - Removed HB_EXTENSION guards from around DBDROP(), DBEXISTS(), RDDINFO(), FIELDLEN(), FIELDDEC(), FIELDTYPE() non namespace conformant Harbour extensions, so these are now always available. ; NOTE/TOFIX: In RDD we have some more hidden Harbour specific extensions not properly marked or at least documented, like cRDD, nConnection, cCodePage extra parameters, DBS_FLAG, maybe more. ; Przemek: I'm sorry you didn't bother to answer, so I just can hope these address the problems you were having. * source/rdd/sdf1.c * source/rdd/delim1.c ! Removed two __XHARBOUR__ guards, by making the guarded code the default. We have SET EOL support in Harbour now, so this seems okay. If not, tell. ; TOFIX: We still have __XHARBOUR__ #defines in pp/ppcore.c and debug/debugger.prg. * include/hbsetup.ch ! HB_EXTENSION turned off. 2007-11-14 21:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingwce.sh * updated for different then GCC host C compiler name (DJGPP in DOS and MINGW32 in MS-Windows) 2007-11-14 19:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbwince.h * harbour/source/common/hbwince.c * harbour/utils/hbver/hbverfix.c * modified for clean compilation with POCC/XCC and ARM processors 2007-11-14 17:07 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/harbour-w32-spec * updated for recently modified hb-mkslib.sh name in cross builds 2007-11-14 15:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingwce.sh ! added -D__PLATFORM__Windows for non MS-Windows based hosts I removed by mistake in previous commit * harbour/bin/hb-mkslib.sh * harbour/bin/hb-func.sh * harbour/bin/postinst.sh * in cross builds changed hb-mkslib.sh name to respect prefix used by other hb* scripts (f.e. hbce or hbw) and set destination platform to fixed value 2007-11-14 14:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingwce.sh * cleaned possible warning message when host computer is controlled by MS-Windows cross build ! fixed harbour.exe and hbppgen.exe detecting in Windows 2007-11-14 02:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/codepage/Makefile + harbour/source/codepage/cpesmwin.c - harbour/source/codepage/cpesmwi.c * renamed * harbour/source/rtl/cdpapi.c ! do not use '~' as accented character marker if neither ACCENTED_EQUAL nor ACCENTED_INTERLEAVED is set - in some CPs '~' is a letter ! use '~' as accented character marker only if it exists in UPPER and LOWER letter sets - our CP code cannot properly decode letter sets when this condition is not true - it should be fixed (TOFIX) ! use '.' as multibyte character marker only if it exists in UPPER and LOWER letter sets - our CP code cannot properly decode letter sets when this condition is not true - it should be fixed (TOFIX) * harbour/source/codepage/cpeldos.c * harbour/source/codepage/cpelwin.c * updated accent marker upper letters to be the same as in lower ones Greek users should fix me. 2007-11-14 00:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gcc.sh * harbour/make_gnu.sh * harbour/make_tgz.sh * updated for new MSYS versions 2007-11-13 22:59 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/strcase.c * casting 2007-11-13 22:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c ! fixed bad typo in my last modification 2007-11-13 14:38 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * do not include gtwin in harbour.dll for MinGW-CE builds gtwin can work only if additional (non standard) libraries are installed in WinCE/PocketPC so it should not be part of harbour.dll * harbour/source/rtl/gtwin/gtwin.c * removed HB_WINCE_USE_POCKET_CONSOLE macro It's not longer necessary when gtwin is not part of harbour.dll 2007-11-13 14:13 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingwce.sh * harbour/make_xmingw.sh * do not create compiler binaries in cross builds * use hbce and hbw prefixes for generated build scripts * harbour/make_tgz.sh * use strip from cross compiler instead of native one * harbour/include/Makefile + added missing header files * harbour/harbour.spec * minor cleanup * harbour/source/compiler/cmdcheck.c * accept internal option delimiters in define value (-d option, f.e.: '-dABC="QWE-ASD"') 2007-11-13 01:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/odbc/odbc.c ! MSVC casting warnings silenced. * utils/hbmake/hbmake.prg ! Fixed "$" used on array named s_cInvalidExt. ! Fixed to not include ct/tip/ctmt/tipmt in Harbour. ; The reports and fixes were provided by Bill Robertson. 2007-11-12 20:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/filesys.c * do not redefine LongToHandle() for __XCC__ and __POCC__ WinCE builds * harbour/utils/hbver/hbverfix.c ! fixed typos in previous commit 2007-11-12 19:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/include/hbassert.h * harbour/include/hb_io.h * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/fssize.c * harbour/source/rtl/hbinet.c * harbour/source/rtl/filesys.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/genc.c * harbour/source/compiler/hbopt.c * harbour/source/compiler/gencc.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbstripl.c * harbour/utils/hbver/hbverfix.c * harbour/utils/hbpp/hbppcore.c * removed dependences to unsupported by new MSVC header files most of this modifications can be enabled also for standard Win32 builds * harbour/source/common/hbwince.c * do not create dummy LocalLock() and LocalUnlock() function in MSVC WinCE builds * harbour/source/rtl/gtwin/gtwin.c + added HB_WINCE_USE_POCKET_CONSOLE macro which enable console support in WINCE builds (macro suggested by Marek Paliwoda) * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c * changed default window and font size on WinCE to values suggested by Marek Paliwoda Marek if you have a while please make test with MSVC WinCE/PocketPC builds and current SVN code. 2007-11-12 16:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapifs.h * harbour/source/common/hbfsapi.c + added hb_fsMaxFilesError() * harbour/source/pp/ppcore.c * harbour/utils/hbpp/hbppcore.c * use hb_fsMaxFilesError() to avoid direct accessing of errno value - some compilers/platforms do not support errno * harbour/include/hbdate.h * harbour/source/rtl/seconds.c + added hb_dateMilliSeconds() * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/idle.c * harbour/source/rtl/inkey.c * use hb_dateMilliSeconds() to avoid using clock_t clock() some compilers/platforms do not support it * harbour/include/hbwince.h * harbour/source/common/hbwince.c * disabled clock_t clock() emulation - it's not longer used + added some declarations for ANSI functions emulated by us for WinCE and some defines - code sent by Marek Paliwoda * harbour/include/hbwmain.c * harbour/source/vm/mainwin.c * always use unicode translations with WinMain() parameters for compilers which do not set UNICODE macro for WinCE * harbour/source/rtl/fserror.c * do not include errno.h for HB_WIN32_IO - it's not necessary * harbour/utils/hbver/hbverfix.c * do not include errno.h for _MSC_VER and HB_WINCE builds * harbour/contrib/libmisc/dates2.c - commented DATETIME() function - this was not standard DATETIME() value but raw ctime() function output and some compilers/platforms do not support ctime() * harbour/contrib/libnf/getenvrn.c + added HB_OS_WIN_32_USED * harbour/contrib/mtpl.mak * harbour/contrib/pdflib/pdflib.h * replaced TABs with SPACEs * harbour/include/hbsetup.ch ! reenabled HB_EXTENSION in default builds - disabling it makes a lot of RDD code unusable and breaks default builds due to insufficient dependences 2007-11-12 01:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * utils/hbmake/hbmake.prg ! Fixed warnings. 2007-11-12 01:14 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbapi.h + Added xhb compatibility #define for hb_storclenAdopt() (equivalent to Harbour's hb_storclen_buffer()) * contrib/xhb/hbcompat.ch + Added xhb IsDirectory() <-> hb_DirExists() translation. Harbour version works using access(), while xhb version does a filefind, so Harbour will return a more accurate result more quickly, but it won't work with wildcards. * source/rtl/persist.prg % Using hb_StrShrink() * common.mak * utils/hbdoc/Makefile * utils/hbdoc/ffile1.prg * utils/hbdoc/genasc.prg * utils/hbdoc/genchm.prg * utils/hbdoc/genhtm.prg * utils/hbdoc/genng.prg * utils/hbdoc/genos2.prg * utils/hbdoc/genpdf1.prg * utils/hbdoc/genrtf.prg * utils/hbdoc/gentrf.prg * utils/hbdoc/hbdoc.prg * utils/hbdoc/html.prg * utils/hbdoc/ng.prg * utils/hbdoc/os2.prg * utils/hbdoc/rtf.prg + utils/hbdoc/teeasc.prg + Synced with xhb. ; Someone who uses this tool, pls test. * common.mak * utils/hbmake/Makefile * utils/hbmake/ft_funcs.prg * utils/hbmake/hbmake.prg * utils/hbmake/hbmutils.prg * utils/hbmake/pickarry.prg * utils/hbmake/radios.prg + utils/hbmake/readline.c + utils/hbmake/tmake.prg + Synced with xhb. ; Someone who uses this tool, pls test. 2007-11-11 22:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * source/rtl/Makefile + source/rtl/getsys53.prg * source/rtl/getsys.prg + source/rtl/secondfs.c * source/rtl/seconds.c + source/rtl/mouse53.c * source/rtl/mouseapi.c + Some C53 and FlagShip functions moved to separate source file. * include/hbextern.ch * common.mak * source/rtl/Makefile + source/rtl/hbstrsh.c * utils/hbtest/rt_stra.prg + Added hb_StrShrink([,]) -> cStringShrinked has a default value of 1. Returns empty string on error, returns full string if is zero or negative. This function call is meant to be use instead of code like this: cString := Left( cString, Len( cString ) - 1 ) -> cString := hb_StrShrink( cString, 1 ) TODO: Maybe to support passing it by reference and make it even faster. + Added regression tests for this function. 2007-11-11 18:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/telepath + contrib/telepath/ChangeLog + contrib/telepath/Makefile + contrib/telepath/make_b32.bat + contrib/telepath/make_vc.bat + contrib/telepath/common.mak + contrib/telepath/telepath.ch + contrib/telepath/tplinux.c + contrib/telepath/tpwin32.c + contrib/telepath/tpos2.c + contrib/telepath/telepath.prg + contrib/telepath/readme.txt + contrib/telepath/test + contrib/telepath/test/testtp.prg + Added Telep*th(y) compatible contrib lib. Borrowed from xhb. * source/debug/dbgtobj.prg ! Fixed crash. Borrowed from xhb. 2007-11-11 18:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mtpl.mak * contrib/mtpl_b32.mak * contrib/mtpl_vc.mak + Added support for HB_ROOT. + Now default HB_*_INSTALL dirs are set inside make files. (to avoid manipulating these envvars on the batch file level) * contrib/libmisc/make_b32.bat * contrib/libmisc/make_vc.bat - Removed HB_*_INSTALL manipulation from .bat files. * contrib/hgf/win32/make_b32.bat * contrib/hgf/win32/make_vc.bat - contrib/hgf/win32/make_b32.mak - contrib/hgf/win32/make_vc.mak + contrib/hgf/win32/common.mak + Now using contrib template make files. * make_b32.bat * make_vc.bat * common.mak ! Moved HB_*_INSTALL defaulting to make file level. + contrib/ole + contrib/ole/common.mak + contrib/ole/oleauto.prg + contrib/ole/test/sample.odt + contrib/ole/test/testole.prg + contrib/ole/test/bld_b32.bat + contrib/ole/ole2.c + contrib/ole/make_b32.bat + contrib/ole/make_vc.bat + contrib/ole/Makefile + Restored "old" OLE implementation, as it was reported by Mindaugas Kavaliauskas that it works better in some respects than the newer version in /contrib/win32. Until we know further about the details there is no reason to not have this contrib. + Added CreateObject() and GetActiveObject() to enhance compatibility with newer implementation. + Standardized make files. * test moved to test dir. + Added VC make file. * contrib/win32/test/testole.prg + contrib/ole/test/testole.prg + The two test apps from the two OLE implementations were merged and now they are the same. A quick look shows differences when detecting the presence of an OLE object. "old" OLE GPFs with "new" OLE method, "new" OLE RTEs with "old" OLE method. * contrib/pdflib/common.mak * contrib/pdflib/pdf1.prg * contrib/pdflib/pdfhbdocs.prg * contrib/pdflib/pdfhbdoc.c * contrib/pdflib/Makefile ! Removed GLOBAL requirement. ! Moved away C code inside .prg. ! Fixed some unused var warnings. ! Removed some unused stuff. ; Now there are clashing symbols. I suspect this is an unfinished contrib, even in xhb. 2007-11-11 16:07 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/hbcompat.ch + Added hb_At() translation to extended At() * contrib/tip/popcln.prg * contrib/tip/mail.prg ! Changed extended At() to hb_At(). 2007-11-11 16:05 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/hbcompat.ch + Added extended At() translation to hb_At() * contrib/tip/ftpcln.prg ! Changed extended At() to hb_At(). (Thanks Petr) 2007-11-11 14:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/odbc/make_b32.bat * contrib/odbc/make_vc.bat + Added HB_DLL_DIR for BC too. ! Minor fix for VC: echo -> echo. 2007-11-11 14:13 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tpopup.prg * source/rtl/ttopbar.prg * source/rtl/tmenuitm.prg ! MENUITEM class :row and :col vars changed to :__row and :__col, instead of adding HB_EXTENSION guards to them, because they are needed internally. * source/rtl/browse.prg * source/rtl/tbrowse.prg * Two mouse-wheel handling extensions now rather guarded with HB_C52_STRICT. * source/rtl/gete.c ! Fixed GETENV()/GETE() to return an empty string when called with more than one parameter, to be fully C5.x compatible. * source/vm/proc.c ! PROCFILE() HB_EXTENSION guard changed to HB_C52_STRICT. Since PROCFILE() is an undocumented function in C5.x we can legally extend it in Harbour. * include/hbsetup.ch * Turned off HB_EXTENSION for the default build. Now HB_EXTENSION covers all the extensions which in some ways violates namespace rules or extends functionality of existing CA-Cl*pper functions or classes in an "invisible" (or "dirty") way, like adding new parameters or accepting new types of parameters. In case we want to keep some extended functionality in the default build, we'll need to create new function names. For class extensions, I'm not yet sure what is the proper way to go. In case of ML*() functions, I think they should respect SET EOL instead of accepting EOL settings as parameters. 2007-11-11 13:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tbrowse.prg ! Fixed to compile with HB_C52_STRICT. * contrib/rdd_ads/make_vc.bat * contrib/odbc/make_vc.bat ! Fixed .dll to .lib generation to work using GNU sed. (now it doesn't need exports.sed anymore). NOTE: I'm not sure if the batch tricks will work on every flavour of Windows. It should for W2K and above though, probably NT too. ! Fixed to pick .dlls from HB_DLL_DIR, which when not defined, points to system32 dir. ; I know "sed" dependency is not optimal, but we can remove this later if we have better solution, until then it cannot hurt and it's better than nothing. "sed" is a free tool included in mingw32, cygwin, and also downloadable as a self-contained .exe from the gnuwin32 project: http://gnuwin32.sourceforge.net/packages/sed.htm Direct link to bin package: http://gnuwin32.sourceforge.net/downlinks/sed-bin-zip.php (it cannot hurt to have this in ones "utils" dir anyway :) * contrib/odbc/make_b32.bat - contrib/odbc/odbc32.def - Removed .def file from repository. .lib have to be generated from live .dll instead of this old .def. 2007-11-11 12:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/std.ch ! SET STRICTREAD command definition fixed. * include/hbextern.ch ! Fixed placement of MENUMODAL, to compile when HB_COMPAT_C53 is turned off. * contrib/libmisc/Makefile ! Fixed test dir name. (broken since yesterday) * contrib/pdflib/common.mak + Added another file. + contrib/pdflib/Makefile + Added GNU make file for pdflib. * utils/hbdoc/ft_funcs.prg * utils/hbmake/ft_funcs.prg * utils/hbmake/hbmake.prg ! Made them compile with HB_COMPAT_C53 turned off. There is a loss of functionality in this case. (MAKEDIR(), DIRCHANGE() and @ CHECKBOX are used here) * source/rtl/menuto.prg * source/rtl/tgetlist.prg ! Fixed to compile when HB_COMPAT_C53 is turned off. * include/hbextern.ch * source/rtl/defpath.c * source/rtl/adir.prg * __DEFPATH() is now always included, not just when HB_C52_UNDOC is defined, since we use this function from core, and __*() functions are okay to be included without this guard. DEFPATH() is still marked as HB_C52_UNDOC. ! ADIR() now uses __DEFPATH() instead of DEFPATH() to compile with HB_C52_UNDOC turned off. ; TOFIX: There are still a few functions we use from core, which are guarded with HB_C52_UNDOC: NATIONMSG(), ISNEGATIVE() * source/vm/memvars.c * Changed HB_EXTENSION to HB_C52_STRICT. Reason: This is a Harbour internal (undocumented) function, where extension is possible. CA-Cl*pper internal (undocumented) function __MRESTORE() is mapped to this function, which is still okay. We could create a fully CA-Cl*pper compatible, non-extended __MRESTORE() without any trouble, if this is an issue. 2007-11-11 02:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/at.c * include/hbextern.ch + Added hb_At() which is equivalent to At() with HB_EXTENSION turned on. Users are encouraged to use hb_At(), and this is also a must inside core. * include/hbextern.ch ! Added missing hb_AIns(), hb_ADel(), hb_AScan() * source/rtl/persist.prg ! Fixed hard-wired EOL length. ! Fixed to not go into an infinite loop on non EOL terminated texts. (Thanks Petr) ! Fixed to use hb_At() instead of extended At(). ! Fixed to also handle LF delimited texts. ; All this in static function ExtractLine() * contrib/rdd_ads/doc/gendoc.bat ! Added version header. * contrib/hgf/tests/bld_b32.bat ! Some more minor cleanups. * contrib/pgsql/make_vc.bat * contrib/apollo/make_vc.bat * contrib/gd/make_vc.bat * contrib/adordd/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/btree/make_vc.bat * contrib/samples/make_vc.bat * contrib/mysql/make_vc.bat * contrib/odbc/make_vc.bat * contrib/bmdbfcdx/make_vc.bat ! Fixed EOL-style. + contrib/libmisc/test - contrib/libmisc/tests * Dir rename. 2007-11-11 01:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tpopup.prg ! Fixed a few problems regarding HB_EXTENSION guards. (one method declaration was mistakenly guarded, and one IF construct broke when compiled without HB_EXTENSION) * source/rtl/mlcfunc.c * source/rtl/alert.prg ! Fixed unused var warnings when HB_EXTENSION is off. * contrib/hgf/tests/bld_b32.bat ! Some more fixes. (removed hard coded BCC path, and a few wrong dirs) ; For me form3.hbf works without a closing EOL, under Windows. So the problem might rather be something else. For sure though, HBPersistent()'s EOL detection and handling is not portable (TOFIX). * source/compiler/hbcomp.c ! Reverted previous change for non-Unix platforms, regaring command-line output. Now Harbour will again use stderr/stdout about the same way CA-Cl*pper does. However odd this is, most DOS/Windows programs work this way, so the "when in Rome" rule got in effect here. Otherwise, any DOS/Windows build output (BC/VC/GCC) goes to stdout, _except_ Harbour errors/warnings, and this is not a good thing. Still, the //STDOUT:, //STDERR: compiler switches could come handy to override the platform defaults. 2007-11-11 00:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/std.ch * Removed HB_EXTENSION guard from around SET commands implementing Harbour _SET_* extensions. The reason: _SET_* extensions are not marked as extensions (and it would be nearly impossibly to do so), so it's more consistent to behave the same way for their command counterparts. * utils/hbpp/hbpplib.c ! Removed HB_EXTENSION guard from around __PP*() functions which are Harbour undocumented ones, so they don't need to be guarded. We're also in sync with hbextern.ch now. * utils/hbtest/rt_stra.prg ! Removed HB_EXTENSION guard from around hb_ValToStr() calls, because this function is no longer marked as HB_EXTENSION. * contrib/hgf/os2pm/tmenu.prg * contrib/hgf/os2pm/tmenuitm.prg * contrib/hgf/gtk/shared.ch * contrib/hgf/gtk/dispatch.c * contrib/hgf/gtk/creamenu.c * contrib/hgf/gtk/msginfo.c * contrib/hgf/gtk/creabutt.c * contrib/hgf/gtk/general.c * contrib/hgf/gtk/creawin.c * contrib/hgf/gtk/harbgtk.h * contrib/hgf/gtk/menuitem.prg * contrib/hgf/win32/button.prg * contrib/hgf/win32/edit.prg * contrib/hgf/win32/form.prg * contrib/hgf/win32/menu.prg * contrib/hgf/win32/menuitem.prg * contrib/hgf/win32/winctrl.prg * contrib/hgf/tests/bld_b32.bat * contrib/hgf/tests/form2.prg * contrib/hgf/tests/form3.prg * contrib/hgf/tests/form3.hbf * contrib/hgf/tests/form3res.prg * contrib/hgf/tests/formtext.prg * contrib/hgf/tests/testctrl.prg * contrib/hgf/tests/testform.prg ! Fixed bld_b32.bat to link properly. ! Changed HBMenuItem CLASS to HGFMenuItem() to not collide with Harbour class HBMenuItem() (C53 compatibility class). ; The above reported by Petr Chornyj. ! Added CRLF at the end of each source file where there was none. ! Fixed version headers. ; TOFIX1: HBPersistent():LoadFromFile() has a bug where it doesn't load the last line if it doesn't end with newline. ; TOFIX2: HBPersistent() uses At() "dirty" extension. * contrib/odbc/test/odbcdemo.prg - contrib/odbc/test/browodbc.prg * contrib/odbc/test/odbccall.prg * contrib/odbc/test/testodbc.prg * contrib/odbc/common.mak + contrib/odbc/browodbc.prg ! Moved back browodbc.prg to /contrib/odbc (since it was not a test, just missing from the non-GNU make files) Reported by Petr Chornyj. ! Added browodbc.prg to non-GNU makefile. ! Added version headers. 2007-11-10 18:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * Makefile - samples + contrib/examples * contrib/Makefile * contrib/examples/Makefile * contrib/examples/guestbk/inifiles.prg * contrib/examples/guestbk/testcgi.prg * contrib/examples/guestbk/bld_b32.bat * contrib/examples/guestbk/Makefile * contrib/examples/pe/pe.prg * contrib/examples/pe/Makefile * contrib/examples/misc/Makefile * contrib/examples/hscript/bld_b32.bat * contrib/examples/hscript/Makefile * contrib/examples/Makefile * Moved /samples to /contrib/examples 2007-11-10 17:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/vm/hvm.c ! Fixed unused var warning when HB_NO_DEBUG was defined and TRACE disabled. (Reported by Enrico Maria Giordano) 2007-11-10 17:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_b32.bat * make_vc.bat * contrib/xhb/make_b32.bat * contrib/xhb/make_vc.bat * contrib/libmisc/make_b32.bat * contrib/libmisc/make_vc.bat * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat * contrib/apollo/make_b32.bat * contrib/apollo/make_vc.bat * contrib/libnf/make_b32.bat * contrib/libnf/make_vc.bat * contrib/gd/make_b32.bat * contrib/gd/make_vc.bat * contrib/htmllib/make_b32.bat * contrib/htmllib/make_vc.bat * contrib/tip/make_b32.bat * contrib/tip/make_vc.bat * contrib/libct/make_b32.bat * contrib/libct/make_vc.bat * contrib/adordd/make_b32.bat * contrib/adordd/make_vc.bat * contrib/pdflib/make_b32.bat * contrib/pdflib/make_vc.bat * contrib/rdd_ads/make_b32.bat * contrib/rdd_ads/make_vc.bat * contrib/libgt/make_b32.bat * contrib/libgt/make_vc.bat * contrib/btree/make_b32.bat * contrib/btree/make_vc.bat * contrib/win32/make_b32.bat * contrib/win32/make_vc.bat * contrib/directx/make_b32.bat * contrib/directx/make_vc.bat * contrib/samples/make_b32.bat * contrib/samples/make_vc.bat * contrib/mysql/make_b32.bat * contrib/mysql/make_vc.bat * contrib/odbc/make_b32.bat + contrib/odbc/make_vc.bat * contrib/bmdbfcdx/make_b32.bat * contrib/bmdbfcdx/make_vc.bat * contrib/hgf/win32/make_b32.bat * contrib/hgf/win32/make_vc.bat ! Readded COPYCMD "hack" to core Harbour for fully portable "copy /y" functionality across all Micro$oft operating systems. + Same feature added for all contribs. * contrib/hbzlib/make_b32_dll.bat * contrib/hbzlib/make_b32_dll.mak * contrib/hbzlib/make_b32.bat - contrib/hbzlib/make_b32.mak * contrib/hbzlib/make_vc.bat - contrib/hbzlib/make_vc.mak + contrib/hbzlib/common.mak + Standardized make files (and some cleanup along the way) ; TODO: BC dll creating is still to be cleaned. ; TOFIX: Lots of warnings if compiled with standard BCC switch set. ; TOFIX: Lots of warnings when compiler for MSVC. * contrib/hgf/win32/win32.c * contrib/hgf/win32/form.prg ! Fixed one unused var warning in .prg code. ! Fixed to not use Harbour internals. (Petr, this should have the same effect as your request, but pls test this change.) 2007-11-10 12:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libmisc/common.mak * contrib/apollo/common.mak * contrib/libnf/common.mak * contrib/gd/common.mak * contrib/htmllib/common.mak * contrib/tip/common.mak * contrib/adordd/common.mak * contrib/rdd_ads/common.mak * contrib/libgt/common.mak * contrib/btree/common.mak * contrib/win32/common.mak * contrib/directx/common.mak * contrib/samples/common.mak * contrib/mysql/common.mak * contrib/bmdbfcdx/common.mak * contrib/pgsql/common.mak ! .obj -> $(OBJEXT) * contrib/pgsql/make_b32.bat * contrib/pgsql/make_vc.bat ! Minor fix. + contrib/pdflib/make_vc.bat + contrib/pdflib/make_b32.bat + contrib/pdflib/common.mak + contrib/pdflib/pdf1.prg + contrib/pdflib/pdfhbdoc.ch + contrib/pdflib/pdf.ch + contrib/pdflib/pdfhbdocs.prg * contrib/pdflib/pdflib.h * contrib/pdflib/pdfhbdoc.c * Borrowed from xhb. ! Fixed HB_ITEM -> PHB_ITEM. ! Fixed warnings. + Added non-GNU make files. ; NOTE: I didn't test this, it would be great if someone would. 2007-11-10 06:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/hgf/tests/build_b32.bat + contrib/hgf/tests/bld_b32.bat - contrib/hgf/win32/makefile.bc + contrib/hgf/win32/make_b32.mak - contrib/hgf/win32/makevc.bat + contrib/hgf/win32/make_vc.bat - contrib/hgf/win32/makefile.vc + contrib/hgf/win32/make_vc.mak * contrib/hgf/win32/make_b32.bat - contrib/hbzlib/hrbdll.bc + contrib/hbzlib/make_b32_dll.bat - contrib/hbzlib/dll_b32.bat + contrib/hbzlib/make_b32_dll.mak - contrib/hbzlib/makefile.vc + contrib/hbzlib/make_vc.mak - contrib/hbzlib/makefile.bc + contrib/hbzlib/make_b32.mak * contrib/hbzlib/make_b32.bat * contrib/hbzlib/make_vc.bat * Some non-GNU make file cleanup. 2007-11-10 05:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * make_b32.bat + make_b32.mak - makefile.bc * make_gcc.sh + make_gcc.mak - makefile.gc * make_vc.bat + make_vc.mak - makefile.vc * common.mak - contrib/maketpl.b32 + contrib/mtpl_b32.mak - contrib/maketpl.vc + contrib/mtpl_vc.mak - contrib/maketpl.mak + contrib/mtpl.mak * contrib/libct/make_b32.bat * contrib/libct/make_vc.bat % Makefile name cleanup, batch file synchronization, setting name cleanup. Some minor fixes. Now all non-GNU makefiles have the .mak extension. - contrib/xhb/makefile.vc * contrib/xhb/make_b32.bat + contrib/xhb/common.mak - contrib/xhb/makefile.bc * contrib/xhb/make_vc.bat - contrib/libmisc/makefile.vc * contrib/libmisc/make_b32.bat + contrib/libmisc/common.mak - contrib/libmisc/makefile.bc * contrib/libmisc/make_vc.bat + contrib/apollo/common.mak - contrib/apollo/makefile.bc * contrib/apollo/make_b32.bat + contrib/apollo/make_vc.bat - contrib/htmllib/makefile.vc * contrib/htmllib/make_b32.bat + contrib/htmllib/common.mak - contrib/htmllib/Makefile.bc * contrib/htmllib/make_vc.bat * contrib/libct/make_b32.bat * contrib/libct/make_vc.bat - contrib/libgt/makefile.vc * contrib/libgt/make_b32.bat + contrib/libgt/common.mak - contrib/libgt/makefile.bc * contrib/libgt/make_vc.bat * contrib/libnf/make_b32.bat - contrib/libnf/makefile.vc * contrib/libnf/make_vc.bat + contrib/libnf/common.mak - contrib/libnf/makefile.bc * contrib/gd/make_b32.bat + contrib/gd/common.mak - contrib/gd/makefile.bc + contrib/gd/make_vc.bat - contrib/tip/makefile.vc * contrib/tip/make_b32.bat + contrib/tip/common.mak - contrib/tip/makefile.bc * contrib/tip/make_vc.bat + contrib/adordd/common.mak - contrib/adordd/makefile.bc * contrib/adordd/make_b32.bat + contrib/adordd/make_vc.bat - contrib/rdd_ads/makefile.vc * contrib/rdd_ads/make_b32.bat + contrib/rdd_ads/common.mak - contrib/rdd_ads/makefile.bc * contrib/rdd_ads/make_vc.bat + contrib/btree/common.mak - contrib/btree/makefile.bc * contrib/btree/make_b32.bat + contrib/btree/make_vc.bat + contrib/directx/common.mak - contrib/directx/makefile.bc - contrib/directx/makefile.vc * contrib/directx/make_b32.bat * contrib/directx/make_vc.bat + contrib/win32/common.mak - contrib/win32/makefile.bc - contrib/win32/makefile.vc * contrib/win32/make_b32.bat * contrib/win32/make_vc.bat + contrib/bmdbfcdx/common.mak - contrib/bmdbfcdx/makefile.bc * contrib/bmdbfcdx/make_b32.bat + contrib/bmdbfcdx/make_vc.bat - contrib/samples/makefile.vc * contrib/samples/make_b32.bat + contrib/samples/common.mak - contrib/samples/makefile.bc * contrib/samples/make_vc.bat * contrib/mysql/common.mak - contrib/mysql/makefile.bc * contrib/mysql/make_b32.bat + contrib/mysql/make_vc.bat * contrib/pgsql/common.mak - contrib/pgsql/makefile.bc * contrib/pgsql/make_b32.bat + contrib/pgsql/make_vc.bat * Changed most libs to use the generic non-GNU makefiles. + Added support for MSVC for all above libs. + Added "implib" for rdd_ads. TOFIX: Doesn't work for MSVC. ; TOFIX: directx won't build under MSVC with an error. ; TOFIX: I couldn't compile pgsql using latest 8.2.5. * contrib/samples/gauge.c ! Fixed MSVC warning. + odbc/test + odbc/test/bld_b32.bat + odbc/test/harbour.mdb + odbc/test/odbcdemo.prg + odbc/test/browodbc.prg + odbc/test/odbccall.prg + odbc/test/testodbc.prg - odbc/bld_b32.bat - odbc/harbour.mdb - odbc/odbcdemo.prg - odbc/browodbc.prg - odbc/odbccall.prg - odbc/testodbc.prg - odbc/bldodbc.bat + odbc/make_b32.bat + odbc/make_vc.bat - odbc/hbodbc.b32 + odbc/common.mak * Moved test functions to test fir. ! Fixed bld_b32.bat ! Renamed non-GNU BC make files to be in sync with the rest of contribs. ; TOFIX: There are some warnings under MSVC. ; TOFIX: .def -> .lib conversions fails under MSVC. - contrib/ole - contrib/delphi - contrib/hb_struc - contrib/dot - contrib/tprepro - Removed obsolete, incomplete or non-working contribs. 2007-11-09 15:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/compiler/hbcomp.c ! Changed error messages to go to stderr on non-Unix platforms too. With this change the Harbour compiler uses the same output on non-Unix platforms as on Unixes. With Przemek's previous and now this change, the compiler uses stdout/stderr in the standard way (messages to stdout, warnings/errors to stderr), instead of being more or less CA-Cl*pper compatible. (in CA-Cl*pper startup msg plus some info went to stderr and errors/warnings and some other progress info went to stdout) * source/compiler/hbusage.c + Added -f* switches to help screen. * source/compiler/cmdcheck.c * source/compiler/hbusage.c ! -r= -> -r: * contrib/libct/screen2.c * contrib/libct/cursor.c * contrib/libct/ctstrfil.c ! Fixed MSVC warnings. * contrib/htmllib/Makefile.bc * Changed to not generate .ppo output on build. * contrib/libct/make_b32.bat * contrib/libct/make_vc.bat - contrib/libct/makefile.bc - contrib/libct/makefile.vc + contrib/libct/common.mak + contrib/maketpl.b32 + contrib/maketpl.vc + contrib/maketpl.mak + Added BC/VC non-GNU generic make script for contribs. + Using the above generic make scripts to build LIBCT. Notice BC/VC now uses one make file per contrib project named common.mak. The two helper batch files are essentially identical for BC and VC, and there is no reduancy or any complexity in common.mak (they much resemble in content to Makefile). Notice that with this new system users have to call make_[b32|vc].bat INSTALL in order to get the libs and headers installed in the final lib/header destinations. (This step was previously done automatically by the .bat files in LIBCT - or maybe not in other contribs.) The new scripts also have a generic CLEAN functionality. ; Thanks Marek Paliwoda for the generic make scripts. 2007-11-09 00:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/tip/ftpcln.prg * converted TABs to SPACEs 2007-11-08 22:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingw.sh * minor modification in one message + harbour/make_rpmw32.sh + harbour/harbour-w32-spec + added script to build RPMs with cross build of Harbour for MS-Windows using MinGW32 cross compiler. make_rpmw32.sh should create harbour-w32-.i[345]86.rpm which can be installed with platform native harbour RPMs. This RPM contains Harbour libraries compiled for Win32 and set of hbw* scripts which should be used instead of standard hb* ones to create MS-Windows binaries. It means that you can create standard Linux binaries and MS-Windows binaries in the same session without setting/changing any additional environment variables, f.e: hbmk -n -w -es2 test.prg will create Linux binaries and: hbwmk -n -w -es2 test.prg will create binaries for MS-Windows. Please also remember that if you create and install RPMs with Harbour for WinCE/PocketPC (make_rpmce.sh) then hbce* scripts will create WinCE/PocketPC binaries, f.e.: hbcemk -n -w -es2 test.prg 2007-11-07 13:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/cdpapi.c * harbour/source/rtl/mlcfunc.c * harbour/source/vm/classes.c * harbour/source/common/reserved.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/gencc.c * harbour/source/compiler/hbfunchk.c * cleaned possible dangerous code reported by Chen - many thanks 2007-11-07 10:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbfsapi.c ! fixed DJGPP builds * use _chmod() if available (for long file name support) or _dos_getfileattr() instead of direct interrupt calls 2007-11-07 01:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/filesys.c * updated hb_fsTell() and hb_fsEof() to respect platform dependent API calls used in hb_fsSeek[Large]() 2007-11-06 23:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/dbgentry.c * changed the name of global static variable from 'info' to 's_pInfo' to avoid possible typos 2007-11-06 12:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbwince.h * put functions declarations inside HB_EXTERN_BEGIN / HB_EXTERN_END + harbour/include/hbwmain.c + added WinMain() to main() wrapper * harbour/include/hbexprb.c * harbour/source/common/expropt1.c ! fixed typo reported by Chen * harbour/source/pp/hbppgen.c * harbour/source/main/harbour.c * harbour/utils/hbpp/hbpp.c * use hbwmain.c when main() is not supported by C compiler/platform * harbour/source/rtl/gtwin/gtwin.c * include wincon.h in all builds except LCC * harbour/source/rtl/fserror.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/filesys.c * use HB_OS_WIN_32_USED as in other files (still on TOFIX list) * harbour/source/rtl/seconds.c + added HB_OS_WIN_32_USED * harbour/source/compiler/hbcomp.c ! fixed typo: stderr was used instead of stdout 2007-11-05 18:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/tests/wcecon.prg + added small test for DBF/FPT/CDX file creation and browsing in PocketPC/WinCE 2007-11-05 01:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbmake/hbmlang.c * pacify some other data lost conversion warnings by explicit casting * harbour/source/compiler/harbour.y * cleaned explicit comparison with TRUE value * harbour/source/compiler/harbour.yyc * rebuild with all recent cleanup in harbour.y 2007-11-04 19:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbmacro.h * harbour/source/compiler/hbmain.c * harbour/source/compiler/harbour.y * harbour/source/vm/macro.c * harbour/source/vm/garbage.c * harbour/source/vm/hvm.c * harbour/source/vm/classes.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rtl/binnum.c * harbour/source/rtl/gtwvt/gtwvt.c * added explicit casting or changed some declarations to avoid warning about possible data lost in conversions * harbour/source/rtl/direct.c % optimized directory array creation and fixed one TOFIX note I left few warnings intentionally to mark places which should be updated in the future (f.e. HB_SYMBOLSCOPE translations). Victor, if you can please make build test with MSVC builds and send the list of warnings which still exist to harbour-devel. 2007-11-04 17:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h ! fixed typo in quoting condition for 1-st line token 2007-11-04 03:40 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * include/hbapifs.h * harbour/source/common/hbfsapi.c ! fixed hb_fsFileExists() for DOS + Added hb_fsDirExists() * include/hbextern.ch * source/rtl/hbfile.c + Added HB_DIREXISTS() 2007-11-04 02:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/common/hbstr.c + added hb_strlow() * harbour/source/rtl/fstemp.c * harbour/source/rtl/filesys.c ! fixed _SET_DIRSEPARATOR behavior - now it's always set to default OS directory separator what means no translations. If you want to enable some translations then it should be set to other value, f.e. in *nixes: set( _SET_DIRSEPARATOR, "\" ) enables translations of "\" in paths to "/" * harbour/source/main/harbour.c + added support for new compiler switches: - Filename casing: -fn:l (lower) -fn:u (upper) -fn- (disable - default) -fn (disable - default) - Directory casing -fd:l (lower) -fd:u (upper) -fd- (disable - default) -fd (disable - default) - Path separator: -fp: -fp (default: OS defined) - Filename space trimming: -fs (enable) -fs- (disable - default) These switches works only in standalone compiler. When compiler is linked with HVM and RTL then corresponding _SET_* switches are used instead. 2007-11-03 11:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c * indenting 2007-11-03 11:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c * some minor speed improvement * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * use hb_cdpSelect() instead of direct accessing hb_cdp_page variable 2007-11-02 22:09 UTC-0600 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/directx/makefile.vc * contrib/hbzlib/makefile.vc * contrib/hgf/win32/makefile.vc * contrib/htmllib/makefile.vc * contrib/libct/makefile.vc * contrib/libgt/makefile.vc * contrib/libmisc/makefile.vc * contrib/libnf/makefile.vc * contrib/rdd_ads/makefile.vc * contrib/samples/makefile.vc * contrib/tip/makefile.vc * contrib/win32/makefile.vc * contrib/xhb/makefile.vc * removed the "-TP" (force source as c++) msvc compiler flag 2007-11-03 02:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/bmdbfcdx/bmdbfcdx1.c * replaced all direct access to hb_set structure with functions Now it's possible to link bmdbfcdx with harbour.dll but because it still access hb_cdp_page then only if linker supports auto import conversions * harbour/source/common/hbfsapi.c * harbour/source/main/harbour.c * harbour/source/pp/hbppgen.c * harbour/utils/hbpp/hbpp.c * added filename conversion (hb_fsNameConv()) to hb_fsFileExists() function * harbour/include/hbapifs.h + harbour/source/common/hbfopen.c * harbour/source/common/Makefile * harbour/common.mak + added hb_fopen() function - it's a wrapper to fopen() function but calls internally hb_fsNameConv() * harbour/source/pp/hbppgen.c * harbour/source/pp/ppcore.c * harbour/source/common/hbtrace.c * harbour/source/compiler/hbmain.c * harbour/source/compiler/genhrb.c * harbour/source/compiler/gencobj.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/genc.c * harbour/source/rtl/gtchrmap.c * harbour/source/vm/fm.c * use hb_fopen() instead of fopen() 2007-11-02 18:52 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/common/hbfsapi.c ! fixed hb_fsFileExists() to return TRUE for files only 2007-11-02 16:04 UTC+0100 Miguel Angel Marchuet Frutos * contrib/bmdbfcdx/bmdbfcdx1.c ! fixed undoing previous fix 2007-11-02 13:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - doc/genhtm.cmd - utils/hbtest/make_xpp.cmd - contrib/libmisc/doc/gendoc.cmd - contrib/libgt/doc/gendoc.cmd - Removed .cmd versions of .bat files. + contrib/dot/bld_b32.bat + New build batch file added (for testing). 2007-11-02 12:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbfsapi.c * harbour/source/common/hbwince.c ! fixed hb_fsFileExists() in W32 Unicode builds and WinCE 2007-11-02 21:32 UTC+0100 Miguel Angel Marchuet Frutos * contrib/bmdbfcdx/bmdbfcdx1.c ! fixed acces to set variables. 2007-11-01 21:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/samples/pe/bld_b32.bat * updated svn attributes 2007-11-01 20:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/tip/sendmail.prg * harbour/contrib/directx/test/anima2.bmp * harbour/contrib/directx/test/brick1.bmp * harbour/contrib/directx/test/black.bmp * harbour/contrib/directx/test/brick2.bmp * harbour/contrib/directx/test/brick3.bmp * harbour/contrib/directx/test/shot.bmp * harbour/contrib/directx/w32_ddrw.h * harbour/contrib/directx/Makefile * harbour/samples/pe/pe.prg * updated svn attributes 2007-11-01 19:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole/bldtest.bat * harbour/contrib/ole/build32.bat * harbour/contrib/xhb/make_b32.bat * harbour/contrib/xhb/make_vc.bat * harbour/contrib/libmisc/make_b32.bat * harbour/contrib/libmisc/doc/gendoc.bat * harbour/contrib/libmisc/make_vc.bat * harbour/contrib/pgsql/make_b32.bat * harbour/contrib/apollo/test/bld.bat * harbour/contrib/apollo/test/bld_b32.bat * harbour/contrib/apollo/make_b32.bat * harbour/contrib/gd/make_b32.bat * harbour/contrib/gd/tests/bldtest.bat * harbour/contrib/libnf/make_b32.bat * harbour/contrib/libnf/make_vc.bat * harbour/contrib/htmllib/make_b32.bat * harbour/contrib/htmllib/make_vc.bat * harbour/contrib/tip/make_b32.bat * harbour/contrib/tip/make_vc.bat * harbour/contrib/libct/make_b32.bat * harbour/contrib/libct/make_vc.bat * harbour/contrib/adordd/make_b32.bat * harbour/contrib/rdd_ads/doc/gendoc.bat * harbour/contrib/rdd_ads/make_b32.bat * harbour/contrib/rdd_ads/make_vc.bat * harbour/contrib/libgt/make_b32.bat * harbour/contrib/libgt/doc/gendoc.bat * harbour/contrib/libgt/make_vc.bat * harbour/contrib/hbclip/make_clp.bat * harbour/contrib/btree/make_b32.bat * harbour/contrib/btree/mktest.bat * harbour/contrib/directx/make_b32.bat * harbour/contrib/directx/make_vc.bat * harbour/contrib/win32/make_b32.bat * harbour/contrib/win32/make_vc.bat * harbour/contrib/hgf/tests/build_b32.bat * harbour/contrib/hgf/win32/make_b32.bat * harbour/contrib/hgf/win32/makevc.bat * harbour/contrib/samples/make_b32.bat * harbour/contrib/samples/make_vc.bat * harbour/contrib/delphi/hbdll/start.bat * harbour/contrib/delphi/hbdll/bld_sdll.bat * harbour/contrib/mysql/make_b32.bat * harbour/contrib/odbc/bldodbc.bat * harbour/contrib/odbc/bld_b32.bat * harbour/contrib/bmdbfcdx/make_b32.bat * harbour/contrib/hbzlib/dll_b32.bat * harbour/contrib/hbzlib/make_b32.bat * harbour/contrib/hbzlib/make_vc.bat * fixed typo, changed eol-style to svn:eol-style 2007-11-01 18:37 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole/bldtest.bat * harbour/contrib/ole/build32.bat * harbour/contrib/xhb/make_b32.bat * harbour/contrib/xhb/make_vc.bat * harbour/contrib/libmisc/make_b32.bat * harbour/contrib/libmisc/doc/gendoc.bat * harbour/contrib/libmisc/make_vc.bat * harbour/contrib/apollo/test/bld.bat * harbour/contrib/apollo/test/bld_b32.bat * harbour/contrib/apollo/make_b32.bat * harbour/contrib/pgsql/make_b32.bat * harbour/contrib/libnf/make_b32.bat * harbour/contrib/libnf/make_vc.bat * harbour/contrib/gd/make_b32.bat * harbour/contrib/gd/tests/bldtest.bat * harbour/contrib/htmllib/make_b32.bat * harbour/contrib/htmllib/make_vc.bat * harbour/contrib/tip/make_b32.bat * harbour/contrib/tip/make_vc.bat * harbour/contrib/adordd/make_b32.bat * harbour/contrib/libct/make_b32.bat * harbour/contrib/libct/make_vc.bat * harbour/contrib/rdd_ads/doc/gendoc.bat * harbour/contrib/rdd_ads/make_b32.bat * harbour/contrib/rdd_ads/make_vc.bat * harbour/contrib/libgt/make_b32.bat * harbour/contrib/libgt/doc/gendoc.bat * harbour/contrib/libgt/make_vc.bat * harbour/contrib/hbclip/make_clp.bat * harbour/contrib/btree/make_b32.bat * harbour/contrib/btree/mktest.bat * harbour/contrib/directx/make_b32.bat * harbour/contrib/directx/make_vc.bat * harbour/contrib/win32/make_b32.bat * harbour/contrib/win32/make_vc.bat * harbour/contrib/hgf/tests/build_b32.bat * harbour/contrib/hgf/win32/make_b32.bat * harbour/contrib/hgf/win32/makevc.bat * harbour/contrib/samples/make_b32.bat * harbour/contrib/samples/make_vc.bat * harbour/contrib/delphi/hbdll/start.bat * harbour/contrib/delphi/hbdll/bld_sdll.bat * harbour/contrib/mysql/make_b32.bat * harbour/contrib/odbc/bldodbc.bat * harbour/contrib/odbc/bld_b32.bat * harbour/contrib/bmdbfcdx/make_b32.bat * harbour/contrib/hbzlib/dll_b32.bat * harbour/contrib/hbzlib/make_b32.bat * harbour/contrib/hbzlib/make_vc.bat * set eol-style to CRLF 2007-11-01 18:16 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c * added mossing const in declaration * harbour/contrib/xhb/make_b32.bat * harbour/contrib/xhb/make_vc.bat * harbour/contrib/win32/make_b32.bat * harbour/contrib/win32/make_vc.bat * changed EOL style to CRLF 2007-11-01 11:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c * changed accented character handling and multibyte character comparison to make some operations like: dbSeek(cVal) while ordKeyVal() = cVal ... enddo safe also with such CDPs 2007-10-30 18:37 UTC-0600 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/tip/sendmail.prg * cleanup to compile with a std harbour build, removed the "include "hbcompat.ch"", and added the #translate for LIKE found in the hbcompat.ch file, to keep it easy and clean when comparing from/to the xHarbour version. 2007-10-30 19:45 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/contrib/tip/Makefile * harbour/contrib/tip/ftpcln.prg * harbour/contrib/tip/httpcln.prg + harbour/contrib/tip/sendmail.prg * synced with xHarbour's fixes and additions 2007-10-30 19:25 UTC+0100 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/contrib/gd/gd.prg * harbour/contrib/gd/gdbar.prg * harbour/contrib/gd/gdbarcod.prg * harbour/contrib/gd/gdchart.prg * harbour/contrib/gd/tests/counter.prg * removed #ifdef HB_COMPAT_XHB 2007-10-30 15:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libnf/fttext.c - removed not necessary size_t definition 2007-10-29 17:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/make_xmingwce.sh * harbour/make_xmingw.sh * removed HOST_OS_UNIX_COMPATIBLE * harbour/makefile.gc * changed ppgen.c -> hbppgen.c * harbour/source/pp/hbppgen.c * harbour/source/vm/dynsym.c * fixed some typos in comment * harbour/source/rtl/hbcrc.c ! fixed casting 2007-10-29 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * doc/howtosvn.txt + Added few propset command. Would need some more cleanup. * contrib/win32/test/testw32p.prg ; Formatting * source/common/hbfsapi.c ! Minor fixes. * source/compiler/hbusage.c + Added (c) after copyright. - lib/b16 - obj/b16 - Removed not needed directories. 2007-10-27 17:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * utils/hbpp/pragma.c * source/rtl/binnum.c * source/rtl/direct.c ! Some VS2005 -O2 warnings. One TOFIX added at the same time, since DIRECTORY() has a problem returning file sizes greater than 2GB. 2007-10-27 16:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbapifs.h * source/rtl/fserror.c * source/rtl/philes.c * source/rtl/philes53.c ! Two FS API functions moved to the hb_fs*() namespace: hb_getFError() -> hb_fsGetFError() hb_setFError() -> hb_fsSetFError() 2007-10-27 16:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbapifs.h * source/common/hbfsapi.c ! Added missing HB_EXPORTs. + Added hb_fsFileExists(). This is the preferred way to check for the existence of a file, because it is fast and will find a file even if directory traversal is not possible for the file's directory. Works the same way as file existence check in most other tools. ; NOTE: DOS branch was not compiled or tested (it is a rewrite of a tested ASM function though). * common.mak * include/hbextern.ch * source/rtl/Makefile + source/rtl/hbfile.c + Added HB_FILEEXISTS() Harbour level function to check for the existence of a file. This works better than FILE() in most situations, but it doesn't accept any wildcards. * source/compiler/gencobj.c ! Fixed to not used access(). Using hb_fsFileExists() instead. 2007-10-27 16:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/compiler/gencobj.c ! HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE 2007-10-27 01:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbsetup.h - Removed HOST_OS_UNIX_COMPATIBLE which was a misleading alias for OS_UNIX_COMPATIBLE. * source/compiler/hbcomp.c % HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE * common.mak * harbour-ce-spec * make_xmingw.sh * make_xmingwce.sh * makefile.bc * makefile.gc * makefile.vc * source/pp/Makefile - source/pp/ppgen.c + source/pp/hbppgen.c ! executable ppgen renamed to hbppgen. * samples/pe/editorlo.c * samples/pe/pe.prg + samples/pe/bld_b32.bat + Added BCC build batch file. ! Fixed to compile under current Harbour. ! Fixed filename casing. ! Fixed several warnings (quite some signedness problem still remain). ; This is a very nice editor written in C (Harbour callable), I think it is the work of Ryszard. * samples/hscript/bld_b32.bat * samples/hscript/hscript.prg * samples/hscript/dir.hs * samples/hscript/multiply.hs * samples/hscript/ugly.hs * samples/hscript/hello.hs ! Fixed build batch file. ! Fixed to use NFLib file IO rather than libmisc, because latter was broken (it is a clone of the NFLib file IO). ! Fixed scripts to use Start instead of Main as an entry point otherwise __hrbRun() got confused and called the app Main(). ! Fixed some other problems to make it run. 2007-10-26 20:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/win32/w32_prn.c + Using hb_retptrGC()/hb_parptrGC(). * source/rtl/filesys.c ! DosToWinHandle() made static. ; Minor formatting. 2007-10-26 03:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/include/hboo.ch * harbour/ChangeLog * harbour/utils/hbmake/hbmlang.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpp/hbpp.c * harbour/source/pp/ppcore.c * harbour/source/rtl/cdpapi.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtalleg/fixedth.sfc * harbour/source/rtl/fstemp.c * harbour/source/rtl/idle.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/hbregex.c * harbour/source/vm/hvm.c * harbour/contrib/xhb/hboutdbg.c * harbour/contrib/xhb/hbxml.c * harbour/contrib/xhb/hbxml.h * harbour/contrib/xhb/cstructc.c * harbour/contrib/xhb/hbsyslog.c * harbour/contrib/libmisc/hb_f.c * harbour/contrib/libnf/fttext.c * harbour/contrib/libnf/mouse.c * harbour/contrib/tip/encmthd.c * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/ace.h * harbour/contrib/btree/hb_btree.c * harbour/contrib/samples/status.c * harbour/contrib/samples/gauge.c * harbour/contrib/odbc/odbc.c * harbour/contrib/bmdbfcdx/hbrddbmcdx.h * harbour/contrib/bmdbfcdx/bmdbfcdx1.c * cleanup errors in strict ANSI C compilation 2007-10-25 22:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/win32/w32_prn.c ! Changed hb_retnl() -> hb_retptr() for Windows handles. ! Changed hb_parnl() -> hb_parptr() for Windows handles. ; Thanks Przemek. ; The GC-ed version is yet to be done. - bldcmncf.sh * make_gcc.sh % bldcmncf.sh integrated into make_gcc.sh. After consulting with Przemek. * include/clipdefs.h ! Fixed HANDLE clash with Windows headers after recent modification. Notice that I've left HB_VMHANDLE as ULONG for now. It's enough to revisit this when implementing those VM API calls. Another notice that because of this name clash legacy Clipper VM API calls in Harbour won't work with Windows headers, native Harbour VM API calls will do work however. - make_xcemgw.sh + make_xmingwce.sh * Rename to be in sync with make_xmingw.ch 2007-10-25 14:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - ChangeLog.001 - ChangeLog.002 - ChangeLog.003 - ChangeLog.004 - ChangeLog.005 - ChangeLog.006 - ChangeLog.007 - ChangeLog.008 - ChangeLog.009 - ChangeLog.010 - ChangeLog.011 - ChangeLog.012 - ChangeLog.013 - ChangeLog.014 - ChangeLog.015 - ChangeLog.016 - ChangeLog.017 - ChangeLog.018 - ChangeLog.019 * ChangeLog + Re-merged changelog into one file. Now searching is easy, clutter is less, performance should stay the same. 2007-10-24 15:32 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * bin/hb-func.sh * removed not longer needed "gharbour","harbour-link" references in build script. 2007-10-24 21:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) - harbour/debian/hbdot.1 - harbour/debian/harbour.1 - harbour/debian/hbmake.1 - harbour/debian/hbtest.1 - harbour/debian/hbpp.1 - harbour/debian/hbrun.1 - harbour/debian/hbdoc.1 + harbour/doc/man + harbour/doc/man/hbdot.1 + harbour/doc/man/harbour.1 + harbour/doc/man/hbmake.1 + harbour/doc/man/hbpp.1 + harbour/doc/man/hbtest.1 + harbour/doc/man/hbrun.1 + harbour/doc/man/hbdoc.1 * moved man files from ./debian directory to ./doc/man * harbour/debian/rules * updated for new man files location * harbour/bin/pack_src.sh * harbour/harbour.spec * added man files to RPMs 2007-10-24 21:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/debian/hbdot.1 * harbour/debian/harbour.1 * harbour/debian/hbrun.1 * updated man files 2007-10-24 20:57 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/rtl/hbbit.c + fixed HB_BITRESET() 2007-10-24 17:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * debian/control ! Fixed pkg dependency to allow building Harbour on some non-Linux ports as per Petr Salinger's request. See: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=375426 2007-10-24 09:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * debian/copyright * doc/license.txt * COPYING ! Synced COPYING with doc/license.txt ! Synced old license list with debian/copyright ! Removed one old license file reference from text: contrib\libmisc\dates2.c (Only the DateTime() function by Jon Berg) Since this copyright clearly refers to doc/license.txt. Moreover, it's clearly stated in the text that licenses in contrib can be anything as per defined in the given contrib. * Removed 1 char left margin from the text. 2007-10-24 04:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - bin/b16 - Removed obsolete directory. 2007-10-24 04:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - .cvsignore - utils/hbpptest/.cvsignore - Removed .cvsignore files, they were not used anymore. 2007-10-24 04:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - bin/bld_b16.bat - Removed file. DOS/BCC16 usage is not that common now, that it needs a separate batch file. DOS/BCC16 users should use bld.bat with proper envvars. 2007-10-24 03:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/vm.api * include/hbapi.h * include/clipdefs.h * common.mak * source/vm/Makefile + source/vm/vm.c + Added skeletons for CA-Cl*pper-like C-level VM API. Types slightly modified for portability and to support larger memory than C5x. 2007-10-24 03:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * harbour/make_rpmce.sh * automatically update version number * harbour/doc/howtobld.txt * set svn:keywords=Id * harbour/contrib/libnf/Makefile - removed test.prg 2007-10-24 03:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbclass.ch * include/hbsetup.ch - Removed HB_SHORTNAME last occurences. Harbour doesn't have a 10 char symbol compatibility since some time, and it didn't make too much sense anyway since long. I wonder if HB_CLS_NO_DECORATION (in hbclass.ch) has any point anymore? 2007-10-24 03:12 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - make_gnu.cmd - Remove obsolete file. This was the same as make_gnu.bat but with defaults set for OS/2. OS/2 users should use make_gnu.bat with proper platform/compiler sets. * bin/bld.bat * make_gnu.bat * Changed default compiler/platform to w32/mingw32 (was dos/djgpp) 2007-10-24 01:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libnf/fttext.c % Optimized _writeeol() * contrib/libnf/readme.txt ! Old typos fixed. * include/hbgtinfo.ch * contrib/xhb/hbcompat.ch ! Some xhb specific MaxRow()/MaxCol() parameter extension macros (also named GTI_*) moved to xhb contrib. - bin/bld.cmd - Removed obsolete version of bld.bat (aimed for OS/2). OS/2 users should use bld.bat. - bin/bld.sh - Removed obsolete file. Linux/Unix users should use hb*.sh scripts, which are properly working (as opposed to bld.sh). * harbour-ce-spec * harbour.spec * doc/howtobld.txt - Removed gharbour and harbour-link compatibility commands (to lessen equivalent user choices and to have every harbour related stuff to start with hb) Pls use hbcmp and hblnk respectively. 2007-10-23 22:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour-ce-spec * set svn:keywords=Id, svn:eol-style=native 2007-10-23 22:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libnf/Makefile * contrib/libnf/makefile.vc * contrib/libnf/makefile.bc - contrib/libnf/round.prg + contrib/libnf/ftround.prg - contrib/libnf/test.prg + contrib/libnf/test + contrib/libnf/test/test.prg ! Rename one file in NFLIB to not clash with core Harbour. * Moved test file to a separate test dir. * source/debug/dbgtobj.prg ! Fixed an RTE when browsing subarrays in object monitor. (from xhb by Phil Krylov) 2007-10-23 21:01 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libnf/fttext.c ! added missing type declaration in _ins_buff() and _del_buff() 2007-10-23 20:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/doc/howtobld.txt + added hb* scripts description * harbour/Makefile * harbour/source/Makefile + harbour/harbour-ce-spec * harbour/bin/pack_src.sh + harbour/make_rpmce.sh + added script to build RPMs with cross build of Harbour for PocketPC make_rpmce.sh should create harbour-ce-1.1.1-0.i386.rpm which can be installed with other harbour RPMs It contains Harbour libraries compiled for WinCE/PocketPC and set of hbce* scripts which should be used instead of standard hb* ones to create PocketPC binaries. It means that you can create standard Linux binaries and PocketPC binaries in the same session without setting/changing any additional environment varibales, f.e: hbmk -n -w -es2 test.prg will create linux binaries and: hbcemk -n -w -es2 test.prg will create binaries for WinCE/PocketPC 2007-10-23 16:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libnf/fttext.c ! Fixed opening mode in FT_FUSE(). ! Fixed FT_FAPPEND() infinite loop when called without parameter or with an odd number. (bug in original function) + Added support for plain LF line ending. * Changed to use OS dependant line ending instead of hardwired CRLF when adding new lines. ; Please test. 2007-10-23 13:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/libnf/ftisprn.c + contrib/libnf/setkeys.c + contrib/libnf/setlastk.c * contrib/libnf/Makefile * contrib/libnf/makefile.bc * contrib/libnf/makefile.vc * contrib/libnf/readme.txt + Added FT_SETKEYS(), FT_ISPRINTER() (not 100% compatible in all situations), FT_LASTKEY(). 2007-10-23 13:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/directx/w32_ddrw.cpp * contrib/directx/w32_ddrw.h ! Cleanup, formatting. ! Tabs converted to spaces. * contrib/libnf/aading.prg * 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/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/clrsel.prg * contrib/libnf/cntryset.prg * 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/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/fttext.c * 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/menu1.prg * contrib/libnf/menuto.prg * contrib/libnf/metaph.prg * contrib/libnf/miltime.prg * contrib/libnf/min2dhm.prg * contrib/libnf/month.prg * contrib/libnf/mouse.c * contrib/libnf/mouse1.prg * contrib/libnf/mouse2.prg * contrib/libnf/netpv.prg * contrib/libnf/nooccur.prg * contrib/libnf/ntow.prg * 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 * contrib/libnf/popadder.prg * 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/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/sinkey.prg * contrib/libnf/sleep.prg * contrib/libnf/sqzn.prg * contrib/libnf/sysmem.prg * contrib/libnf/tbwhile.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 - contrib/libnf/idle.c + contrib/libnf/ftidle.c + contrib/libnf/iamidle.c * contrib/libnf/Makefile * contrib/libnf/makefile.bc * contrib/libnf/makefile.vc + Added svn headers. ! Fixed FT_IDLE() ! Renamed idle.c to not clash with core idle.obj. ! FT_F*() functions fully ported from original NFLIB. Pls test. * Some minor cleanups, formatting. + Added FT_IAMIDLE() * include/filesys.api ! _fsRead(), _fsWrite() now more compatible. * include/hbundoc.api + Added _lcopy(), _ncopyuc(), _ncopylc() compatibility functions. * include/hbapi.h * source/common/hbstr.c + Added hb_strncpyLower() 2007-10-23 10:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/diskspac.c ! added missing ; in DOS builds 2007-10-23 10:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/win32/tprinter.c * casting 2007-10-23 04:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbwince.h * harbour/source/common/hbwince.c * harbour/source/rtl/gtwin/gtwin.c * harbour/contrib/win32/tprinter.c * harbour/contrib/win32/w32_prn.c * updated for compilation with UNICODE support 2007-10-23 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/vm/mainwin.c * harbour/source/common/hbwince.c ! fixed compilation with Unicode support and standard MS-Windows 2007-10-22 21:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/wacore.c * harbour/source/rdd/dbcmd.c ! fixed registering workareas with numbers from 65280 to 65534 2007-10-21 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/directx/media - contrib/directx/samples - contrib/directx/lib - contrib/directx/directx.lib - contrib/directx/readme.1st + contrib/directx/readme.txt + contrib/directx/test + contrib/directx/test/testdx.prg + contrib/directx/test/anima2.bmp + contrib/directx/test/brick1.bmp + contrib/directx/test/black.bmp + contrib/directx/test/brick2.bmp + contrib/directx/test/shot.bmp + contrib/directx/test/brick3.bmp - contrib/directx/buvcdx.bat + contrib/directx/Makefile + contrib/directx/makefile.bc + contrib/directx/makefile.vc + contrib/directx/make_b32.bat + contrib/directx/make_vc.bat * contrib/directx/w32_ddrw.h * contrib/directx/w32_ddrw.cpp + Added build scripts ! Further fixes to make it compile and run. * Rearranged test/readme files. ; Now it runs but the sample .bmps seem to be corrupted. 2007-10-21 11:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/directx/w32_ddrw.cpp ! Fixed two -w warnings left. 2007-10-21 02:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/set.c ! Fixed SET DEVICE TO PRINTER not to add an extension (".prn") to the filename specified by SET PRINTER TO (the extension is only added by the SET PRINTER TO command). ! Fixed SET DEVICE TO PRINTER to point to "LPT1" by default (instead of "PRN") under Win32 (this is now in sync with ISPRINTER() logic). Added "PRN" for the rest of OSes (TOFIX). ; Pls test. * source/rtl/isprint.c ! Cleaned up platform branches in ISPRINTER(). Non DOS/Win32 branch is a dummy TODO now. * contrib/libnf/fttext.c ! Some fixes reported by Mike Evans. Pls test. Not all reported bugs were fixed. (ft_FError() returns a constant zero, ft_FUse() still needs ft_FSelect()) - contrib/directx/HB_DDraw.cpp + contrib/directx/w32_ddrw.cpp - contrib/directx/HB_DDraw.h + contrib/directx/w32_ddrw.h * contrib/directx/readme.1st ! Harbour API updates to this severly outdated code. ! Fixed warnings. + Added SVN headers. 2007-10-19 16:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c + added hb_cdpGetChar() + harbour/tests/wcecon.prg + added demonstration console program for WinCE, compile it using: hbmk -n -w -es2 -gtwvt wcecon * harbour/include/hbwince.h * harbour/source/common/hbwince.c * harbour/contrib/win32/w32_ole.c * harbour/contrib/odbc/odbc.c * use UNICODE macro instead of HB_WINCE to allow using Unicode WINAPI also in other MS-Windows versions * harbour/source/rtl/gtwvt/gtwvt.h * harbour/source/rtl/gtwvt/gtwvt.c + added support for Unicode IO * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c ! fixed wrongly set error code ! fixed possible access to uninitialized memory * use GetDiskFreeSpaceEx() on WinCE instead of GetDiskFreeSpace() for disk larger then 4GB - I do not know if PocketPC have such large devices now or if WinCE can support it but for sure it will somewhere in the future 2007-10-19 01:09 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/runjava - Obsolete contrib removed. (Thanks Petr) 2007-10-18 23:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-mkslib.sh * harbour/bin/pack_src.sh * updated for recent Viktor's modifications * harbour/source/rtl/oemansix.c ! added missing #include "hbpai.h" * harbour/include/Makefile + harbour/include/hbwince.h * harbour/include/hbrdddbf.h * harbour/include/hbrdddbt.h * harbour/include/hbdefs.h * harbour/include/hbsetup.h * harbour/include/hbrddcdx.h * harbour/include/hbrddfpt.h * harbour/contrib/xhb/hboutdbg.c * harbour/contrib/xhb/hbsyslog.c * harbour/contrib/xhb/xhbfunc.c * harbour/contrib/libct/ctnet.c * harbour/contrib/libct/files.c * harbour/contrib/libct/disk.c * harbour/contrib/libnf/getenvrn.c * harbour/contrib/win32/tprinter.c * harbour/contrib/win32/w32_ole.c * harbour/contrib/win32/w32_prn.c * harbour/contrib/odbc/odbc.c * harbour/source/pp/ppgen.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/gtclip.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/gtchrmap.c * harbour/source/rtl/oemansi.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/fssize.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/filesys.c * harbour/source/rtl/net.c * harbour/source/rtl/gtgui/gtdef.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/vm/Makefile * harbour/source/vm/mainwin.c * harbour/source/vm/dynlibhb.c + harbour/source/vm/mainwin/Makefile * harbour/source/common/Makefile * harbour/source/common/hbgete.c * harbour/source/common/hbver.c + harbour/source/common/hbwince.c * harbour/utils/hbpp/hbpp.c * harbour/utils/hbdot/hbdot.prg * harbour/utils/hbver/hbverfix.c + added support for WinCE and PocketPC + harbour/make_xcemgw.sh + harbour/config/w32/cemgw.cf * harbour/bin/hb-mkslib.sh * harbour/bin/hb-func.sh * harbour/bin/postinst.sh + added support for CeGCC-MinGW32 port - those of you who want to create applications for WinCE on PockePC with ARM processors on Linux or MS-Windows can download from SF cegcc-mingw32ce port. User using RPM based Linux distribution for x86 CPUs can simply download cegcc-mingw32ce-0.50-1.i586.rpm and install it. The hb* scripts created by ./make_xcemgw.sh [tgz|gnu] are automatically updated to work with CeGCC-MinGW32 so later you can simply crate WinCE-ARM binaries using them as for native port. I'm waiting for users feedback. Please remember that I'm not Windows user and even this port was created without any Pocket machine. With Marek Paliwoda help I only tested that final applications are working using PocketPC emulator. 2007-10-18 18:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/win32/test/testole.prg - contrib/win32/test/oleenum.prg + contrib/win32/test/sample.odt + Added new OLE examples for OpenOffice, CDO. + Added new OLE examples from xhb. 2007-10-18 12:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - contrib/win32prn - contrib/ole2 - Removed two contribs which were merged into one. ; Pls use hbwin32 instead of win32prn and/or hbole. 2007-10-18 12:16 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/Makefile + contrib/win32 + contrib/win32/test + contrib/win32/test/testw32p.prg + contrib/win32/test/oleenum.prg - test/oleenum.prg + contrib/win32/Makefile + contrib/win32/makefile.bc + contrib/win32/makefile.vc + contrib/win32/make_b32.bat + contrib/win32/make_vc.bat + contrib/win32/w32_tole.prg + contrib/win32/w32_tprn.prg + contrib/win32/tprinter.c + contrib/win32/w32_ole.c + contrib/win32/w32_prn.c + Added a Win32 contrib lib by merging win32prn and ole2 libs. The name of the new library is "hbwin32". ; directx was not added for now. 2007-10-17 11:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * source/rtl/Makefile * source/rtl/oemansi.c + source/rtl/oemansix.c * source/rtl/typefile.prg + source/rtl/typefilx.prg * source/rdd/Makefile * source/rdd/dbjoin.prg + source/rdd/dbjoinx.prg * source/rdd/dblist.prg + source/rdd/dblistx.prg * source/rdd/dbtotal.prg + source/rdd/dbtotalx.prg * source/rdd/dbstrux.prg + source/rdd/dbstruxx.prg * source/rdd/dbfuncs.prg + source/rdd/dbfuncsx.prg * source/rdd/dbsort.prg + source/rdd/dbsortx.prg * source/rdd/dbcmd.c + source/rdd/dbcmdx.c * source/rdd/dbupdat.prg + source/rdd/dbupdatx.prg + Moved XPP compatible functions into separated source files. 2007-10-17 00:33 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/Makefile + contrib/win32prn/Makefile + contrib/win32prn/makefile.vc + contrib/win32prn/make_vc.bat + Added win32prn to GNU make system. + Added VC makefiles for win32prn. 2007-10-16 23:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/isprint.c - Removed Win32 bitmap printer specific (non-multiplatform) functionality. For this feature (and more) pls use hbwin32prn.lib from contrib: PRINTEREXISTS(), GETDEFAULTPRINTER(), etc. % Minor optimization. 2007-10-16 23:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/xhbfunc.c * contrib/win32prn/make_b32.bat * contrib/win32prn/tprinter.c ! Warnings/errors fixed from previous commit. 2007-10-16 15:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + contrib/win32prn + contrib/win32prn/makefile.bc + contrib/win32prn/make_b32.bat + contrib/win32prn/w32_pcls.prg + contrib/win32prn/w32_papi.c + contrib/win32prn/tprinter.c + contrib/win32prn/testw32p.prg + Ported Win32 specific bitmap printing class from xharbour core. ; Please test. 2007-10-16 12:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/isprint.c ! Fixed ISPRINTER() on Win32 after last changes. Thanks Guillermo, pls test now. * source/rdd/dbcmd.c ! Marked as HB_EXTENSION: FIELDLEN(), FIELDDEC(), FIELDTYPE() * include/hbextern.ch * source/rdd/dbcmd.c ! Marked as HB_EXTENSION: DBDROP(), DBEXISTS(), RDDINFO() (they were properly marked in hbextern.ch but not in source) * include/hbextern.ch * source/rtl/disksphb.c * source/rtl/fssize.c * source/rtl/fstemp.c * source/rtl/inkey.c * source/rtl/oemansi.c * source/rtl/philes.c * source/rtl/setcolor.c * source/rtl/setfunc.prg * source/rtl/setkey.c * source/rtl/shadow.c * source/rtl/trace.c * source/rtl/valtostr.c * source/vm/dynsym.c + Removed HB_EXTENSION from all the .prg level functions prefixed with HB_. (there was a mixed situation here, but there's no need to mark any HB_ functions as extensions, as it's obvious by their name. So as a rule, no HB_ prefixed function should ever be marked as HB_EXTENSION anymore.) ! Fixed some inconsistencies in HB_EXTENSION between hbextern.ch and actual sources. * source/rtl/tgetlist.prg * One HB_EXTENSION changed to !HB_C52_STRICT because it was guarding a bugfix rather than a real extension. * source/rtl/gui.prg * _GetNumCol() is now always strictly compatible. NOTE added about sloppy C5.3 behaviour. * source/rtl/inkey.c * contrib/xhb/xhb.ch * contrib/xhb/xhbfunc.c ! __KEYBOARD() xhb hidden parameter extension moved to xhb lib. For similar functionality inside Harbour pls use HB_KEYPUT(). __KEYBOARD is now 100% C5.x compatible. * source/rtl/setfunc.prg * __SetFunction() extension now uses HB_KEYPUT() instead of __KEYBOARD() extended parameters. * source/compiler/hbfunchk.c * source/rtl/at.c ! AT() extra parameters handled when HB_EXTENSION is on (was !HB_C52_STRICT). (The first extra parameter is XPP and Flagship compatible. The three parameter version of this function is called AT3() in CAVO.) ! TRIM()/RTRIM() extra parameters handled on compiler level when HB_EXTENSION is on (default). ! FILE() parameter check turned off in compiler. (to be C5.x compatible) * source/rtl/alert.prg ! ALERT() Harbour extended parameter (1st parameter type) is now guarded with HB_EXTENSION instead of HB_C52_STRICT. * source/rtl/gete.c ! GETE[NV]() Harbour extended parameter guarded with HB_EXTENSION. * source/vm/proc.c ! PROCFILE() Harbour extended parameter guarded with HB_EXTENSION. * source/rtl/mlcfunc.c ! Harbour extended parameters for MEMOLINE()/MLCOUNT()/ MLPOS()/MLCTOPOS()/MPOSTOLC() are now guarded with HB_EXTENSION (instead of HB_C52_STRICT). It seems to be possible to specify custom EOLs for all these functions. (Maybe simple automatic Unix/Win EOL style handling would be better here) * source/vm/memvars.c ! Guarded Harbour extension in __MVRESTORE() with HB_EXTENSION. ; After this cleanup: - HB_EXTENSION is marking extra features living inside existing C5.x functions or classes, or Harbour extension functions not complying with the HB_ prefix rule (we have six such functions in RDD). If there are more extended parameters in Harbour pls mark them with HB_EXTENSION too. - HB_C52_STRICT is guarding bugfixes compared to C5.x. - No HB_ functions are guarded with HB_EXTENSION anymore. - We'd pbly need to review each HB_EXTENSIONs to check whether they are safe or not. - A list of HB_EXTENSIONs: - MLCOUNT() MEMOLINE() MLPOS() MLCPOS() MPOSTOLC() - 5th and up can specify custom EOLs. - ALERT() - 1st parameter type can be any type in Harbour, char only in C5.x - SET FUNCTION TO __SETFUNCTION - 2nd parameter can be numeric or array of numeric in Harbour. - SETKEY() - 3rd codeblock parameter ("isactive" block) - SAVESCREEN() - 5th parameter: lNoCheck (?) RESTSCREEN() - 6th parameter: lNoCheck (?) - AT() - 3rd and 4th parameters to set search range. 3rd parameter is also supported by XPP and FS. Results in compiler error in C5.x. (CAVO uses AT2() and AT3() for extended versions.) - TRIM() RTRIM() - 2nd parameter is an extension regarding space trimming mode. Results in compiler error in C5.x. - ALLTRIM() - 2nd parameter is an extension regarding space trimming mode. - GETE() GETENV() - 2nd parameter specifies a default value. Can be found in HB_GETENV(). - PROCFILE() - 1st parameter is a Harbour extension. Undocumented function in C5.x. The extension looks similar to the one found in Flagship. - __MVRESTORE() - 3rd/4th parameters are Harbour extensions to set variable name mask. Redirected from the internal 5.x function named __MRESTORE(). - DB*() - cRDD, nConnection, cCodePage extra parameters in many DB*() functions. TOFIX: None of them is marked as HB_EXTENSION. - SET()s - These are not marked as HB_EXTENSION. - ? - Is there anything else? 2007-10-16 09:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbextern.ch * source/rtl/gete.c + Added HB_GETENV(). There you have a 2nd parameter which will be returned in case the requested envvar doesn't exist. This extensions is still present in GETE[NV](), but we'd better remove it. * include/hbextern.ch * source/rtl/isprint.c + Added HB_ISPRINTER() with support for extra parameter printer port name. This parameter also currently has support for Win32 printers. Win32 printer name support was removed from ISPRINTER() to keep compatibility. ISPRINTER() extra parameter is enabled with HB_COMPAT_XPP (which is the default). 2007-10-15 18:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tbcolumn.prg ! Strict C5.2e compatible behaviour made the default. * source/rtl/inkey.c + Added handling of arrays of numbers in HB_KEYPUT(). (this was copied from __KEYBOARD()'s extended section) + Added handling of string parameter in HB_KEYPUT(). (this way we don't really need the hidden extensions in __KEYBOARD() anymore.) * common.mak * include/hbcompdf.h * source/compiler/hbmain.c * source/compiler/cmdcheck.c * source/compiler/hbcomp.c * source/compiler/harbour.l * source/compiler/Makefile * source/compiler/ppcomp.c * source/compiler/hbusage.c - source/compiler/genjava.c - source/compiler/gencli.c - Removed two non-working (experimental) output types: Java, CLI ! Prefixed LANG_* enums with HB_ 2007-10-15 17:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h * harbour/include/hbmath.h * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * harbour/source/pp/Makefile * harbour/source/rtl/diskspac.c * harbour/source/rtl/fserror.c * harbour/source/rtl/gtchrmap.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/gttone.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/fssize.c * harbour/source/rtl/hbinet.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/filesys.c * harbour/source/vm/mainwin.c * harbour/source/common/hbver.c * harbour/source/common/hbtrace.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/ppcomp.c * harbour/utils/hbver/hbverfix.c * harbour/utils/hbpp/hbppcore.c * harbour/config/w32/pocc.cf * code cleanup: - eliminated unnecessary errno access - use WinAPI functions instead of some standard C library functions in Windows builds 2007-10-13 12:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbdead.c % minor improvement 2007-10-13 02:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * updated for recent modifications 2007-10-13 02:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/doc/destruct.txt * update description for multiple inherited destructors * harbour/source/compiler/complex.c * _HB_CLASS and _HB_MEMBER are not longer reserved words * harbour/include/hbclass.ch * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/macro/macro.y * harbour/source/compiler/harbour.y * formatting and minor code cleanup * harbour/source/compiler/hbusage.c * added missing information about -undef: switch to usage description * harbour/source/compiler/gencc.c ! fixed bug reported by Teo in code generated for SWITCH statement 2007-10-10 21:11 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/tests/multifnc/t0.prg * harbour/tests/multifnc/t1.prg * harbour/tests/multifnc/t2.prg + one more test for function overload with C function 2007-10-10 00:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/source/compiler/hbmain.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/complex.c * cleanup: removed unused variable, some extension to datetime decoding, etc. 2007-10-09 09:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/runner.c * harbour/source/compiler/genhrb.c ! added support for functions marked as DYNAMIC in .hrb format * harbour/source/compiler/complex.c + finished code (stil disabled) to decode datetime in VFP strict date form 2007-10-09 00:11 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/vm/dynsym.c * minor optimzation * harbour/tests/multifnc/t0.prg * harbour/tests/multifnc/t1.prg * harbour/tests/multifnc/t2.prg + one more test for function overload 2007-10-08 23:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c * do not clear references to public functions in symbol tables used by unloaded modules * harbour/source/compiler/complex.c + added disabled yet code to decode datetime in VFP strict date form {^YYYY/MM/DD[,][HH[:MM[:SS[.CCC]]][A|P]]} It's for future datetime implementation. 2007-10-08 19:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/hbcompat.ch * contrib/xhb/xhb.ch + Moved lines which do not need xhb lib itself from xhb.ch to hbcompat.ch. xhb.ch now includes hbcompat.ch and not vice versa. So now hbcompat.ch can be used as a "lighter" compatibility layer which doesn't need the lib binary. Pls test. * contrib/mysql/tmysql.prg * contrib/mysql/tsqlbrw.prg * contrib/mysql/Makefile ! Applied MySQL lib patch on behalf of Guy Roussin. 2007-10-08 01:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/arrays.c ! fixed value returned by HB_RASCAN( aVal, bCode ) - it was returning index -1, f.e. hb_rascan({1,2,3},{|x|x==2}) returned 1 when it should 2 2007-10-06 21:28 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/tip/thtml.prg * contrib/tip/cgi.prg * contrib/tip/httpcln.prg * removed HB_HSetAutoAdd, now Harbour hashes by default have AUTOADD on assign. 2007-10-06 13:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hashes.c * set AUTOADD for assign operation by default in new arrays * removed last HB_COMPAT_XHB * harbour/source/vm/hashfunc.c * change HB_HAUTOADD( hHash, .T. ) to set AUTOADD for assign only when no default value is set Above are minimal modifications to make default Harbour behavior more similar to other languages f.e. PHP or xHarbour. Other modifications will depend on group decision. 2007-10-06 12:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsetup.h * harbour/source/rtl/hbffind.c * harbour/source/rtl/filesys.c * cleanup * harbour/source/vm/hvm.c % use extended reference for enumerator destructor - it eliminates 3 hb_itemNew() calls reducing the cost of creating FOR EACH envelope about 40% 2007-10-05 23:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsetup.h * minor cleanup comment * harbour/source/vm/hvm.c * save/restore return value in extended references 2007-10-05 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/dynsym.c * added some additional comments. I still do not know MSVC behavior can someone check the results from tests/multifnc in MS[V]C build? 2007-10-04 20:14 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c * ignore Sx_SetTrigger( TRIGGER_ENABLE ) when trigger function not set 2007-10-04 19:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbffpt/dbffpt1.c ! fixed memo pack when DBF record were not updated but only memo file Problem reported by Miguel 2007-10-04 13:15 UTC+0100 Miguel Angel Marchuet Frutos * contrib/bmdbfcdx/bmdbfcdx1.c * removed memory leak. * contrib/xhb/makefile.bc * added missing file. * source/vm/estack.c * corrected sintax 2007-10-04 13:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/tests/multifnc/t0.prg * show information about Harbour version and used C compiler 2007-10-04 12:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! removed one call to hb_vmRequestRestore() left by mistake % minor optimization 2007-10-04 02:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c ! fixed setting HB_FS_FIRST flag 2007-10-03 17:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/tests/oleenum.prg + added Enrico example and test code for enumerators and OLE objects * harbour/contrib/Makefile * enabled hbole, ado_rdd, hybodbc in most of Windows builds * harbour/contrib/ole2/win32ole.prg * harbour/contrib/ole2/w32ole.c * synced with recent Ron's modifications in xHarbour I'd like to ask Windows users to make tests with above oleenum.prg and example sent by Luis * harbour/source/rtl/gttrm/gttrm.c * disable ACS mode before sending BEL on Linux compatibile terminals - some of them may try to display chr(7) instead of generating sound when ACSC is enabled * harbour/source/vm/proc.c + added support for character parameter in PROCFILE() - now it can accept | | as first parameter * harbour/source/vm/dynsym.c * added support for detecting not cleanly overloaded by linker .prg functions. In such case hb_dynsymNew() checks if linker updated function addresses and if yes then remove unnecessary HB_FS_LOCAL flag. In such case works GCC (but not MinGW and DJGPP), OpwenWatcom for Linux, DOS, Windows (and probably for OS2), POCC, XCC (with /FORCE:MULTIPLE linker switch) and some other linkers I haven't tested. Otherwise (two different functions with the same name linked and each accessible from different symbol, f.e. BCC32, MinGW, DJGPP) it accept multiple HB_FS_LOCAL for dynamically loaded modules (.hrb, .dll, .so, .dyn, ...) if HVM also accepted it (for future KEEP_LOCAL_FUNC HB_LIBLOAD()/__HBRLOAD() parameter). For statically linked modules it overloads one of the functions when HB_OVERLOAD_MULTIPLE_FUNC macro is set (now by default to make tests with different linkers). I left detail description in source code of hb_dynsymNew() in source/vm/dynsym.c. I hope it will also help Ron in recent xHarbour modifications - AFAIK it's sth what he tires to do. Anyhow please remember that that dirty overloading any symbols by linker is very bad idea and in such case you have big chance that wrong binaries will be created so the most preferable choice is eliminating such situations and not using linker switches like -Wl,--allow-multiple-definition or /FORCE:MULTIPLE + harbour/tests/multifnc + harbour/tests/multifnc/t0.prg + harbour/tests/multifnc/t1.prg + harbour/tests/multifnc/t2.prg + harbour/tests/multifnc/Makefile + added test code for results of dirty overloaded functions. With recent modifications expected results are: main t0.prg t0.prg alert t1.prg t1.prg [ALERT] p0 t0.prg t0.prg P0:t0.prg P0:t0.prg OK p1 t0.prg t0.prg P1:t0.prg P1:t0.prg OK p2 t1.prg t1.prg P2:t1.prg P2:t1.prg OK p3 t0.prg t0.prg P3:t0.prg P3:t0.prg OK p4 t1.prg t1.prg P4:t1.prg P4:t1.prg OK p5 t2.prg t2.prg P5:t2.prg P5:t2.prg OK === main2 t1.prg t1.prg alert t1.prg t1.prg [ALERT] p0 t0.prg t0.prg P0:t0.prg P0:t0.prg OK p1 t0.prg t0.prg P1:t0.prg P1:t0.prg OK p2 t1.prg t1.prg P2:t1.prg P2:t1.prg OK p3 t0.prg t0.prg P3:t0.prg P3:t0.prg OK p4 t1.prg t1.prg P4:t1.prg P4:t1.prg OK p5 t2.prg t2.prg P5:t2.prg P5:t2.prg OK === main3 t2.prg t2.prg alert t1.prg t1.prg [ALERT] p0 t0.prg t0.prg P0:t0.prg P0:t0.prg OK p1 t0.prg t0.prg P1:t0.prg P1:t0.prg OK p2 t1.prg t1.prg P2:t1.prg P2:t1.prg OK p3 t0.prg t0.prg P3:t0.prg P3:t0.prg OK p4 t1.prg t1.prg P4:t1.prg P4:t1.prg OK p5 t2.prg t2.prg P5:t2.prg P5:t2.prg OK I've tested only few compilers: GCC/G++ (Linux) MinGW (WINE-W32), DJGPP (DOSEMU), OpenWatcom (Linux, WINE-W32, DOSEMU), XCC/POCC (WINE-W32) and I'm interesting in results from other compiler/ platforms, f.e. from M[V]SC. 2007-10-02 14:58 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole2/win32ole.prg ! fixed typo in __enumStart() - enum parameter has to be passed by reference ro __enumSkip() method 2007-10-02 10:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c + added support for HB_ENUM*([@]) functions - disabled by default can be enabled by HB_USE_ENUM_FUNCTIONS macro * harbour/source/rtl/gttone.c * use assembler code for tone emulation for POCC/XCC compiler only for X86 platforms * harbour/source/rtl/filesys.c * do not include for POCC/XCC * harbour/source/compiler/gencli.c * pacify warning * harbour/config/w32/owatcom.cf * harbour/config/w32/xcc.cf * updated description in header files + harbour/config/w32/pocc.cf + added support for Pelles ISO C Compiler 2007-10-02 10:49 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/ChangeLog + harbour/ChangeLog.019 * ChangeLog archived. * contrib/tip/cgi.prg * contrib/tip/url.prg * contrib/tip/httpcln.prg * contrib/tip/mail.prg ! Some hash function calls corrected after last modification. Thanks Juan. 2007-10-01 22:53 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/tip/httpcln.prg * removed unnecesary include file hbcompat.ch 2007-10-01 23:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/tip/Makefile * contrib/tip/makefile.bc + contrib/tip/makefile.vc + contrib/tip/make_vc.bat * contrib/tip/tip.ch * contrib/tip/utils.c * contrib/tip/base64x.c * contrib/tip/encmthd.c - contrib/tip/hbhex2n.c * contrib/tip/cgi.prg * contrib/tip/client.prg * contrib/tip/ftpcln.prg * contrib/tip/httpcln.prg * contrib/tip/mail.prg * contrib/tip/thtml.prg * contrib/tip/url.prg + Code converted to not require xhb lib. % Now compiled with -kM switch to avoid macro expansion of strings. This is important here, as "&" char is used quite often in the code, so expect a somewhat better performance. - Removed hex number conversion functions, as compatible versions are now available in Harbour with am hb_ prefix. + C code update to use Harbour API calls only. + Added VC build script. ! Fixed two C warnings. ! Standardized SVN header in one file. ! Set std SVN keywords and eol-style. ; Please test it. * include/hbextern.ch * source/rtl/hbinet.c * contrib/xhb/xhb.ch * contrib/xhb/xhbfunc.c * Renamed hb_IsInetSocket() to hb_inetIsSocket() to keep all inet related functions in one namespace. 2007-10-01 19:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/errorapi.c + added protection against possible GPF when some assign methods were called without parameters * harbour/source/rdd/workarea.c * initialize uiFalgs also when DBS_FLAGS is not set * harbour/contrib/bmdbfcdx/bmdbfcdx1.c * fixed hb_cdxSkipFilter() declaration - it should be 'static' function * harbour/source/pp/ppcore.c * harbour/source/compiler/ppcomp.c + added support for changing all -k? switches by #pragma, f.e.; #pragma -ks+ #pragma -kM- #pragma -kx1 #pragma -kJ0 * harbour/source/compiler/hbusage.c * changed -ks description * harbour/include/hbexpra.c * harbour/include/hbexprb.c * do not generate error message for negative indexes and [] operators are used for simple types when -ks option is used * harbour/include/hbvmpub.h * harbour/include/hbapi.h * harbour/source/vm/hvm.c * harbour/source/vm/extend.c * harbour/source/vm/itemapi.c * harbour/source/vm/memvars.c + added HB_IT_DEFAULT flags - it allows to check if item was changed * harbour/source/vm/memvars.c * harbour/include/hbvm.h ! fixed HB_IT_MEMOFLAG updating to be Clipper compatible. Here we are not Clipper compatible in one place: in clodeblock local parameters with memo values are marked as MEMO but if you leave function where codeblock were created then Clipper during detaching removes MEMO flag. In Harbour memo flag is kept. * harbour/include/hbvm.h * harbour/source/vm/classes.c * harbour/source/vm/hvm.c % improved speed of extended references used for SETGET methods and overloaded [] operators * harbour/include/hbapi.h * harbour/include/hbsetup.ch * harbour/source/compiler/hbcomp.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * harbour/source/vm/cmdarg.c * removed HB_COMPAT_XHB flags - only one HB_COMPAT_XHB still exist in HVM in hashes.c - it will be removed soon. * harbour/source/common/hbverdsp.c * removed information about xHarbour compatibility mode - it's not longer used. We are emulating xHarbour behavior using external XHB library and standard compiler/HVM features * harbour/contrib/xhb/xhb.ch * harbour/contrib/xhb/xhbfunc.c * harbour/source/vm/arrayshb.c * moved XHB_AINS(), XHB_ADEL() from XHB lib to HVM as HB_AINS(), HB_ADEL() * harbour/contrib/xhb/xhb.ch + added #pragma -ks+ + added transaltion for hb_enumindex( ) + harbour/contrib/xhb/xhbenum.c + added emulation for HB_EUMMINDEX() * harbour/contrib/xhb/xhbfunc.c * do not add INET*() function wrappers for DOS builds or when HB_NO_DEFAULT_INET macro is set * harbour/contrib/xhb/xhbmsgs.c * added comment * harbour/contrib/Makefile + added TIP and XHB * harbour/make_rpm.sh * harbour/harbour.spec * removed HB_COMPAT_XHB, --with tip, --with xhb they are not longer necessary 2007-09-01 17:54 UTC+0100 Miguel Angel Marchuet * contrib/bmdbfcdx/bmdbfcdx1.c * contrib/bmdbfcdx/hbrddbmcdx.h * synced with dbfcdx * contrib/tip/make_b32.bat * fixed copy of lib by Juan Galvez. * contrib/xhb/makefile.bc + added missing files by Juan Galvez. 2007-09-29 11:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbf1.c + Added support for _SET_DEFEXTENSIONS to RDD. 2007-09-28 23:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c ! fixed typo in hb_dbfGetRowVer() reported by Mindaugas, many thanks for information, it was side effect of some experiments I hadn't cleanly removed before commit. 2007-09-28 19:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * pass compile time -ks state to RT macro compiler flags. It means that if you compile some with which ¯os then -ks compile time switch will be passed also to macro compiler and respected later at runtime * harbour/source/macro/macro.yyc * harbour/source/macro/macro.y + added support for passing by reference array and object items * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * generate compile time error for @func() only @func() is acceptable 2007-09-28 17:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/Makefile - include/hbcompat.ch + contrib/xhb/hbcompat.ch * contrib/xhb/xhb.ch * contrib/xhb/Makefile * Moved content or hbcompat.ch into xhb.ch. Those who need compatibility, have to replace * Moved hbcompat.ch (for compatibility) to contrib/xhb 2007-09-28 16:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * respect -ks in macrovars and array item references * harbour/source/vm/memvars.c * do not detach array items during detaching enumerator variable also in standard (without HB_COMPAT_XHB) build 2007-09-28 14:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/itemapi.c * harbour/source/vm/garbage.c + added extended item references - it's universal reference which can be used by HVM for many different things without introducing new item types * harbour/include/hbexprb.c * respect -ks compiler also with =, --, ++ operators * harbour/include/hbvm.h * harbour/source/vm/hvm.c * harbour/source/vm/classes.c + added extended references for SETGET methods used as object item references * use extended references to respect overloaded [] operator in object item references + added support for passing indexes to string item characters ( @cValue[n] ) by reference using extended references - extension enabled by -ks compiler switch and //flags:s RT switch. + added hb_vmPushItemRef() * harbour/source/rdd/dbf1.c * harbour/source/rdd/usrrdd/usrrdd.c * use hb_vmPushItemRef() * harbour/contrib/xhb/xhbcomp.prg * harbour/contrib/xhb/xhbmsgs.c * overload +, -, *, %, ^, ++, -- in string and numeric scalar classes to emulated xHarbour behavior when 1 byte string is used as numeric value. Note: + in XHB lib gives numeric value when in xHarbour character. But because in xHarbour gives numeric value then I guess that it's xHarbour bug and I should not replicate it, f.e.: proc main() ? 1+"A", 131-"A", 33 * 2, 132 / chr(2), 133 % "C" return * overload +, - in hash scalar class to emulated xHarbour behavior for + and - Seems that now we can remove HB_COMPAT_XHB flag from HVM and keep Harbour compatibility only with -ks compile time switch and XHB library. Please make some tests with Harbour compiled without HB_COMPAT_XHB and xHarbour code using REQUEST XHB_LIB. It's possible that I missed sth but some basic test shows that our emulation is better then original and addresses places where xHarbour does not work at all or gives strange results, f.e.: #ifndef __XHARBOUR__ request XHB_LIB #endif proc main() local h:={"ABC"=>123.45} ? h:abc h:abc+=1000 ; ? h:abc h["ABC"]+=1000; ? h:abc p(@h:abc) ; ? h:abc p(@h["ABC"]) ; ? h:abc return proc p(x) x+=1000 return or: #ifndef __XHARBOUR__ request XHB_LIB #endif #include "hbclass.ch" proc main() local o:=myClass():new() o:setget:="ABC"; ? o:setget o:setget[2]:=42; ? o:setget o:setget[2]+=42; ? o:setget ? o:setget[2]+=42; ? o:setget ? o:var:="ABC"; ? o:var o:var[2]:=42; ? o:var o:var[2]+=42; ? o:var ? o:var[2]+=42; ? o:var return CREATE CLASS myClass VAR var METHOD setget SETGET END CLASS METHOD setget( xNewVal ) CLASS myClass IF pcount() > 0 ::var := xNewVal ENDIF RETURN ::var * harbour/include/hbapirdd.h * harbour/source/rdd/dbcmd.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/usrrdd/usrrdd.c * harbour/contrib/rdd_ads/ads1.c * changed second parameter in RELTEXT() method to PHB_ITEM Now RELTEXT() works like FILTERTEXT() and the size of expression is not limited. It's a modification I wanted to make for a long time and I think that now is a good moment to make it together with HB_FT_* modifications - rmoved not longer necessary HARBOUR_MAX_RDD_RELTEXT_LENGTH * harbour/source/rtl/gttrm/gttrm.c * small cleanup 2007-09-28 11:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/compiler/hbusage.c ! Show the -ks switch only when compiled with HB_COMPAT_XHB. 2007-09-27 15:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/dbinfo.ch * harbour/contrib/rdd_ads/ads1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/delim1.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/sdf1.c + added support for DBI_POSITIONED flag. Because some RDDs may not support phantom record then checking for EOF() does not have to be enough to detect that the cursor is positioned to phantom record. Checking for RecNo() == LastRec() + 1 does not have to work either because some RDD may use not use continuous record numbers f.e. ADT. So in code like BROWSE() if you want to be sure that current record is phantom one then (!dbInfo(DBI_POSITIONED)) should be used. 2007-09-27 14:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbf1.c * recognize field { "T", 4, 0 } as TIME and { "T", 8, 0 } as DAYTIME * harbour/source/vm/hvm.c * formatting 2007-09-26 05:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog ! fixed typo in function names in previous commit description * harbour/contrib/xhb/xhbfunc.c + added HB_QSELF() 2007-09-26 05:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/xhb/Makefile + harbour/contrib/xhb/xhbwith.c + added HB_QWith( [] ), HB_WithObjectCounter(), HB_ResetWith() 2007-09-26 02:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch + added: ON ERROR FUNCTION OPERATOR FUNCTION * harbour/include/hbapicls.h * harbour/source/vm/classes.c * harbour/source/vm/hvm.c + added support for overloading right side $ operator * harbour/contrib/xhb/xhbfunc.c * rewritten xhb_ains() and xhb_adel() in C * harbour/contrib/xhb/xhb.ch * changed AINS() conversion to be xHarbour compatible * harbour/contrib/xhb/Makefile + added xhb.ch to PRG_HEADERS so it's installed automatically during 'make install' * harbour/contrib/xhb/Makefile + harbour/contrib/xhb/xhbmsgs.c * harbour/contrib/xhb/xhbcomp.prg + added support for $ operator used with hashes and arrays on right side working _exactly_ like in xHarbour. + added support for negative indexes in used in [] operator for array and strings. Please remember that standard harbour build (without HB_COMPAT_XHB flag) generate warning for negative indexes, if you wan to pacify them then instead of var[-1] use var[(-1)] + added support for assign string characters with [] index. Please remember that for standard harbour build (without HB_COMPAT_XHB flag) you have to use -ks compile time switch if you want to assign strings in such way because this feature needs different PCODE, f.e. try to compile this code: proc main() local s:="ABC" s[(-1)] := "*" ? s return with and without -ks switch + added support for accessing hash items using OO interface, f.e.: proc main() local h:={"ABC"=>123.45,"XYZ"=>567.89} ? h["ABC"], h["XYZ"] ? h:ABC, h:XYZ h:ABC+=1000 h:XYZ:=-2000 ? h:ABC, h:XYZ return All of the above extensions are written in C code so the speed overhead is very small. Harbour evaluates PCODE faster then xHarbour so in speed tests where above operators are executed in loop without any other code the xHarbour results with native support are comparable with Harbour ones where above operators are overloaded using scalar classes so in normal code you should not find any difference with one exception for assigning characters in very long strings. 2007-09-25 19:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/xhbcomp.prg + Added "string as array" implementation. I didn't test it for 100% compatibility, but the base is there. One problem though that Harbour won't allow an zero or negative index even with the -ks switch. (I find the error useful though, so we should keep it, but allow it with a switch -ks?) 2007-09-25 18:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbcompat.ch * source/vm/arrayshb.c * contrib/xhb/xhb.ch * contrib/xhb/xhbfunc.c + Added HB_ASCAN() to Harbour, which does the same as the plain AScan() in xhb. I decided to do this because we already had hb_RAscan() implemented, and having hb_Ascan() is good to keep symetry. * Modified xhb lib to use the Harbour one. * Translations moved to hbcompat.ch. - Removed HB_COMPAT_XHB from Harbour level array functions. 2007-09-25 13:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/wafunc.c ! fixed typo which broke array returned by dbStrunct() 2007-09-25 00:55 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/xhb/xhbcomp.prg + added "[]" operator overloading for the HBCharacter type class: [n] : access assign is not implemented ( [n] := ) negative index is not implemented ( [-n] ) + added "$" operator overloading for the following type classes: HBCharacter : $ HBDate : $ HBLogical : $ HBNil : $ HBNumeric : $ ; all the new extended types, has a ::ClassName with the "HB" prefix. 2007-09-25 04:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/xhb/Makefile * contrib/xhb/xhbfunc.c + contrib/xhb/xhb.ch + contrib/xhb/xhbcomp.prg + Added xhb_AScan(), xhb_AIns(), xhb_ADel() plus defines to redirect extended AScan(), AIns(), ADel() calls to these functions. They need to be tested as I'm no xhb user. + Added compatibility header, which adds a the above translations and include hbcompat.ch. + Added INIT PROC xhb_Init() as a future place for xhb specific startup settings. ; TODO: - Add $ and [] operator overloading. - Add operator overloading for hash type. - Add a way hash API call to control the default flag hb_hashNew() uses, then add this default setting to the xhb libs INIT PROC. ; For better xhb compatibility, developers should add #ifndef __XHARBOUR__ #include "xhb.ch" #endif to every .prg file they use. + contrib/xhb/make_b32.bat + contrib/xhb/make_vc.bat + contrib/xhb/makefile.bc + contrib/xhb/makefile.vc + Added non-GNU makefiles for xhb lib. * include/hbcompat.ch + Added xhb compatibility translates for ENDSWITCH end friends. * source/rtl/scrollbr.prg * Minor formatting. 2007-09-25 03:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbextern.ch + harbour/contrib/xhb/xhbextrn.ch * harbour/contrib/xhb/Makefile * moved xHarbour compatible functions from hbextern.ch to xhbextrn.ch 2007-09-25 03:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbset.h * harbour/source/rtl/set.c * changed recently added hb_set*() functions to hb_setGet*() Please do not use these functions yet - it's possible that they will be removed soon. + added hb_setGetL(), hb_setGetCPtr(), hb_setGetNI(), hb_setGetNL() * harbour/contrib/libct/dattime2.c * harbour/contrib/samples/date.c * use hb_setGetCentury() instead of hb_setGetL( hb_set_century ) we do not have hb_set_century SET switch so hb_setGetL() cannot be used * harbour/harbour.spec * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh * harbour/contrib/Makefile + harbour/contrib/xhb + harbour/contrib/xhb/hboutdbg.c + harbour/contrib/xhb/cstruct.ch + harbour/contrib/xhb/hblog.prg + harbour/contrib/xhb/hblog.ch + harbour/contrib/xhb/hblognet.prg + harbour/contrib/xhb/hbxml.c + harbour/contrib/xhb/hbxml.h + harbour/contrib/xhb/hbxml.ch + harbour/contrib/xhb/hblogdef.ch + harbour/contrib/xhb/hbctypes.ch + harbour/contrib/xhb/wintypes.ch + harbour/contrib/xhb/txml.prg + harbour/contrib/xhb/hbsyslog.c + harbour/contrib/xhb/cstructc.c + harbour/contrib/xhb/Makefile + harbour/contrib/xhb/cstruct.prg + harbour/contrib/xhb/xhbfunc.c + added XHB library with xharbour compatible functions borrowed from xHarbour. Now it contains HBLOG, HBXML, HBCSTRUCT, HASH, INET*() functions and classes. * harbour/source/rtl/itemseri.c * harbour/source/rtl/strmatch.c * harbour/source/rtl/hbinet.c * harbour/source/vm/hashfunc.c * moved xHarbour compatible functions to XHB library * harbour/source/vm/classes.c + added support for ERROR HANDLER message in scalar classes * harbour/contrib/tip/mail.prg * harbour/contrib/tip/ftpcln.prg + added #include "hbcompat.ch" * harbour/include/hbdbferr.h + added new RT errors: EDBF_CREATE_TEMP, EDBF_WRITE_TEMP, EDBF_READ_TEMP * harbour/include/dbinfo.ch + added DBI_ENCRYPT, DBI_DECRYPT, DBI_MEMOPACK, DBI_DIRTYREAD + added DBOI_INDEXTYPE, DBOI_USECURRENT + added RDDI_LOCKRETRY, RDDI_DIRTYREAD * harbour/include/dbinfo.ch * harbour/include/hbrdddbf.h * harbour/include/hbrddfpt.h * harbour/include/hbrddcdx.h * harbour/include/hbrddntx.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c + added support for MEMOPACK, table ENCRYPT/DECRYPT, index DIRTYREAD * harbour/include/hbapirdd.h * harbour/include/dbstruct.ch * harbour/include/hbusrrdd.ch * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/ace.h * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbcmd.c * harbour/source/rdd/wafunc.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/delim1.c * changed HB_IT_* as field type to HB_FT_* + added field flags HB_FF_* + added support for new field types to core code * harbour/source/rdd/dbf1.c + added support for AUTOINC (+), ROWVERSION (^), TIME (T), DAYTIME (@) and MODTIME (=) fields * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/ace.h + added support for ROWVERSION (^), and MODTIME (=) fields * harbour/source/rdd/dbcmd.c ! fixed bug in dbSkipper() reported by Viktor + harbour/include/hbsix.ch * harbour/source/rdd/hbsix/Makefile * harbour/source/rdd/hbsix/sxdate.c * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hbsix/sxcrypt.c + harbour/source/rdd/hbsix/sxsem.c + harbour/source/rdd/hbsix/sxord.c + harbour/source/rdd/hbsix/sxredir.c + harbour/source/rdd/hbsix/sxfname.c + harbour/source/rdd/hbsix/sxtable.c + harbour/source/rdd/hbsix/sxutil.c + harbour/source/rdd/hbsix/sxcompat.prg + harbour/source/rdd/hbsix/sxtrig.prg + harbour/source/rdd/hbsix/sxini.prg + added SIx3 compatible functions: RDD_Count(), RDD_Name(), RDD_Info(), SetRDD(), sxChar(), sxNum(), sxDate(), sxLog(), Sx_DToP(), Sx_PToD(), Sx_BLOB2File(), Sx_File2BLOB(), Sx_Compress(), Sx_Decompress(), Sx_FCompress(), Sx_FDecompress(), Sx_AutoOpen(), Sx_AutoShare(), Sx_MemoExt(), Sx_MemoBlk(), Sx_SetMemoBlock(), Sx_MemoPack(), Sx_SetTrigger(), Sx_SetTrig(), Sx_DefTrigger(), Sx_INIheader(), _sx_INIinit(), _sxOpenInit(), Sx_SetPass(), Sx_Encrypt(), Sx_Decrypt(), Sx_DBFdecrypt(), Sx_DBFencrypt(), sx_MakeSem(), sx_KillSem(), sx_IsSem(), Sx_ClrScope(), Sx_SetScope(), Sx_Freeze(), Sx_Warm(), Sx_Chill(), Sx_Thermometer(), Sx_IsReindex(), Sx_Step(), Sx_KeysIncluded(), Sx_I_IndexName(), Sx_I_TagName(), Sx_IndexCount(), Sx_IndexName(), Sx_IndexType(), Sx_IndexFilter(), Sx_ROXLock(), Sx_ROXUnLock(), Sx_IsMyROX(), Sx_IsROXLock(), Sx_KeyAdd(), Sx_KeyDrop(), Sx_KeyData(), Sx_KeySkip(), Sx_KeyCount(), Sx_KeyNo(), Sx_KeyGoto(), Sx_WildSeek(), Sx_WildMatch(), Sx_IsFLocked(), Sx_IsReadOnly(), Sx_IsShared(), Sx_IsLocked(), Sx_IsDBT(), Sx_IDtype(), Sx_TableType(), Sx_TableName(), Sx_SetTurbo(), Sx_TurboArea(), Sx_SetDirty(), Sx_DirtyArea(), Sx_RLock(), Sx_UnLock(), Sx_GetLocks(), Sx_LockRetry(), Sx_SeekLast(), Sx_FindRec(), Sx_SkipUnique(), Sx_TagUnique(), Sx_TagCount(), Sx_TagOrder(), Sx_TagNo(), Sx_TagName(), Sx_TagInfo(), Sx_Tags(), Sx_SetTag(), Sx_SetTagOrder(), Sx_SetTagNo(), Sx_KillTag(), Sx_FileOrder(), Sx_SetFileOrd(), Sx_ClearOrder(), Sx_VSigLen(), Sx_VFGet(), Sx_dbCreate(), Sx_StrxCheck(), Sx_Rollback(), Sx_SortOption(), _sxCondSet(), Sx_FNameParser(), Sx_SlimFast(), Sx_Version(), Sx_Error(), + added SIx3 compatible commands: SET DIRTYREAD ON|OFF USE ... [TRIGGER ] [PASSWORD ] SORT ... USECURRENT WILDSEEK WILDSEEKNEXT CLEAR ORDER SET TAGORDER TO [] SET ORDER TO TAG <(tag)> [OF <(bag)>] SET TAG TO [ [OF <(bag)>]] REINDEX OPTION [STEP ] DELETE TAG <(tag1)> [OF <(bag1)>] [, <(tagN)> [OF <(bagN)>]] DELETE TAG ALL [OF <(bag)>] CLEAR SCOPE SET SCOPETOP TO [] SET SCOPEBOTTOM TO [] SET SCOPE TO [] SET TURBOREAD ON|OFF MEMOPACK [BLOCK ] [OPTION [STEP ]] SET MEMOBLOCK TO SUBINDEX ON TO <(file)> ; [OPTION [STEP ]] [FILTERON] [EMPTY] SUBINDEX ON TAG <(tag)> [OF <(bag)>] [TO <(bag)>] ; [OPTION [STEP ]] [FILTERON] [EMPTY] INDEX ON [TAG <(tag)>] TO <(bag)> ; [OPTION [STEP ]] [FILTERON] [EMPTY] [SUBINDEX] INDEX ON TAG <(tag)> [OF <(bag)>] [TO <(bag)>] ; [OPTION [STEP ]] [FILTERON] [EMPTY] [SUBINDEX] Unlike Ads*() functions the Sx_*() ones can be used with any RDD and will work if RDD supports necessary functionality. The global settings in SIx3 are RDD dependent in Harbour, f.e. in SIx3 Sx_MemoExt() change MEMO file extensions in all SIX* RDDs but in Harbour only in default RDD driver. In Harbour default trigger function "Sx_DefTrigger" is not enabled by default. If user needs such functionality then he has to enable it himself using rddInfo( RDDI_TRIGGER, "SX_DEFTRIGGER", [] ) f.e. this code: init procedure sx_inittrig() local aRDDs := { "DBF", "DBFNTX", "DBFCDX", "SIXCDX", ; "RMDBFNTX", "RMDBFCDX" } local aRDDList := RddList(), cRdd for each cRdd in aRDDs if ascan( aRDDList, { |x| x == cRdd } ) != 0 rddInfo( RDDI_TRIGGER, "SX_DEFTRIGGER", cRDD ) endif next return sets SX_DEFTRIGGER as default trigger in DBF* based RDDs. I still do not allow to encrypt tables with memo fields to not replicate SIx3 bugs which may cause data corruption. 2007-09-24 02:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole2/win32ole.prg * changed Invoke() method to work with core code compiled without HB_COMPAT_XHB * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rdd/dbcmd.c * code clean-up * harbour/include/hbset.h * harbour/source/rtl/set.c * code clean-up + added functions to access set parameters: hb_setAltHan() hb_setCentury() hb_setExtraHan() hb_setPrintHan() hb_setAlternate() hb_setAltFile() hb_setAutOpen() hb_setAutOrder() hb_setAutoShare() hb_setBell() hb_setCancel() hb_setColor() hb_setConfirm() hb_setConsole() hb_setDateFormat() hb_setDebug() hb_setDecimals() hb_setDefault() hb_setDeleted() hb_setDelimChars() hb_setDelimiters() hb_setDevice() hb_setEOF() hb_setEpoch() hb_setEscape() hb_setEventMask() hb_setExact() hb_setExclusive() hb_setExit() hb_setExtra() hb_setExtraFile() hb_setFixed() hb_setIdleRepeat() hb_setInsert() hb_setIntensity() hb_setPath() hb_setMargin() hb_setMBlockSize() hb_setMCenter() hb_setMessage() hb_setMFileExt() hb_setOptimize() hb_setPrinter() hb_setPrintFile() hb_setScoreBoard() hb_setScrollBreak() hb_setSoftSeek() hb_setStrictRead() hb_setTypeAhead() hb_setUnique() hb_setFileCase() hb_setDirCase() hb_setDirSeparator() hb_setVideoMode() hb_setWrap() hb_setDBFLockScheme() hb_setHardCommit() hb_setForceOpt() hb_setDefExtension() hb_setEOL() hb_setTrimFileName() This is compatible with recent modifications by Andi Jahja in xHarbour. 2007-09-22 21:43 UTC-0500 Teo Fonrouge (teo/at/windtelsoft/dot/com) * contrib/tip/thtml.prg * contrib/tip/cgi.prg * contrib/tip/httpcln.prg ! Fixed missing logical parameter on HB_HSetAutoAdd 2007-09-18 14:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch + added new commands for scalar classes: ASSOCIATE CLASS WITH TYPE ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL| NUMERIC|POINTER|SYMBOL ENABLE CLASS TYPE ALL ENABLE TYPE CLASS ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL| NUMERIC|POINTER|SYMBOL Please remeber that: ENABLE CLASS TYPE ALL and: ENABLE TYPE CLASS ... can be used in any place of code - this commands are translated to REQUEST HB so are not executed * harbour/source/vm/classes.c + added __clsAssocType( , ) => * harbour/common.mak * harbour/source/rtl/tscalar.prg * harbour/source/rtl/Makefile + harbour/source/rtl/tscalars.c + harbour/source/rtl/tscalard.c + harbour/source/rtl/tscalarh.c + harbour/source/rtl/tscalarl.c + harbour/source/rtl/tscalarp.c + harbour/source/rtl/tscalara.c + harbour/source/rtl/tscalaru.c + harbour/source/rtl/tscalarb.c + harbour/source/rtl/tscalarn.c + harbour/source/rtl/tscalarc.c + added scalar classes for basic types, Now it's possible to define messages also for basic item types. It's even possible to overload some not defined in HVM operators, f.e. in this example we overload operator "+" so it makes AADD( , ) for code like + : #include "hbclass.ch" PROC MAIN() LOCAL a:={} ASSOCIATE CLASS MyArray WITH TYPE ARRAY a := a + "elem1" a += "elem2" a := a + "elem3" a += "elem4" ? a:asString, a:isScalar AEVAL(a,{|x,i|QOUT(i,x)}) RETURN CREATE CLASS MyArray INHERIT __HBArray OPERATOR "+" ARG xValue INLINE AADD( Self, xValue ), Self ENDCLASS Operators which have default actions for given types defined in HVM cannot be overloaded. 2007-09-18 00:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/hvm.c + added hb_clsDoInit() function to initialize classy .prg functions * harbour/source/compiler/complex.c * allow to use NIL as class name * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyh % optimize automatically var[0] declaration and generate the same PCODE as for var:={} * harbour/source/rtl/tscalar.prg + added HASH, POINTER and SYMBOL scalar classes * changed NIL class to not use any instance variables * harbour/source/vm/classes.c + added support for scalar classes. Now at startup classy code looks for hb functions and try to execute them to register scalar classes. It's Class(y) compatible behavior and only the prefix of scalar ceases class function is different: 'CSY' in class(y) and 'HB' in Harbour, f.e.: hbNumeric() If you prefer xHarbour like not automatic scalar class registration with some PP commands: ASSOCIATE CLASS WITH TYPE ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL| NUMERIC|POINTER|SYMBOL ENABLE CLASS TYPE ALL ENABLE TYPE CLASS ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL| NUMERIC|POINTER|SYMBOL EXTEND [TYPE] ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL| NUMERIC|POINTER|SYMBOL WITH METHOD Then I can replace current code with it. If not then we should divide scalar cases definitions into separated files to allow easier overloading. I'm interesting in your opinions. 2007-09-17 18:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tbrowsys.prg * source/rtl/getsys.prg * source/rtl/tbrowse.prg ! Some rearrangements to avoid including the C5.3 compatible (and yet to be implemented) bloat in tbrowsys.prg 2007-09-17 13:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * tests/rto_get.prg * tests/rto_tb.prg * source/rtl/gui.prg + source/rtl/tbrowsys.prg * source/rtl/tmenusys.prg * source/rtl/menusys.prg * source/rtl/tscalar.prg * source/rtl/tbrowse.prg + Added missing file from previous commit. + Set Id keyword and eol-style to native on newly added files. 2007-09-17 12:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tscalar.prg ! Some fixes for previous commit regarding scalar classes. 2007-09-17 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak + source/rtl/tbrowsys.prg * source/rtl/Makefile * source/rtl/getsys.prg * source/rtl/tbrowse.prg + Added new file for C5.3 TB*() functions. Most of them is dummy, a few of them were moved here from existing files. * include/hbextern.ch + Added rest of C5.3 TB*() functions. * source/rtl/teditor.prg ! Fixed new scope violations reported by Guillermo. * source/rtl/tbrowse.prg + :border implemented (to be tested). ! :setColumn() return value fixed, NOTE added. ! Non-character :picture handled properly. (to be tested for full compatibility) % Some optimizations. - :TApplyKey() removed (it is not a C5.3 method) ; Some source cleanup and other changes. ; Work in progress. * include/hbextern.ch * common.mak * source/rtl/Makefile + source/rtl/tscalar.prg - source/rtl/array.prg - source/rtl/block.prg - source/rtl/characte.prg - source/rtl/date.prg - source/rtl/logical.prg - source/rtl/nil.prg - source/rtl/numeric.prg - source/rtl/scalar.prg + Consolidated scalar classes to one file. + Minor optimizations and cleanup done on files. + Class function names now consistently HB*() (was non-Class(y) compatible and a mixed list of plain unprefixed class names and class names prefixed with an underscore). Notice however that Class(y) has only CsyArray() defined in its own library, the rest was seemingly made only available as additional source code. ! Fixed NIL class to be named NIL (was _NIL). % Some unneeded MESSAGE redirections removed. % LOCAL var[0] -> LOCAL var := {}. This results in better pcode. + Added all these symbols to hbextern.ch * source/rtl/symbol.prg * Some cleanup. ; I believe this should be named HBSymbol() and added to hbextern.ch 2007-09-16 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbopt.c ! fixed bad typo in last modification - thanks to Viktor * added additional line number validation to not make optimizations which will change line numbers 2007-09-16 20:14 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tbrowse.prg ! C5.x compatible fix for non-numeric values inside the defColor array or the one returned by colorBlock. 2007-09-16 18:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tbrowse.prg ! Another fix for TBrowse() full color compatibility. 2007-09-16 12:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libct/makefile.vc * Some alignment. * source/rtl/listbox.prg ! Using manifest constant. * source/rtl/tbrowse.prg ! Some final fixes for full color compatibility. * source/common/hbver.c + Added NOTE about what CA-Cl*ppers are returning for Version(). 2007-09-15 22:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h + HB_ISFIRSTIDCHAR() and HB_ISNEXTIDCHAR() macros * harbour/source/rdd/wafunc.c * changed FIELD->, _FIELD->, -> stripping from expressions to respect shortcuts * harbour/source/compiler/hbmain.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbopt.c * jump joining optimization changed to work also for code with line numbers 2007-09-15 13:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tbrowse.prg ! Color handling made fully C5.x compatible. Pls test. + One C5.3 bug replicated where no special header/footer colors are being used if there is not header/footer separator specified. ! Fixed compile error (because of unused var warning) when HB_COMPAT_C53 is not defined. ! Fixed recently introduced vertical header aligning. * source/rtl/numeric.prg * source/rtl/memoedit.prg * source/rtl/typefile.prg * source/rtl/block.prg * source/rtl/symbol.prg * source/rtl/errorsys.prg * source/rtl/scalar.prg * source/rtl/nil.prg * source/rtl/radiogrp.prg * source/rtl/logical.prg * source/rtl/array.prg * source/rtl/listbox.prg * source/rtl/browse.prg * source/rtl/characte.prg * source/rtl/pushbtn.prg * source/rtl/ttextlin.prg * source/rtl/profiler.prg * source/rtl/date.prg * source/rtl/persist.prg * source/debug/dbgbrwsr.prg * source/debug/tbrwtext.prg * source/debug/dbgtmenu.prg + Enabled "PROTECTED:" keyword in profiler.prg * Finished CLASS declarations to use a more or less consistent syntax inside Harbour (Class(y) compatible except SETGET and the METHOD parameter lists, maybe some more). * Finished WHILE, iif(), END, string quotation to be consistent along Harbour. ! Fixed some indentations. * Some other minor cleanups. 2007-09-14 18:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tbrowse.prg ! Fixed cell color. This was needed because the oCol:colorBlock() now always contains a block (it cannot be NIL) to be CA-Cl*pper compatible, so the logic had to be adjusted in :DispCell() accordingly. 2007-09-14 07:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsxdef.ch * harbour/contrib/pdflib/pdflib.h * harbour/source/rtl/tbrowse.prg * harbour/samples/pe/editorlo.c * converted TABs to SPACEs 2007-09-13 20:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbtest/rt_misc.prg * harbour/utils/hbtest/make_c5x.bat + added alternative results for oGet:colorspec compatible with CL53 when HB_COMPAT_C53 macro is set 2007-09-13 20:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/tests/run_prg.bat * harbour/tests/gnu_test.bat * harbour/tests/run_test.bat * harbour/tests/bld4dll.bat * harbour/doc/genhtm.bat * harbour/bin/bld.bat * harbour/bin/postinst.bat * harbour/bin/bld_b32.bat * harbour/bin/bld_b16.bat * harbour/bin/bld_vc.bat * harbour/make_b32.bat * harbour/make_vc.bat * harbour/make_gnu.bat * harbour/contrib/ole/bldtest.bat * harbour/contrib/ole/build32.bat * harbour/contrib/libmisc/make_b32.bat * harbour/contrib/libmisc/doc/gendoc.bat * harbour/contrib/libmisc/make_vc.bat * harbour/contrib/apollo/test/bld.bat * harbour/contrib/apollo/test/bld_b32.bat * harbour/contrib/apollo/make_b32.bat * harbour/contrib/pgsql/make_b32.bat * harbour/contrib/gd/make_b32.bat * harbour/contrib/gd/tests/bldtest.bat * harbour/contrib/libnf/make_b32.bat * harbour/contrib/libnf/make_vc.bat * harbour/contrib/htmllib/make_b32.bat * harbour/contrib/htmllib/make_vc.bat * harbour/contrib/tip/make_b32.bat * harbour/contrib/libct/make_b32.bat * harbour/contrib/libct/make_vc.bat * harbour/contrib/adordd/make_b32.bat * harbour/contrib/rdd_ads/doc/gendoc.bat * harbour/contrib/rdd_ads/make_b32.bat * harbour/contrib/rdd_ads/make_vc.bat * harbour/contrib/libgt/make_b32.bat * harbour/contrib/libgt/doc/gendoc.bat * harbour/contrib/libgt/make_vc.bat * harbour/contrib/hbclip/make_clp.bat * harbour/contrib/btree/make_b32.bat * harbour/contrib/btree/mktest.bat * harbour/contrib/ole2/make_b32.bat * harbour/contrib/directx/buvcdx.bat * harbour/contrib/hgf/tests/build_b32.bat * harbour/contrib/hgf/win32/make_b32.bat * harbour/contrib/hgf/win32/makevc.bat * harbour/contrib/samples/make_b32.bat * harbour/contrib/samples/make_vc.bat * harbour/contrib/delphi/hbdll/start.bat * harbour/contrib/delphi/hbdll/bld_sdll.bat * harbour/contrib/mysql/make_b32.bat * harbour/contrib/runjava/bld_java.bat * harbour/contrib/runjava/make_vc.bat * harbour/contrib/odbc/bldodbc.bat * harbour/contrib/odbc/bld_b32.bat * harbour/contrib/bmdbfcdx/make_b32.bat * harbour/contrib/hbzlib/dll_b32.bat * harbour/contrib/hbzlib/make_b32.bat * harbour/contrib/hbzlib/make_vc.bat * harbour/utils/hbextern/make_c5x.bat * harbour/utils/hbpptest/compare.bat * harbour/utils/hbtest/make_c5x.bat * harbour/utils/hbtest/make_xpp.bat * harbour/samples/guestbk/bld_b32.bat * harbour/samples/hscript/makehtm.bat * harbour/samples/hscript/bld_b32.bat * set svn:eol-style to CRLF 2007-09-13 19:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * harbour/source/rdd/dbf1.c * variable name clean-up 2007-09-13 16:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + harbour/include/hbsxdef.ch * harbour/include/dbinfo.ch * harbour/include/hbrdddbf.h * harbour/include/hbrddcdx.h * harbour/include/hbrddntx.h * harbour/contrib/bmdbfcdx/hbrddbmcdx.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c + added SIx3 compatible triggers support They should work like in SIx3 with some intentional excpetions: 1) if 4-th parameter exists (PREUSE/GET/PUT) then it's passed by reference otherwise is not passed at all and PCOUNT() in trigger functions returns 3 SIx3 do not pass 4-th parameter by reference and if it not exist then passes 0 2) EVENT_POSTCLOSE is executed after SUPER_CLOSE() SIx3 executes EVENT_POSTCLOSE just before SUPER_CLOSE() 3) EVENT_UPDATE is executed _ALWAYS_ when DBF is updated also when WA does not have open indexes SIx3 executes EVENT_UPDATE only when at least one index is open without checking if it's updated or not 4) EVENT_POSTUSE is executed from OPEN() method in "DBF" RDD not from index RDDs so before the indexes are open SIx3 executes EVENT_POSTUSE after opening indexes It's possible that I'll change this condition in the future 2007-09-13 13:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * makefile.vc * makefile.gc * makefile.bc * config/rules.cf + Using Harbour -kM switch when building Harbour itself. (this switch will turn off macro substitution in string literals.) 2007-09-13 13:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * tests/rto_get.prg * Changes missed from previous commit. 2007-09-13 10:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/getsys.prg * source/rtl/tgetlist.prg * source/debug/debugger.prg ! Fixed scope violation in debugger by creating a new :Get() method for HBGetList(). ! Fixed some minor issues. % Minor optimization. Like dropping HBGetList():ReadExit() which was just a wrapper to SET( _SET_EXIT ). ! Replaced a few remaining external HBGetList() var accesses with :ReadStats() calls. ! TGetList():GetApplyKey() parameter list rearranged after yesterday to keep it compatible with previous versions. This also avoids a crash in the debugger. 2007-09-13 04:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/memoedit.prg * source/rtl/teditor.prg * source/debug/tbrwtext.prg + HBEditor():RefreshWindow() renamed to :display() old message name kept for compatibility. + HBEditor():hitTest() added. + HBEditor():changed() added. (returns internal ::lDirty) * source/rtl/getlist.prg * source/rtl/getsys.prg * source/rtl/tgetlist.prg ! Fixes for UI problems reported by Lorenzo and more. Mostly from xhb. + ReadModal() core functionality moved inside HBGetList() + ReadStats() functionality moved inside HBGetList() + All HBGetList() vars made protected. + Cleaned up the .prg and class interfaces. ! Fixed crashes of several GETSYS compatibility functions, when no getlist was active. We're still not fully C5.x compatible though. * source/rtl/tmenusys.prg + Uses ReadStats() instead of direct HBGetList() var access. * source/rtl/tbrowse.prg ! :hitTest() fixed. * source/rtl/tget.prg ! Minor fixes to :capCol() and :capRow() * source/rtl/checkbox.prg * source/rtl/listbox.prg * source/rtl/menuto.prg * source/rtl/pushbtn.prg * source/rtl/radiobtn.prg * source/rtl/radiogrp.prg * source/rtl/scrollbr.prg * source/rtl/tbcolumn.prg * source/rtl/tbrowse.prg * source/rtl/tget.prg * source/rtl/tgetlist.prg * source/rtl/tpopup.prg * source/rtl/ttopbar.prg * Formatting (some varnames uniformized). 2007-09-12 19:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tget.prg ! :HitTest() crash fix. ! :HitTest() made more compatible. + Added proper wrappers for undocumented C5.3 vars. + Added support for Caption. + Added support for C5.3 color handling (it's quite ugly, but it's on by default). ; Some snippets from xhb but heavily fixed. * source/rtl/scrollbr.prg * source/rtl/tpopup.prg * source/rtl/radiogrp.prg * source/rtl/listbox.prg * source/rtl/checkbox.prg * source/rtl/tget.prg * source/rtl/ttopbar.prg * source/rtl/pushbtn.prg * source/rtl/radiobtn.prg % __GUIColor() -> hb_ColorSelect() 2007-09-12 13:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * changed default UNSELECTED collor from W/N to N/W 2007-09-12 12:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/teditor.prg * source/rtl/tbrowse.prg ! Fixed to assign SetColor() in New() rather than in INIT. (INIT value gets evaluated and stored on first class usage, not on every instantiation.) * source/rtl/tget.prg * tests/rto_get.prg + Added Harbour extensions: :hideInput (logical value) :style (1 char long string to control mask character when :hideInput is .T.) QUESTION: Is there any need to support multiple hiding styles? (like always fully masked or masked with random chars?) ! Fixed several bugs in SET DELIMITERS handling. (color, focus behaviour, "caching", positioning) + Added test cases for SET DELIMITERS issues. 2007-09-12 11:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbrdddbf.h * harbour/source/rdd/dbf1.c + added two new members to DBFAREA structure: fModStamp and fTrigger * harbour/include/hbrddntx.h * harbour/include/hbrddcdx.h * harbour/contrib/bmdbfcdx/hbrddbmcdx.h * updated for DBFAREA structure modifications * harbour/contrib/libct/ctnet.c * use hb_stricmp() instead of stricmp() * harbour/include/hbrddcdx.h * harbour/source/rdd/dbfcdx/dbfcdx1.c * updated for DBFAREA structure modifications + added some very basic support for order temperature flags 2007-09-12 08:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/getsys.prg ! Fix for crash in TGetList():ShowGetMsg() reported by Lorenzo. * contrib/libct/blank.prg * source/rtl/menuto.prg * source/rtl/valtoexp.prg * source/rtl/readkey.prg * source/rtl/browse.prg * source/debug/debugger.prg + Replaced END with ENDSWITCH and ENDWITH 2007-09-12 02:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/std.ch * cover ENDSEQUENCE translation with HB_C52_STRICT macro + added translations for END SWITCH, END WITH, END OBJECT * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh + added support for ENDSEQ[UENCE], ENDSW[ITCH] and ENDW[ITH] * harbour/source/rtl/hbgtcore.c ! changed string to color number translation to be fully Clipper compatible. Now I do not know any examples which we translate differently - if someone will find any them then please inform me. The only one intentional difference between Harbour and Clipper is in color number to string translation and background highlighting attribute "*", Clipper put it just before "/" as part of foreground color (f.e.: 248 => "N*+/W") but Harbour as part background color (f.e.: 248 => "N+/W*") - Clipper compatible behavior is enabled when Harbour is compiled with HB_C52_STRICT macro * harbour/utils/hbtest/rt_misc.prg * control the position of background highlighting attribute (*) in expected results depending on HB_C52_STRICT. Harbour passes correctly all included color translation tests. 2007-09-11 23:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/hbgtcore.c ! Fixed handling of some strangely formatted colorstrings mainly inside TGet(). The low-level functionality modified is the colorstring to number conversion. The only change is to continue (and not exit) on a non-std char. * utils/hbtest/rt_misc.prg + Added some color string parsing tests. Some of them fail. * source/rtl/achoice.prg * source/debug/debugger.prg * utils/hbtest/hbtest.prg * utils/hbtest/rt_array.prg * Formatting. 2007-09-11 15:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * tests/rto_get.prg * source/rtl/tget.prg ! Fixed display issue when using display->varput->display sequence. (Thanks Lorenzo) + Above case added to test suite. * source/rtl/tbrowse.prg + Some scattered logic moved inside :Configure() + Some TOFIXes added. ! ::ColorSpec() to call Configure(). * source/debug/dbgtobj.prg * source/debug/dbgwa.prg + Formatting, var name cleanup. 2007-09-11 00:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbcompat.ch * include/hbextern.ch * source/rtl/hbini.prg + .ini functions added to hbextern.ch. * .ini functions renamed so that all of them reside in the hb_ini*() namespace. xhb compatibility translates added. * source/debug/debugger.prg * Formatting. * source/rtl/teditor.prg % Minor optimization. * source/rtl/memoedit.prg ! Fixed to not ask for confirmation when pressing on an unedited buffer. 2007-09-10 22:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libct/ctnet.c * contrib/libct/dattime2.c * contrib/samples/date.c * contrib/bmdbfcdx/bmdbfcdx1.c * Changed hb_set.* access to hb_setGet*() in all contrib code. * source/rtl/hbini.prg + Further cleanup. 2007-09-10 22:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbtoken.c ! fixed bad typo in hb_tokenCount() * minor code cleanup 2007-09-10 20:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * changed HB_TR_ALWAYS to HB_TR_DEBUG in two places and removed some old comment for which Brian received answer from ExtSys 2007-09-10 19:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbset.h * declare hb_set with HB_EXPORT attribute when HB_SET_IMPORT macro is not set - it's temporry modification and it will be removed when we will have real hb_setGet*() and hb_setPut*() functions. 2007-09-10 19:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h + added HB_IMPORT macro * harbour/include/hbset.h * declare hb_set with HB_IMPORT attribute when HB_SET_IMPORT macro is set + added macros to retrieve information from hb_set structure: hb_setGetCPtr(), hb_setGetNI(), hb_setGetNL(), hb_setGetL() In the future these macros will be replaced by functions and direct access to hb_set structure from non core code will be forbidden so please update your code and and replace all hb_set.HB_SET_* with hb_setGet*( HB_SET_* ) f.e. replace: hb_set.HB_SET_SOFTSEEK with: hb_setGetL( HB_SET_SOFTSEEK ) I'll also add hb_setPut*() functions to assign some set values. Both hb_setGet*() and hb_setPut*() functions will validate parameters and in future MT mode will operate on global or thread local structures. * harbour/contrib/rdd_ads/ads1.c * define HB_SET_IMPORT before #include "hbset.h" * use hb_setGet*() to access SET values 2007-09-10 17:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/dbinfo.ch * harbour/source/rdd/workarea.c * renamed RDDI_TRIGGERS to RDDI_TRIGGER + added RDDI_PENDINGTRIGGER, RDDI_PENDINGPASSWORD, DBI_TRIGGER, DBI_OPENINFO * do not generate RT error in WA default ORDERINFO() method * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/hbini.prg + added HB_ReadIni()/HB_WriteIni() - code by Giancarlo Niccolai borowed from xHarbour with some minor fixes 2007-09-10 12:01 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/color53.prg + Added HB_COMPAT_C53 guards. * source/rtl/tgetlist.prg + Two new methods to return Self rather than NIL. * source/rtl/einstvar.prg + Added HB_C52_STRICT branch. * source/rtl/tbrowse.prg + Continued prev. changes. 2007-09-10 03:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/scrollbr.prg * source/rtl/tpopup.prg % Removed two no more needed classname override lines. 2007-09-10 03:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/color53.prg ! Fixed ApplyDefau(). % Optimized. * source/debug/tbrwtext.prg ! Minor formatting. * source/rtl/memoedit.prg ! Variable name cleanup. * source/rtl/memoedit.prg * source/rtl/symbol.prg * source/rtl/color53.prg * source/rtl/teditor.prg * source/debug/dbgthsh.prg * source/debug/dbgtarr.prg ! "=" operators changed to ":=" (or "==" as per context) 2007-09-10 01:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tgetlist.prg ! Fixed two typos in previous commit. * source/debug/dbgtobj.prg * source/debug/dbgthsh.prg * source/debug/dbgwa.prg * source/debug/debugger.prg * source/debug/dbgtarr.prg * Further formatting, cleanup, minor optimizations. + Added Ctrl+PgUp/PgDn + Ctrl+Home/End everywhere as synonyms to Home/End. 2007-09-09 19:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/setcurs.ch * include/hbapigt.h * SC_UNDEF moved to .prg level. ! SC_* defs not duplicated on C level. * include/hbcompat.ch + Added debugger class compatibility translations. * source/rtl/tmenusys.prg * source/rtl/menusys.prg * Formatting. * source/rtl/teditor.prg * source/debug/debugger.prg + Added :RowPow(), :ColPos(), :IsWordWrap(), :WordWrapCol() ! Changed debugger to use the above methods instead of direct instance var access. * source/rtl/tbcolumn.prg * source/rtl/tget.prg * source/rtl/tbrowse.prg ! Public class initializator names hidden when in strict (and non-XPP) mode. * source/rtl/tbrowse.prg + Some work in progress towards better C5.x compatibility (borrowed from xhb) ! Fixed crash in TBMouse() (due to recent changes) (Thanks to Guillermo) * source/rtl/getsys.prg * source/rtl/tgetlist.prg + (Better) C5.3 message line support, several 5.3 fixes, some of them borrowed from xhb. * include/hbcompat.ch * source/debug/dbgtobj.prg * source/debug/dbgbrwsr.prg * source/debug/dbgtwin.prg * source/debug/dbgmenu.prg * source/debug/dbgthsh.prg * source/debug/tbrwtext.prg * source/debug/dbgwa.prg * source/debug/debugger.prg * source/debug/dbghelp.prg * source/debug/dbgtarr.prg * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg ! Class names named to be in the Harbour namespace. xhb compatibility translations added to hbcompat.ch ! Unneeded BEGINDUMP and .h inclusions removed. ! Added :End() to HBBrwText to avoid using some internals vars of the class. ! Fixed problem with HBDebugger:SaveAppScreen() where it crashed due to wrong initialization order of TBrowse() screen coordinates. Bug appeared due to the now more compatible TBrowse() behaviour. ! Locally used function (named ShowTopic()) made STATIC. % Optimizations and cleanups. % Unused vars/functions removed. * Formatting (except large parts of debugger.prg and those files which were okay). ; Majority of formatting, optimization and code cleanup work is still left to do. 2007-09-08 15:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/dbinfo.ch * updated comment * harbour/contrib/rdd_ads/ads1.c * replaced hb_itemGetPtr(hb_param(n,HB_IT_POINTER)) with hb_parptr(1) * harbour/contrib/hbzlib/hbcomprs.c * changed variable name: PHB_FNAME fDirSpec to PHB_FNAME pDirSpec * harbour/source/rdd/dbcmd.c ! fixed parameter checking in OrdNumber() to generate Clipper compatible RT error * code cleanup * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * do not evaluate KEY expresion in custom indexes in KEYDEL operation. It may interact with MULTIKEY/TEMPLATE indexes. * updated default order in DBOI_BAGNUMBER and DBOI_BAGORDER 2007-09-07 12:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbextern.ch ! Fix of some corrected public function names. 2007-09-07 03:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * tests/Makefile * tests/rto_get.prg + tests/rto_tb.prg * include/button.ch * include/hbextern.ch * common.mak * source/rtl/Makefile - source/rtl/mssgline.prg + source/rtl/gui.prg + source/rtl/menusys.prg + source/rtl/tmenusys.prg * source/rtl/checkbox.prg * source/rtl/einstvar.prg * source/rtl/getlist.prg * source/rtl/getsys.prg * source/rtl/listbox.prg * source/rtl/memoedit.prg * source/rtl/pushbtn.prg * source/rtl/radiobtn.prg * source/rtl/radiogrp.prg * source/rtl/scrollbr.prg * source/rtl/tbcolumn.prg * source/rtl/tbrowse.prg * source/rtl/teditor.prg * source/rtl/tget.prg * source/rtl/tgetlist.prg * source/rtl/tlabel.prg * source/rtl/tmenuitm.prg * source/rtl/tpopup.prg * source/rtl/treport.prg * source/rtl/ttopbar.prg ; These changes mainly targeted the .prg level UI classes of Harbour. + Code standardization, cleanup, formatting. (formatting is not fully complete yet) ! Lots of compatibility fixes. ! Lots of bugfixes (crashes, wrongly passed parameters, etc). ! Minor fix in one of the methods of HBReportForm() - Non-Clipper classes removed (the MENUSYS/msgline related ones). ! Some fixes adapted from xHarbour's TBrowse() + Class VARs properly scoped. + TBColumn() is now fully compatible. * The mess in the TTopBar and related classes was cleaned up, some small non-Clipper compatible classes were removed and a new TMenuSys class was created of the related parts. % Optimizations. + TBrowse/TBColumn regression test suite added (far from complete at this point). ; NOTE: No C5.3 GUI support is implemented in Harbour. ; NOTE: Harbour uses Disp*() functions in UI functions to update screen. C5.x uses a mixture of Dev*(), Q?Out() and Disp*(). ; NOTE: TBrowse() fixing is still a work in progress. ; Please test. 2007-09-06 13:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/set.c ! fixed typo in SET name 2007-09-06 00:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * use for teraterm Linux controle codes * harbour/source/rtl/filesys.c * harbour/source/rtl/file.c ! fixed GPF trap which appeared after my last modifications 2007-09-05 16:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/hbgtmk.sh * replaced CVS checkout commands by SVN checkout # This script checks you have all tools to build Harbour binaries # installed then takes current Harbour sources from SourceForge SVN # repository and build binary RPMs at your local host If possible I think it will be good to put this script on Harbour home page so Linux users using RPM based distributions can simply download it and execute. It should greatly help them and it will reduce some repeated questions. * harbour/include/hbapifs.h * harbour/source/rtl/filesys.c + added hb_fsNameConv() function, hb_fileNameConv() kept only for backward compatibility - it should not be used * use hb_fsNameConv() instead of hb_fileNameConv() * updated conversion code to use hb_fsFNameSplit()/hb_fsFNameMerge() and respect some other DOS like conditions * harbour/include/hbdate.h * harbour/source/common/hbdate.c * harbour/source/rtl/seconds.c * use MT safe localtime_r() instead of localtime() in Linux + hb_dateTimeStamp(), hb_timeStampStr(), hb_timeStampDecode(), hb_dateTimeStampStr(), hb_dateTimeStampStrGet() * harbour/contrib/libct/files.c * harbour/contrib/libct/disk.c * harbour/contrib/hbzlib/hbcomprs.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/file.c * use hb_fsNameConv() instead of hb_fileNameConv() * harbour/source/debug/dbgentry.c + added modifications by Phil Krylow borowed from xHarbour for supporting :: in command line expressions * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/sdf1.c * minor clenup: use hb_parptr(n) instead of hb_itemGetPtr(hb_param(n,HB_IT_POINTER)) 2007-09-03 01:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) - harbour/contrib/apollo/makefile + harbour/contrib/apollo/Makefile * renamed * harbour/contrib/apollo/test/apollo.ch * harbour/contrib/pgsql/postgres.c * harbour/contrib/htmllib/errorsys.prg * harbour/contrib/adordd/adordd.ch * converted TABs to SPACEs 2007-09-02 17:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/hbgtmk.sh * harbour/tests/codebl.prg * harbour/tests/testprof.prg * harbour/tests/keywords.prg * harbour/tests/testpp.prg * harbour/make_rpm.sh * harbour/makefile.gc * harbour/bin/hb-mkslib.sh * harbour/include/hbexpra.c * harbour/include/hbmath.ch * harbour/include/hbrddntx.h * harbour/include/hbexprb.c * harbour/harbour.spec * harbour/contrib/dot/pp.prg * harbour/contrib/libct/ctwin.c * harbour/contrib/ole2/w32ole.c * harbour/contrib/hgf/win32/win32.c * harbour/contrib/mysql/mysql.ch * harbour/contrib/odbc/todbc.prg * harbour/contrib/odbc/sql.ch * harbour/contrib/hb_struc/hbstruc.ch * harbour/contrib/bmdbfcdx/bmdbfcdx1.c * harbour/contrib/msql/msql.ch * harbour/contrib/msql/readme.txt * harbour/source/pp/ppcore.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtxwc/gtxwc.h * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtcrs/gtcrs.h * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtalleg/ssf.h * harbour/source/rtl/gtalleg/fixedth.sfc * harbour/source/rtl/gtchrmap.c * harbour/source/rtl/itemseri.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtsln/gtsln.h * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/hbhex.c * harbour/source/rtl/tget.prg * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/hbinet.c * harbour/source/vm/hvm.c * harbour/source/debug/dbgtobj.prg * harbour/source/debug/dbgwa.prg * harbour/source/common/expropt2.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpptest/pp_test.prg * harbour/utils/hbpptest/pretest.prg * harbour/make_tgz.sh * converted TABs to SPACEs 2007-09-01 16:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch + added some new translation rules * harbour/source/vm/proc.c * fixed buffer size to protect against possible overflow 2007-09-01 14:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbhex.c * replaced TAB by spaces 2007-08-31 17:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch + added some reverted translation rules for xHarbour * harbour/source/rtl/hbhex.c ! fixed HB_HEXTOSTR() - I had really bad day, sorry 2007-08-31 18:01 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/rtl/hbhex.c * fixed typo in HB_STRTOHEX() * harbour/source/vm/extend.c * code optimisation 2007-08-31 11:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbhex.c + added HB_HEXTOSTR() and HB_STRTOHEX() - they are compatible with HEXTOSTR() and STRTOHEX() in xHarbour * harbour/include/hbcompat.ch + added translations for HB_HEXTOSTR(), HB_STRTOHEX() * harbour/include/hbextern.ch + added new functions * harbour/contrib/libct/ctextern.ch * updated function list 2007-08-31 03:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/dircmd.prg * changed STOD() to HB_STOD() 2007-08-31 03:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/dynsym.c + added hb_dynsymIsFunction() * harbour/source/rtl/filehb.c * updated comment * harbour/source/rtl/philes.c * renamed HB_F_EOF() to HB_FEOF() * harbour/source/rtl/scroll.c * harbour/source/rtl/transfrm.c * harbour/source/rtl/file.c * formatting * harbour/source/rtl/substr.c * harbour/source/rtl/trim.c % optimization * harbour/source/rtl/typefile.prg % use HB_ATOKENS() instead of static .prg function * harbour/source/rtl/setkey.c % optimization and protection aganst possible GPF when wrong array is passed to HB_SETKEYSAVE() * harbour/source/rtl/xhelp.c ! do not generate RT error when HELP symbol exist (f.e. after PUBLIC HELP) but HELP() function doesn't ! keep reference in parametes passed by reference to __XHELP() * use only PHB_DYNS instead of PHB_SYMB * harbour/source/rtl/seconds.c + added WIN32 version borrowed from XHARBOUR * harbour/source/rtl/trace.c ! protection against possible GPF when wrong parameters are passed * harbour/source/rtl/samples.c ! protection against possible GPF when wrong parameters are passed Warning! We have in this file few functions without HB_ prefix. Some of them may create conflicts with future functions for TIMEDATE items. * harbour/source/rtl/inkey.c + added support for passing array with key codes as __KEYBOARD() parameter, covered by HB_EXTENSION macro - this is xHarbour compatible extension. I do not like it but we already had extension with numeric parameters and probably it would be hard to remove it now and keep __KEYBOARD() code clean so I decided to add support also for arrays instead of creating new function and adding conditional code covered by HB_COMPAT_XHB macro. * harbour/source/rtl/setfunc.prg * accept extended __KEYBOARD() parameters when HB_EXTENSION macro is set. 2007-08-30 18:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * repeated -ldl at the end of linked library list in linux for fullstatic builds 2007-08-30 03:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/rtl/console.c * changed hb_conOutAlt() from static to global function. * harbour/include/hbapi.h * harbour/source/common/hbver.c + added hb_verBuildDate() * harbour/source/rtl/accept.c ! Fixed ACCEPT to respect SET CONSOLE and similar sets. * harbour/source/rtl/hbgtcore.c * harbour/contrib/libct/ctwin.c ! fixed chr(8) console output - it should erase character on the screen * harbour/include/set.ch * harbour/include/hbset.h * harbour/source/rtl/set.c * harbour/source/rtl/filesys.c + added _SET_TRIMFILENAME - when enabled low level hb_fs*() functions strip trailing and leading spaces from file names to emulate DOS like behavior - switch compatible with xHarbour * harbour/source/rtl/run.c * remove compiler type checking - if system() is not supported by some platform/compiler then I'd prefer to exclude it explicitly. * harbour/source/rtl/dircmd.prg + added support for extended DBF types and replaced some of Bin2W() by ASC() * harbour/source/rtl/defpath.c * use OS_HAS_DRIVE_LETTER macro to detect if platform supports drive letters * harbour/source/rtl/philes.c + added HB_FCOMMIT(), HB_OSERROR(), HB_OSDRIVESEPARATOR() Question: why we have HB_F_EOF() instead HB_FEOF() * harbour/source/rtl/oldbox.c * harbour/source/rtl/box.c ! fixed __BOX() to be Clipper compatible * harbour/source/rtl/math.c * harbour/source/rtl/dateshb.c * formatting and some minor improvements * harbour/source/rtl/isprint.c * harbour/source/vm/itemapi.c * harbour/source/rtl/ampm.c * harbour/source/rtl/inkey.c * harbour/source/rtl/gete.c * harbour/source/rtl/fkmax.c * harbour/source/rtl/langapi.c * harbour/source/rtl/colorind.c * harbour/source/rtl/mouseapi.c * harbour/source/rtl/readvar.prg * harbour/source/rtl/devoutp.prg * harbour/source/rtl/readkey.prg * code checking and formatting ! some minor fixes % some speed improvements * harbour/source/rtl/menuto.prg * harbour/source/rtl/radiogrp.prg * harbour/source/rtl/listbox.prg * harbour/source/rtl/checkbox.prg * harbour/source/rtl/pushbtn.prg * harbour/source/rtl/radiobtn.prg * code checking and formatting ! added fixes borrowed from xHarbour ! some other fixes % some speed improvements * harbour/source/rtl/filehb.c + added commment * harbour/source/rtl/transfrm.c ! fixed integer numbers transformation when _SET_FIXED is on to be Clipper compatible * harbour/source/rtl/version.c + added HB_PCODEVER() and HB_BUILDDATE() * harbour/source/rtl/copyfile.c ! fixed __COPYFILE() - source and destination files should respect _SET_DEFAULT 2007-08-28 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/diskspac.c * formatting * harbour/source/rtl/disksphb.c ! fixed typo in numeric drive parameter, now 1->A, 2->B, ..., 0->default * extract drive letter only when second letter in path is OS_DRIVE_DELIMITER 2007-08-28 03:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c ! casting for C++ compilers * harbour/source/rtl/hbinet.c * added hack for unimplemented in Linux OpenWatcom version h_errno and hstrerror() * harbour/source/rtl/hbregex.c * harbour/source/hbpcre/pcreglob.c * harbour/contrib/btree/hb_btree.c * workaround for C/C++ compilers which may use different calling convention for standard C functions 2007-08-27 17:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c * use statvfs() instead of statfs() in *nixes - unlike statfs() statvfs() is documented POSIX function * respect superuser status in calculating free space in DISKSPACE() * respect _SET_FILECASE, _SET_DIRCASE in HB_DISKSPACE() * accept numeric parameter with driver number in systems which supports drive letters * harbour/source/rtl/binnum.c * harbour/source/rtl/binnumx.c * force positive return value in BIN2W() and BIN2U() 2007-08-26 18:15 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.gc * Added a DIRTY hack for Windows systems to allow building either CONSOLE or GUI programs with gcc. A new library libmainstd.a is created. This library should be added to a link libraries if programs are CONSOLE based. 2007-08-25 12:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/arrays.c * harbour/source/vm/extend.c ! fixed hb_stor*() functions return value to be Clipper compatible. These functions should return 1 _ONLY_ when the operation is really successful; otherwise, they return zero. + added hb_storclen_buffer(), hb_arraySetPtrGC() * harbour/config/darwin/gcc.cf * harbour/config/hpux/gcc.cf * harbour/config/dos/rsx32.cf * harbour/config/os2/gcc.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/gcc.cf * harbour/config/w32/rsxnt.cf + added rtl library after gt drivers for linker which do not support backward references 2007-08-24 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbdot/hbdot.prg * some minor modifications for GT drivers which allow to change the size of console window * changed the order of requested GTs for CYGWIN builds 2007-08-24 20:35 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.gc ! Fixed compilation of hbverfix * harbour/make_gcc.gc * Changed the way CC and LD envvars are set 2007-08-24 14:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/debian/hbdot.1 * harbour/debian/rules + added man page for hbdot 2007-08-24 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/utils/hbdot/hbdot.prg ! fixed typo in history updating 2007-08-24 03:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * harbour/source/vm/runner.c * code cleanup 2007-08-23 18:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * enable automatic LF->CR+LF translation on TTY device * harbour/utils/hbdot/hbdot.prg * do not clear screen when hbdot executed with -h or --help switch * harbour/utils/hbtest/hbtest.prg * use stdout() instead of fwrite(1,) - now GT driver can catch and redirect output if necessary 2007-08-23 17:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * set cursor position at beginning of new line on application exit * harbour/include/hbextern.ch + added missing functions (CDPs, LANGs, HSX, ...) * harbour/utils/hbdot/Makefile * harbour/utils/hbrun/Makefile + added codepage library 2007-08-23 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c + added new GT method: SEMICOLD() * harbour/source/rtl/gtxwc/gtxwc.c * use SEMICOLD() for late console window initialization * harbour/source/rtl/gttrm/gttrm.c * use SEMICOLD() to not erase startup screen contnts. Now applications which uses GTTRM and only simple QOUT()/QQOUT() output will work like with GTSTD. It means that in *nixes we can use GTTRM as default GT driver for all Harbour utilities. * harbour/make_gcc.sh * harbour/make_tgz.sh * harbour/harbour.spec * changed default GT driver for *nixes from to GTSTD to GTTRM 2007-08-23 02:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/darwin/gcc.cf * harbour/config/darwin/global.cf * harbour/config/hpux/gcc.cf * harbour/config/hpux/global.cf * harbour/config/dos/owatcom.cf * harbour/config/dos/watcom.cf * harbour/config/dos/bcc16.cf * harbour/config/dos/global.cf * harbour/config/dos/rsx32.cf * harbour/config/dos/djgpp.cf * harbour/config/linux/owatcom.cf * harbour/config/linux/gcc.cf * harbour/config/linux/global.cf * harbour/config/os2/gcc.cf * harbour/config/os2/icc.cf * harbour/config/os2/global.cf * harbour/config/sunos/global.cf * harbour/config/bsd/gcc.cf * harbour/config/bsd/global.cf * harbour/config/w32/msvc.cf * harbour/config/w32/owatcom.cf * harbour/config/w32/watcom.cf * harbour/config/w32/bcc32.cf * harbour/config/w32/gcc.cf * harbour/config/w32/xcc.cf * harbour/config/w32/rsxnt.cf * harbour/config/w32/global.cf * harbour/config/w32/mingw32.cf + added support for linking with all GT libraries - please test * harbour/makefile.gc * removed system screen libraries - they are set by make_gcc.sh * harbour/bin/pack_src.sh + added HBDOT * harbour/harbour.spec * harbour/make_tgz.sh * replaced PP with HBDOT 2007-08-22 22:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * harbour/makefile.vc * harbour/makefile.gc * harbour/common.mak * always pass all GT libraries to linked library list so compiled programs can use REQUEST HB_GT_* + added HBDOT 2007-08-22 19:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/source/pp/ppcore.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/main/harbour.c * harbour/source/compiler/hbmain.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbcmplib.c * harbour/source/compiler/ppcomp.c * added 'const' to some 'char *' declarations + added hb_pp_inBuffer() + extended hb_compMain() to accept source code passed as ASCIIZ string + .prg function HB_COMPILEFROMBUF() + added support for -q2 compiler switch - it disables _ALL_ stdout/stderr messages * harbour/utils/Makefile + harbour/utils/hbdot + harbour/utils/hbdot/hbdot.prg + harbour/utils/hbdot/Makefile + added hbdot utility program. It's a "DOt Prompt" Console for the Harbour Language Syntax: hbdot [ []] It should look and work in similar way to pp/xBaseScript by Ron Pinkas but unlike xBaseScript is does not have preprocessor or simulated runtime environment but simply uses Harbour pp and compiler libraries to preprocess and compile commands. It means that it supports all language constructions also statements, f.e.: "for i:=1 to 10; ? i; next" Additionally it can also compile and execute .prg files given as first parameter just like hbrun. Please test it. If it will work as expected then we can remove 'pp' (contrib/dot) from standard packages 2007-08-21 16:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/memvars.c + added __MVSETBASE() function * harbour/source/pp/ppcore.c * redirect error messages when error trap is not defined into user dispout function * harbour/include/hbcomp.h * harbour/source/compiler/hbmain.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/hbcomp.c * harbour/source/compiler/genjava.c * harbour/source/compiler/genc.c * harbour/source/compiler/hbcmplib.c * harbour/source/compiler/ppcomp.c * harbour/source/compiler/gencli.c * harbour/source/compiler/genhrb.c * harbour/source/compiler/gencobj.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/hbusage.c * harbour/source/compiler/hbgenerr.c + added hb_compOutStd() and hb_compOutErr() * redirected all compiler output to above functions 2007-08-20 23:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec ! added workaround for undefined Epoch tag * harbour/source/rtl/Makefile * harbour/common.mak - harbour/source/rtl/terror.prg - removed .prg level ERROR class * harbour/include/hbapierr.h * harbour/source/rtl/errorapi.c + added ERROR class supported at .c level and updated all necessary functions to work without PCODE execution - it should allow to create and update ERROR object when HVM has active exceptions * harbour/utils/hbtest/rt_hvma.prg * harbour/utils/hbtest/rt_misc.prg * harbour/utils/hbtest/rt_array.prg * update HBTEST for new ERROR object structure 2007-08-20 17:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tget.prg ! Recent missing date picture mask bug fixed in another different way. Now without any side-effects, tested with the regression test suit. ! Fixed a minor incompatibility in some rare situations. This is grey area even in C5.2 so compatibility is not 100% here. 2007-08-20 15:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * do not generate error for QSELF()[...] - Clipper allows such operation and because some valid Clipper code needs it then I disabled error message. * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/einstvar.prg + added undocumented CA-Cl*pper function _eInstVar() used to validate variable type in assign messages. * harbour/include/hbapi.h * harbour/source/vm/arrays.c * changed 'char *' to 'const char *' in hb_arraySetC() and hb_arraySetCL() * harbour/source/rdd/dbcmd.c * cleaned DBSKIPPER() code * harbour/source/rtl/browdb.prg * use written in C DBSKIPPER() function instead of static .prg Skipped() when HB_COMPAT_XPP macro is enabled * harbour/source/rtl/browse.prg ! fixes in BROWSE() function: ! displaying box characters + added CL53 compatible mouse actions + added mouse wheel actions + added support for deleting records (K_DEL) + added support for edit mode + added support for append mode 2007-08-20 15:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/fserror.c + added translation (errno=>dosError) for ENOSPC 2007-08-20 04:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tget.prg ! Fixed incompatible setting of ::TypeOut in certain situations. As an example this could cause infinite loops in the get reader when a bad date was entered like: 2007.12.32 (very old bug) ! Recent missing date picture mask bug fixed in a different way, because the previous one caused some regressions. ! Fixed ::TypeOut behaviour for non-editable types. 2007-08-19 18:35 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * harbour/makefile.vc * harbour/makefile.gc + Added more descripion in a makefile's headers % Minor makefile cleanup 2007-08-19 17:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tgetlist.prg ! Fixed crash when bad date is detected. (:TypeOut was used in an assignment) 2007-08-19 12:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tget.prg ! Fixed bug where negative number in get buffer beginning with a decimal sign was erroneously converted back to a numeric. (like: -.58) % Minor optimization in @E handling. 2007-08-19 05:14 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/rtl/tget.prg ! Fixed bug where mask was missing for date var type when no explicit picture was used. * contrib/libct/makefile.bc ! Added missing lines. 2007-08-14 15:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c + added HB_UTF8TRAN(), HB_UTF8STUFF(), HB_UTF8POKE() 2007-08-09 14:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/misc3.c * cleanup 2007-08-09 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/misc3.c * changed hb_set.HB_SET_INSERT to GTI_KBD_INSERT - thanks to Saulius for information 2007-08-09 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libnf/ftattr.c ! fixed to work with GT drivers which do not use VGA compatible screen buffer * harbour/contrib/libnf/proper.c ! fixed to not change passed string and possible buffer overflow * harbour/contrib/libnf/dispc.c ! fixed hard coded item type and updated some old code for current GTs * harbour/contrib/libnf/getenvrn.c + added support for nixes * borrowed W32 version from xHarbour 2007-08-09 08:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtxwc/gtxwc.c + added support for GTI_KBDSHIFTS 2007-08-09 03:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libnf/numlock.c * harbour/contrib/libnf/caplock.c * harbour/contrib/libct/keyset.c ! fixed typo 2007-08-09 02:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtgui/gtgui.c ! fixed typo in copy and past in previous commit 2007-08-09 02:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtinfo.ch + added GTI_KBD_INSERT * harbour/common.mak * harbour/include/hbgtcore.h * harbour/source/rtl/Makefile + harbour/source/rtl/gtkbstat.c + added common for W32 GT drivers: hb_gt_w32_getKbdState() and hb_gt_w32_setKbdState() * harbour/source/rtl/gtgui/gtgui.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtwin/gtwin.c * use hb_gt_w32_getKbdState() and hb_gt_w32_setKbdState() for GTI_KBDSHIFTS * harbour/source/rtl/gtdos/gtdos.c + added support for GTI_KBDSHIFTS * harbour/contrib/libct/keyset.c * use GTI_KBDSHIFTS to get/set keyboard flags * harbour/contrib/libnf/prtscr.c * harbour/contrib/libnf/numlock.c * harbour/contrib/libnf/shift.c * harbour/contrib/libnf/alt.c * harbour/contrib/libnf/ctrl.c * harbour/contrib/libnf/caplock.c * use GTI_KBDSHIFTS to get/set keyboard flags + harbour/contrib/libnf/ftshadow.c * harbour/contrib/libnf/makefile.bc * harbour/contrib/libnf/makefile.vc + added missing file I forgot to add in previous commit 2007-08-08 16:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbcompat.ch * include/hbextern.ch * contrib/libnf/fttext.c * source/vm/arrayshb.c + xhb RASCAN() added to Harbour without HB_COMPAT_XHB switch, under the name HB_RASCAN(). Translation from RASCAN() is done via hbcompat.ch ! NFLib/FT_FRSEEK() now works in Harbour regardless of the HB_COMPAT switches. 2007-08-08 15:44 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libnf/make_b32.bat - contrib/libnf/nanfor.bc + contrib/libnf/makefile.bc * BC makefile name made uniform. 2007-08-08 15:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/libnf/makefile.vc * contrib/libnf/nanfor.bc * Updated. 2007-08-08 15:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libnf/at2.prg * harbour/contrib/libnf/min2dhm.prg * harbour/contrib/libnf/ontick.c * harbour/contrib/libnf/sqzn.prg * harbour/contrib/libnf/bytexor.prg * harbour/contrib/libnf/asum.prg * harbour/contrib/libnf/sleep.prg * harbour/contrib/libnf/any2any.prg * harbour/contrib/libnf/origin.c * harbour/contrib/libnf/mouse.c * harbour/contrib/libnf/stod.c * harbour/contrib/libnf/vertmenu.prg * harbour/contrib/libnf/aredit.prg * harbour/contrib/libnf/n2color.c * harbour/contrib/libnf/xbox.prg * harbour/contrib/libnf/hex2dec.prg * harbour/contrib/libnf/getver.c * harbour/contrib/libnf/Makefile * harbour/contrib/libnf/invclr.prg * harbour/contrib/libnf/popadder.prg * harbour/contrib/libnf/d2e.prg * harbour/contrib/libnf/anomatch.prg * harbour/contrib/libnf/color2n.c * harbour/contrib/libnf/datecnfg.prg * harbour/contrib/libnf/easter.prg * harbour/contrib/libnf/ntow.prg * harbour/contrib/libnf/floptst.prg * harbour/contrib/libnf/pchr.prg * harbour/contrib/libnf/tbwhile.prg * harbour/contrib/libnf/e2d.prg * harbour/contrib/libnf/sysmem.prg * harbour/contrib/libnf/dfile.prg * harbour/contrib/libnf/clrsel.prg + harbour/contrib/libnf/fttext.c + harbour/contrib/libnf/putkey.c * basic cleanup and syncing with some of xHarbour fixes and extensions. I'd like to ask Windows users to update non GNU make file * harbour/source/pp/ppcore.c + added support for .T., .F., .Y., .N. in PP and #IF ... / #ELIF ... expressions. It was reported by Nick Van Dyck on xHarbour devel list that old PP supported it. I haven't known that old PP suported .T. and .F. in #IF directive. Please not that there are other diferences between new PP and the old one in expresions which can be used in #IF ... / #ELIF directives. New PP supports C like expressions with support for pseudo functions like defined(), operates on integer numbers only to not damage 64bit values during conversion to double and keep C compatible results (the old one used double values) and is much more restrictive in checking for valid expression. 2007-08-07 03:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch ! fixed typo: AddClsMthds() => AddClsMethod() + added support for executing InitClass() constructor - it's not exact Class(y) behavior but rather sth what xHarbour does now. It will be change in the future when we will have real class methods and variables. * harbour/contrib/libct/blank.prg ! fixed typo * harbour/contrib/libct/dbftools.c * added function list in header * harbour/contrib/libct/screen1.c + added SCREENTEXT() * harbour/contrib/libct/disk.c - removed DELETEFILE() and FILEMOVE() * harbour/contrib/libct/files.c + added DELETEFILE(), RENAMEFILE(), FILEMOVE() * harbour/contrib/libct/ctwfunc.c ! fixed typo in parameters numbers in WFORMAT() + harbour/contrib/libct/charsprd.c + added CHARSPREAD() + harbour/contrib/libct/scrmark.prg + added SCREENMARK() + harbour/contrib/libct/expand.c + added EXPAND() + harbour/contrib/libct/fcopy.prg + added FILECOPY(), FILECOPEN(), FILECCLOSE(), FILEAPPEND(), FILECDATI() it's modified and fixed code by Frederic J. Bell borrowed from xHarbour * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * update for new files. makefile.bc will have to be modified yet (some files were missing and I added them to file list) but I'd like to leave it for BCC users who can test modifications 2007-08-05 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/screen3.prg ! fixed typo ISNUMERIC was used instead of ISNUMBER 2007-08-05 15:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/Makefile + harbour/contrib/libct/keysec.prg + harbour/contrib/libct/keytime.prg + added KEYSEC() and KEYTIME() modified code by Pavel Tsarenko borrowed from xHarbour * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * updated for new files 2007-08-05 11:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/screen2.c + added CLEARSLOW() + harbour/contrib/libct/getsecrt.prg + added GETSECRET() + harbour/contrib/libct/getinput.prg + added GETINPUT() * harbour/contrib/libct/ctmisc.prg * moved SAVEGETS() and RESTGETS() to getinfo.prg file + harbour/contrib/libct/getinfo.prg + added COUNTGETS(), CURRENTGET(), GETFLDROW(), GETFLDCOL(), GETFLDVAR() modified code by Philip Chee borrowed from xHarbour + added SAVEGETS() and RESTGETS() from ctmisc.prg + harbour/contrib/libct/keysave.prg + SAVESETKEY(), RESTSETKEY() - code by Philip Chee borrowed from xHarbour * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * updated for new files * harbour/contrib/libct/screen3.prg * harbour/contrib/libct/showtime.prg * set svn:eol-style=native 2007-08-03 23:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) - harbour/debian/rules.cf + harbour/debian/rules * renamed rules.cf to rules - I forgot to make it before commit * removed link to not installed hbverfix.1 * changed default INSTDIR 2007-08-03 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/screen1.c * removed unnecessary casting + harbour/contrib/libct/screen3.prg + added CLEAREOL(), CLEOL(), CLWIN() * harbour/contrib/libct/screen2.c + harbour/contrib/libct/showtime.prg + added SHOWTIME() * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * updated for new files 2007-08-03 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/ctwin.c * added protection against overwriting right and bottom WBOX border directly inside GTCTW so now other screen functions does not have to check maximum window coordinates. Please remeber that CTWIN from CT3 has a bug which allows to damage top and left border which I partialy replicated because peope used it to set window title. 2007-08-03 04:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/screen2.c + added SCREENSTR(), STRSCREEN() * harbour/contrib/libct/keyset.c * casting to fix warnings in DOS builds * harbour/source/rtl/seconds.c * update timezone in BSD systems when clock is stored in UTC 2007-08-02 18:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/contrib/libct/keyset.c ! Fixed gcc 4.1.2 warning in SetGet() (Win32 branch). 2007-08-02 17:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * include/hbfixdj.h ! Added blank copyright header. * include/hbpers.ch ! Added EOL to last line. (GCC 4.1.2 is very picky on that) 2007-08-02 17:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/keyset.c * cleaned warning * harbour/bldcmncf.sh * harbour/debian/control * harbour/debian/harbour.cfg * harbour/debian/harbour.1 * harbour/debian/dirs * harbour/debian/rules.cf * harbour/debian/compat * harbour/debian/hbmake.1 * harbour/debian/changelog * harbour/debian/copyright * harbour/debian/hbtest.1 * harbour/debian/hbpp.1 * harbour/debian/hbrun.1 * harbour/debian/hbdoc.1 * harbour/make_deb.sh * harbour/tests/foreach2.prg * harbour/tests/gtchars.prg * harbour/tests/gtcolors.prg * harbour/tests/gtkeys.prg * harbour/make_gcc.sh * harbour/doc/howtosvn.txt * harbour/makefile.gc * harbour/contrib/tip/thtml.prg * harbour/contrib/tip/thtml.ch * harbour/contrib/libct/screen2.c * harbour/contrib/libct/dbftools.c * harbour/contrib/libct/ctdisk.ch * harbour/contrib/libct/maxline.c * harbour/contrib/libct/video.c * harbour/contrib/libct/dattime3.c * harbour/contrib/libct/lton.c * harbour/contrib/libct/cursor.c * harbour/contrib/libct/misc2.c * harbour/contrib/libct/color.c * harbour/contrib/libct/cttime.prg * harbour/contrib/libct/ctvideo.ch * harbour/contrib/libct/numcount.c * harbour/contrib/libct/pack.c * harbour/contrib/libct/setlast.c * harbour/contrib/libct/like.c * harbour/contrib/libct/disk.c * harbour/contrib/libct/ctstrfil.c * harbour/contrib/libct/ctstrfil.h * harbour/contrib/libct/numline.c * harbour/contrib/libct/dattime2.c * harbour/contrib/libct/misc3.c * harbour/contrib/libct/ctpad.c * harbour/contrib/libct/datetime.c * harbour/contrib/libct/blank.prg * harbour/source/rtl/gtchrmap.c * harbour/source/rtl/gttrm/Makefile * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/hbhex.c * harbour/source/rtl/hbbit.c * harbour/source/codepage/cpsv850.c * harbour/source/codepage/cpsk852.c * harbour/source/codepage/ucmik.c * harbour/source/codepage/cpbgmik.c * harbour/source/codepage/cpsvwin.c * harbour/source/codepage/cpskiso.c * harbour/source/codepage/cpskwin.c * harbour/source/codepage/cpsvclip.c * harbour/source/codepage/cpskkam.c * harbour/config/w32/owatcom.cf + set svn:eol-style property to native + add some missing svn:keywords Id property 2007-08-02 12:29 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog - removed mixed ChangeLog entry 2007-08-02 12:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/contrib/libct/screen2.c + added SAYDOWN(), SAYSPREAD(), SAYMOVEIN() + harbour/contrib/libct/cursor.c + added SAVECURSOR(), RESTCURSOR() * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * updated for new files * harbour/contrib/libct/ctmisc.prg ! fixed CSETCURS() when called with non logical parameter * harbour/source/vm/classes.c + added basic version for executing all known inherited destructors final version in the future after some testes * harbour/source/codepage/cpsv850.c * harbour/source/codepage/cpsk852.c * harbour/source/codepage/ucmik.c * harbour/source/codepage/cpbgmik.c * harbour/source/codepage/cpsvwin.c * harbour/source/codepage/cpskiso.c * harbour/source/codepage/cpskwin.c * harbour/source/codepage/cpsvclip.c * removed hardcoded CHR(13)+CHR(10) EOLs 2007-08-01 14:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapifs.h * harbour/source/rtl/file.c + added xHarbour compatible C function hb_fsIsDirectory() * harbour/contrib/libct/color.c * harbour/contrib/libct/screen1.c + added UNTEXTWIN(), CHARWIN(), COLORWIN(), COLORREPL() * changed CLEARWIN(), INVERTWIN() to use common helper functions 2007-07-31 23:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gcc.sh * cleanup - harbour/make_drw.sh - harbour/make_bsd.sh - removed not longer necessary files - make_gnu.sh can be used instead with exactly the same effect 2007-07-31 22:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_deb.sh * cleanup 2007-07-31 21:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_rpm.sh * removed not longer necessary flex and bison from dependences list + harbour/debian + harbour/debian/control + harbour/debian/harbour.cfg + harbour/debian/harbour.1 + harbour/debian/dirs + harbour/debian/rules.cf + harbour/debian/compat + harbour/debian/hbmake.1 + harbour/debian/changelog + harbour/debian/copyright + harbour/debian/hbtest.1 + harbour/debian/hbpp.1 + harbour/debian/hbrun.1 + harbour/debian/hbdoc.1 + harbour/make_deb.sh + added rules to generate DEB packages - rules by Luis Mayoral taken from Debian distribution updated for current code but not tested at all. Please make some test running make_deb.sh in Debian and Ubuntu distribution and give me an information about results. 2007-07-31 21:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * disable CTOD("") optimization when -kc switch is used * harbour/source/macro/macro.yyc * harbour/source/macro/macro.y * fixed typo reported by Mindaugas * harbour/source/vm/classes.c * fixed typo reported by Lost 2007-07-31 12:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/tip/utils.c * harbour/contrib/tip/encmthd.c * changed hb_retclenAdoptRaw() to hb_retclen_buffer() 2007-07-30 18:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/tests/foreach2.prg * added example for FOR EACH overloading 2007-07-30 18:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch + added #xtranslate ISPOINTER( ) * simplified bit operator translations * harbour/include/hbapi.h + added #define hb_itemPutCStatic(...) hb_itemPutCConst(...) * harbour/include/hbapiitm.h - removed #define hb_retclenAdoptRaw(...) hb_retclen_buffer(...) it's not _exactly_ the same and in some cases it cannot be replaced so users should know what exactly they are doing * harbour/source/rtl/gttrm/gttrm.c + added some #ifdef OS_UNIX_COMPATIBLE for future non *nix ports * harbour/source/rdd/dbf1.c ! added RT error when someone tires to create DBF with more then 2046 fields - without it corrupted files were created or GPF appeared * harbour/contrib/ole2/w32ole.c * changed hb_retclenAdoptRaw() to hb_retclen_buffer() 2007-07-27 01:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gcc.sh * harbour/makefile.gc * cleanup 2007-07-26 21:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/bldcmncf.sh + harbour/make_gcc.sh + harbour/makefile.gc * harbour/common.mak * harbour/makefile.bc * harbour/makefile.vc * harbour/make_vc.bat * harbour/make_b32.bat * added support for GCC and common make file. The extension created by Marek Paliwoda with some modifications added by me. Victor this commit removed the HB_* prefix from some of internal make variables. I've done it temporary to avoid synchronization problems with files in SVN, used by me and Marek. I hope we will clean the code and restore necessary prefixes when Marek will have returned so we can test it in different environments - such modification have to be done in all of the above files. 2007-07-26 13:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * removed old XTerm (XFree 3.x.x) key sequences which are used in current XTerm implementation as for keys with modifiers 2007-07-26 01:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtcrs/gtcrs.c * added protection against misleading mouse wheel and mouse drag events * harbour/source/rtl/gttrm/gttrm.c * added protection against misleading mouse wheel and mouse drag events * enable XTERM like mouse reporting also for Linux terminal - it's possible with external mouse driver * added some CTRL+Fx escape sequences XTERM and gnome-terminal compatible * disabled some escape sequences mapped to simple cursor keys which are used as CTRL+[cursor key] in recent XTerm versions 2007-07-25 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtchrmap.c * indenting * harbour/source/rtl/gttrm/gttrm.c * added some key sequences I used in patch for PuTTY/PTerm CTRL+{INS,DEL,HOME,END,PGUP,PGDN} - they are gnome-terminal compatible 2007-07-25 16:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h + added translation for HB_GT_trm * harbour/source/rtl/gttrm/gttrm.c + map some Linux key codes also in XTerm - they will be usable in terminals like PuTTY/PTerm * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtpca/gtpca.c + changed the order of checking HB_WIN32_IO and OS_UNIX_COMPATIBLE macros for CYGWIN compilation 2007-07-25 09:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * source/codepage/Makefile + source/codepage/cpsv850.c + source/codepage/cpsvclip.c + source/codepage/cpsvwin.c + Added Swedish codapages from xHarbour. ; The codepages are now synced. 2007-07-24 20:30 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * include/hbapicdp.h * source/codepage/Makefile + source/codepage/ucmik.c + source/codepage/cpbgmik.c + Added BGMIK codepage and Bulgarian MIK unicode conversion table from xHarbour. ! Changed internal ID "MIK" to "bg-mik". * include/hbapicdp.h * source/codepage/uckam.c ! Changed internal ID "CSKAM" to "Kamenicky". 2007-07-24 20:11 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * source/codepage/Makefile + source/codepage/cpsk852.c + source/codepage/cpskiso.c + source/codepage/cpskwin.c + source/codepage/cpskkam.c + Added Slovak codepages. Pls. test them if you are familiar with the language rules. 2007-07-24 19:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * makefile.vc * makefile.bc * PPGEN -> HBPPGEN * Some redundancies removed. ! Redone and fixed my previous modifications. (Thanks Marek and pls test this.) 2007-07-24 14:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/dbgentry.c ! cleaned memory leak in not freed trap on debugger exit 2007-07-20 18:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc + harbour/contrib/libct/ctvideo.ch + harbour/contrib/libct/video.c + added CHARPIX(), VGAPALETTE(), VIDEOTYPE(), SETFONT() code by Phil Krylov borrowed from xHarbour + harbour/contrib/libct/dattime3.c + added WAITPERIOD(), TIMEVALID(), SETTIME(), SETDATE() 2007-07-19 20:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/Makefile + harbour/contrib/libct/maxline.c + harbour/contrib/libct/lton.c + harbour/contrib/libct/pack.c * harbour/contrib/libct/color.c * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/screen1.c - harbour/contrib/libct/screen2.prg * harbour/contrib/libct/makefile.vc * harbour/source/rtl/gtapi.c * synced with xHarbour modifications and fixes * new functions or .prg functions rewritten in C ! some fixes * indenting 2007-07-19 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/strdiff.c * harbour/contrib/libct/token2.c * harbour/contrib/libct/Makefile * harbour/contrib/libct/wordrepl.c * harbour/contrib/libct/strswap.c * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/screen1.c * harbour/contrib/libct/token1.c * harbour/contrib/libct/makefile.vc * harbour/contrib/libct/ctwfunc.c * harbour/contrib/libct/relation.c + harbour/contrib/libct/setlast.c * harbour/contrib/libct/tab.c * harbour/contrib/libct/replace.c - harbour/contrib/libct/setlast.prg * harbour/contrib/libct/wordtoch.c * harbour/contrib/libct/remove.c * synced with xHarbour modifications and fixes * new functions or .prg functions rewritten in C ! some fixes * indenting 2007-07-19 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/contrib/libct/ctdisk.ch + added missing file I forgot to add in previous commit * harbour/contrib/libct/pos1.c * harbour/contrib/libct/ct.h * harbour/contrib/libct/posdiff.c * harbour/contrib/libct/range.c * harbour/contrib/libct/pos2.c * harbour/contrib/libct/print.c * synced with xHarbour modifications and fixes ! some fixes * indenting 2007-07-19 04:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hb_io.h + added #include for DOS builds * harbour/source/rtl/gttone.c + #include for WATCOM builds * harbour/config/w32/watcom.cf * cleanup + harbour/config/w32/owatcom.cf + added OpenWatcom support * harbour/contrib/libct/files.c * rewritten FILESEEK(), FILESIZE(), FILEATTR(), FILETIME(), FILEDATE() now they should work on all supported platforms + added FILESMAX() for POSIX systems * added FILEDELETE() - It's Phil Krylov code from xHarbour modified to be MT safe * indenting, cleanup and some minor fixes 2007-07-18 21:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c + added C functions: hb_cdpUTF8StringSubstr(), hb_cdpUTF8StringPeek() + added .prg functions: HB_UTF8SUBSTR(), HB_UTF8LEFT(), HB_UTF8RIGHT(), HB_UTF8LEN(), HB_UTF8PEEK() They are working like corresponding functions: SUBSTR(), LEFT(), RIGHT(), LEN(), STRPEEK() but operates on UTF-8 strings. TODO: HB_UTF8STUFF(), HB_UTF8TRAN(), HB_UTF8POKE() * harbour/include/hbcompat.ch + added translation rule for str(,,,.t.) * harbour/contrib/tip/ftpcln.prg ! changed str(,,,.t.) to ltrim(str()) * harbour/source/rtl/right.c * harbour/source/rtl/left.c % minor optimization 2007-07-18 16:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * added new files and Juan Gálvez fixes * harbour/contrib/libct/like.c * harbour/contrib/libct/keyset.c ! fixed typo 2007-07-18 16:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/tests/gtchars.prg * harbour/tests/gtcolors.prg * harbour/tests/gtkeys.prg * harbour/contrib/tip/thtml.prg * harbour/contrib/tip/thtml.ch * harbour/contrib/libct/misc2.c * harbour/contrib/libct/color.c * harbour/contrib/libct/numcount.c * harbour/contrib/libct/numline.c * harbour/contrib/libct/misc3.c * harbour/source/rtl/hbhex.c * harbour/source/rtl/hbbit.c * set valid Id svn:keyword * harbour/include/hbcompat.ch * reverted hb_adler32() <=> hb_checksum() translations * harbour/contrib/libct/keyset.c + harbour/contrib/libct/like.c * harbour/contrib/libct/finan.c * harbour/contrib/libct/justify.c * synced with xHarbour modifications and fixes * indenting 2007-07-17 16:48 UTC+0100 Miguel Angel Marchuet * contrib/tip/client.prg * contrib/tip/ftpcln.prg + Added support to PORT transfer mode, alternative to PASV transfer mode. When :bUsePasv will be false PORT mode will be used. and cleaned some unused variables. + Added method :NoOp() + Added method :Rest( nPos ) * Changed method :LS( cSpec ) * Changed method :List( cSpec ) * Changed method :TransferStart() * Changed method :Stor( cFile ) * Changed method :UploadFile( cLocalFile, cRemoteFile ) * Changed method :DownloadFile( cLocalFile, cRemoteFile ) + Added method :Port() + Added method :SendPort() 2007-07-16 9:02 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak * makefile.vc * makefile.bc * HB -> HB_HARBOUR_EXE PPGEN -> HB_PPGEN_EXE * Some redundancies removed. ; Please test VC. 2007-07-16 07:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * harbour/makefile.vc * added cross-compilation capabilities by means of HB and PPGEN environment variables. You can set them to fully qualified paths to harbour.exe and ppgen.exe respectivly, to allow cross-compiling. * minor cleanups in rules and code formatting 2007-07-15 09:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * harbour/contrib/libct/misc1.c + harbour/contrib/libct/misc2.c + harbour/contrib/libct/misc3.c * harbour/contrib/libct/num1.c * harbour/contrib/libct/numconv.prg + harbour/contrib/libct/numcount.c + harbour/contrib/libct/numline.c * harbour/contrib/libct/numat.c * synced with xHarbour modifications and fixes + added some missing functions borrowed from xHarbour, in most cases it was Pavel Tsarenko code ! some fixes * indenting * harbour/source/rtl/gtfunc.c * replaced hb_itemRelease( hb_itemReturn( pItem ) ) by hb_itemReturnRelease( pItem ) 2007-07-14 22:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * added protection against corrupted by programmer screen buffer * harbour/source/rtl/hbgtcore.c * extended hb_gtColorToN() to recognize also "I", "N", "U" and numeric NN/NN attributes * harbour/contrib/libct/ftoc.c * cleanup * harbour/contrib/libct/Makefile * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc - harbour/contrib/libct/color.prg - harbour/contrib/libct/invrtwin.prg + harbour/contrib/libct/color.c * rewritten INVERTATTR(), INVERTWIN(), COLORTON(), NTOCOLOR(), ENHANCED(), STANDARD(), UNSELECTED() in C code. Now COLORTON() and NTOCOLOR() use GT functions for color translations. ! fixed INVERTATTR() to not change blink and highlight attributes ! fixed INVERTWIN() to work with GT divers which do not use VGA compatible screen buffer 2007-07-14 12:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch ! changed hb_adler() to hb_adler32() * harbour/contrib/libct/dattime2.c * changed WEEK() to be exactly CT3 compatible. I do not know why but in CT3 WEEK() checks if the first character of date format is 'd' or 'D' and in such case uses differ algorithm to calculate week number. 2007-07-11 12:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mysql/tmysql.prg ! Some fixes for the previous fixes. 2007-07-11 09:58 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/mysql/tmysql.prg ! Some further date fixes. (pls test) 2007-07-11 09:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) - doc/howtocvs.txt + doc/howtosvn.txt * File renamed (using 'svn rename'). 2007-07-11 09:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * doc/howtocvs.txt * Adapted for SVN (roughly). * contrib/mysql/tmysql.prg ! Fixed converting MySql date to Harbour date. (Thanks Chen) 2007-07-07 12:35 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak ! Added dbsql.c 2007-07-07 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * source/compiler/hbusage.c * Steps done to protect e-mail addresses against e-mail scanners. 2007-07-07 11:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbusage.c * added to credits list some Harbour developers which were missing and also some xHarbour developers which are authors of modules we borrowed and ported to xHarbour. It's highly possible that still some people are missing. If you fill that you or someone else should be added to this list then please send a message to harbour devel list 2007-07-07 11:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * common.mak ! OBJEXT -> HB_OBJ_EXT EXEEXT -> HB_EXE_EXT DLLEXT -> HB_DLL_EXT LIBEXT -> HB_LIB_EXT LIBPREF -> HB_LIB_PREFIX - contrib/libct/alt - contrib/libct/token1.prg - contrib/libct/ctcolton.c - Removed obsolete files. QUESTION: Shouldn't LIBCT's COLORTON() simply pass the call to HB_COLORTON() instead of replicating the functionality there (in .prg code)? * source/rtl/scrollbr.prg ! Formatting. 2007-07-07 04:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/contrib/libct/dbftools.c - harbour/contrib/libct/dattime2.prg * harbour/contrib/libct/ctmath.h * harbour/contrib/libct/Makefile * harbour/contrib/libct/exponent.c + harbour/contrib/libct/cttime.prg * harbour/contrib/libct/ctstr.h * harbour/contrib/libct/ct.h + harbour/contrib/libct/disk.c + harbour/contrib/libct/ctstrfil.c + harbour/contrib/libct/ctstrfil.h - harbour/contrib/libct/datetime.prg - harbour/contrib/libct/pad.c + harbour/contrib/libct/dattime2.c + harbour/contrib/libct/ctpad.c + harbour/contrib/libct/datetime.c * synced with xHarbour modifications and fixes ! some fixes * indenting 2007-07-06 23:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/bitnum.c * harbour/contrib/libct/charlist.c * harbour/contrib/libct/ctnet.c * harbour/contrib/libct/charonly.c * harbour/contrib/libct/atadjust.c * harbour/contrib/libct/ctmath.c * harbour/contrib/libct/ctset.c * harbour/contrib/libct/charsort.c * harbour/contrib/libct/ctmath.h * harbour/contrib/libct/ctset.h * harbour/contrib/libct/cterror.ch * harbour/contrib/libct/charmix.c * harbour/contrib/libct/charevod.c * harbour/contrib/libct/charrepl.c * harbour/contrib/libct/charswap.c * harbour/contrib/libct/charop.c * harbour/contrib/libct/color.prg + harbour/contrib/libct/blank.prg * harbour/contrib/libct/ct.prg * harbour/contrib/libct/ct.ch * harbour/contrib/libct/charone.c * harbour/contrib/libct/ctchksum.c * harbour/contrib/libct/ascpos.c * harbour/contrib/libct/charmirr.c * harbour/contrib/libct/ctc.c * harbour/contrib/libct/ct.h * harbour/contrib/libct/atnum.c * harbour/contrib/libct/ctmisc.prg * harbour/contrib/libct/count.c * harbour/contrib/libct/ctcrypt.c * harbour/contrib/libct/addascii.c * harbour/contrib/libct/ctmath2.c * harbour/contrib/libct/ctextern.ch * harbour/contrib/libct/asciisum.c * harbour/contrib/libct/atrepl.c * harbour/contrib/libct/ctstr.c * harbour/contrib/libct/ctstr.h * synced with xHarbour modifications and fixes ! some fixes * indenting * harbour/source/rtl/errorapi.c * indenting * harbour/source/vm/hashfunc.c + added HB_HSETCASEMATCH(), HB_HSETAUTOADD() % some minor optimizations * harbour/include/hbcompat.ch + added hb_checksum() <=> hb_adler() * use new HB_HSET*() function to avoid warnings * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hberrors.h * harbour/source/compiler/hbmain.c * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbgenerr.c ! fixed using EXIT/LOOP inside WITH OBJECT / END statement ! fixed optimization of empty BEGIN/END sequence when recover has EXIT or LOOP statement ! forbidden using EXIT and LOOP inside ALWAYS code in BEGIN/END sequence ! forbidden using ALWAYS statement if RECOVER code has EXIT or LOOP statement 2007-07-04 21:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/listbox.prg * synced with some xHarbour modifications 2007-07-04 18:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbextern.ch + added some other missing functions for which I had no doubt they should be included 2007-07-04 17:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/gencobj.c + added support for environment variable substitution in harbour.cfg file, envvar should be given as $() f.e.: $(HB_INC_INSTALL) 2007-07-04 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.y ! fixed using LOOP inside SWITCH/CASE.../END statement ! fixed possible memory leeks when compile time error appear with some unfinished LOOP statements ! do not push unnecessary NIL on HVM stack when SWITCH/CASE.../END statement were used without OTHERWISE clause * harbour/source/pp/ppcore.c ! do not calculate last line when it does not contain any character * clear line number counter after preprocessing standard definitions/ rules - I hope it will make David happy ;-) 2007-07-04 13:52 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net) * source/rdd/dbfcdx/dbfcdx1.c * removed unnecesary code 2007-07-04 04:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c * do not allocate self calss casting method when class name cannot be used as method 2007-07-04 04:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c ! fixed typo in adding messages with HB_OO_MSG_PROPERTY flag ! fixed __clsDelMsg() to be safe with later dictionary resizing 2007-07-03 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch ! added closing parentheses in operators translation rules to avoid wrong translations * harbour/include/hbextern.ch + added many missing functions 2007-07-03 16:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/tip/makefile.bc - removed cstr.prg + added thtml.prg 2007-07-03 15:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch * removed bit translation rules starting with comma (,) * harbour/source/rtl/hbhex.c * harbour/source/rdd/delim1.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/sdf1.c ! fixed casting 2007-07-02 18:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/macro/macro.yyc * harbour/source/macro/macro.y * harbour/source/macro/macrolex.c ! allow to use 'FIELD' and '_FIELD' as variable/function/field name. * allow to use 'IF' and 'IIF' as variable/field name. 2007-07-02 17:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/hbhex.c * added HB_HEXTONUM() and HB_NUMTOHEX() * harbour/include/hbcompat.ch * added trnaslation rules for expresions in parentheses which use new xHarbour operators: HAS, IN, LIKE, &, |, ^^, >>, << Please note that only code which uses above operators in parentheses will be translated, f.e. this code will not be translated: if cVal1 IN cVal2 nVal := nVal1 | nVal2 | nVal3 | nVal4 endif will not be translated but this one will: if ( cVal1 IN cVal2 ) nVal := ( nVal1 | nVal2 | nVal3 | nVal4 ) endif * harbour/contrib/tip/thtml.prg * harbour/contrib/tip/thtml.ch + added $\Id * harbour/source/rtl/hbbit.c + added $\Id ! fixed typo in HB_BITSHIFT() 2007-07-02 14:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch + added hb_CStr() <=> CStr() translations * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/hbbit.c + added set of hb_bit*() functions for bit manipulations: HB_BITAND( , , [] ) => HB_BITOR( , , [] ) => HB_BITXOR( , , [] ) => HB_BITNOT( ) => HB_BITTEST( , ) => HB_BITSET( , ) => HB_BITRESET( , ) => HB_BITSHIFT( , ) => * harbour/contrib/tip/Makefile * harbour/contrib/tip/utils.c * harbour/contrib/tip/popcln.prg * harbour/contrib/tip/Changelog * harbour/contrib/tip/cgi.prg * harbour/contrib/tip/url.prg * harbour/contrib/tip/httpcln.prg * harbour/contrib/tip/client.prg * harbour/contrib/tip/encoder.prg * harbour/contrib/tip/smtpcln.prg * harbour/contrib/tip/mail.prg * harbour/contrib/tip/ftpcln.prg + harbour/contrib/tip/thtml.prg + harbour/contrib/tip/thtml.ch - harbour/contrib/tip/cstr.prg * synced with recent xHarbour modifications - please test * harbour/source/vm/hvm.c * formatting * harbour/source/rdd/delim1.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/sdf1.c % do not copy date value to separate memory buffer but decode dates directly from record buffer * harbour/source/compiler/hbopt.c * optimize PCODE generated for: return ([]) 2007-06-29 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/hbsix/sxcompr.c ! fixed bug in workaround for SIX3 bug ;-) 2007-06-29 08:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * minor code reorganization 2007-06-28 21:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * disable ternminal signals at startup * redraw screen after __RUN() 2007-06-28 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c ! fixed possible GPF and some other problems in HB_TRANSLATE() * harbour/source/rtl/dateshb.c * harbour/source/rtl/datesx.c * harbour/source/common/hbdate.c * make STOD() exact Clipper compatible 2007-06-27 21:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * restore default color on exit * harbour/source/rdd/dbf1.c * cleaned few warnings * harbour/make_tgz.sh * harbour/make_gnu.sh * if HB_WITHOUT_GTSLN not set then check if slang.h exists in one of known locations and set HB_WITHOUT_GTSLN automatically 2007-06-27 19:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak ! removed double quotas from files extension definitions Neither Borland make nor NMake can accept them, sorry my fault but I used to work with GNU make * harbour/makefile.vc - removed recently added by J. Lefebvre Mafact alternative verion of file extnesions. Thank you for your help but it was my mistake and the default definitions in common.mak should not use quotas * harbour/source/rtl/datesx.c * harbour/source/common/hbdate.c * accept date strings longer then 8 characters in STOD() just like in CT3 * changed casting in date decoding code to be strict Clipper compatible and cover date string validation by HB_C52_STRICT macro. Now STOD() can give _EXACTLY_ the same results as Clipper for wrong date strings if you disable code covered by #ifndef HB_C52_STRICT in hb_dateStrGet(). It fixes errors reported by hbtest in: stod("19 90905") -> "17490905" stod("199 0905") -> "19740905" but I do not know if you want to have it as default. * harbour/source/rtl/gtsln/gtsln.c ! fixed variable declaration to be ANSI C compatible 2007-06-27 16:00 UTC+0200 J. Lefebvre Mafact (jfl/at/mafact.com) * harbour/makefile.vc * Setting file extensions variables without double quotes for nmake Will overide those in common.mak 2007-06-27 10:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gttrm/gttrm.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtcgi/gtcgi.c * added support for CP translation in OUTSTD()/OUTERR() when they are not redirected to console 2007-06-26 23:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * harbour/harbour.spec * added description for -L in hb* scripts * harbour/include/hbapicls.h * harbour/source/vm/classes.c * changed hb_objSendMsg() and hb_objSendMessage() to return hb_stackReturnItem() - xHarbour users asked about it. It does not change binary compatibility with existing code. * harbour/common.mak * replaced some hard coded values like file extensions with variables for future use on other platforms * harbour/contrib/mysql/mysql.c * changed code to not use non standard function filelength() and optimized * harbour/source/compiler/cmdcheck.c * recognize --version on platforms where '-' is option separator * harbour/source/compiler/hbusage.c * changed syntax description from: Syntax: harbour [options] to: Syntax: harbour [options] 2007-06-26 22:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * use separate trnaslation tables for dispout() and dispbox() like in GTCRS 2007-06-26 19:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gttrm/gttrm.c * use ECMA-48 compatible sequence to disable bold intensity also on Linux terminals (one byte longer but will work also in some non Linux terminals which do not emulate it well) * use STDIN handle for full screen output when STDOUT redirected to non terminal device, f.e. file. 2007-06-23 15:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtcore.h * harbour/source/rtl/gtchrmap.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gttrm/gttrm.c + added 3-rd parameter BOOL fSetACSC to hb_gt_chrmapinit() function * initialize ACSC translation for XTERM like terminals when hb_charmap.def file cannot be found or there is no valid section for used terminal + harbour/tests/gtchars.prg + harbour/tests/gtcolors.prg + harbour/tests/gtkeys.prg + added test ptograms for GT drivers to test all character output and automatic CP translation, colors settings and keyboard/mouse input 2007-06-23 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtchrmap.c * harbour/source/rtl/gttrm/Makefile * harbour/source/rtl/gttrm/gttrm.c + set Id keyword property * harbour/source/common/expropt1.c ! fixed typo in HB_TRACE() parameters * harbour/include/hbapicdp.h * harbour/include/hbapirdd.h * harbour/source/rtl/strcase.c * harbour/source/rtl/is.c * harbour/source/rtl/gtxwc/gtxwc.h * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/gtsln.h * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/vm/hvm.c ! fixed compilation with HB_CDP_SUPPORT_OFF - I do not plan to create such builds but now these macro allow to easy locate CDP dependent code * harbour/include/hbextern.ch * harbour/source/rtl/cdpapi.c + added two prg functions for translations from/to UTF-8: HB_STRTOUTF8( [, ] ) -> HB_UTF8TOSTR( [, ] ) -> is Harbour codepage id, f.e.: "EN", "ES", "ESWIN", "PLISO", "PLMAZ", "PL852", "PLWIN", ... When not given then default HVM codepage (set by HB_SETCODEPAGE()) is used. 2007-06-22 16:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh + added GTTRM to compressed file list * harbour/include/hbgtcore.h + added HB_GT_ATTR_UNDEF * harbour/source/rtl/hbgtcore.c * minor cleanup in COLD() method * harbour/source/rtl/gtchrmap.c * disable control characters when hb_charmap.def file cannot be found or there is no valid section for current terminal inside * harbour/source/rtl/gttrm/gttrm.c - removed OUTERR() and OUTSTD() method - the default one are enough + set CLIPKEY flag in GTI_ADDKEYMAP 2007-06-21 02:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtcrs/hb-charmap.def * harbour/source/rtl/gttrm/gttrm.c + added 'screen' terminal 2007-06-20 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtchrmap.c * removed 'static const' from s_szDefaultCharMapFile declaration I forgot that it was used by some build scripts I made public few years ago - I'll change these declaration when I'll add alternative method of changing default charmap file. * harbour/source/rtl/gttrm/gttrm.c + added support for SetBlink(.f.) working like in GTCRS and GTSLN. We cannot change from the server side the interpretation of BLINK attribute in 99% of terminals (it has to be done on client side) so SetBlink(.f.) simply disables sending BLINK attribute to terminal. 2007-06-20 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtinfo.ch + added GTI_ADDKEYMAP and GTI_DELKEYMAP * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c + added const to declarations of some function parameters * harbour/include/hbgtcore.h * harbour/source/rtl/Makefile + harbour/source/rtl/gtchrmap.c * harbour/source/rtl/gtcrs/Makefile - harbour/source/rtl/gtcrs/chrmap.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/gtcrs.h * hb_gt_chrmapinit() common function now for different GT drivers * minor cleanup in GTCRS code * harbour/include/hbcompat.ch + added some new translation rules * harbour/include/hbapi.h * cleanup comment * harbour/source/pp/ppcore.c ! fixed line numbering when errors are reported in different order due to preprocessing extended code block + harbour/source/rtl/gttrm + harbour/source/rtl/gttrm/Makefile + harbour/source/rtl/gttrm/gttrm.c + added new GT driver - it's terminal driver like GTCRS and GTSLN but it does not use any external library like [N]CURSES or SLANG so it can be compiled in nearly all POSIX systems. It's not such flexible like curses or slang base drivers because instead of using termcap/terminfo databases to extract terminal capabilities it uses some hard coded sequences for few terminals (now Linux, ANSI, XTERM) but it should cover users requests in 95% of cases. Terminals I tested are quite well supported (GTTRM works even better then GTCRS or GTSLN and is much faster in full screen mode - 2-4 times). I noticed that most terminal emulators works much better with GTTRM then with GTCRS or GTSLN due to limited list of used escape sequences so some minor differences in each terminal implementation are not noticeable. GTTRM automatically detects ISO/UTF8 terminal mode and chose valid output what should also help *nix users. Now I would like to ask BSD and MacOSX users to test GTTRM in these systems with pure text console and XWindow terminal emulators. I'm interesting in any problems you may found. * harbour/source/vm/hvm.c + added protection for possible GPF caused by wrong .prg code * harbour/source/vm/maindllp.c % store function addreses in static variables to improved execution speed + added support for compilers which does not use "_" as function prefix + added support for using with harbour*.dll * harbour/source/vm/memvars.c + added new method of detaching enumerators and array item references covered by HB_COMPAT_XHB macro. xHarbour does not work in such way but the final results are similar. * harbour/source/vm/dynlibhb.c + added protection against passing wrong pointer items to HB_LIB*() functions * harbour/source/common/reserved.c * cleaned warning * harbour/bin/hb-func.sh * harbour/config/hpux/global.cf * harbour/config/darwin/global.cf * harbour/config/linux/global.cf * harbour/config/sunos/global.cf * harbour/config/bsd/global.cf + added GTTRM to library list 2007-06-20 12:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/hbgtmk.sh * harbour/make_drw.sh * harbour/make_rpm.sh * harbour/bin/hb-mkslib.sh * harbour/bin/bld.sh * harbour/bin/hb-func.sh * harbour/bin/postinst.sh * harbour/bin/pack_src.sh * harbour/make_bsd.sh * harbour/make_xmingw.sh * harbour/make_gnu.sh * harbour/make_tgz.sh * set executable attribute small thing but makes happy ;-) - Many thanks Victor! 2007-06-14 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/doc/whatsnew.txt * harbour/harbour.spec * harbour/include/hbver.h * small information about new release * updated version number to 1.1.1 * tagged as build48 2007-06-14 00:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/tclass.prg * initialize date members to ctod("") 2007-06-14 00:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch + added translation rules for extended code blocks * harbour/source/compiler/gencc.c * cleaned C compiler warnings in -gc3 output and SWITCH statement * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * allow to use 0d0 and 0d00000000 as empty date value * harbour/source/pp/Makefile * workaround for problems with some GNU make versions, f.e. 3.76.1 on OS2 2007-06-12 23:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * cleaned BCC warning * harbour/include/hbapi.h * harbour/source/vm/arrays.c + added set of hb_arraySet*() functions - I hope they will help 3-rd party developers to eliminate using C stack level HB_ITEM and reduce usage of potentially danger function like hb_arrayGetItemPtr() * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + added hb_itemReturnRelease() * harbour/include/hbcompat.ch + added hb_pvalue() <-> pvalue() translations * harbour/source/vm/pvalue.c + added support for 2-nd parameter for assugb operation, f.e. now hb_pvalue( 3, "abc" ) sets "abc" to 3-rd function parameter * harbour/source/compiler/gencc.c * harbour/source/compiler/hbopt.c ! fixed two buggy optimizations 2007-06-11 16:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/ChangeLog + harbour/ChangeLog.018 * ChangeLog archived. 2007-06-11 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/genc.c * allow to use #pragma begindump / enddump in .prg files without any .prg code * harbour/source/vm/hvm.c ! fixed assign in overloaded [] 2007-06-08 14:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c ! generate valid RT errors in some methods so NETERR() can be properly set 2007-06-08 06:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * restored original national characters which were unintentionally damaged on 2006-06-29 08:25 UTC+0200 Tomaz Zupan Toma¾ please do not use editors which will change national characters in the whole file when you will change harbour.spec in the future 2007-06-07 11:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * some minor cleanups in Requires section and added %{epoch} * harbour/make_rpm.sh * build Harbour GD library only when GD 2.0 or newer is installed 2007-06-06 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbregex.h * harbour/source/rtl/hbregex.c ! fixed GPF and removed two hacks 2007-06-06 14:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbregex.c ! added workaround for some wrong hack (to check if both can be safely removed) 2007-06-06 12:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * changed extern hb_bProfiler to local HVM static variable * harbour/source/vm/hvm.c + added two macros HB_NO_TRACE and HB_NO_DEBUG for these people who needs/wants to test HVM speed without debugger support and PRG call tracing - the difference is rather small 2007-06-05 22:44 UTC+0200 Enrico Maria Giordano (e.m.giordano@emagsoftware.it) * harbour/contrib/hbzlib/zip.c * cleaned a couple of warnings 2007-06-05 21:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * formatting * harbour/include/hbexpra.c + added comment * harbour/source/common/expropt2.c + added optimization for == NIL, = NIL, != NIL ! disabled in macro compiler buggy Clipper compiler optimization for expressions like: AT( "", "" ), "" $ "", CHR(256), now the folowwing code gives the same results when compiled by Clipper and Harbour: proc main() ? ""$"", &('""$""') ? AT(""," "), &('AT(""," ")') ? LEN(CHR(0)+CHR(256)), &('LEN(CHR(0)+CHR(256))') return 2007-06-05 20:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/doc/linux1st.txt + Added info about required Ubuntu packages. (Thanks Przemek) * harbour/utils/hbtest/rt_hvma.prg * harbour/utils/hbtest/rt_str.prg + Added two more tests for "" $ "" / At( "", "" ) combinations. 2007-06-05 10:53 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) - harbour/contrib/hbzlib/Makefile.mingw - removed not necessary file 2007-06-05 09:56 UTC+0300 Chen Kedem * source/rtl/achoice.prg ! Fix bug#1729881 by ACHOICE() was not handling AC_GOTO when user function was used. 2007-06-05 03:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbzlib/zip.c * cleaned some warnings * harbour/contrib/ole2/w32ole.c * harbour/contrib/ole2/win32ole.prg * changed deinitialization code to allow using OLE in .prg object destructors and user EXIT functions * added support for FOR EACH overloading - not tested please check % use BEGIN SEQUENCE WITH as TRY / CATCH replacement 2007-06-04 22:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/hbzlib/include/stdafx.h * harbour/contrib/hbzlib/include/ziparchive.h * cleaned some warnings * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/common/expropt2.c * restored Mindaugas code for UPPER optimization and added logic to optimize UPPER for strings with only Latin letters, digit and spaces just like in Clipper. Now code like: ? Upper( chr(65)+chr(66)+chr(67)+"0123 QWE asd " ) + "ZXC" is fully optimized at compile time to single string expression. % optimized hb_compExprReduceCHR() by eliminating memory allocation for new string ! fixed typo in my previous commit 2007-06-04 20:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/common/expropt2.c % added compile time optimization for CTOD("") % added compile time optimization for - used forconstant string values, f.e.: ? "Harbour " - " Compiler" * harbour/source/vm/hvm.c % added optimization for string resizing in cVal1 - cVal2 * harbour/source/rtl/dateshb.c % minor optimization - removed one not necessary ISCHAR() 2007-06-04 19:11 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt2.c - removed UPPER("") optimisation because of ... ? 2007-06-04 15:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh * harbour/make_tgz.sh * harbour/bin/hb-func.sh * harbour/bin/postinst.sh * HPUX build cleanup * harbour/source/debug/dbgentry.c * cast isalpha() and isdigit() parameters to unsigned char * harbour/source/rtl/hbinet.c * harbour/source/rtl/gtstd/gtstd.c * HPUX build cleanup 2007-06-04 08:04 UTC-0300 Antonio Carlos Pantaglione + harbour/contrib/tip/make_b32.bat + harbour/contrib/tip/makefile.bc 2007-06-04 12:17 UTC+0200 Enrico Maria Giordano (e.m.giordano@emagsoftware.it) * harbour/contrib/hbzlib/include/zipexception.h * removed wrong CZipException:: qualificator in CZipException copy constructor * harbour/contrib/hbzlib/zip.c + added extern void hb_fsDirectory() declaration * harbour/contrib/hbzlib/include/hbzip2.h * harbour/contrib/hbzlib/zipnew.cpp * changed fifth parameter to const char *pbyBuffer in hb_UnzipSel() function 2007-06-03 23:03 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/include/hbexprop.h * harbour/include/hbexprb.c * harbour/source/common/expropt2.c * added UPPER("") optimisation. The side effect of this modification is that Harbour becomes Clipper bug compatible in calculation of AT(UPPER(""), "test"). Though this optimisation does not introduce any buggy behaviour itself. 2007-06-02 12:30 UTC+0200 Enrico Maria Giordano (e.m.giordano@emagsoftware.it) * harbour/contrib/hbzlib * replaced with the one borrowed from xharbour, source modifications by Przemek * harbour/contrib/hbzlib/makefile * harbour/contrib/hbzlib/makefile.bc * harbour/contrib/hbzlib/makefile.vc * harbour/contrib/hbzlib/zip.c * harbour/contrib/hbzlib/include/zipfilemapping.h * harbour/contrib/hbzlib/include/zipautobuffer.h * harbour/contrib/hbzlib/include/hbzip2.h * changed to make contrib/hbzlib working with harbour + harbour/contrib/hbzlib/hbcomprs.c + harbour/contrib/hbzlib/include/hbcomprs.h + added to make contrib/hbzlib working with harbour + harbour/contrib/hbzlib/doc + harbour/contrib/hbzlib/doc/zipnew.txt + added documentation borrowed from xharbour/doc/en 2007-06-01 21:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/pgsql/postgres.c * cover PQescapeByteaConn() by #if HB_PGVERSION >= 0x0800 * harbour/source/rtl/gtxwc/gtxwc.c ! fixed casting in DBLCLICK checking 2007-06-01 19:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/make_rpm.sh * harbour/contrib/Makefile * cleanup and added HB_CONTRIBLIBS to set additional contrib libraries + added -with xhb switch to build Harbour RPMs with HB_COMPAT_XHB macro * harbour/contrib/mysql/Makefile + added -I/usr/include/mysql -I/usr/local/include/mysql to C compiler flags * harbour/contrib/mysql/tmysql.prg * harbour/contrib/mysql/tsqlbrw.prg * cleaned -w2 warnings - in few places I added HB_SYMBOL_UNUSED() which should be replace sin the future by valid code 2007-06-01 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * set attributes explicitly to clean some wrong attributes committed to CVS and minor cleanup * harbour/include/hbapierr.h * harbour/source/rtl/errorapi.c + added hb_errorBlock() * harbour/source/macro/macro.yyc * harbour/source/compiler/harbour.yyc * manual hack to pacify BCC warning messages * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbmain.c * harbour/source/compiler/hbopt.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/vm/hvm.c + added support for: BEGIN SEQUENCE WITH [] [ RECOVER [ USING oErr ] ] ... [ ALWAYS ] ... END It works like normal BEGIN SEQUENCE but sets as ErrorBlock() before executing and restore previous ErrorBlock() at the end or when exception will appear. I hope it will make some xHarbour user happy ;-) * harbour/include/hbcompat.ch + added preprocessor directive for TRY / CATCH / FINALLY / END working like in xHarbour - translated to: BEGIN SEQUENCE WITH { |oErr| Break( oErr ) } ... [ RECOVER [ USING oErr ] ] ... [ ALWAYS ] ... END 2007-06-01 13:00 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/make_gnu.sh * updated msgs * harbour/pach_src.sh * added contrib/gd * harbour/make_rpm.sh * harbour/harbour.spec * added support for --with gd, --with pgsql, --with pgsql4 and --without tip * contrib/tip/cgi.prg * added lDumpHtml to create a dump of the html useful for syntax check * added support for "var" and "src" in both scripts and styles * contrib/pgsql/tpostgre.prg * added ::Read() method to use in forward only loop * instead of while !::eof() ... ::skip() * several optimizations now in a typical loop it is 30% faster * !!! now char fields are not sized to len !!! 2007-06-01 02:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/bin/bld.sh ! Updated list of libs for linux/gcc. * harbour/bin/bld.bat * Minor. 2007-06-01 00:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/bin/pack_src.sh + added hbpcre library 2007-05-31 23:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.yyc * synced with recent modifications in harbour.y - I missed it. * harbour/source/hbpcre/pcrecomp.c * cleaned some warnings reported by Lorenzo 2007-05-31 21:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/makefile.vc * added some missing declaration for PCRE library * harbour/include/hbregex.h * added PCRE_STATIC - it fixes problem with MinGW build * harbour/utils/hbrun/Makefile * removed one redundant hbpcre from library list 2007-05-31 17:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak ! added PCRE_LIB * harbour/bin/hb-func.sh ! fixed typo in last commit * harbour/source/hbpcre/pcredfa.c * harbour/source/hbpcre/pcreexec.c * harbour/source/hbpcre/pcrefind.c * harbour/source/hbpcre/pcreprni.c * harbour/source/hbpcre/pcrestud.c * harbour/source/hbpcre/pcretryf.c * cleaned some warnings 2007-05-31 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/makefile.bc * harbour/makefile.vc * harbour/bin/hb-func.sh * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/sunos/gcc.cf * harbour/source/Makefile + harbour/source/hbpcre/ChangeLog + harbour/source/hbpcre/Makefile + harbour/source/hbpcre/chartabs.c + harbour/source/hbpcre/config.h + harbour/source/hbpcre/dftables.c + harbour/source/hbpcre/pcre.h + harbour/source/hbpcre/pcrecomp.c + harbour/source/hbpcre/pcreconf.c + harbour/source/hbpcre/pcredfa.c + harbour/source/hbpcre/pcreexec.c + harbour/source/hbpcre/pcrefind.c + harbour/source/hbpcre/pcrefinf.c + harbour/source/hbpcre/pcreget.c + harbour/source/hbpcre/pcreglob.c + harbour/source/hbpcre/pcreinal.h + harbour/source/hbpcre/pcreinfo.c + harbour/source/hbpcre/pcremktb.c + harbour/source/hbpcre/pcreoutf.c + harbour/source/hbpcre/pcreprni.c + harbour/source/hbpcre/pcrerefc.c + harbour/source/hbpcre/pcrestud.c + harbour/source/hbpcre/pcretabs.c + harbour/source/hbpcre/pcretryf.c + harbour/source/hbpcre/pcrever.c + harbour/source/hbpcre/pcrevutf.c + harbour/source/hbpcre/pcrexcls.c + harbour/source/hbpcre/ucp.h + harbour/source/hbpcre/ucpinter.h + harbour/source/hbpcre/ucptable.c + added HBPCRE library - based on older xHarbour 6.3 version filenames changed to 8.3 DOS format * harbour/include/hbregex.h * harbour/source/rtl/Makefile * harbour/source/rtl/hbregex.c + harbour/source/rtl/hbregexc.c * divided harbour regular expression functions into two files Now regular expression low level library is not linked with application until user will not use or REQUEST for one of HB_REGEX* functions. It also means that also DBOI_SKIPREGEX will not work when regex module is not linked. + added support for build-in regular expression library + added ulLen parameter to hb_regexMatch() to support strings with embedded 0 * harbour/contrib/bmdbfcdx/bmdbfcdx1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rtl/strmatch.c * use new hb_regexMatch() format * harbour/utils/hbrun/Makefile + added hbpcre to linked library list 2007-05-30 01:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/main/harbour.c - removed unnecessary code for HB_PARANOID_MEM_CHECK macro 2007-05-30 01:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/include/hbexprb.c * harbour/source/common/expropt1.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc ! fixed bug in operator precedence - seems that it existed from beginning and partially were fixed in xHarbour. This code exploits the problem: #define EOL chr(13)+chr(10) #command ? [] => [outstd( );]outstd(EOL) #command TEST => BEGIN SEQUENCE ; ; ? ; ; RECOVER USING oErr ; ; ? "Error:", oErr:subCode, ; oErr:description, oErr:operation ; ; END proc main() local oErr, s1:="X", s2:="Y", t:=.T. errorBlock({|oErr|break(oErr)}) TEST t != s1 $ s2 TEST t == s1 $ s2 TEST t = s1 $ s2 TEST t < s1 $ s2 TEST t <= s1 $ s2 TEST t > s1 $ s2 TEST t >= s1 $ s2 TEST s1 $ s2 != t TEST s1 $ s2 == t TEST s1 $ s2 = t TEST s1 $ s2 > t TEST s1 $ s2 < t TEST s1 $ s2 >= t TEST s1 $ s2 <= t return 2007-05-29 10:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.vc * synced with BETA branch * harbour/contrib/Makefile * disable BMDBFCDX for DOS builds due to long names which do not pass 8.3 convention * use OLE2 instead of OLE * harbour/contrib/ole2/w32ole.c * warning fixes * harbour/include/hbregex.h + added REGEX support for DJGPP build * harbour/source/rtl/net.c * warning cleanup 2007-05-28 20:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/Makefile + harbour/contrib/adordd/Makefile + added ADORDD to default windows GNU make builds * harbour/contrib/adordd/makefile.bc + added -w2 to harbour compoiler switches * harbour/contrib/adordd/adordd.prg + added HB_SYMBOL_UNUSED() for some methods + harbour/contrib/ole2/Makefile + added GNU make file * harbour/include/common.ch * changed HB_HASH_AUTOADD_* to HB_HAUTOADD_* 2007-05-28 18:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/sunos/gcc.cf + added -lpcreposix -lpcre to linked system libraries when C_USR contains -DHB_PCRE_REGEX * harbour/source/compiler/hbmain.c * clear HB_COMP_PARAM->functions.pLast in hb_compCompileEnd() to avoid accessing freed memory 2007-05-28 15:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/TODO - removed some not longer valid notes * harbour/common.mak - removed dbgaltd.obj * harbour/include/common.ch + added HB_HASH_AUTOADD_* definitions 2007-05-28 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/Makefile - harbour/source/debug/dbgaltd.prg - removed repeated ALTD() implementation 2007-05-28 09:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_xmingw.sh * harbour/source/pp/Makefile * recent xHarbour fixes for MinGW Linux->W32 cross build by Phil Krylow with small modifications * harbour/config/rules.cf + added rules for C++ files * harbour/include/hbapi.h * harbour/source/vm/arrays.c + added hb_arraySetForward() * harbour/include/hbapi.h * harbour/source/rtl/strmatch.c + added hb_strMatchFile() - compare two strings using platform dependent rules for file matching, respects platform dependent wildcards + added hb_strMatchCaseWildExact() - compare two strings using pattern with wildcard (?*) ignoring the case of the characters - patern have to cover whole string * changed hb_strMatchRegExp() to use real reguar expresions, if build does not support regex then redirected to hb_strMatchWildExact() - removed not longer used hb_strMatchDOS() - in fact it was neither DOS nor classic wildcards (?*) compatible * harbour/source/common/hbstr.c ! casting to avoid possible problem on platforms where toupper does not accept negative char value * harbour/include/hbcomp.h * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbmain.c * minor modifications in cleanup functions * harbour/source/rtl/hbffind.c * use hb_strMatchFile() * harbour/source/vm/memvars.c * use hb_strMatchCaseWildExact() instead of hb_strMatchRegExp() I still keep the hack which translates any mask starting with '*' to "*" but if you think that we should fully respect wildcards patterns then we should remove it from function hb_memvarGetMask() Opinions? 2007-05-26 09:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fixed bug reported by Lorenzo * harbour/contrib/rdd_ads/ads1.c * changed static variable name from iSetListenerHandle to s_iSetListenerHandle to keep common naming convention * harbour/include/hbapi.h * harbour/source/vm/hashes.c * harbour/source/vm/hashfunc.c * harbour/source/vm/hvm.c + added new 3-rd parameter to hb_hashGetItemPtr() to control independently hash autoadd behavior in access/assign operation * harbour/include/hbrdddbf.h * harbour/include/hbrddntx.h * harbour/source/rdd/dbfntx/dbfntx1.c * moved static variables holding RDDI_* settings to RDDNODE data so they can be set separately for each RDD which inherits from DBFNTX * harbour/source/vm/classes.c + added disabled code to access hash items using messages * harbour/source/vm/garbage.c * comment 2007-05-25 11:46 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net) * contrib/bmdbfcdx/bmdbfcdx1.c * removed unnecesary code ! fixed bug on SKIP with SET DELETED ON when skips a deleted recno, OrdKeyNo was wrong. 2007-05-25 01:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbexpra.c * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/macro/macrolex.c * harbour/source/vm/macro.c - removed hb_macroIsIdent() + added hb_macroTextSymbol() ! fixed old bug (it exists in all [x]Harbour versions) in macrocompiler which caused HVM stack corruption * generate from lexer symbols which are well formatted (uppercase and size <= HB_SYMBOL_NAME_LEN) % use hb_dynsymGetCase() instead of hb_dynsymGet() % some minor speed improvement * harbour/source/rtl/gtwin/gtwin.c % use hb_dynsymFind() instead of hb_dynsymFindName() * harbour/source/rdd/dbcmd.c * harbour/source/rdd/wafunc.c * reenabled by default strict clipper compatible behavior for code select(), dbSelectArea() and alias allocating * harbour/source/rdd/dbf1.c + added DBI_ISENCRYPTED for tables encrypted by SIX3 * harbour/source/rtl/hbinet.c ! added missing break (Ron fix from xHarbour) 2007-05-23 12:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/debug.c ! fixed access/assign local variables from debugger in functions with variable number of parameters 2007-05-23 11:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + added hbapidbg.h * harbour/source/vm/classes.c - removed one unused debug function * harbour/source/vm/debug.c * formatting 2007-05-22 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak ! fixed typo during copy and past in last modification - changing files when the modifications cannot be checked is always dangerous, sorry 2007-05-22 13:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile * synced RTL files 2007-05-22 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbfix.c ! fixed local IND/DED when PARAMETERS is used ! fixed local names generated for debugger when PARAMETERS is used * harbour/source/debug/dbgentry.c ! fixed very bad typo in my previous commit % minor optimization 2007-05-22 12:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh + added -lpcreposix to system libraries when C_USR has -DHB_PCRE_REGEX * harbour/include/hbregex.h * removed pcre/ path from PCRE header files - if you want to build Harbour with PCRE regex and PCRE header files are not in default\ path then set valid path in C_USR, f.e.: export C_USR="${C_USR} -DHB_PCRE_REGEX -I/usr/include/pcre" * harbour/include/hbxvm.h * harbour/source/compiler/gencc.c * harbour/source/vm/hvm.c * minor optimizatin for -gc3 output 2007-05-22 01:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbapicls.h * harbour/include/hbcomp.h * harbour/include/hbvm.h * harbour/include/hbvmpub.h * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbopt.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/debug/dbgentry.c * harbour/source/rdd/wafunc.c * harbour/source/rtl/itemseri.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/vm/classes.c * harbour/source/vm/dynsym.c * harbour/source/vm/hvm.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c * casting: changed some 'char *' to 'const char *', added const to some other declarations, added workaround for GCC warnings about dereferencing pointer with strict-aliasing optimization, etc. 2007-05-21 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fixed E"..." ! added new hack for strings inside [] 2007-05-21 13:11 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net) * contrib/bmdbfcdx/bmdbfcdx1.c * minor warning fix on os/2 compile. 2007-05-20 13:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/hbffind.c ! Added HB_EXPORT for hb_fsFind*() functions. (missed from prev commit) 2007-05-19 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch * formatting * harbour/include/hbpp.h * harbour/source/pp/ppcore.c + added support for: #pragma escapedstrings = on cStr := "some value with internal \" character" #pragma escapedstrings = off + added support for multiline strings in escaped strings * harbour/source/compiler/gencobj.c * minor simplification * harbour/source/rtl/hbffind.c * always set hb_fsError() * harbour/source/rtl/mlcfunc.c ! fixed minor typo 2007-05-18 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapierr.h * harbour/source/rtl/errorapi.c * changed 'char hb_errFuncName' to 'const char hb_errFuncName' * harbour/source/compiler/ppcomp.c * added note about Harbour exception in header * harbour/include/hbapifs.h * harbour/source/rtl/fserror.c + added hb_getFError(), hb_setFError() * harbour/source/rtl/philes.c * harbour/source/rtl/philes53.c * use hb_getFError()/hb_setFError() in F*() functions * harbour/source/rtl/disksphb.c * harbour/source/rtl/fssize.c * fixed setting hb_fsError() * harbour/source/rtl/console.c * harbour/source/rtl/dirdrive.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/philesx.c * harbour/source/rtl/set.c * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtstd/gtstd.c * removed code to save/restore hb_fsError() 2007-05-18 07:24 UTC+0100 Fernando Mancera (fmancera@viaopen.com) * contrib/adordd/adordd.prg * ADO_GETFIELDTYPE() Improved * ADO_GETFIELDSIZE() Now support MEMO Field 2007-05-17 00:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/utils/hbtest/rt_misc.prg ! SET EOLs guarded with __HARBOUR__ to make it compile on other platforms. 2007-05-17 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/TODO * removed some not longer necessary TODO/TOFIX * harbour/common.mak * harbour/source/rtl/Makefile - harbour/source/rtl/memoline.c - harbour/source/rtl/mlcount.c - harbour/source/rtl/mlctopos.c - harbour/source/rtl/mlpos.c - harbour/source/rtl/mpostolc.c + harbour/source/rtl/mlcfunc.c * new version of memo line functions: MEMOLINE(), MLCOUNT(), MLPOS(), MLCTOPOS(), MPOSTOLC() * harbour/include/hbexpra.c ! fixed in HB_COMPAT_XHB build hb_enumIndex() used inside internal FOR/NEXT loop * harbour/include/hbpp.h * harbour/source/pp/ppcore.c ! removed some not longer necessary hack % added some speed optimizations - it's not done in the way I want to have in the final version but with some very small modifications it should make people using a lot of #[x]translate (Enrico ;-)) happy. * harbour/source/rtl/set.c * minor cleanup in HB_SET_EOL initialization * harbour/source/vm/hvm.c * clean MEMO flag in array and hash items created by { MEMOFILED, ... } or { "KEY" => MEMOFILED, ... } and optimized results of PLUS operation * harbour/utils/hbtest/rt_misc.prg * SET EOL to CHR(13) + CHR( 10 ) before MLCTOPOS() tests to avoid false alarm on platforms with differ default EOL 2007-05-16 16:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/ChangeLog + Added one missing entry (2007-05-15 15:40 UTC+0300). * harbour/include/hblass.ch ! Fix added for misplaced *UNUSED() macro. (Thanks Juan) * harbour/include/hbapifs.h ! Added HB_EXPORT for hb_fsFind*() functions. 2007-05-16 11:03 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net) * /include/hbclass.h ! fixed INLINE, incorrect parameters are passed to. reported by Juan Galvez. 2007-05-15 15:40 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/source/compiler/gencobj.c ! fixed unrecoverable error "hb_xfree called with an invalid pointer" related to HB_CFG_FILE implementation 2007-05-14 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbmain.c ! fixed memory leak when error appears during generating codeblock 2007-05-13 09:20 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * Improved ADO_PUTVALUE() 2007-05-11 18:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/compiler/hbmain.c * harbour/source/compiler/harbour.yyc ! Fixed error message text when unclosed multiline codeblock was detected (said: <||...> instead of {||...}). (two more places) 2007-05-11 18:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/compiler/harbour.y ! Fixed error message text when unclosed multiline codeblock was detected (said: <||...> instead of {||...}). ; TOFIX: In this same case two memory blocks are not released: source\main\harbour.c:329: HB_TR_ERROR Block 1 0098C39C (size 100) source\main\harbour.c:329: HB_TR_ERROR Block 2 0098C200 (size 92) 2007-05-12 17:43 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/contrib/tip/cgi.prg * support of option encoding in StartHtml * removed language= in htmlscript * fixed use of pre and post parameters in HtmlOption * now TipCgi code is validated xhtml 1.0 strict 2007-05-12 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbffind.c ! fixed typo in my previous commit 2007-05-12 10:48 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * OrdCreate() fixed * OrdDestroy() implemented 2007-05-12 10:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/include/hbpp.h * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbmain.c * harbour/source/pp/ppcore.c + added support for extended multiline codeblocks: { || ... return } Such codeblocks allow nested definitions. They can also have their own variable declarations (local, static, field, memvar, parameters, private, public) and visibility of declared variables is similar to nested function in Pascal but please note that there is one limitation which exists also for normal codeblocks (Clipper compatible behavior): internal codeblock local parameters and local variables cannot be used in nested codeblocks, f.e. such code: eval( { |p| eval( {|| qout( p + 1 ) } ) } ) is illegal in Clipper and Harbour. This limitation also can be eliminated but but it will be necessary to make deeper modifications in code for local detaching changing the method of generating codeblocks local variables in nested blocks so unlike the above also some modifications in HVM will be necessary. Please test. 2007-05-11 22:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/source/compiler/complex.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbmain.c * changed code used for variable scoping - now it's much more simple (only one function) and allows to use declarations in nested functions/codeblocks with visibility similar to Pascal ! fixed parsing FILED IN we were accepting code like: FIELD f1, f2 IN db1, f3 IN db2 IN db3 and for all fields the last alias (db2 in this example) was used ! fixed calculating number of static variables with -b (debugger) compilation (number of file wide statics were doubled) ! fixed generation of static variable names for debugger when declared with array dimensions, f.e.: static sVar[3] * harbour/source/rtl/hbffind.c * minor cleanup *nix version * harbour/contrib/bmdbfcdx/bmdbfcdx1.c ! fixed casting for C++ compilation * harbour/source/rdd/dbfdbt/dbfdbt1.c * updated for some old API modifications (this library is not used now but if we keep it in CVS then I think it should be updated) 2007-05-11 18:09 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * COMMIT changes 2007-05-11 14:27 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * some minor changes 2007-05-11 10:17 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/filehb.c * Changed one old TOFIX to a NOTE regarding a minor incompatibility in FILE() where the filename is RTrim()-ed in Clipper but not in Harbour. It became a NOTE because making it compatible would mean losing some portability. * harbour/source/rtl/hbffind.c ! Removed code in UNIX branch which would change an empty file mask to "*" (thus causing FILE("") to return .T. and DIRECTORY("") to return the whole dir content.) ! Made sure in UNIX branch that an empty file mask won't return any files regardless of the filename matching method used. * harbour/source/rtl/strmatch.c + Added NOTE about hb_WildMatch() / sx_WildMatch() incompatibility. ! Guarded WILDMATCH() with HB_COMPAT_XHB. * WILDMATCH() now calls HB_WILDMATCH() internally. 2007-05-11 01:04 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * Reduced used variables and memory 2007-05-10 08:13 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * FoxPro support 2007-05-09 15:28 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * Improved ADO_CLEARREL() 2007-05-09 15:03 UTC+0100 Fernando Mancera (fmancera@viaopen.com) * contrib/adordd/adordd.prg + Improved Deleted() 2007-05-09 10:55 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg + Added function HB_AdoRddGetRecordSet( [] ) --> oAdoRecordset 2007-05-09 10:41 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg + New functions HB_AdoRddGetConnection( [] ) --> oAdoConnection and HB_AdoRddGetCatalog( [] ) --> oAdoCatalog 2007-05-09 10:10 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/config/w32/mingw32.cf * fixed typo * harbour/include/Makefile * removed reference to deleted hbrddwrk.h * harbour/include/std.ch * added SET EOL clause * harbour/include/hbcompat.ch * fixed typos and added TEXT INTO * harbour/contrib/gd/Makefile * fixed install of includes * harbour/contrib/gd/gdwrp.c * fixed warnings 2007-05-08 16:06 UTC+0300 Chen Kedem * source/rtl/mlctopos.c ! Make the function MLCTOPOS() more compatible. TOFIX note added about existing problems. * utils/hbtest/rt_misc.prg + Add some tests for MLCTOPOS() 2007-05-07 19:42 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * Added some connection strings, borrowed from xharbour 2007-05-07 15:46 UTC+0100 Fernando Mancera (fmancera@viaopen.com) * contrib/adordd/adordd.prg * ADO_GOTOID() borrowed from xHarbour with modifications 2007-05-07 14:06 UTC+0100 Fernando Mancera (fmancera@viaopen.com) * contrib/adordd/adordd.prg * DbRSelect() and DbRelation() implemented 2007-05-07 11:28 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * INDEX ON ... implementation * OrdListClear() and OrdListAdd() implementation 2007-05-07 11:04 UTC+0300 Chen Kedem * source/rtl/mlctopos.c ! Fix bug#1635288 - Make the function MLCTOPOS() more Clipper compatible. Also, the WordWrap value was taken from the wrong parameter. 2007-05-07 02:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c * initialize lpaParent in DBRELINFO structure to pArea - please note that this initialization is ignored by default SETREL() RDD method * harbour/source/rdd/usrrdd/usrrdd.c ! fixed GPF when NULL lpaParent or lpaChild was used in DBRELINFO structure 2007-05-06 11:42 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.ch * New define added * contrib/adordd/adordd.prg * SET RELATION implementation 2007-05-06 20:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/wacore.c * harbour/source/vm/classes.c * harbour/include/hbapirdd.h * harbour/source/compiler/hbmain.c * updated HB_TRACE messages and some minor cleanups * harbour/source/rdd/dbcmd.c ! fixed initialisation of DBRELINFO dbSetRelation() - thanks to Antonio for locating the problem * harbour/source/rtl/idle.c * increase timeout in nanosleep() from 1 microsecond to 1 millisecond - removed some wrong comment 2007-05-06 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c * changed __cls_IncData() to return index to newly allocated instance item and __cls_DecData() to return number of local (not inherited) instance items 2007-05-06 11:42 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/hbrandom.c ! HB_RANDOMSEED() fixed to correctly handle passed parameter. (Thanks to Mitja Podgornik) 2007-05-05 12:08 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tget.prg ! Fixed a recently introduced crash in Get():ColorDisp(). (Thanks to Teo Fonrouge) 2007-05-05 10:28 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * Improved formatting and xharbour compatibility 2007-05-04 15:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/Makefile * harbour/contrib/bmdbfcdx/Makefile * harbour/source/rdd/Makefile ! fixed GNU make compilation * harbour/include/hbapifs.h * harbour/source/rtl/filesys.c + added support for DOS/Windows DENY_* flag emulation in POSIX systems using BSD locks. So far such emulatin was done with standard POSIX locks. The new emulation can be enabled by setting HB_USE_BSDLOCKS and disabled by HB_USE_BSDLOCKS_OFF. By default it's enabled in Linux and BSD* based systems. Please not that it BSD locks work in differ way then POSIX ones. They are bound with file handle and process ID not i-node and PID. It will allow to synchronize even single process but it will not work in NFS and some old BSD and Linux kernels. This synchronization cannot be used also between different platforms. If someone needs such synchronization then he should build Harbour on all platforms with HB_USE_BSDLOCKS_OFF and HB_USE_SHARELOCKS with valid multi platform lock offset * harbour/source/rdd/dbcmd.c * removed all explicit NETERR setting - now it can be set only by NETERR() function (executed by default errorsys) * changed ordListAdd()/dbSetIndex() - now they return logical value with information about success * harbour/source/rdd/wafunc.c * changed hb_rddOpenTable()/hb_rddCreateTable() to make dbUseArea()/ dbCreate() more Clipper compatible - it's not exact Clipper behavior but I intentionally do not want to replicate some strange for me things, f.e. I do not know why Clipper ignores RDDNAME when it has only one character + harbour/tests/tstuse.prg + test code for dbUseArea() 2007-05-04 11:06 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net) * source/rdd/wafunc.c * change of the behavior of DbUseArea opening, so that one behaves like made Clipper, when it fails the opening of a table, does not recover the previous area. 2007-05-04 10:15 UTC+0100 Miguel Angel Marchuet (miguelangel/at/marchuet.net) + contrib/bmdbfcdx/Makefile + contrib/bmdbfcdx/bmdbfcdx1.c + contrib/bmdbfcdx/bmsixcdx1.c + contrib/bmdbfcdx/hbrddbmcdx.h + contrib/bmdbfcdx/make_b32.bat + contrib/bmdbfcdx/makefile.bc + contrib/bmdbfcdx/readme.txt + BMDBFCDX RDD: Is a DBFCDX RDD compatible with clipper 5.3, use SET OPTIMIZE ON to make a static bitmap filters, with SET OPTIMIZE OFF works as harbour DBFCDX. Addons: BM_DbSeekWild( uKey, [lSoftSeek], [lFindLast], [lNext], [lAll] ) => .T./.F. or aSeekRec when lAll clause BM_Turbo( lOnOff ) // Is only recomendable to use it on creating FILTERS BM_DbGetFilterArray() => aFilterRec BM_DbSetFilterArray( aFilterRec ) BM_DbSetFilterArrayAdd( aFilterRec ) BM_DbSetFilterArrayDel( aFilterRec ) Respecting command: SET OPTIMIZE Change the setting that determines whether to optimize using the open orders when processing a filtered database file ------------------------------------------------------------------------------ Syntax SET OPTIMIZE ON | OFF | () Arguments ON enables optimization. OFF disables optimization. is a logical expression that must be enclosed in parentheses. A value of true (.T.) is the same as ON, and a value of false (.F.) is the same as OFF. Note: The initial default of this setting depends on the RDD. Description For RDDs that support optimization, such as BMDBFCDX, SET OPTIMIZE determines whether to optimize filters based on the orders open in the current work area. If this flag is ON, the RDD will optimize the search for records that meet the filter condition to the fullest extent possible, minimizing the need to read the actual data from the database file. If this flag is OFF, the RDD will not optimize. Examples ¦ The following example enables optimization for the Inventor database file using the SET OPTIMIZE command: USE Inventor NEW VIA "BMDBFCDX" SET OPTIMIZE ON 2007-05-03 16:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/usrrdd/usrrdd.c * updated casting for recent modifications in RDD API 2007-05-03 16:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/include/hbapirdd.h - harbour/include/hbrddwrk.h * harbour/source/rdd/Makefile + harbour/source/rdd/wacore.c + harbour/source/rdd/wafunc.c * harbour/source/rdd/workarea.c * cleaned RDD code: * the default work area implementation from which each RDD inherits and RDD management is now in workarea.c file - this part will be common for all threads in future MT version * the code to mange workareas and aliases moved to wacore.c - this code uses some static variables which will be moved to HVM stack in MT version * helper RDD functions thread independent moved to wafunc.c * harbour/source/rdd/dbcmd.c * removed RDD/WorkArea management code - only independent HB_FUNCs left. IMHO it will be good to divide this file into few ones. * changed dbCreate() and dbUseArea() to return logical value * harbour/config/global.cf - removed nulsys from linked library list - it should not be here because it can confuse some linkers and wrong library will be created * harbour/contrib/rdd_ads/ads1.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/nulsys/nulsys.c * updated for recent modifications in RDD API * harbour/include/hbextern.ch - removed __RDDSETDEFAULT() - this function was necessary with old rdd register code and we not not need it for few years. It's not Clipper function so I do not see any reason to keep it but if you want we can add wrapper to standard RDDSETDEFAULT() * harbour/source/rdd/hbsix/sxcompr.c + added workaround for SIX3 bug which I intentionally replicated in [x]Harbour but it may cause data corruption so IMHO it will be better to fix it. * harbour/source/rtl/errorsys.prg * added default action for EG_LOCK - it's Clipper compatible behavior but done in differ way. Due to some differences in linker we are using we cannot exactly replicate Clipper behavior because it will not work on some platforms as expected so I decided to add it here. I think it's even more Clear then the trick with source/sys/ntxerr.prg done by Clipper. Many people do not even knows about it. * harbour/source/rtl/gtcrs/chrmap.c * changed environment variable name from HB_CHRMAP to HB_CHARMAP to be compatible with description in default map file 2007-05-01 22:53 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * DbCreate() implementation just for Microsoft Access + contrib/adordd/access2.prg * DbCreate() sample with Microsoft Access 2007-05-01 08:48 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.ch * contrib/adordd/adordd.prg * LOCATE and CONTINUE support + contrib/adordd/mysql3.prg * MySQL LOCATE and CONTINUE sample 2007-04-30 21:58 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * IndexKey( n ) support 2007-04-30 20:58 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * ZAP implemented. GO TOP fixed for empty tables 2007-04-30 10:15 UTC+0100 Fernando Mancera (fmancera@viaopen.com) * contrib/adordd/adordd.prg * ADO connection objects and ADO catalog objects are automatically created, stored and used by the ADORDD 2007-04-29 17:34 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * Oracle support, thanks to Srdjan Dragojlovic * contrib/adordd/adordd.ch * formatting 2007-04-29 12:42 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.prg * SET FILTER TO ... support i.e.: SET FILTER TO First = "Homer" To use special SQL expressions, place quotation marks around them, i.e.: SET FILTER TO "City LIKE 'Chi*'" 2007-04-27 19:33 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/adordd/adordd.ch * contrib/adordd/adordd.prg * QUERY support and MS SQL support (thanks to Vikthor!) 07-04-27 14:35 UTC+0100 Fernando Mancera (fmancera@viaopen.com) * contrib/adordd/adordd.prg * Minor change to header file name 2007-04-27 13:05 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/source/rtl/set.c * harbour/include/set.ch * harbour/include/hbset.h * added support for SET EOL as in xHarbour * harbour/source/rtl/mlcount.c * fixed count for softcr * harbour/include/hbcompat.ch * added compatibility for isregex(string) function * harbour/contrib/tip/cgi.prg * changed return of StartSession to Self 2007-04-27 10:53 UTC+0100 Fernando Mancera (fmancera@viaopen.com) + contrib/adordd/adordd.ch + contrib/adordd/adordd.prg + contrib/adordd/make_b32.bat + contrib/adordd/makefile.bc + contrib/adordd/access1.prg + contrib/adordd/mysql1.prg * ADORDD header file, source code, makefiles and samples 2007-04-24 10:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tget.prg * harbour/source/rtl/tgetint.prg * harbour/tests/rto_get.prg * Minor fixes, cleanups, formatting. 2007-04-23 23:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/diskspac.c ! Fixed to return free space instead of disk size under Unix OSes. * harbour/source/rtl/tget.prg ! Fixed checking for invalid GET var types. ! More C5x compatible behaviour for invalid types. ! ::UnTransform() fixed when not in focus. - ::UnTransform() cBuffer incompatible parameter removed. ! ::Reform() probably made more compatible. + ::PosInBuffer() XBase++ compatible method implemented. (but not tested or compared with XBase++) ! ::Minus assignment fixed. ! ::Clear assignment fixed. ! ::Changed assignment fixed. ! ::Buffer assignment fixed. ! ::Block assignment fixed. ! ::Name assignment fixed. ! ::UnTransform() extra parameter removed. ! ::UpdateBuffer() minor fix when not in focus. ! ::Reform() made more compatible. % ::SetFocus() some superfluous stuff removed. % ::SetFocus() some fixes, cleanups. ! ::KillFocus() now sets ::TypeOut properly. ! ::VarPut(), ::VarGet() fixed for invalid ::Subscript contents. ! ::VarPut(), ::VarGet() fixed for invalid ::Block content. ! ::Pos rewritten to be fully compatible. ! ::ColorSpec made fully compatible. ! ::UnTransform() fixed when not in focus. ! ::UnTransform() fixed handling "YL" in string pictures. % ::UnTransform() minor optimization. % ::PutMask() some hacks removed. ! ::PutMask() invalid types handling. ! ::BackSpace() fixed when not in focus. ! ::Delete() fixed when not in focus. ! ::DeleteAll() fixed when not in focus. ! ::IsEditable() fixes. ! ::Picture fixes for invalid types, assignment behaviour. ! ::Picture hacks removed. ! Non-assignable vars made READONLY. (will generate different RTEs than in CA-Cl*pper due to the more refined oo engine in Harbour.) ! ::BadDate changed to be a METHOD. ! ::DecPos fixed. ! ::ToDecPos fixes. ! ::Row assigment and behaviour fixes. ! ::Col assigment and behaviour fixes. + Several comments and NOTEs added. * harbour/include/hbapigt.h * harbour/source/rtl/gtapi.c * harbour/source/rtl/setcolor.c + hb_gtColorsToString() public API added. + hb_NToColor() function added to convert a single color value (returned by hb_ColorToN()) back to a string. Used in TGet():ColorSpec implementation. * harbour/source/vm/fm.c * "Blocks" -> "Block(s)" * harbour/tests/rto_get.prg + Added many test cases. * harbour/source/vm/cmdarg.c + Added support to use "--" instead of "//" for internal command line options. * harbour/source/rtl/tbcolumn.prg + Formatting. * harbour/source/rtl/tbrowse.prg + Added Harbour (undocumented) extension NOTE. * harbour/include/Makefile - harbour/include/usrrdd.ch + harbour/include/hbusrrdd.ch * harbour/source/rdd/usrrdd/usrrdd.c * harbour/source/rdd/usrrdd/rdds/dbtcdx.prg * harbour/source/rdd/usrrdd/rdds/fcomma.prg * harbour/source/rdd/usrrdd/rdds/fptcdx.prg * harbour/source/rdd/usrrdd/rdds/hscdx.prg * harbour/source/rdd/usrrdd/rdds/rlcdx.prg * harbour/source/rdd/usrrdd/rdds/smtcdx.prg * harbour/contrib/pgsql/pgrdd.prg ! Changed public header filename to comply with the "hb*.ch" rule. (namespace protection) 2007-04-23 18:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/common/expropt1.c * harbour/source/compiler/genc.c * harbour/source/compiler/harbour.y * harbour/source/compiler/hbmain.c * harbour/source/compiler/hbopt.c ! reverted fix for unnecessary -W2 warning: Function '...' does not end with RETURN statement in code like: func f(v) if v return "TRUE" else return "FALSE" endif Sorry but I had to make it because this fix was wrong and causes that code like: func f(v) if v ? v else return "FALSE" endif was compiled without any warnings but wrong PCODE was generated. In some spare time I'll try to implement valid RETURN detection, now simply add RETURN NIL at the end of such functions - it will be removed by dead code eliminator. ! fixed memory leak when more then one .prg file was given as compiler parameter + cleaned some code for future modifications * harbour/source/macro/macro.y + added small hack for two BCC/OW warnings * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * regenerated with modified Bison version which should give code without BCC warnings - I cannot promise I'll keep it in the future but I will try. * harbour/source/rdd/dbcmd.c ! use default RDD instead of current one in COPY TO and APPEND FROM * harbour/source/vm/classes.c * added support for (@func()):eval(...) 2007-04-20 21:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tbcolumn.prg * harbour/source/rtl/tbrowse.prg * harbour/source/rtl/teditor.prg * harbour/source/rtl/tget.prg * harbour/source/rtl/tgetlist.prg % Avoiding INLINE for speed. % Using INIT for quicker object initialization. + Added TGet() NOTEs, TOFIX. ! Fixed some problems in TGetList. (Two GetApplyKey() potential RTEs.) ! Fixed a few missing "CLASS TBrowse"-es. ; Some formatting, code cleaning. 2007-04-20 04:05 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tget.prg * harbour/tests/Makefile + harbour/tests/rto_get.prg ; Fixed lots of minor bugs and differences between CA-Cl*pper and Harbour Get system. The following methods got most of the fixes: + ::Reform() undocumented C52 method added. ! ::Display() fixed when not having focus. (old TOFIX) ! ::UpdateBuffer() fixed when not having focus. ! ::SetFocus() fixed to do nothing when already having focus. ! ::KillFocus() made almost fully compatible. (the ::Assign() call is still raising questions) ! ::Reset() made compatible. ! ::VarPut() fixed when not having focus. ! ::Undo() made compatible. ! ::Type() behaviour now fully C5x compatible. ! ::Block() assignment now fully C5x compatible. ! ::OverStrike() fixed RTE when not having focus. ! ::Insert() fixed RTE when not having focus. ! ::ToDecPos() fixed to set ::Changed. ! ::PutMask() fixed to not pad the string to ::nMaxLen to be fully compatible with C5x. ! ::DecPos, ::Pos initialization made compatible. (here the CA-Cl*pper NG is wrong in stating that these vars ever hold NIL, they don't and they hold 0s instead) ! ::Minus more compatible but still far from perfect. % ::ParsePict() integrated into ::Picture() - ::HasScroll() internal method removed. ! ::HitTest() guarded with HB_COMPAT_C53. + Propely marked Get vars/methods as PROTECTED/VISIBLE. % Several minor optimizations, meaningless code elimination. ; Formatting, removed many old commented code snippets. + Added regression style tests for basic Get methods. All the above fixes was the result of comparing Get object var dumps after calling different methods in different order. ; Notice that there could be new/rare cases when any of the above methods would need more fixes, in that case the regression test is there to check if the existing behaviour stayed the same after the fix and it's also very useful to add the new cases to the test. 2007-04-19 00:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/gd/gdwrp.c * harbour/contrib/libmisc/hb_f.c * harbour/contrib/samples/dbf.c * harbour/contrib/samples/time.c * harbour/doc/es/hb_apiln.txt * harbour/include/hbapicdp.h * harbour/include/hbapilng.h * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbnubs.c * harbour/source/rdd/hsx/cftsfunc.c * harbour/source/rtl/accept.c * harbour/source/rtl/defpath.c * harbour/source/rtl/oemansi.c * harbour/source/rtl/pad.c * harbour/source/rtl/shadow.c * harbour/source/rtl/trim.c * harbour/source/vm/debug.c * changed HB_FUNCNAME( )() to HB_FUNC_EXEC( ) * harbour/utils/hbrun/Makefile * changed order of linked libraries * harbour/source/rtl/empty.c * changed EMPTY( ) - not it returns .T. when is not a function symbol * harbour/source/rtl/errorapi.c % replaced all hb_dynsym{Find,Get}*() by static variables initialized at HVM startup variables - it reduce the cost of creating and initializing error object about 50% * harbour/include/hbapifs.h * harbour/source/rtl/fssize.c * harbour/source/rtl/hbffind.c * changed to use 64bit file API + harbour/contrib/libct/ctextern.ch + added list with EXTERN requests for our CT3 function. List generated automatically from final binary CT lib created on Linux. 2007-04-18 10:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/codepage/cp_tpl.c + Added NOTE about the fact that hb_Translate() (and hb_cdpTranslate()) would only work properly if all codepages for the same language are using the exact same number of lowercase/uppercase cp chars in the exact same order. * harbour/source/codepage/Makefile * harbour/common.mak * harbour/source/codepage/cphu852.c * harbour/source/codepage/cphu852s.c * harbour/source/codepage/cphuiso.c + harbour/source/codepage/cphuisos.c * harbour/source/codepage/cphuwin.c + harbour/source/codepage/cphuwins.c ! Synced HU WIN and HU ISO codepage lower/uppercase strings with HU 852, so that hb_Translate() works properly. (this means there are now several duplicate chars included in the WIN/ISO versions, along with a non-HU char, all just needed to stay compatible with original CA-Cl*pper HU/852 index ordering and keep hb_Translate() working at the same time.) IMO, we'd need to introduce a separate "collation" string in each cp file to detach index ordering from upper/lowercase and codepage translation without any hacks, since as this example shows these two are not always in sync. (or, as an alternative we might want to make codepage translation more sophisticated, like converting first to unicode and convert back to the other codepage from unicode, but that leads a bit further.). (If I'm missing something, pls don't hesitate to clarify) + Added SixDriver compatible HU ISO/WIN codepage files for the reasons described above. * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c * harbour/source/codepage/cpbg866.c * harbour/source/codepage/cpbgiso.c * harbour/source/codepage/cpbgwin.c * harbour/source/codepage/cpcs852.c * harbour/source/codepage/cpcsiso.c * harbour/source/codepage/cpcskam.c * harbour/source/codepage/cpcswin.c * harbour/source/codepage/cpeldos.c * harbour/source/codepage/cpelwin.c * harbour/source/codepage/cpesdos.c * harbour/source/codepage/cpesmwi.c * harbour/source/codepage/cpeswin.c * harbour/source/codepage/cpfrdos.c * harbour/source/codepage/cpgedos.c * harbour/source/codepage/cpgewin.c * harbour/source/codepage/cphr1250.c * harbour/source/codepage/cphr437.c * harbour/source/codepage/cphr852.c * harbour/source/codepage/cphu852.c * harbour/source/codepage/cphu852s.c * harbour/source/codepage/cphuiso.c * harbour/source/codepage/cphuwin.c * harbour/source/codepage/cpit437.c * harbour/source/codepage/cpit850.c * harbour/source/codepage/cpitisb.c * harbour/source/codepage/cpitiso.c * harbour/source/codepage/cpltwin.c * harbour/source/codepage/cppl852.c * harbour/source/codepage/cppliso.c * harbour/source/codepage/cpplmaz.c * harbour/source/codepage/cpplwin.c * harbour/source/codepage/cppt850.c * harbour/source/codepage/cpptiso.c * harbour/source/codepage/cpru866.c * harbour/source/codepage/cprukoi.c * harbour/source/codepage/cpruwin.c * harbour/source/codepage/cpsl437.c * harbour/source/codepage/cpsl852.c * harbour/source/codepage/cpsliso.c * harbour/source/codepage/cpslwin.c * harbour/source/codepage/cpsrwin.c * harbour/source/codepage/cptrdos.c * harbour/source/codepage/cptrwin.c * harbour/source/codepage/cpua866.c * harbour/source/codepage/cpuakoi.c * harbour/source/codepage/cpuawin.c * harbour/source/codepage/uc1250.c * harbour/source/codepage/uc1251.c * harbour/source/codepage/uc1253.c * harbour/source/codepage/uc1254.c * harbour/source/codepage/uc1257.c * harbour/source/codepage/uc737.c * harbour/source/codepage/uc850.c * harbour/source/codepage/uc852.c * harbour/source/codepage/uc857.c * harbour/source/codepage/uc866.c * harbour/source/codepage/uc88591b.c * harbour/source/codepage/uc8859_1.c * harbour/source/codepage/uc8859_2.c * harbour/source/codepage/uc8859_5.c * harbour/source/codepage/uckam.c * harbour/source/codepage/uckoi8.c * harbour/source/codepage/uckoi8u.c * harbour/source/codepage/ucmaz.c ! #define namespace issue in public API header file corrected: CPID_* -> HB_CPID_* UNITB_* -> HB_UNITB_* * harbour/source/compiler/gencobj.c ! Fixed warning. 2007-04-18 09:43 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/source/compiler/gencobj.c * fixed declaration 2007-04-18 09:23 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/source/compiler/gencobj.c * added support of HB_CFG_FILE envvar which define the file name to use for -go compiler switch borrowed from xHarbour * harbour/config/w32/mingw32.cf * fixed a typo 2007-04-18 00:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/mysql/Makefile * changed library name from mysql to hbmysql * harbour/bin/hb-func.sh + added hbgd hbole hbpg hbmysql to linked library list in hb* scripts 2007-04-17 23:05 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/contrib/gd/Makefile * added install of gd.ch * harbour/contrib/gd/gd.prg * removed two unused vars * harbour/contrib/libct/ctnet.c * harbour/contrib/libct/Makefile * added ctnet.c borrowed from xHarbour * harbour/contrib/pgsql/postgres.c * fixes some warnings * harbour/contrib/tip/cgi.prg * added session name parameter * harbour/include/hbcompat.ch * added gtProcessMessages() translate 2007-04-17 20:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c ! update NetErr() in ordListAdd() If you know other then dbCreate()/dbUseArea() functions which reset NetErr() flag in Clipper then please report them. We will have to update our functions (dbSetIndex() is a wrapper to ordListAdd() so you nay not report it ;)) * harbour/source/rtl/gtstd/gtstd.c * do not stop Harbour process when controlling terminal has TOSTOP attribute set (as long as no direct out is done) * harbour/source/rtl/tclass.prg * harbour/source/rtl/terror.prg * harbour/source/rtl/tobject.prg * set valid class function * harbour/source/rtl/tmenuitm.prg * harbour/source/rtl/tpopup.prg ! I think that no one has been checking what these code does for very long time. Both MenuItem() and PopUp() on each call tries to create new _CLASSES_ called "MenuItem" and "PopUpMenu" instead of creating only new instance of these classes (new objects) Updated to use standard hbclass.ch commands. If possible try to not create classes manually and always use documented commands from hbclass.ch 2007-04-17 19:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/common/hbver.c + Added Vista and 2003 Windows versions. * Updated Cygwin/Mingw compiler names. 2007-04-17 04:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/dynsym.c * removed const from return value of hb_dynsymName() to not force updating of existing 3-rd party code 2007-04-17 04:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/itemseri.c * cleaned OW warnings 2007-04-17 04:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/dynsym.c * changed some declarations from 'char *' to 'const char *' * harbour/include/hbapicls.h * harbour/source/vm/classes.c * changed some declarations from 'char *' to 'const char *' + added hb_clsFuncName(), hb_clsFindClass(), hb_objSetClass() * harbour/source/rtl/itemseri.c ! fixed some stupid typos in previous commit * added support for serialization of object variables - I'm not sure it's good idea anyhow people ask about it so we have it. Probably we should add some special method like OnError(), f.e.: OnRestore() or sth like that and execute it after deserialization or object cloning. 2007-04-17 01:55 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) + contrib/ole2/make_b32.bat + contrib/ole2/makefile.bc * Borland makefile for HBOleAut.lib * contrib/ole2/win32ole.prg * minor fix 2007-04-17 01:32 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * contrib/ole2/win32ole.prg * contrib/ole2/w32ole.c * Some changes to get them working on Harbour 2007-04-17 01:17 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) + contrib/ole2 + contrib/ole2/win32ole.prg + contrib/ole2/w32ole.c * win32ole.prg borrowed from xharbour, source modifications by Przemek 2007-04-16 22:45 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/hbinet.c ! Warnings fixed for Darwin (gcc 4.0.1 OSX 10.4.9 PPC) * harbour/source/rtl/idle.c ! Fixed releasing idle CPU cycles. (thanks Przemek) The committed method was tested against usleep( 1 ) and usleep( 100 ) and found to work perfect as opposed to the usleep() calls. * harbour/source/rtl/tget.prg ! Adjusted my old TOFIX note. 2007-04-16 21:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompat.ch * always translate hash H*() function to HB_H*() ones even if HB_COMPAT_XHB is set. Code which uses HB_H*() functions can be linked with any Harbour builds * harbour/include/hbapi.h * harbour/source/vm/hashes.c + added hb_hashId() * harbour/source/pp/ppcore.c + added #ytranslate, #ycommand, #yuntranslate, #yuncommand case sensitive version of corresponding #x* directives * harbour/source/rtl/itemseri.c + added support for serialization arrays and/or hashes with cyclic references 2007-04-16 21:25 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/source/rtl/tget.prg * harbour/source/rtl/tgetlist.prg * fixed ::UpdateBuffer() * source/codepage/uc88591b.c * source/rtl/gtxwc/gtxwc.c * added support for Euro sign 2007-04-16 11:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c * harbour/source/compiler/ppcomp.c ! fixed file name in errors/warnings generated from PP just after including some file 2007-04-16 01:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/debugger.prg * removed some not longer necessary GTWVW extensions * harbour/source/rtl/hbgtcore.c * harbour/contrib/libct/ctwin.c + added support for GTI_{NEW,GET,SET}WIN in CTWIN Now debugger can be used with CTWIN without any problems 2007-04-16 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/bin/pack_src.sh * harbour/source/vm/Makefile - harbour/source/vm/dbgentry.c * harbour/source/debug/Makefile + harbour/source/debug/dbgentry.c * moved dbgentry.c from HVM to DEBUG library * harbour/source/rtl/hbgtcore.c + added basic version of GTI_{NEW,GET,SET}WIN * harbour/include/hbapidbg.h * harbour/source/vm/hvm.c * harbour/source/debug/debugger.prg * harbour/source/debug/dbgentry.c + added set of .prg level functions (HB_DBG_*()) to control debugger internals * eliminated HB_INLINE() calls * use to switch between user and debugger screen * cleaned debugger interface in HVM, removed unused variables added one common debug function 2007-04-15 14:57 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbver.c ! fixed typo in buffer size passed to snprintf() 2007-04-15 14:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c * harbour/source/vm/dbgentry.c * harbour/source/vm/hvm.c ! fixed GPF in debugger 2007-04-15 11:20 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com) + harbour/contrib/gd/tests/images_in/conv_test.jpeg + harbour/contrib/gd/tests/images_in/gdlogobig.png + harbour/contrib/gd/tests/images_in/theclipper.gif + uploaded in binary form 2007-04-15 11:17 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com) - harbour/contrib/gd/tests/images_in/empty.jpeg - harbour/contrib/gd/tests/images_in/conv_test.jpeg - harbour/contrib/gd/tests/images_in/gdlogobig.png - harbour/contrib/gd/tests/images_in/theclipper.gif - removed from CVS because not marked as binary I will upload them in binary form on next commit, but not empty.jpeg 2007-04-14 14:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/include/hbcompat.ch ! Added copyright and CVS header. ! Indentation fixes. 2007-04-14 13:47 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com) * harbour/include/hbcompat.ch * added xharbour compatible hash translations 2007-04-14 13:36 UTC+0200 Francesco Saverio Giudice (info/at/fsgiudice.com) * harbour/bin/bld.bat * added HB_USER_LIB var to bcc link line to make usable bldtest.bat Question: Is there a way to build from bcc adding contrib libs ? - harbour/contrib/gd/hbgd.txt + harbour/contrib/gd/doc/hbgd.txt * moved in doc dir + harbour/contrib/gd/doc/COPYING + gd copyright text (it's free for any use, but this file has to be reported) + harbour/contrib/gd/include/entities.h + harbour/contrib/gd/include/gd.h + harbour/contrib/gd/include/gd_io.h + harbour/contrib/gd/include/gdcache.h + harbour/contrib/gd/include/gdfontg.h + harbour/contrib/gd/include/gdfontl.h + harbour/contrib/gd/include/gdfontmb.h + harbour/contrib/gd/include/gdfonts.h + harbour/contrib/gd/include/gdfontt.h + harbour/contrib/gd/include/gdfx.h + harbour/contrib/gd/include/gdhelpers.h + harbour/contrib/gd/include/jisx0208.h + harbour/contrib/gd/include/wbmp.h + include files for compiling in windows environment + harbour/contrib/gd/tests/digits/57chevy.gif + harbour/contrib/gd/tests/digits/7seg.gif + harbour/contrib/gd/tests/digits/brsd.gif + harbour/contrib/gd/tests/digits/digib.gif + harbour/contrib/gd/tests/digits/fdb.gif + harbour/contrib/gd/tests/digits/jelly.gif + harbour/contrib/gd/tests/digits/odb.gif + harbour/contrib/gd/tests/digits/odw.gif + harbour/contrib/gd/tests/digits/pdg.gif + harbour/contrib/gd/tests/digits/pdw.gif + digits images for counter.prg sample + harbour/contrib/gd/gdexternal.ch + external declarations for use with linker + harbour/contrib/gd/make_b32.bat + harbour/contrib/gd/makefile.bc + harbour/contrib/gd/tests/bldtest.bat + harbour/contrib/gd/tests/bldtest.sh + make files * harbour/contrib/gd/tests/images_in/conv_test.jpeg * harbour/contrib/gd/tests/images_in/gdlogobig.png * harbour/contrib/gd/tests/images_in/theclipper.gif * updated images (I got them corrupted, probably is CVS ?) * harbour/contrib/gd/README * harbour/contrib/gd/gd.prg * harbour/contrib/gd/gdbar.prg * harbour/contrib/gd/gdbarcod.prg * harbour/contrib/gd/gdchart.prg * harbour/contrib/gd/gdimage.prg * harbour/contrib/gd/gdwrp.c * harbour/contrib/gd/tests/animgif.prg * harbour/contrib/gd/tests/antialiased.prg * harbour/contrib/gd/tests/barms.prg * harbour/contrib/gd/tests/bartest.prg * harbour/contrib/gd/tests/counter.prg * harbour/contrib/gd/tests/gdtestcls.prg * harbour/contrib/gd/tests/test_out.prg * harbour/contrib/gd/tests/testdpi.prg * harbour/contrib/gd/tests/tostring.prg * fixed hbgd files ! Please test in other environment. I have built harbour as downloaded from CVS, no HB_COMPAT_XHB defined 2007-04-14 12:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/include/hbstdgen.ch * harbour/include/box.ch * harbour/include/hbclass.ch * harbour/include/hbcommon.ch * harbour/include/hbextern.ch * harbour/include/hbgetcmt.ch * harbour/include/hbsetup.ch * harbour/include/ord.ch * harbour/source/rdd/dbdelim.prg * harbour/source/rdd/dbfuncs.prg * harbour/source/rdd/dbjoin.prg * harbour/source/rdd/dblist.prg * harbour/source/rdd/dbsort.prg * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/dbtotal.prg * harbour/source/rdd/dbupdat.prg * harbour/source/rdd/rddord.prg * harbour/source/rtl/alert.prg * harbour/source/rtl/browdb.prg * harbour/source/rtl/browdbx.prg * harbour/source/rtl/checkbox.prg * harbour/source/rtl/dircmd.prg * harbour/source/rtl/getsys.prg * harbour/source/rtl/input.prg * harbour/source/rtl/mssgline.prg * harbour/source/rtl/pushbtn.prg * harbour/source/rtl/radiobtn.prg * harbour/source/rtl/radiogrp.prg * harbour/source/rtl/setfunc.prg * harbour/source/rtl/setta.prg * harbour/source/rtl/tbcolumn.prg * harbour/source/rtl/tget.prg * harbour/source/rtl/tgetint.prg * harbour/source/rtl/tmenuitm.prg * harbour/source/rtl/tpopup.prg * harbour/source/rtl/ttopbar.prg * harbour/source/rtl/typefile.prg * harbour/source/vm/harbinit.prg * harbour/utils/hbrun/external.prg * harbour/utils/hbtest/rt_main.ch + Following #defines are now available by default without the need to #include "hbsetup.ch". These are of course also available for applications as defined at Harbour build time: HB_EXTENSION HB_C52_UNDOC HB_C52_STRICT HB_COMPAT_C53 HB_COMPAT_XPP HB_COMPAT_VO HB_COMPAT_FLAGSHIP HB_COMPAT_FOXPRO HB_COMPAT_DBASE HB_COMPAT_CLIP HB_COMPAT_XHB HB_SHORTNAMES HB_FILE_VER_STATIC * harbour/source/compiler/hbusage.c * Mail address update. 2007-04-14 11:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/debug/dbgtarr.prg ! Fixed unclosed #if construct. Question: What does HB_NO_READDBG do? * harbour/source/rtl/tget.prg ! Removed :Assign() call from :UpdateBuffer() to close the functionality to CA-Cl*pper. 2007-04-13 19:05 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/include/Makefile ! added install of hbcompat.ch * harbour/source/debug/dbgtarr.prg * harbour/source/debug/dbgtobj.prg * harbour/source/debug/dbgthsh.prg * added missed #ifndef HB_NO_READDBG 2007-04-13 18:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/valtoexp.prg + added HB_VALTOEXP() and HB_CSTR() * harbour/source/debug/dbgthsh.prg * harbour/source/debug/debugger.prg * replaced CSTR() with HB_CSTR() and SETLASTKEY() with HB_SETLASTKEY() now debugger can be used without CT and TIP libraries * harbour/include/hbgtinfo.ch * harbour/source/rtl/hbgtcore.c + added GTI_ISMULTIWIN, GTI_GETWIN, GTI_SETWIN, GTI_NEWWIN and TODO note - it's not finished yet, work in progress 2007-04-13 17:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tget.prg ! Get method UpdateBuffer() fixed to be effective only when the object has focus (as per the C52 docs and Lorenzo's report). 2007-04-13 12:18 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/debug/debugger.prg ! Fixed a few compile errors. ! Reapplied (and extended) a former fix regarding the proper handling of the filenames. * harbour/source/rtl/tbrowse.prg ; Cosmetic. 2007-04-13 11:50 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/common.mak ! updated for new files * harbour/source/debug/Makefile * harbour/source/debug/dbgbrwsr.prg * harbour/source/debug/dbghelp.prg * harbour/source/debug/dbgmenu.prg * harbour/source/debug/dbgtarr.prg * harbour/source/debug/dbgtmenu.prg * harbour/source/debug/dbgtmitm.prg * harbour/source/debug/dbgtobj.prg * harbour/source/debug/dbgtwin.prg * harbour/source/debug/dbgwa.prg * harbour/source/debug/debugger.prg + harbour/source/debug/dbgaltd.prg + harbour/source/debug/dbgthsh.prg * debugger code borrowed from xHarbour + harbour/include/hbcompat.ch * xHarbour compatibility defines 2007-04-13 11:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak ! updated for new files * harbour/contrib/libct/Makefile - harbour/contrib/libct/math.c + harbour/contrib/libct/ctmath2.c * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * renamed math.c to ctmath2.c 2007-04-13 03:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h + harbour/include/hbapidbg.h * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbdebug.ch * harbour/include/hbdefs.h * harbour/source/compiler/Makefile * harbour/source/compiler/genc.c + harbour/source/compiler/hbdbginf.c * harbour/source/compiler/hbmain.c * harbour/source/debug/debugger.prg * harbour/source/rtl/altd.prg * harbour/source/vm/Makefile + harbour/source/vm/dbgentry.c * harbour/source/vm/debug.c * harbour/source/vm/hvm.c + added xHarbour compatible low level debugger code Without some small exceptions like my hbdbginf.c most of the code created by Phil Krylov and borrowed from xHarbour with some small modifications. * harbour/source/rtl/gete.c ! fixed memory leak in GETENV() * harbour/source/compiler/hbmain.c ! fixed memory leak when -build or -credit switches were used 2007-04-12 13:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h * harbour/include/hbcomp.h * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/ppcomp.c * harbour/source/pp/ppcore.c * harbour/source/pp/pplib.c * harbour/utils/hbpp/hbpp.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpp/hbppdef.h * changed error and warning messages to const char * * harbour/source/compiler/genhrb.c * rewritten to work on memory buffers and with new compiler code * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/source/compiler/hbmain.c * harbour/source/main/harbour.c + added LANG_PORT_OBJ_BUF which allow to generate .hrb files into memory buffers * harbour/source/compiler/hbcmplib.c + added HB_COMPILEBUF() functions which returns compiled .hrb file as string item * harbour/source/vm/runner.c + added support for executing compiled .hrb files stored in string items in __HRBRUN() function - it works just like in __HRBLOAD() * harbour/harbour.spec * harbour/utils/hbrun/hbrun.prg + added default include directories to hbrun * use HB_COMPILEBUF() instead of HB_COMPILE() to eliminate temporary files 2007-04-12 11:14 UTC+0300 Chen Kedem * source/rtl/tget.prg ! Fix bug#1672233 - Picture masks for Logical GET variables. * source/lang/msgtrdos.c * source/lang/msgtrwin.c ! Change ID from TR to TR857 and TRWIN. * doc/en/lang.txt + Update language and codepage lists with the latests additions. * doc/dirstruc.txt + Add short description to the newly added directories. 2007-04-11 22:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak + added compiler.lib to linked libraries 2007-04-11 22:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc ! fixed some possible false warning messages * harbour/include/hboo.ch * harbour/source/vm/classes.c + added support for HB_OO_MSG_PROPERTY and HB_OO_MSG_CLASSPROPERTY to make some xHarbour users happy ;-) * harbour/common.mak * harbour/harbour.spec * harbour/include/hbcompdf.h * harbour/source/compiler/Makefile + harbour/source/compiler/hbcmplib.c + added HB_COMPILE() function - it accepts exactly the same parameters as harbour compiler and makes the same job :-) * harbour/utils/hbrun/Makefile * harbour/utils/hbrun/hbrun.prg + added support for compilation and direct execution of .prg files Now hbrun can accept as first parameter .hrb or .prg file and if it's .prg file it's compiled and then executed just like .hrb one. In *nixes if you copy compiled hbrun to /usr/bin directory then you can add to your .prg files as first line: #!/usr/bin/hbrun and then after setting executable attribute you can directly execute them, f.e.: ./test.prg If you are using Linux then you can also chose default gt driver by dding to above line: //gt F.e. #!/usr/bin/hbrun //gtstd 2007-04-11 15:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/contrib/libnf/mouse1.prg ! Fixed unused variable. * harbour/source/compiler/genc.c % Compact compiler output (-gc0) made even more compact (~20% size reduction). 2007-04-10 14:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + added hbregex.h * harbour/include/hbclass.ch + added support for ENDCLASS LOCK[ED] + := { } * harbour/source/debug/tbrwtext.prg * harbour/source/rtl/memoedit.prg * harbour/utils/hbdoc/ffile1.prg * harbour/utils/hbmake/ffile1.prg * changed code with: super: to ::super: I will want to remove lines with: [ ; #translate Super( ): => ::: ] ; [ ; #translate Super( ): => ::: ] ; [ ; #translate Super(): => ::: ] ; [ ; #translate Super: => ::: ] ; [ ; #translate ::Super : => ::: ] from our hbclass.ch (at least the last three ones) because they beaks code which uses SUPER identifier * harbour/source/rtl/philes.c * changed FSEEK() to use hb_fsSeekLarge() for OSes which supports large (64bit) files * harbour/source/vm/classes.c ! updated some comments about function syntax 2007-04-10 13:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/common.mak * harbour/source/codepage/Makefile * harbour/source/codepage/cphu852.c + harbour/source/codepage/cphu852s.c ! Default Hungarian 852 codepage made 100% compatible with ntxhu852.obj for CA-Cl*pper 5.x. + Added Hungarian 852 codepage 100% compatible with sixhu852.obj for S*ccessWare SIx Driver. (this was formerly used as the default Hungarian 852 codepage for Harbour, the only change now is the ID and comment cleanup.) 2007-04-10 11:20 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/contrib/gd * added new directory * harbour wrapper classes for www.libgd.org graphic library * see README and hbgd.txt for docs 2007-04-06 15:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/persist.prg * harbour/source/rtl/tbrowse.prg * harbour/source/rtl/teditor.prg % Replaced __StrT*() internal functions with native Harbour extensions hb_Token*(). % Removed workarounds for problems with the previous implementation of the __StrT*() functions. Please test TEditor (all) and TBrowse class (header/footer line splitting). 2007-04-06 14:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbtoken.c ! fixed using delimiters longer then 1 character 2007-04-06 11:36 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/lang/msgnl.c * added missing $\Date$ in version string 2007-04-06 02:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/lang/Makefile + harbour/source/lang/msgnl.c + added Dutch language module by Rene Koot * harbour/config/os2/gcc.cf * commented out -DTCPV40HDRS in CFLAGS * harbour/make_gnu.cmd * added commented by default: set C_USR=-DTCPV40HDRS %C_USR% * harbour/contrib/libnf/menu1.prg * harbour/contrib/libnf/pegs.prg * harbour/contrib/libnf/popadder.prg * harbour/contrib/libnf/savesets.prg * harbour/source/debug/dbgmenu.prg + added missing #include "common.ch" for HB_SYMBOL_UNUSED() * harbour/include/hbclass.ch * renamed __HB_SYMBOL_UNUSED() to __HB_CLS_SYMBOL_UNUSED() to keep the same name convention as for other hbclass definitions/commands * harbour/include/hbsetup.h * added commented by default #define HB_PP_MULTILINE_STRING with small description * harbour/source/rtl/net.c * added missing #include(s) for OS2 build * harbour/source/rdd/dbfcdx/dbfcdx1.c * formatting 2007-04-05 13:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/include/hbclass.ch * harbour/include/common.ch ! Using locally declared __HB_SYMBOL_UNUSED() instead of HB_SYMBOL_UNUSED() * harbour/contrib/hgf/os2pm/tform.prg ! Fixed unused symbol. 2007-04-04 15:30 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/contrib/pgsql/tpostgre.prg * removed unused vars * harbour/contrib/tip/cgi.prg * used new hb_serialize/hb_deserialize * removed unused vars * harbour/contrib/tip/ftpcln.prg * harbour/contrib/tip/httpcln.prg * harbour/contrib/tip/mail.prg * harbour/contrib/tip/popcln.prg * removed unused vars 2007-04-04 12:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog ! typos * harbour/source/vm/extend.c * formatting 2007-04-04 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/tip/Makefile - harbour/contrib/tip/atokens.c * removed HB_ATOKENS() - harbour/source/rtl/teditorl.c - removed __STRTOKEN(), __STRTKPTR() * harbour/common.mak * harbour/source/rtl/Makefile * harbour/include/hbextern.ch + harbour/source/rtl/hbtoken.c + added set of functions to manipulate string tokens: HB_TOKENCOUNT( , [ ], [ ], [ ] ) -> HB_TOKENGET( , , [ ], [ ], [ ] ) -> HB_TOKENPTR( , @, [ ], [ ], [ ] ) -> HB_ATOKENS( , [ ], [ ], [ ] ) -> All these functions use the same method of tokenization. They can accept as delimiters string longer then one character. By default they are using " " as delimiter. " " delimiter has special mening Unlike other delimiters repeted ' ' characters does not create empty tokens, f.e.: HB_ATOKENS( " 1 2 3 " ) returns array: { "1", "2", "3" } Any other delimiters are restrictly counted, f.e.: HB_ATOKENS( ",,1,,2,") returns array: { "", "", "1", "", "2", "" } + added emulation for old __STRTOKEN(), __STRTKPTR() and xHarbour's __STRTOKENCOUNT() by HB_TOKEN*() functions. They do not return exactly the same result as __STRT*() functions which in some cases ignored some delimiters and return wrong results. * harbour/source/rdd/Makefile + harbour/source/rdd/dbsql.c + added __DBSQL() function * harbour/include/hbsetup.h * harbour/source/vm/fm.c + added support for native Windows memory allocation functions It can be enabled by HB_FM_WIN32_ALLOC macro and disable C-RTL memory manager. * harbour/tests/mousetst.prg * touch screen output before MPRESENT() to work with GTXWC 2007-04-03 20:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c ! fixed OS code in error message * harbour/source/rtl/gtxwc/gtxwc.c ! fixed MCOL()/MROW() 2007-04-03 14:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbinet.c ! fixed possible process locking when undefined select() result is used 2007-04-03 14:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/arrays.c + added hb_arrayRevScan() * harbour/source/vm/arrayshb.c + added RASCAN() covered by HB_COMPAT_XHB macro 2007-04-03 13:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc ! fixed false warning about unreachable code in switch ...; case ...; exit; case ... statement * disabled some error messages about illegal pass by reference now HVM should not allow to create cyclic reference chain 2007-04-02 19:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole/oleauto.prg * removed unused local variable * harbour/source/rtl/net.c ! fixed typo in variable name 2007-04-02 19:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbregex.c + added HB_REGEXHAS() and HB_REGEXLIKE() * harbour/source/rtl/net.c * added support for parameter in NETNAME() like in xHarbour when nType == 1 NETNAME() returns user name instead of host name. 2007-04-02 16:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/htmllib/counter.prg * harbour/contrib/htmllib/htmbrows.prg * harbour/contrib/htmllib/jwindow.prg * harbour/contrib/htmllib/ocgi.prg * harbour/contrib/htmllib/oedit.prg * harbour/contrib/htmllib/ofile.prg * harbour/contrib/htmllib/ohtm.prg * harbour/contrib/htmllib/oini.prg * harbour/contrib/libnf/aading.prg * harbour/contrib/libnf/aredit.prg * harbour/contrib/libnf/clrsel.prg * harbour/contrib/libnf/dispmsg.prg * harbour/contrib/libnf/eltime.prg * harbour/contrib/libnf/floptst.prg * harbour/contrib/libnf/menu1.prg * harbour/contrib/libnf/pegs.prg * harbour/contrib/libnf/popadder.prg * harbour/contrib/libnf/savesets.prg * harbour/contrib/libnf/tbwhile.prg * harbour/contrib/libnf/xbox.prg * harbour/contrib/odbc/todbc.prg * cleaned unused variable warnings 2007-04-01 16:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tgetlist.prg ! Fixed bug #1692268. The fix simply removes two strange lines of code which tried to modify the internal TGet() var "Type", after it read the value contained in the TGet(). Since this would be the job of TGet() alone, and Type() is not an assignable var in CA-Cl*pper, it very much looks like a workaround for something (maybe a shortcoming of an earlier version of TGet()). If anyone knows what was to be achieved with that, pls shout. 2007-04-01 13:47 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/makefile.bc * harbour/makefile.vc * harbour/config/rules.cf * harbour/contrib/btree/makefile.bc * harbour/contrib/htmllib/Makefile.bc * harbour/contrib/htmllib/makefile.vc * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc * harbour/contrib/libgt/makefile.bc * harbour/contrib/libgt/makefile.vc * harbour/contrib/libmisc/makefile.bc * harbour/contrib/libmisc/makefile.vc * harbour/contrib/libnf/makefile.vc * harbour/contrib/libnf/nanfor.bc * harbour/contrib/samples/makefile.bc * harbour/contrib/samples/makefile.vc + harbour/contrib/samples/make_b32.bat + harbour/contrib/samples/make_vc.bat - harbour/contrib/samples/makevc.bat + -w default Harbour build switch changed to -w2, to further maintain code quality. ; Notice that CONTRIB might need some fixing here. + Added proper BC/VC make batch files for "samples". * harbour/include/hbclass.ch * harbour/source/debug/dbgmenu.prg * harbour/source/debug/debugger.prg * harbour/source/rtl/teditor.prg * harbour/utils/hbdoc/genchm.prg * harbour/utils/hbdoc/genhtm.prg * harbour/utils/hbdoc/genng.prg * harbour/utils/hbdoc/genos2.prg * harbour/utils/hbdoc/genpdf1.prg * harbour/utils/hbdoc/genrtf.prg * harbour/utils/hbdoc/os2.prg * harbour/utils/hbmake/hbmake.prg * harbour/utils/hbmake/radios.prg * harbour/utils/hbpptest/pretest.prg * harbour/utils/hbtest/rt_misc.prg + Added HB_SYMBOL_UNUSED() inside codeblocks. ! Removed a few uneeded codeblock parameters. + Added HB_SYMBOL_UNUSED() to some class syntax generated code to avoid unused "Self" var warnings. * harbour/ChangeLog.017 ! Typos. 2007-03-31 12:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + harbour/include/hbchksum.h * harbour/source/rtl/Makefile + harbour/source/rtl/hbadler.c + harbour/source/rtl/hbcrc.c + harbour/source/rtl/hbmd5.c + added functions to calculate different checksums HB_ADLER( [, ] ) -> HB_CRC32( [, ] ) -> HB_CRC16( [, ] ) -> HB_CRC ( [, ] [, ] ) -> HB_CRCCT( [, ] [, ] ) -> HB_MD5( ) -> HB_MD5FILE( ) -> HB_CRC() is general CRC function which can be used for any polynomial given as second argument, f.e.: 0x104C11DB7 is CRC32 polynomial, 0x18005 -> CRC16, 0x11021 -> CRC16 X.25, 0x1393 -> CRC12, 0x101 -> LCR8 HB_CRCCT() makes exactly the same job but it uses broken algorithm. Unfortunately it seems that this broken version is widely used by many other projects, f.e. HB_CRCCT() gives exactly the same results as COM_CRC() from CT3. Generated results are usually "good enough" but if you do not need compatibility with some other tools which uses broken CRC algorithm then I suggest to not use it. HB_ADLER() is ADLER32 check sum - this function gives the same results as HB_CHECKSUM in xHarbour. HB_MD5*() functions are from Dmitry V. Korzhov code modified a little bit by me for other then x86@32 machines files and buffers longer then 2^32. I also fixed possible problems with wrong results in some cases. * harbour/source/compiler/hbmain.c * increase number of optimization passes * harbour/source/pp/ppcore.c * cleaned C compiler warning 2007-03-30 18:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c + added support for multiline string concatenated by ';' f.e.: cVar := "line 1; line 2; line 3" To enable the above it's necessary to build PP with HB_PP_MULTILINE_STRING macro. It's not Clipper compatible extension and it's not enabled by default anyhow old PP worked in such way so I'm leaving the decision to Harbour community if the above should be enabled by default or not. 2007-03-30 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c % optimize PCODE generated for IIF() used as statement * harbour/include/hbpp.h * fixed typo in comment * harbour/source/pp/ppcore.c * fixed .ppo output in some string expressions inside [] * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c + added some missing DBOI_* actions * harbour/source/rtl/hbregex.c + added comment * harbour/source/vm/hashes.c * set autoadd by default when compiled with HB_COMPAT_XHB macro * harbour/source/debug/debugger.prg * harbour/source/rdd/dbstrux.prg * harbour/source/rtl/tbrowse.prg * removed unnecessary NIL in in IIF() statements * harbour/utils/hbtest/rt_misc.prg * removed unnecessary ::cValue in in IIF() statements 2007-03-23 04:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/hbgtmk.sh - removed bison and flex from dependences list 2007-03-23 04:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh + harbour/contrib/pgsql/Changelog + harbour/contrib/pgsql/Makefile + harbour/contrib/pgsql/README + harbour/contrib/pgsql/make_b32.bat + harbour/contrib/pgsql/makefile.bc + harbour/contrib/pgsql/pgrdd.prg + harbour/contrib/pgsql/postgres.c + harbour/contrib/pgsql/postgres.ch + harbour/contrib/pgsql/tpostgre.prg + harbour/contrib/pgsql/tstpgrdd.prg + harbour/contrib/pgsql/tests/Makefile + harbour/contrib/pgsql/tests/async.prg + harbour/contrib/pgsql/tests/cache.prg + harbour/contrib/pgsql/tests/dbf2pg.prg + harbour/contrib/pgsql/tests/simple.prg + harbour/contrib/pgsql/tests/stress.prg + harbour/contrib/pgsql/tests/test.prg + added Postgres SQL library - code borrowed from xHarbour * harbour/source/rtl/empty.c + added support for HASH items * harbour/source/rtl/itemseri.c + added SYMBOL items serialization 2007-03-22 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * updated for new files - please check * harbour/harbour.spec * added compiler library * harbour/bin/pack_src.sh * harbour/bin/hb-func.sh * updated for new files and libraries * harbour/config/w32/mingw32.cf * harbour/config/w32/watcom.cf * harbour/config/w32/xcc.cf * added winsock libraries * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c + added hb_cdpicmp() - not case sensitive version of hb_cdpcmp() * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + hb_itemStrICmp(), hb_itemCopyFromRef(), hb_itemMoveFromRef() * harbour/include/hbapi.h * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/include/hbmacro.h * harbour/include/hbpcode.h * harbour/include/hbvmpub.h * harbour/include/hbxvm.h * harbour/source/common/expropt1.c * harbour/source/compiler/complex.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/genhrb.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbmain.c * harbour/source/compiler/hbopt.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * harbour/source/macro/macrolex.c * harbour/source/vm/Makefile * harbour/source/vm/arrays.c * harbour/source/vm/asort.c * harbour/source/vm/classes.c * harbour/source/vm/eval.c * harbour/source/vm/garbage.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/vm/macro.c + harbour/source/vm/hashes.c + harbour/source/vm/hashfunc.c + added hash items, f.e.: local h1 := {=>}, h2 := { "a"=>1.234, "b"=>2.345 } ? h2[ "a" ], h2[ "b ] + added support for DYNAMIC function declaration - it allow to define functions which are lately bound at runtime, f.e.: /*** t01.prg ***/ dynamic func1 proc main() local h:=__hrbload("t02.hrb") ? func1() return /*** t02.prg ***/ func func1 return "Hello!!!" % use new FUNCALL structure to hold EXTERNAL and DYNAMIC functions, it reduce memory usage, FUNCALL is much smaller then FUNCTION % use symbol scope bits when possible instead of making some linear scan + added new enumarator message: __ENUMKEY - it allow to access key value when hash item is base enumerator value, f.e.: proc main() local v, h:={"a"=>1.000,"b"=>2.000,"c"=>3.000} heval( h, { |k,v,i| qout( k, v, i ) } ); ? for each v in h ? v, "=>", v:__enumKey(), v:__enumValue(), v:__enumIndex(), ; valtype(v:__enumBase()) v += 0.123 next ? ;heval( h, { |k,v,i| qout( k, v, i ) } ) return + added C level hb_hash*() functions + added support for full HASH item cloning and updated array cloning to also clone nested hashes - please note that xHarbour does not do that, in xHarbour ACLONE() clones _ONLY_ nested arrays and HCLONE() _DOES_NOT_ clone _ANY_ nested items. * harbour/include/hbextern.ch + added hash functions HB_H*() * changed INET*() functions to HB_INET*() + added hash functions H*() and socket functions INET*() when HB_COMPAT_XHB is set * harbour/include/hbtypes.h + added missing HB_EXTERN_BEGIN / HB_EXTERN_END * harbour/include/hbpp.h * harbour/source/pp/ppcore.c ! added protection against automatic word concatenation in some cases ! fixed preprocessing expressions when match marker matches ';' token * harbour/source/rtl/Makefile + harbour/source/rtl/itemseri.c + added functions for item serialization: HB_SERIALIZE() and HB_DESERIALIZE() - these function are not binary compatible with xHarbour functions with the same names but make very similar job with the exception to serialization of codeblock and object variables - Harbour does not allow to serialize codeblocks and serialize objects as arrays. In most cases these functions can replace the xHarbour ones + added HB_DESERIALBEGIN() and HB_DESERIALIZE() functions covered by HB_COMPAT_XHB macro - this functions are only for compatibility with existing xHarbour code, In Harbour HB_DESERIALBEGIN() is dummy function which returns first parameter and HB_DESERIALNEXT() is a simple wrapper to HB_DESERIALIZE() so it's not necessary to use them. * harbour/source/rtl/hbinet.c * changed INET*() functions to HB_INET*() and enable them for default build + added INET*() functions wrappers covered by HB_COMPAT_XHB macro * harbour/source/rtl/hbrandom.c + added HB_RANDOMINT() - xHarbour compatible * harbour/source/rtl/len.c + added support for HASHes * harbour/source/rtl/valtype.c + added support for HASHes + added set of HB_IS*() functions - they are a little bit faster then calling VALTYPE( v ) == - removed HB_ISBYREF() - this function cannot longer work, it was using a Clipper incompatible anomalies in passing variables by reference I fixed so it has to stop to work. If it will be realy necessary to implement HB_ISBYREF() function then please inform me - it will have to be done at compiler level or with some much deeper HVM stack checking. * harbour/source/vm/extend.c ! fixed hb_extIsArray() and hb_extIsObject() to work well with parameters passed by reference. Please note that now hb_extIsArray() return TRUE only for pure arrays not object values. * harbour/contrib/Makefile + harbour/contrib/tip/Changelog + harbour/contrib/tip/Makefile + harbour/contrib/tip/atokens.c + harbour/contrib/tip/base64x.c + harbour/contrib/tip/cgi.prg + harbour/contrib/tip/client.prg + harbour/contrib/tip/credent.prg + harbour/contrib/tip/cstr.prg + harbour/contrib/tip/encb64.prg + harbour/contrib/tip/encmthd.c + harbour/contrib/tip/encoder.prg + harbour/contrib/tip/encqp.prg + harbour/contrib/tip/encurl.prg + harbour/contrib/tip/ftpcln.prg + harbour/contrib/tip/hbhex2n.c + harbour/contrib/tip/httpcln.prg + harbour/contrib/tip/mail.prg + harbour/contrib/tip/popcln.prg + harbour/contrib/tip/smtpcln.prg + harbour/contrib/tip/tip.ch + harbour/contrib/tip/url.prg + harbour/contrib/tip/utils.c + added TIP library - code borrowed from xHarbour Please test - a lot of above code is not well tested, also some peaces were written over year ago for different things (f.e. serialization for NETRDD) and now I collected them and committed. The TIP library was not tested at all. It can be compiled but I cannot say if it works - I hope that people familiar with it can make necessary test and fixes. It's also not the final version of low level HASH item code. I'm working on more efficient structure which uses binary tries but I cannot say when I'll finish it (maybe in this weekend or maybe in next year) so I committed working version now even if I'm not happy with overall performance (BTW not worser then in xHarbour) 2007-03-14 14:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapiitm.h * harbour/source/vm/eval.c + added C function hb_execFromArray() * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/hbinet.c + added xHarbour compatible INET*() functions - code borrowed from xHarbour with some minor modifications and fixes * harbour/include/hbextern.ch + added regex functions + added INET*() functions when compiled with HB_COMPAT_XHB 2007-03-13 23:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/pplib.c ! fixed std rules initialization - now it should also use GC pointer item or __PP_STDRULES will ignore it 2007-03-13 19:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbapiitm.h * harbour/source/vm/garbage.c * harbour/source/vm/extend.c * harbour/source/vm/itemapi.c + added hb_gcFunc(), hb_parptrGC(), hb_itemGetPtrGC() hb_parptrGC() and hb_itemGetPtrGC() uses GC cleanup function address to validate if pointer item points to expected memory block type * harbour/source/common/hbhash.c * harbour/source/compiler/hbident.c * formatting and minor modifications * harbour/source/pp/pplib.c * harbour/source/pp/pplib2.c * use hb_parptrGC() to be sure that given pointer item points to PP structure + harbour/include/hbregex.h + harbour/source/rtl/hbregex.c * harbour/source/rtl/Makefile * harbour/common.mak + added support for regular expressions. Now it's enabled by default only in *nixes (POSIX regex) and BCC 5.5 (PCRE regex). Setting HB_PCRE_REGEX macro enables Perl-Compatible Regular Expressions and HB_POSIX_REGEX - POSIX regular expressions. In xHarbour regex support is enabled for all builds because PCRE source code is stored in CVS. If you will want we can make the same. + the following C functions are available: hb_regexCompile(), hb_regexGet(), hb_regexFree(), hb_regexMatch() + the following PGR functions are available: HB_REGEXCOMP(), HB_ISREGEX(), HB_ATX(), HB_REGEX(), HB_REGEXMATCH(), HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL() They are working in similar way to the ones in xHarbour with the exception to some bug fixes and form of compiled regular expression. In Harbour it's pointer item for which HB_ISREGEX() returns TRUE when in xHarbour it's binary string. * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c * enabled code to seek in index using regular expressions (DBOI_SKIPREGEX[BACK]) 2007-03-12 14:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c * emulate xHarbour HB_ENUMINDEX() inside FOR EACH loop when HB_COMPAT_XHB macro is set It's only for compatibility - I strongly suggest to use :__enumIndex() which is more flexible and allow to chose the enumerator variable not only the one from last loop * harbour/include/hbexprb.c * added comment removed from hbexpra.c * harbour/source/compiler/hbmain.c ! fixed GPF which can appear when -b option is used in line numbering inside codeblocks 2007-03-11 11:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/main/Makefile * Changed order of linked libraries for linkers with linear library symbols scanning 2007-03-09 13:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbmain.c * removed #include "hbmemory.ch" * harbour/source/main/harbour.c * added #include "hbmemory.ch" 2007-03-09 04:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/makefile.bc * harbour/makefile.vc * harbour/bin/hb-func.sh * harbour/config/global.cf * harbour/include/error.ch * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c - harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/include/hbmacro.h * harbour/source/Makefile * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/compiler/Makefile - harbour/source/compiler/exproptc.c - harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbgenerr.c + harbour/source/compiler/hbmain.c * harbour/source/compiler/hbpcode.c * harbour/source/macro/Makefile * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc - harbour/source/macro/macroc.c + harbour/source/main/Makefile + harbour/source/main/harbour.c * harbour/source/vm/macro.c * resolved name conflicts between compiler and macro compiler. Now new compiler library is created. There are some things which can be improved and cleaned yet but it's enough to create single binaries with compiler+HVM+RTLs. I updated non GNU make files but I cannot tested the modifications - please check and fix me if necessary 2007-03-05 23:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/include/hbexprb.c * harbour/source/compiler/hbgenerr.c * do not generate warnings about meaningless expression usage in code optimized by short logical expression evaluation, f.e.: proc main() (f1() .or. (f2(), .t.)) return 2007-03-05 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/os2/install.cf * workaround for command line size limitation borrowed from xHarbour 2007-03-05 04:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c ! fixed GPF when _GET_() parameter is passed in parenthesis 2007-03-04 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapifs.h * harbour/include/hbcompdf.h * harbour/include/hbpp.h * harbour/source/common/hbfsapi.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/harbour.c * harbour/source/compiler/hbusage.c * harbour/source/compiler/ppcomp.c * harbour/source/pp/ppcore.c * cleanup .ppo file creation + new compiler switch: p+ to enable preprocessor tracing when used information about applied rules is stored in .ppt file * harbour/include/hbdefs.h * harbour/source/rtl/gtos2/gtos2.c * OS2 build cleanup 2007-03-02 03:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hsx/hsx.c * harbour/source/rdd/usrrdd/usrrdd.c * harbour/source/rtl/cdpapi.c * casting 2007-03-02 00:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c * clear included file counter in hb_pp_reset() * insert space after stream comment /* */ - it's not Clipper compatible but it's necessary as long as we have automatic identifier concatenation 2007-03-01 14:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/os2/global.cf * harbour/contrib/hgf/os2pm/os2pm.c * harbour/include/hbdefs.h * harbour/include/hbgtcore.h * harbour/source/rdd/dbcmd.c * harbour/source/vm/mainpm.c * cleaned OS2 build errors and warnings reported by David Macias. Modifications not tested - OS2 users will have to make tests and reports problems. 2007-03-01 05:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fixed comments like /*/*/ 2007-03-01 01:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch * cleaned scope error message * harbour/include/hbpp.h * harbour/source/pp/ppcore.c * added hack for accepting expressions which start with ':' character as regular/list match markers 2007-02-28 08:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/pp/ppcore.c * updated lexer to recognize IF(,,) in expressions like IF() - it allow to make some grammar rules much more simple. 2007-02-27 12:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbmacro.h * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/common/hbdate.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbopt.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/rtl/abs.c * harbour/source/rtl/at.c * harbour/source/rtl/chrasc.c * harbour/source/rtl/datec.c * harbour/source/rtl/dateshb.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/gtfunc.c * harbour/source/rtl/left.c * harbour/source/rtl/len.c * harbour/source/rtl/math.c * harbour/source/rtl/minmax.c * harbour/source/rtl/mod.c * harbour/source/rtl/philes.c * harbour/source/rtl/philesx.c * harbour/source/rtl/replic.c * harbour/source/rtl/round.c * harbour/source/rtl/set.c * harbour/source/rtl/space.c * harbour/source/rtl/strcase.c * harbour/source/rtl/strpeek.c * harbour/source/rtl/transfrm.c * harbour/source/rtl/trim.c * harbour/source/rtl/type.c * harbour/source/rtl/val.c * harbour/source/rtl/word.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * added some PCODEs to cover all possible combination of ++, --, = operations in the same way and keep Clipper compatible RT errors. * added some other PCODEs to optimize some commonly used expressions/ statements * use HB_ERR_ARGS_BASEPARAMS instead of hb_paramError() * some other cleanups and minor optimizations * harbour/utils/hbtest/rt_math.prg * update expected result for MOD() - it was not Clipper compatible and it will be hard to make it compatible without introducing some Clipper's side effects 2007-02-25 19:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/expropt2.c % strip nested parenthesis in expressions like: ((())) 2007-02-25 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstdgen.ch * added #undef HB_COMPAT_XHB * harbour/source/common/hbstr.c * indenting * harbour/source/compiler/ppcomp.c * updated line numbering in #pragma dump code and error messages executed for disabled code * harbour/source/pp/ppcore.c * changed the precedence of #pragma BEGINDIUMP/ENDDUMP - now it has higher precedence then conditional compilation with #IF[DEF]/#ENDIF * added support for defined() pseudo function in #IF / #ELIF directives, f.e.: #if defined( __HARBOUR__ ) .and. !defined( HB_COMPAT_XHB ) #stdout "Harbour compiler compiled without xHarbour extensions." #endif 2007-02-22 13:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/contrib/libct/makefile.bc * harbour/contrib/libct/makefile.vc ! Synced with GNU makefile changes. 2007-02-22 08:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprop.h * harbour/source/common/expropt1.c + added hb_compExprAsNumSign() * harbour/include/hbexprc.c * optimize lValue++ and ++lValue * harbour/source/common/hbdate.c * minor optimization * harbour/source/compiler/cmdcheck.c * maximum supported warning level should be 3 not 4 * harbour/include/hbxvm.h * harbour/source/compiler/gencc.c * harbour/source/vm/hvm.c * use separate functions for equal and exactly equal operations * cleanup and some other minor optimizations * harbour/source/compiler/hbopt.c * optimize PCODEs for code like: lVar:=lVar, sVar:=sVar, mVar:=mVar, ... * harbour/include/common.ch * changed HB_SYMBOL_UNUSED( symbol ) to ( symbol := ( symbol ) ) It's a little bit simpler version and now it's also stripped by PCODE optimizer * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * eliminated some redundant rules * optimized PCODEs generated for FOR/NEXT code and removed some old hardcoded optimization for local variables - if it will be worth to optimize then such optimization will be done by expression optimizer * chaned a little bit WITHOBJECT syntax. Now WITHOBJECT somefunc(); END is not silently ignored and call to somefunc() is left. This optimization also works when there are empty line between WITHOBJECT and END * harbour/source/rdd/dbf1.c ! fixed for GPF in DBRI_RAWDATA, DBRI_RAWMEMOS (Peter Rees fix in xHarbour) 2007-02-22 03:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/tget.prg ! Fixed :Type to not return NIL right after the GetNew() call. 2007-02-21 22:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/include/common.ch + Changed HB_SYMBOL_UNUSED() to also work in codeblock. Thanks to Przemek. 2007-02-18 12:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/compiler/Makefile * harbour/source/compiler/hbfix.c + harbour/source/compiler/hbopt.c * divided hbfix.c into two separated functions: - hb_compFixFuncPCode() which only fix generated PCODE updating local parameters numbers when PARAMETERS is used - hb_compOptimizePCode() which makes PCODE optimization It allows to not execute hb_compFixFuncPCode() when PARAMETERS is not use and execute hb_compOptimizePCode() more then once in optimization process. * harbour/hbgtmk.sh * updated CVS server name * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hbident.c * changed code for generating in PCODE line numbers and module names there was serious problem with line numbers and module names in old code - in many cases line numbers were not generated at all or generated in wrong places. Also file module name was not updated when inside of function some code was included with #include For such situation now modified version of HB_P_MODULE is generated with module name only but without function name, f.e.: HB_P_MODULE "test.prg:" exactly the same form of HB_P_MODULE is used in xHarbour. Debugger code should be updated to recognize such HB_P_MODULE version Ryszard any chance that you can look at it? And what about syncing with xHarbour debugger? I can add some missing functions to compiler and HVM but I do not want to update next peace of code myself. Sorry but I do not have enough time. I'd prefer to finish some other things I'm working. If Ryszard is busy can someone else try to port xHarbour debugger to Harbour? 2007-02-14 00:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/ctwfunc.c * harbour/contrib/libct/ctwin.c * harbour/contrib/libct/ctwin.h + added CTWIN compatible ALERT - it works in differ way then the standard Clipper one. In the moment when CTWIN is activated (it's enough to call any CTWIN function like WOPEN()/WBOARD(),... or CTWINIT()) standard ALERT() is replaced by CTWIN one build in inside CTWIN GT driver. It allocates separate window for ALERT box and makes differ formatting of passed text. TODO: add support for SET KEY blocks 2007-02-13 21:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * do not pass linking parameters to GCC/G++ when is used for compilation only * harbour/contrib/rdd_ads/Makefile * set -DWIN32 for W32 compilation * harbour/contrib/rdd_ads/makefile.bc * formatting * harbour/include/hbapi.h * harbour/source/rtl/strcase.c + added hb_charUpper() and hb_charLower() * harbour/include/hbapigt.h * harbour/include/hbgtcore.h * harbour/source/rtl/gtapi.c * harbour/source/rtl/hbgtcore.c + added support for ALERT() on GT level - C functions: hb_gtAlert()/ hb_gt_Alert() To replicate some details of Clipper and CT3 behavior ALERT() cannot be implement only on upper level as .prg function * harbour/source/rtl/gtfunc.c + added .prg function HB_GTALLERT() * harbour/source/rtl/alert.prg * redirected ALERT() to HB_GTALLERT() * harbour/source/rtl/fstemp.c * use the same case conversion as in low level hb_fs*() functions to avoid possible problems with national characters * harbour/source/rtl/dates.c * harbour/source/rtl/set.c * harbour/source/rtl/strmatch.c * harbour/source/rtl/transfrm.c * use hb_charUpper() * casting 2007-02-12 16:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * do not release FLOCK() after DBAPPEND() - only RLOCKs should be removed * harbour/contrib/rdd_ads/rddads.h * set ADS_REQUIRE_VERSION when not set by user scripts 2007-02-12 10:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fix line numbering when preprocess static buffers, f.e. by __PP_PROCESS() * harbour/source/rtl/strcase.c * harbour/source/rtl/transfrm.c - removed unnecessary extern PHB_CODEPAGE hb_cdp_page; 2007-02-09 00:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/rtl/isprint.c * harbour/include/hbapi.h ! hb_printerIsReady() C level function made public again. + Added proper declaration for it. * harbour/bin/bld.bat ! Mistakenly committed change undone. 2007-02-09 00:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/common/hbstr.c ! Fixed three BCC5.5 warnings. 2007-02-08 23:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbgtinfo.ch * harbour/contrib/libct/ctwin.c * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtxwc/gtxwc.c + added support for GTI_FULLSCREEN, GTI_KBDSUPPORT, GTI_ISCTWIN * harbour/source/rtl/hbgtcore.c ! fixed line and box drawing when the coordinates are out of screen size * harbour/include/hbapi.h * harbour/include/hbcomp.h * harbour/include/hbpcode.h * harbour/include/hbstack.h * harbour/include/hbvm.h * harbour/include/hbxvm.h * harbour/source/compiler/complex.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/vm/classes.c * harbour/source/vm/estack.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c ! added protection against cyclic references in arrays * eliminated action parameter from hb_vmRequestReenter() / hb_vmRequestRestore() * moved s_lRecoverBase and s_uiActionRequest to HB_STACK structure for future MT HVM version + added internal item structure hb_struRecover - it's not real item but this structure is used to keep information about BEGIN SEQUENCE data - it reduce HB_STACK usage + added support for ALWAYS clause in BEGIN SEQUENCE The syntax is: BEGIN SEQUENCE [ RECOVER [ USING oErr ] ] [ ALWAYS ] END [ SEQUENCE ] It's guaranteed that is _ALWAYS_ executed even if inside or some new exceptions like RETURN, BREAK or QUIT will appear. Please note that when the following code is executed: BEGIN SEQUENCE ALWAYS END (without RECOVER clause) then BREAK exception inside is not recovered, is executed and then BREAK exception is passed to outer BEGIN SEQUENCE. This is the same semantic as used in TRY / [ CATCH ] / FINALLY / END Those of you who prefer to use TRY / CATCH / FINALLY / END instead of BEGIN SEQUENCE / RECOVER / ALWAYS / END can simply add to your source code: #command TRY => BEGIN SEQUENCE #command CATCH [ oErr ] => RECOVER [ USING ] and: errorBlock( {|oErr| break( oErr ) } ) Though instead of 'break( oErr )' I suggest to use some small function which will support some basic recovery/substitute operations like in default errorsys() and LockErrHandler() to not break existing code which may depends on the default behavior. If you want I can add direct support for TRY / CATCH / FINALLY / END but I'm not sure it's really necessary. Please note also that in Harbour ALWAYS code is execute even for QUIT excpetion. When is executed current exception is stored and restored when is finished. If new exception appears inside then restored exception depends on the priority in the following order: QUIT // highest priority BREAK RETURN If both exceptions have the same priority and contain additional value (error object in BREAK or return value in RETURN) then the recently set one is restored. It's similar behavior to destructor code. * harbour/source/common/hbstr.c * moved one character length string table (hb_szAscii) from hvm.c to use it also in compiler and preprocessor * harbour/source/compiler/ppcomp.c * harbour/source/pp/ppcore.c * harbour/source/pp/pplib.c * tuned error messages to be more Clipper compatible % use static strings from hb_szAscii * harbour/source/rtl/alert.prg * use hb_gtInfo( GTI_FULLSCREEN ) to detect type of GT driver ! some minor fixes TOFIX: we have to also use GTI_ISCTWIN or add window allocation to standard GT drivers to be Clipper compatible when CTWIN is used - In Clipper Tools ALERT() works in differ way then the standard one. It creates separate window box to display data, supports SETKEY(), etc. I'll think about adding some extended support for ALERT() and similar operations (f.e. separate debugger windows) to GT API so it will be also possible to overload standard alert() command by GUI message box in GTGUI and similar GT drivers. * harbour/source/rtl/binnumx.c ! fixed U2BIN() - wrong casting 2007-01-24 23:10 UTC+0200 Tomaz Zupan * harbour.spec * Aded Mandriva One distro to platforms * bin/hb-func.sh * Aded Mandriva and Mandriva One distro to platforms 2007-01-24 10:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/w32/bcc32.cf * harbour/include/hbexprb.c * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/rtl/set.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/vm/hvm.c * recent fixes from Beta1 * harbour/contrib/libct/Makefile - harbour/contrib/libct/bit1.c - harbour/contrib/libct/bit2.c - harbour/contrib/libct/bit3.c + harbour/contrib/libct/bitnum.c ! rewritten bit functions * harbour/contrib/libct/addascii.c * cleanup * harbour/contrib/odbc/Makefile * harbour/contrib/odbc/odbc.c * harbour/contrib/odbc/sql.ch - harbour/contrib/odbc/sql.h - harbour/contrib/odbc/sqlext.h - harbour/contrib/odbc/sqltypes.h * harbour/contrib/odbc/todbc.prg ! synced with xHarbour * harbour/contrib/rdd_ads/ads1.c ! fixed typo in DBI_GETHEADERSIZE * harbour/contrib/rdd_ads/adsfunc.c + added ADSDDREMOVEINDEXFILE - borrowed from xHarbour * harbour/source/rtl/alert.prg * minor cleanup * harbour/source/rtl/gtfunc.c * use HB_ERR_ARGS_BASEPARAMS in error messages * harbour/source/rtl/transfrm.c * casting 2007-01-17 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/gencc.c * harbour/source/vm/hvm.c ! fixed typo in hb_xvmGreaterEqualThenIntIs() - <= was used instead of >= ! fixed :¯o() messages used in WITH OBJECT structure and -gc3 output + added some missing optimizations in -gc3 output 2007-01-17 03:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/ctc.c * harbour/contrib/libct/files.c * harbour/contrib/libnf/ftattr.c * harbour/contrib/libnf/n2color.c * cleaned some BCC warnings * harbour/include/hbapi.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbsetup.ch * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/common/hbver.c * harbour/source/common/hbverdsp.c * harbour/source/compiler/hbcomp.c * harbour/source/vm/arrays.c * harbour/source/vm/arrayshb.c * harbour/source/vm/cmdarg.c * harbour/source/vm/hvm.c ! fixed Harbour support for accessing string characters with array index operators [] + added support for #define HB_COMPAT_XHB - it's disabled by default. When set it enables some of xHarbour features like negative array indexes calculated from tail, accessing string characters with [] operators (warning it's not compatible with default Harbour version enabled by -ks during compilation and //flags:s at runtime - in xHarbour compatibility mode "ABC"[2] returns "B" when in Harbour 66) and some other minor features. * harbour/source/compiler/cmdcheck.c * added support for optional setting C output type in -go switch Now it accepts optional digit [0123] after -go in the same way as -gc, f.e.: -go3 * harbour/source/compiler/harbour.c * call hb_compExprLstDealloc() only when errors appeared during compilation - it disable automatic freeing all allocated expressions in clean compilation. I make it intentionally for easier detecting problems one some expressions are not freed. So far the final cleanup code always deallocated expressions what can hide some real bugs. * harbour/source/vm/hvm.c ! fixed very serious bug in HVM closing. The s_uiActionRequest flag was not cleared before hb_rddShutDown() so when RDD buffers were hot and flushing required some PCODE evaluation (f.e. index KEY or FOR expression) then they were not properly evaluated. * harbour/source/vm/macro.c * minor improvement * harbour/utils/hbtest/rt_misc.prg ! fixed one of expected result, it was neither Harbour nor Clipper result (I've just made some test with Clipper), I do not know why it existed 2007-01-14 16:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/macro/macro.y * formatting * harbour/source/vm/macro.c ! fixed macrocompiler for proper compilation of string with embedded ASCII NUL byte (chr(0)), f.e.: ? &("'["+chr(0)+"]'") 2007-01-13 14:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/adsfunc.c * harbour/source/rdd/workarea.c * formatting * harbour/include/hbapi.h * harbour/source/vm/extend.c + added missing hb_storptrGC() * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c + added parameter to unicode translation function to protect control code translation * formatting * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtxwc/gtxwc.c * use new unicode translation function format. It also fixes problem with space translation in GTLSN used in UTF8 mode * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + added hb_itemCopyToRef(), hb_itemMoveToRef(), hb_itemMoveRef(), hb_itemUnRefWrite() * harbour/include/hbexprb.c ! use HB_P_DUPLUNREF instead of HB_P_DUPLICATE when assign is used in push context - Clipper compatible behavior, see: x:=10 f(y:=iif(.t.,@x,)) ? x, y func f(x) x+=100 return nil * harbour/include/hbver.h * harbour/source/common/hbver.c * changed status to "devel" * harbour/source/common/expropt2.c * disabled setting NIL when iif(.t.,,sth()) is optimized to avoid warning when iif() is used as statement - to fix number of parameters passed to function in code like f(iif(.t.,,sth())) we will need a little bit deeper modification * harbour/source/compiler/complex.c * added hack for potential problems caused by WITH OBJECT syntax, f.e. in code like: proc p(obj,x) case:=myCaseClass():new() retu:=myCaseClass():new() WITH OBJECT obj do case case x==nil case:value() case:action() retu:sth() end END case:action() retu:sth() return case:action(), case:value(), retu:sth() can means two different things and compiler cannot guess which one should use. It cannot be fixed because it's caused by bad WITH OBJECT syntax. In xHarbour constractions like case:value() or retu:sth() are always used as in WITH OBJECT context what is not Clipper compatible. I do not want to introduce such limitations. We have two choices: change WITH OBJECT syntax or add some hack to "hide" the problem a little bit. Now I intorduce ugly hack which check number of spaces between ':' so case :action() is compiled as case condition using WITH OBJECT message and case:action() as sending message to object in case variable * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc + added support for passing base value to FOR EACH by reference. * harbour/source/vm/arrays.c * use hb_itemMoveRef() in AINS()/ADEL() to avoid creation of cyclic reference chains * harbour/source/vm/debug.c * harbour/source/vm/memvars.c * use hb_itemCopyToRef() to avoid creation of cyclic reference chains * harbour/source/vm/classes.c * harbour/source/vm/hvm.c * use hb_itemMoveToRef() to avoid creation of cyclic reference chains + added support for for writable string enumerators, f.e.: proc main() local s, c s:="abcdefghijklmnopqrst" for each c in @s if c$"aeio" c:="*" endif next ? s // "*bcd*fgh*jklmn*pqrst" return 2007-01-09 16:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/include/hbver.h * updated version number to 1.1.0 2007-01-09 15:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog + harbour/ChangeLog.017 * new ChangeLog file created * harbour/doc/whatsnew.txt * harbour/harbour.spec * harbour/include/hbver.h * updated version number to 0.47.0 * tagged CVS as build47 2007-01-09 15:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/hbusage.c * update the year in hb_compPrintLogo() from 2006 to 2007 * harbour/source/vm/garbage.c ! fixed potentially very serious bug - when I added array items references I forgot to update GC. Fortunately it was caught by code to detect bugs in object destructors so only RT error was reported instead of internal HVM memory corruption * harbour/tests/hbinline.prg * updated comments 2007-01-09 10:56 UTC+0200 Chen Kedem * doc/whatsnew.txt + Add changes for the new beta build. * tests/inline_c.prg ! Add //NOTEST and a comment since this file uses old, unsupported syntax. 2007-01-08 00:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c ! fixed GPF which can appear on syntax error during compilation one of enumerator message * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * accept the folowing syntax: (@var):msg With this modification FOR EACH overloading is completed. 2007-01-07 19:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c * small modification to protect against creating long references chains which can hardly reduce the performance in some cases 2007-01-07 05:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * harbour/makefile.vc * harbour/include/hbcomp.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/compiler/Makefile * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbusage.c * harbour/source/compiler/ppcomp.c * harbour/source/macro/Makefile * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * harbour/source/vm/macro.c * harbour/source/vm/memvars.c * harbour/source/vm/memvclip.c * keep prefix definition for bison public symbols in *.y files instead of passing them as bison arguments to avoid possible mistakes during *.yy[hc] file generation ! fixed iif() reduction when used as single function parameter + add -kM compiler switch - turn off macrotext substitution * updated + optimization and other macrotext usage to keep more Clipper compatible behavior ! fixed typo in expression type checking in IIF() reduction - it was working because wrongly used macros has the same values as the valid ones - removed compiler switches and macros for old HB_INLINE() syntax - it was not supported after last months modifications. Only: HB_INLINE([params,...]) { C code } is supported. ! fixed passing parameters by reference in IIF() statement and macro compiler. The following valid Clipper code: &("myfunc(, @var1, @var2)") was not supported ! do not allow to use references or empty expressions in expression list AFAIK it's Clipper compatible. If I'm wrong then please fix me but Clipper allows to use references only as function arguments, 2-nd and 3-rd IIF() argument and as directly created array items ( {...@var...} ) DO ... WITH ... is a special case of function call. ! Changed grammar rules to accept only Clipper compatible parameters. ! fixed typo in macro name in hb_memvarNewParameter() function. * use HB_FUNC_EXEC(...) instead of HB_FUNCNAME(...)() 2007-01-05 16:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * make function call optimizations only when hb_compFunCallCheck() do not report errors * harbour/source/common/reserved.c + added VALTYPE to list of reserved words and shortcuts (Clipper compatible) * harbour/source/compiler/hbfunchk.c * checking for number of parameters in FILE() function call is Harbour extension - do not enable it when HB_C52_STRICT macro is set * harbour/source/rtl/filehb.c * formatting 2007-01-05 08:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h + added comment * harbour/include/hbexpra.c * change expression type for = from HB_EO_EQUAL to HB_EO_ASSIGN in hb_compExprGenStatement() function so later we can safely make all optimization in hb_compExprUseEqual() during reduce process - optimization only when PCODE is generated is too late and causes that expressions like: iif( 1 = 1, , ) are not reduces (Clipper reduce them) * do not execute hb_compFunCallCheck() in hb_compExprNewFunCall() to avoid repeating the same error message in hb_compExprUseFunCall() * harbour/include/hbexprb.c * enabled reduction for hb_compExprUseEqual() and generate errors when it's used as statement * harbour/source/common/expropt2.c * added some missing reductions for expressions like: NIL == NIL * harbour/source/common/reserved.c % very basic optimization: use binary search instead of linear scanning for reserved words and shortcuts - it gives noticeable speed improvement in macro compiler * harbour/source/compiler/complex.c * changed the order of special keywords to keep alphabetic sorting * harbour/source/compiler/harbour.c % some minor optimizations in aliased expressions ! added protection in hb_compIsJump() to avoid possible problems when this function is executed after replacing some code with jumps by series of NOOPs in optimizations process * harbour/source/compiler/hbfix.c * better optimization of PCODE generated for logical expressions * harbour/source/compiler/hbfunchk.c % use binary search instead of linear scan * harbour/source/rtl/minmax.c ! fixed GPF when MIN() or MAX() function is called with less then two parameters * harbour/source/vm/itemapi.c * minor optimization and formatting 2006-12-30 22:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/source/common/expropt1.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbgenerr.c * harbour/source/macro/macro.l * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * harbour/source/macro/macrolex.c * harbour/source/vm/macro.c * final grammar cleanup: removed unused and/or unnecessary grammar expressions in *.y files, fixed some differences between compiler and macrocompiler, fixed some other bugs, typos, clipper incompatibilities, etc. It's end of year, it's late and sorry but I'd like to begin making something absolutely differ then creating detail description ;-) If you will have any questions then I'll answer in new year. * harbour/source/rdd/dbffpt/Makefile * small hack for XCC compilation 2006-12-28 16:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbpcode.h * harbour/include/hbpp.h * harbour/include/hbxvm.h * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hbpcode.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * changed HB_P_MACROPUSHINDEX PCODE behavior - now it does not evaluated macro expression * eliminated HB_ET_MACRO_INDEX - HB_ET_MACRO_LIST can be used instead * accept ... in codeblocks only when codeblocks parameters are defined as variables, f.e: {|a,b,...|qout(a+b,...)} ! fixed error in a[&s]:=100 + added support for a[...] - now ... can be used in the same context as xbase++ like multivalue macro (a[&s]) * disabled ++, --, = optimizations when -kc (strict Clipper compatibility mode) compiler switch is used 2006-12-27 21:12 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * removed not longer used pFunCall from asMacro expression. This item was used only in a very old s:="1,2";f(&s) implementation. * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/common/expropt1.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * a little bit more simple implementation of passing optional arguments and simplified some code. Now they can be used in any place in argument list (also repeated). It's also possible to create arrays using "..." as array element(s), f.e.: func f(...); return { "{", ..., "}" } If you think it will be usable then I can also add support for accessing array items with optional parameters, f.e.: ? a[ ... ] so it can be used in the same context as xbase++ like macro lists but for this I will need new PCODE so I'd like to hear your opinion ASAP - I'm closing any extensions today. 2006-12-27 15:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hberrors.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/common/expropt1.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/vm/hvm.c + added support for passing optional parameters to called function, f.e.: proc p( a, b, ... ) qout( a, b, "X", ... ) * forbid creating function pointer when function is used with parameters, f.e.: x:=@f1(1,2,3) * harbour/source/compiler/complex.c * cleaned all restrictions on reserved words I've found - if I missed sth then please inform me. The previous behavior and some error messages are used with -kc compiler switch * harbour/source/rtl/symbol.prg * harbour/source/rtl/tobject.prg ! eliminated limitations in number of constructor parameters (new syntax with passing optional parameters used) 2006-12-24 16:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/include/hbexprb.c * harbour/source/common/expropt1.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbcomp.c - removed not longer used fExternal from compiler structure * allow to pass array items by reference ( func(@a[1]) ) and some cleanups in reference rules. Probably we should also block using: @func(param1 [,param2,[,...paramN]]) and accept only @func() ! fixed using statements in codeblocks used to initialize static variables and some other cleanups (f.e. allow to use as static initializers any functions which are later eliminated by expression optimizer. 2006-12-23 06:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * do not generate HB_P_FUNCPTR - it's not longer necessary + added optimization for + 1, - 1 - disabled by default because it changes error messages in hbtest, code like NIL + 1 generates 'argument error ++' instead of 'argument error +'. I'd like you will decide what you prefer - faster code or strict Clipper error messaged. * harbour/source/common/expropt2.c + added optimizations for + + added ooptimizations for + 0, 0 + , - 0 This is also sth what may interact with operators overloading in object system. When we will have strong typing then we should think about an option which will optionally disable some optimizations - someone may want to define arithmetic where + 0 gives differ then results. * harbour/include/hbcomp.h * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh + added hb_compStatmentStart() ! restrict MEMVAR and FIELD usage - now they have to be located before executable statements like in Clipper. ! generate error when PARAMETERS is used as file wide declaration. ! generate errors when different executable statements are used before first procedure - now such code was simply ignored without any errors. ! generate valid error messages when some declarations are used in wrong places ! fixed setting begin of executable statement flag in different .prg constructions. 2006-12-22 11:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/adsfunc.c * do not use hb_param( pItem, HB_IT_BYREF ) but ISBYREF() macro * harbour/include/hbdefs.h * formatting * harbour/include/hbexprb.c ! fixed code generated for logical expressions when shortcutting is enabled to be Clipper compatible * harbour/source/compiler/cmdcheck.c ! added missing break in -z compiler switch decoding * harbour/source/compiler/hbfix.c % added optimizations for code generated for logical expressions, it strips a chain of HB_P_DUPLICATE -> HB_P_JUMP[TRUFALES] -> HB_P_DUPLICATE -> HB_P_JUMP[TRUFALES] -> ... In fact it should not be done here but because we do not have any metacode level where such optimizations should be done and PCODE is generated online then it will have to be here. Maybe in the future we will add metacode. * harbour/source/rdd/dbcmd.c * make "M" alias Clipper compatible. After some thoughts I decided that in some cases it can be usable so now "M" will set WA number to 65535 like in Clipper. * harbour/source/rdd/dbf1.c * allow to open VFP DBFs with _NullFlags system command * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c ! updated field size calculation for some some extended types. * harbour/source/rdd/workarea.c * generate RT error when CREATEFIELD() method does not accept some parameters to avoid silent DBCREATE() failing. * harbour/source/vm/macro.c * removed hb_compMemvarCheck() - this function was not dooing anything - only slows the TYPE() by calling hb_dynsymFind() one or two times. + added TODO note: memvars create by TYPE() have PUBLIC scope in Clipper. Clipper also always tries to evaluate valid expressions inside TYPE even if the contain UDF. UDF only stops evaluation so: TYPE( "(val:=1) + f() + (val2:=2)" ) creates in clipper public variable VAL but not VAL2. 2006-12-19 23:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c ! added missing 'else' and cleaned BCC warnings 2006-12-19 22:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprop.h * harbour/source/common/expropt1.c + added hb_compExprParamListLen() * harbour/include/hbexpra.c * harbour/include/hbexprb.c * use hb_compExprParamListLen() * harbour/include/hbexprc.c * generate error message for syntax like: o:var()++ or o:var()+=10 only: o:var++ and o:var+=10 is supported, just like for @o:var * harbour/include/hbapi.h * harbour/source/common/hbstr.c + hb_numDecConv() used to convert double value to/from binary integer fields with fixed number of decimal places * harbour/common.mak * harbour/include/hbapicdp.h * harbour/source/codepage/Makefile + harbour/source/codepage/cptrdos.c + harbour/source/codepage/cptrwin.c * harbour/source/lang/Makefile + harbour/source/lang/msgtrdos.c + harbour/source/lang/msgtrwin.c + added Turkish CPs and MSGs created by Bicahi Esgici + harbour/source/codepage/uc1254.c + harbour/source/codepage/uc857.c + added unicode tables for Turkish CPs * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c + added support for decimal places in binary integer fields ("I") ! fixed currency field decoding ("Y") - it's integer binary value not IEEE758 double. Warning: on write the value is rounded not truncated like in VFP. 2006-12-19 00:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprc.c * added support _" prefix when macro message is used in assignment context also when -kc is used. We can block this feature for -kc but as long as is not blocked it should work in the same way for -kc and -kh 2006-12-18 19:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/w32/bcc32.cf * cleanup + harbour/config/w32/xcc.cf + added XCC support * harbour/contrib/btree/hb_btree.c * use hb_vmAtInit()/hb_vmAtExit() instead of INIT/EXIT functions defined from C code * harbour/contrib/libct/tab.c * casting * harbour/contrib/odbc/odbc.c ! removed #include - it should not be used with new C compilers I think that we should replace this library with hbodbc from xHarbour. * harbour/contrib/ole/ole2.c * updated for XCC * harbour/include/hbdefs.h * include stdint.h if available * harbour/source/compiler/complex.c ! fixed yet another stupid mistake in WITHOBJECT token * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/vm/hvm.c + added HB_P_SWAP PCODE * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h ! fixed GPF during compilation of @:var, @:&var, @o:&var + added support for @o:&var and @:var, @:&var inside WITH OBJECT statement * changed PCODE generated of ++,--,+=,-=,... Now left side expression is evaluated _ONLY_ once and when object messages are used it's guarantied that exactly the same object variable will be used. It also fixes some problems which exists in Clipper. This optimization is enabled by -kh flag (by default) and can be disabled with -kc. % optimize ald macros in ++,--,+=,-=,... operations * add automatically "_" prefix when macro message is used in assignment context, f.e.: s:="osCode" o:=errorNew() ? o:&s o:&s := 100 ? ++o:&s ? o:&s *= 5 * harbour/include/hblang.ch - removed #xtranslate - this file is included by C code and some C compiler do not like unknown directives * harbour/utils/hbtest/rt_math.prg + added test code for assign and (pre/post)(inc/dec)rementation, macro messages and WITH OBJECT * harbour/source/compiler/harbour.c * harbour/source/rdd/dbf1.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtwin/gtwin.c * casting and warning cleanup * harbour/utils/Makefile + added $(HB_UTILS) - harbour/utils/hbpp/hbpp.h + harbour/utils/hbpp/hbppdef.h * harbour/utils/hbpp/hbpp.c * harbour/utils/hbpp/hbppcomp.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpp/hbpplib.c * harbour/utils/hbpp/hbpptbl.c * harbour/utils/hbpp/pragma.c * renamed hbpp.h to hbppdef.h to avoid possible conflict with hbpp.h in include directory * casting and warning cleanup 2006-12-18 18:20 UTC+0100 Ryszard Glab * include/hbcomp.h + added extern BOOL hb_compCheckUnclosedStru( HB_COMP_DECL ) * include/hbcompdf.h + added 'int iLastLineErr' to HB_COMP structure * include/hbpp.h + added extern BOOL hb_pp_eof( PHB_PP_STATE ) * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/harbour.yyc * source/compiler/harbour.yyh * source/compiler/hbgenerr.c * fixed reporting errors in cases of unclosed delimiters or unclosed control structures IF/WHILE/FOR/etc * source/pp/ppcore.c + added hb_pp_eof() function 2006-12-18 14:19 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add a oneliner description for: source/rdd/usrrdd, source/rtl/gtgui * source/rtl/console.c * Pacify false CG error messages in one more place, with a comment. 2006-12-15 16:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbdefs.h * harbour/include/hberrors.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/common/hbstr.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/gencobj.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/rtl/console.c * harbour/source/rtl/isprint.c * harbour/source/rtl/left.c * harbour/source/rtl/right.c * harbour/source/rtl/strtran.c * harbour/source/vm/codebloc.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * general PCODE cleanup and address most of TODO/TOFIX notes in source code: ! fixed GPF traps when too long string or codeblock is generatd + added support for 16MB codeblocks and strings ! removed macrocompiler limitation for jumps range ! fixed GPF when more then 255 local variables is used and added support for 2^15 locals ! removed all strtok() functions % added optimization for all +=, -=, *=, %=, ^=, **= operations when left side of expression is variable or array item % added optimization for all +=, -=, *=, %=, ^=, **= operations when left side of expression is object method and updated ++, -- for new code. It's still disabled until we will not add support for late evaluated reference items to HVM ! fixed a[++i]++ and similar operations (a[++i]*=2, ...). Now ++i is executed only once. It's not Clipper compatible but it was in TODO note in source code. It can be disabled by -kc option * finished support to xHarbour like #pragma TEXTHIDDEN(1) ! fixed local add int optimization when PARAMETERS used after optimization changed local variable number over 255 ! fixed GPF trap when in HB_P_EQ PCODEs when executed for direct values * others ! fixed problems reported by Chen * optimized strtran(), left(), right() to not create new string copy when the same value is returned 2006-12-13 18:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/console.c * pacify false CG error messages - Chen Kedem modifications (sizeof(int) in #if replaced by hardcoded 4 for compilers which does not allow to use sizeof() in #if directives) * harbour/TODO - removed console.c cleanup note from TOFIX * harbour/include/hbcomp.h * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/source/common/expropt1.c * minor code cleanup 2006-12-12 14:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h ! fixed typo in function name, should be: hb_stackLocalVariable() not hb_stacklocalVariable() + added hb_stackId() * hide hb_stack declaration when HB_STACK_MACROS is not set * harbour/source/vm/dynlibhb.c * use hb_stackId() * harbour/source/vm/estack.c + added hb_stackId() ! fixed some condition used to check stack access - they were reporting internal errors for valid code * harbour/source/vm/hvm.c ! fixed code which executed hb_stackLocalVariable() with pointer to SHORT not int 2006-12-11 22:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/memoline.c ! added fix sent to me by Randy Portnoff - it's a little bit differ then the one Randy sent to list but this one seems to be correct. I never used this function in Clipper and made only very basic tests. I believe that Randy make better tests and this fix will not break some other constructions. 2006-12-11 14:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/hsx/hsx.c * synced with xHarbour * harbour/source/rtl/gtsln/gtsln.h * changed #if to #ifdef to avoid problems with some unofficially patched slang versions 2006-12-09 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * harbour/config/dos/bcc16.cf * harbour/config/dos/djgpp.cf * harbour/config/dos/owatcom.cf * harbour/config/dos/rsx32.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/linux/owatcom.cf * harbour/config/os2/gcc.cf * harbour/config/os2/icc.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/bcc32.cf * harbour/config/w32/gcc.cf * harbour/config/w32/mingw32.cf * harbour/config/w32/msvc.cf * harbour/config/w32/rsxnt.cf * harbour/config/w32/watcom.cf * added respecting HB_GT_DEFAULT, though it's quite possible that I'll remove it at all soon. * some other cleanup * harbour/source/compiler/complex.c ! fixed wrongly replicated from FLEX lexer condition used to DECLARE. Now they should be the same as in FLEX lexer but IMHO they are not Clipper compatible. * harbour/source/compiler/gencli.c * harbour/source/compiler/gencobj.c * harbour/source/compiler/genhrb.c * harbour/source/compiler/genjava.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/harbour.c * harbour/source/rtl/hbffind.c * harbour/source/pp/ppcore.c * harbour/source/rdd/workarea.c ! fixed sizes of some C stack buffers and strncpy() parameters * use hb_strn*() instead of strn*() in few places to be sure that 0 is always stored in destination buffer * harbour/source/rtl/gtcgi/gtcgi.c * change reported GT name from "Standard stream console" to "Raw stream console" to make it differ then GTSTD one. 2006-12-08 05:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * harbour/bin/hb-mkslib.sh * harbour/bin/postinst.sh * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * harbour/config/dos/owatcom.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/linux/owatcom.cf * harbour/config/os2/gcc.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/watcom.cf * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/include/hbapifs.h * harbour/include/hbexprc.c * harbour/include/hbsetup.h * harbour/source/common/expropt2.c * harbour/source/common/hbdate.c * harbour/source/common/hbgete.c * harbour/source/common/hbstr.c * harbour/source/common/hbver.c * harbour/source/common/hbverdsp.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/fixflex.c * harbour/source/compiler/gencobj.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbfunchk.c * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * harbour/source/pp/pplib.c * harbour/source/rdd/dbcmd.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/hsx/hsx.c * harbour/source/rtl/accept.c * harbour/source/rtl/ampm.c * harbour/source/rtl/console.c * harbour/source/rtl/defpath.c * harbour/source/rtl/errorint.c * harbour/source/rtl/filesys.c * harbour/source/rtl/fkmax.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/langapi.c * harbour/source/rtl/seconds.c * harbour/source/rtl/set.c * harbour/source/rtl/tobject.prg * harbour/source/rtl/transfrm.c * harbour/source/rtl/gtcrs/chrmap.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/gtcrs.h * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/vm/classes.c * harbour/source/vm/cmdarg.c * harbour/source/vm/debug.c * harbour/source/vm/estack.c * harbour/source/vm/fm.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * harbour/source/vm/proc.c * harbour/source/vm/runner.c * harbour/utils/hbmake/hbmlang.c * harbour/utils/hbpp/hbpp.c * harbour/utils/hbpp/hbppcomp.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpp/hbpplib.c * harbour/utils/hbpp/pragma.c * harbour/utils/hbver/hbverfix.c * general code cleanup: all strcpy() and strcat() replaced hb strn*() and hb_strn*(), sprintf() by snprintf(), etc. It fixed some possible buffer overflow but it's also possible that it will exploit some some hidden so far problems but I strongly prefer to know about them ASAP to fix them before final 1.0 release. ! fixed bug I introduce in codeblock falgs which disabled early macro evaluation in codeblocks. ! added missing protection against execution by bison destructor for used CBSTART token on syntax error. % use PP stringify logik added for FLEX support to remove all redundant spaces in stringified for early macro evaluation codeblocks and add spaces between operators if after preprocessing they were removed. Now we are supporting also some code which cannot be compiled by Clipper. % cleaned and improved the speed of printer redirecting in console code. Chen please check if CG still reports problems and if not ubdate TODO/TOFIX or inform me about them. * some cleanups in building process for different *nixes: MacOSX, SunOS, *BSD, etc. * removed not longer necessary (I hope) compiler flag to force default 'char' type as signed. Now Harbour should work with signed and unsigned char without any problems. To other developers: please remember that when you are using 'char' as 8 bytes signed integer then it's a bug. Always explicitly use: 'signed char' in such case. On some platforms it's not possible to set default type for 'char' so if you hardcode that 'char' is signed or unsigned somewhere then code will not be portable. Chen if you will find a while to also rebuild Harbour with BCC and -K switch to make some tests with CG then I'll be thankful. 2006-12-04 19:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * harbour/source/macro/macrolex.c * added support for extended string (e"...") to macro compiler and strings with embedded ASCII NUL character (chr(0)) * harbour/source/rtl/valtostr.c * added HB_STRTOEXP() function which converts string item to valid expression which can be compiled by macro compiler. String may contain any characters. * harbour/source/rtl/persist.prg * use HB_STRTOEXP() for sting conversion and 0d....... for date constants * harbour/source/rtl/readvar.prg * harbour/source/rtl/xsavescr.c * minor cleanup 2006-12-01 18:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh + added packing *.yy[ch] files * harbour/makefile.bc * harbour/makefile.vc * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/include/hbpp.h * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/compiler/Makefile * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.y * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/compiler/hbgenerr.c * harbour/source/macro/macro.y * harbour/source/macro/macro.yyc * harbour/source/pp/ppcore.c + added hb_comp prefix to grammar/lexer compiler public functions to reduce possible conflict with 3-rd party code which may use default yy prefix. ! do not use bison destructors for expressions. Internal bison logic cannot properly detect if expression was used or not in some of our grammar rules and it's possible that some expressions will not be freed and some other freed twice. ! added protection against multiple destructors execution for CBSTART and LITERAL tokens * added small garbage collector for deallocating expressions which were not freed (such situation can happen in syntax errors) % some optimizations in used structures to reduce their sizes + added protection against execution PCODE optimizations for functions which were not cleanly compiled. * harbour/source/rtl/idle.c * use const in nanosec() timeout declaration 2006-11-30 03:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcompdf.h * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * removed declaration and all references to global variable hb_comp_data it's not longer necessary after last modifications * harbour/source/compiler/harbour.yyc * synced compiler grammar parser * harbour/source/macro/macro.yyc ! regenerated macro compiler grammar parser with -p hb_macro - I forgot about this prefix before last commit 2006-11-29 23:30 UTC+0100 J. Lefebvre (jfl/at/mafact.com) * makefile.vc * make_vc.bat ! Fixed the COPY command to work on Windows-NT (/Y flag isn't supported) * Sync. with makefile.bc & make_b32.bat. 2006-11-28 16:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + added hbcompdf.h and hbstdgen.ch * harbour/source/compiler/harbour.y * harbour/source/macro/macro.y + added #define __STDC__ as workaround for __BORLANDC__ which seems to not properly understand ANSI C declarations. It should pacify some of BCC warning messages about undeclared functions * harbour/source/compiler/harbour.yyc * harbour/source/compiler/harbour.yyh * harbour/source/macro/macro.yyc * harbour/source/macro/macro.yyh * updated generated grammar parser files for above modification in parser definition files (.y) 2006-11-29 16:11 UTC+0200 Chen Kedem * makefile.bc * make_b32.bat ! Fixed the COPY command to work on Windows-NT (/Y flag isn't supported) * TODO - Remove TOFIX item with were fixed 2006-11-29 10:30 UTC+0100 J. Lefebvre (jfl/at/mafact.com) * harbour/makefile.vc * Sync. with makefile.bc for msvc compiler. 2006-11-28 21:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * harbour/config/c.cf ! fixed typo in last modification - I have bad day today. 2006-11-28 21:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * harbour/config/c.cf * changed default settings to not use bison for generation new grammar files. Now developers who will want to update our grammar definition files for compiler and macro compiler should set environment variable HB_REBUILD_PARSER=yes to force preprocessing new rules by bison and should remember to update before committing modifications in *.y file(s) corresponding *.yy[ch] files by copping the new ones generated by parser. ! fixed typo in makefile.bc - instead of $(HARBOUR_DIR)\macro.yyc should be $(MACRO_DIR)\macro.yyc 2006-11-28 19:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.y * use HB_COMP_PARAM macro in expression destructor instead of direct accessing hb_comp_data global variable to make compiler code MT safe + harbour/source/compiler/harbour.yyc + harbour/source/compiler/harbour.yyh + harbour/source/macro/macro.yyc + harbour/source/macro/macro.yyh + added generated by bison 2.3 grammar parsers for compiler and macro compiler * harbour/config/dos/global.cf * harbour/config/dos/install.cf * harbour/config/w32/global.cf * changed CP definition for COMMAND.COM so it can work as standalone command and added DIRSEP macro * harbour/config/c.cf + added support for HB_REBUILD_PARSER=no environment variable. When it's set then during build process grammars parsers will not be generated from grammar definitions files (.y) but instead the predefined ones (.yyc) used. Tested and works well in Linux and DOS * harbour/makefile.bc + added support for HB_REBUILD_PARSER=no environment variable. Not tested. It's even possible that I've just broken the BCC compilation with this modification. Please check it and fix me if necessary. 2006-11-28 05:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c ! fixed typo in last modification which caused memory leak * harbour/source/vm/codebloc.c + initialize freed codeblock structure with pointer to static PCODE which returns NIL for buggy .prg destructors. * harbour/ChangeLog ! fixed date of my last commit 2006-11-28 02:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/tests/codebl.prg * harbour/tests/langmsg.prg * harbour/utils/hbpptest/pp_test.prg * harbour/utils/hbpptest/pretest.prg * harbour/samples/pe/license.txt * removed carriage return (\r) characters * harbour/include/hbcomp.h * harbour/include/hbapi.h * harbour/include/hbcompdf.h * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/vm/macro.c * harbour/source/compiler/hbcomp.c * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.y * harbour/source/compiler/genjava.c * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbident.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/ppcomp.c * separated HB_COMP and HB_MACRO definitions and added HB_COMMON structure used when HB_COMMON_SUPPORT macro is set * hide HB_MACRO internal definitions in hbapi.h when HB_MACRO_SUPPORT is not set These modifications should help in future compiler and macro compiler integration into single binary. + added clipper compatible error message in unclosed structures In general we should cleanup rules to make error reporting more user friendly and Clipper compatible % eliminated unnecessary allocations + added int mode member to common part of HB_COMP and HB_MACRO structure. It's initialized to HB_MODE_MACRO or HB_MODE_COMPILER + add TOFIX note about memory leaks in cParamTypes and pParamClasses members of COMDECLARED structure. It's a part of unfinished strong typing code. I do not know what Ryszard plan to do with it so I'm leaving it as is. The part of strong typing which were operating on emulated HVM stack has been removed. * removed static variables from genjava.c. Also gencli.c and genobj32.c should be fixed but this will not make this code working so I haven't touched it. * changed 3-rd parameter of hb_compIdentifierNew() from BOOL to int. Now it can have the following values: HB_IDENT_STATIC, HB_IDENT_FREE, HB_IDENT_COPY. This modification will allow in the future using common for static and dynamic symbol hash table without additional source code changes. I also plan to use identifier hash table in PP the reduce number of memory allocations and speed-up preprocessing by using second level hashing for hash keys. * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * changed HB_MACRO_SUPPORT to HB_COMMON_SUPPORT to automatically detect possible conflicts between compiler and macro compiler ! removed first detected conflict which existed for long time + added hb_compExprMacroAsAlias() function to convert HB_ET_VARIABLE expression to HB_ET_ALIAS. * harbour/source/macro/macro.y ! fixed using prefix¯o-> and ¯o.sufix-> when macro cannot be substituted by compiler, f.e.: M->v := NIL x := "&v.1->fld" M->v := "v" M->v1:= "data" ? &x ! fixed memory leak in macro substituted expression compilation * harbour/source/vm/macro.c ! fixed initialization of some HB_MACRO members ! fixed value returned for type("&V->F") when alias does not exist - removed not longer used hb_comp_bShortCuts global variable 2006-11-25 20:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c ! fixed parenthesis in expression * harbour/source/pp/ppcore.c ! fixed code block tokens stringify 2006-11-25 19:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/compiler/complex.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/macro/macro.y + added support for strings with with ASCII NUL character Strings with ASCII NUL character are not stored with hash table but dynamically allocated/deallocated ! fixed compilation of strings with ASCII NUL character which can appear in escaped strings e"..." or after compiler chr(0) optimization % removed some not longer necessary memory allocations * harbour/source/vm/macro.c ! fixed GPF caused by HB_MACRO structure double freeing - removed some code which was added as workaround for the old behavior of HVM QUIT and false FM stat memory leak reports. It's not longer necessary in current HVM. * harbour/source/common/hbstr.c ! fixed final string size calculation in extended strings * harbour/source/compiler/gencli.c * cleaned BCC warning 2006-11-25 09:50 UTC+0300 Alexander Kresin * common.mak ! hbstrong.c is removed 2006-11-24 19:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * harbour/config/dos/djgpp.cf * harbour/config/dos/owatcom.cf * harbour/config/hpux/gcc.cf * harbour/config/linux/gcc.cf * harbour/config/linux/owatcom.cf * harbour/config/os2/gcc.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/bcc32.cf * harbour/config/w32/gcc.cf * harbour/config/w32/mingw32.cf * harbour/include/hbcomp.h * harbour/include/hbcompdf.h * harbour/include/hberrors.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbver.h * harbour/source/common/hbstr.c * harbour/source/common/hbver.c * harbour/source/compiler/Makefile * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/complex.c * harbour/source/compiler/gencli.c * harbour/source/compiler/genjava.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/harbour.c - harbour/source/compiler/harbour.simple - harbour/source/compiler/harbour.slx - harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y * harbour/source/compiler/hbgenerr.c - harbour/source/compiler/hbslex.c - harbour/source/compiler/hbstrong.c * harbour/source/compiler/hbusage.c - harbour/source/compiler/simplex.c * harbour/source/macro/Makefile - harbour/source/macro/macro.slx - harbour/source/macro/macroslx.c * harbour/source/pp/ppcore.c * harbour/utils/hbpp/hbppcomp.c - removed SIMPLEX references ! fixed memory leak in request _GET_ * use hb_compIdentifiersNew() in INLINE and AUTOOPEN structures members * eliminated all internal exit() calls. Now hb_compGenError() with fatal errors does not interrupt application but only sets HB_COMP_PARAM->fExit = TRUE; What should cause silent clean application close. Please keep it in mind making future modifications and do not introduce and exit() function call. + added support for \x and \ quoting in extended strings (just like in C). Warning !!!. Embedded 0 bytes are supported by PP, lexer and expression optimizer but not by bison. To make them working it will be necessary to change Literal terminal symbol holder and add length field in bison rules and also change the hash table used to hold identifiers, literals and macros to store and use real string length. If someone will try to use strings with embedded 0 now then they will be cut but nothing worser should happen. 2006-11-24 07:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.y * fixed some memory leaks which cannot be addressed by destructor because they are inside our own code which were not freeing properly passed expressions, f.e.: x:=1->f or: x:=field->(1) This should close the memory leaks problem in grammar parser. * indenting 2006-11-24 03:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/Makefile * commented out YACC_FLAGS = -p hb_comp this should not be committed, it will be used in the future. 2006-11-23 20:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbcomp.h + harbour/include/hbcompdf.h * harbour/include/hberrors.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/include/hbmacro.h * harbour/include/hbpp.h * harbour/include/hbvm.h * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c * harbour/source/compiler/Makefile * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/complex.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/gencobj.c * harbour/source/compiler/genhrb.c * harbour/source/compiler/genjava.c * harbour/source/compiler/genobj32.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.y * harbour/source/compiler/hbcomp.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbfunchk.c * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hbident.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/ppcomp.c * harbour/source/macro/macro.y * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * harbour/source/pp/pplib.c * harbour/source/vm/cmdarg.c * harbour/source/vm/estack.c * harbour/source/vm/fm.c * harbour/source/vm/macro.c * harbour/utils/hbpp/hbpp.c * harbour/utils/hbpp/hbpp.h * harbour/utils/hbpp/hbppcomp.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpp/hbpplib.c * harbour/utils/hbpp/pragma.c * changed the internal compiler API to be MT safe. All global and static non constant variables replaced by HB_COMP structure which have all compiler context settings. It's possible to allocate simultaneously many compiler contexts and compile code. Only constant/read only variables are shared. In macro compiler HB_COMP is replaced by HB_MACRO. In source code I everywhere used to macros: HB_COMP_DECL and HB_COMP_PARAM which are equivalents of old HB_MACRO_DECL and HB_MACRO_PARAM definitions. We will only have to change compiler FATAL errors support to not execute exit() for non batch systems. * make macro compiler fully MT safe * removed not longer used definitions and variables ! add direct accessing to PP line number information - it fixes missing line numbers reported recently ! added generating .ppo files when tokens are teken directly by compiler - it fixes empty .ppo file problem ! clear hb_stack internall variables after removing hb_stack to avoid possible GPF if application still works and try to access unexsiting hb_stack ! do not allocate new memory block when final FM statistic report is generated - it fixes problem with GPF when application compiled with FM statistic exits and CLIPPER envvar is set. ! fixed memory leak hb_cmdargCheck() ! added to harbour.y symbol destructors - it should fixes memory leaks in syntax errors but it uses quite new bison feature which is not fully supported yet. Unfortunately it's also not MT safe and the destructors implementation in 1.875c does not respect %parse-param. Bison documentation says that it should so I hope it will be fixed soon (or maybe even already is in the newest bison versions) before I'll add multi context compilation support. If not then I will have to add some workaround. I can pass compiler context pointer inside YYSTYPE using hack in a lexer but it will force really huge number modifications in existing bison rules so probably it will be much easier to fix bison or write a small tool to update generated parser. * other modifications - the total size of patch is nearly 1MB and detail description will have to take me few days. 2006-11-21 14:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak + added missing compiler/hbcomp.c file 2006-11-21 05:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/complex.c + harbour/source/compiler/hbcomp.c * added missing header and file in my previous commit 2006-11-21 03:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/compiler/Makefile * harbour/include/hbcomp.h * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/genc.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.slx * harbour/source/compiler/harbour.y * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hbident.c * harbour/source/compiler/ppcomp.c + harbour/source/compiler/complex.c + added new PP based compiler lexer - it's smaller, MT safe and a little bit faster then then the FLEX version. + added HB_COMP structure to hold compiler data in future MT version + added global variable HB_COMP_PTR hb_comp_data to make conversion to MT easier - now it holds only PP and lexer data. * update PP related code in compiler to be MT safe + added %pure-parser, %parse-param and %lex-param for bison to generate MT safe grammar parser. * updated FLEX to work with recent compiler modifications and pure-parser bison API * harbour/makefile.bc * harbour/makefile.vc * harbour/source/macro/Makefile * harbour/source/macro/macro.l * harbour/source/macro/macro.y * harbour/source/macro/macrolex.c * use hb_macro prefix instead of hb_comp in bison/flex parser/lexer used in macro compiler to avoid possible conflicts in the future * separated lexer data * harbour/include/hbapi.h * harbour/include/hbpp.h * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * harbour/source/pp/pplib.c * harbour/source/vm/macro.c * removed not used members from HB_MACRO structure to make it cleaner before creating common to compiler and macro compiler structure + added new token HB_PP_TOKEN_EPSILON + added void * cargo parameters passed to executed user functions + hb_pp_tokenGet(), hb_pp_tokenToString(), hb_pp_tokenBlockString() functions for new PP based compiler lexer * harbour/utils/hbpp/hbpp.c * harbour/utils/hbpp/hbpp.h * harbour/utils/hbpp/hbppcomp.c * harbour/utils/hbpp/hbppcore.c * harbour/utils/hbpp/hbpplib.c * harbour/utils/hbpp/pragma.c * updated to compile with recent compiler header file modifications PP, new lexer and most of grammar parser should be MT safe. Now we should update all compiler functions to pass pointer to HB_COMP data structure where we should all current global variables. This structure as first member should have HB_CMPCOMMON structure which will hold common to compiler and macro compiler data. Ryszard I think you are the best person to define this structure. We have new lexer which is MT safe but please note that it has to be extensively tested so I would like to ask everybody to compile as much as possible different code and check if the final programs work as expected. Working on new code I removed some limitations existing in FLEX though not all. At the beginning I tried to replicate the exact FLEX behavior but I've found that in few places it does not work as it should so I begin to encode rules in a way which remove some limitations. In fact now it's much easier to control some things. I kept the FLEX code working and made all necessary modifications so it still can be used but keeping FLEX working cost us IMHO too much. It's not possible to introduce some improvements to grammar parser. All identifiers, keyword and macros returned by new lexer are converted to upper letters, do not have to be freed by hb_xfree() and is guarantied that will be always accessible. So from grammar file we can remove all hb_compIdentifierNew( hb_strupr($1), TRUE ) what should give noticeable speed improvement but will break the FLEX code. Ryszard and other you will have to decide if we will support FLEX in the future. We can also clean the code and remove most of other redundant hb_strupr() and hb_strdup() used in many places. BTW only one terminal symbol can be returned with lower letters: DOIDENT and I make it intentionally so it's possible to use: DO prog1 WITH "sth" on case sensitive file systems so this symbol should be cloned in upper cases as function symbol but used without modification as file name. It's current behavior but I'm not sure you will want to keep it. Maybe compiler switch to always convert file names created from DO [WITH ] to lower cases will be better. Please think about it. 2006-11-20 15:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/macro/macrolex.c ! fixed bad typo in NIL, IIF, .AND., .NOT. tokens parsing 2006-11-18 15:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/source/macro/macro.y * harbour/source/macro/macrolex.c * do not allocate separate memory in macro compiler for terminal symbols which needs string representation - it fixes some set of memory leaks and increase a little bit macro compilation ! fixed accessing freed memory in: private cMacro := "cEarly", cEarly := {"Early"} @ 12,10 GET &cMacro[1] ! fixed GPF in: p:=@left() and similar expressions * harbour/source/common/expropt2.c % minor modification * harbour/source/compiler/harbour.c ! fixed HB_TRACE message 2006-11-17 22:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c ! fixed casting - it resolves problem reported by Alexander with preprocessing chr(255) from static buffer (PP used by .prg code) * harbour/source/macro/macro.y + added some comments * harbour/source/macro/Makefile * commented out compilation of FLEX based lexer for macro compiler and added compilation of new small lexer written in pure .c * harbour/common.mak * replaced macrol.obj by macrolex.obj + harbour/source/macro/macrolex.c + new small lexer written in pure .c. The code is much smaller, MT safe and more friendly for grammar parser. I think it should be also faster but I haven't made any tests yet. When we update grammar parser to not free string representation of terminal symbols then we should expect some farther speed improvement, it will also resolve some set of memory leaks like in: type("user input") and will allow to make some parts of grammar parser common to compiler and macro compiler by removing #if[n]def HB_MACRO_SUPPORT 2006-11-17 14:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbstr.c ! fixed decoding strings without trailing ASCII NUL character in hb_strRemEscSeq() * harbour/source/pp/ppcore.c + added decoding C escaped strings (e"...") to PP so they can be preprocessed like a normal strings, it's not enabled when HB_C52_STRICT macro is set 2006-11-17 13:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/common/hbstr.c * harbour/source/compiler/harbour.l * harbour/source/macro/macro.l * harbour/source/macro/macro.slx * harbour/source/compiler/harbour.slx * changed parameters in function: hb_compStrToNum() now the string size is passed explicitly so it can work with strings which does not have trailing ASCII NUL character. * harbour/source/macro/macro.y * indenting * harbour/include/hbmacro.h * harbour/source/common/hbstr.c * harbour/source/macro/macro.l * harbour/source/macro/macro.y * added two new functions for macro compiler: hb_macroLexNew() and hb_macroLexDelete() to clearly separate lexer from grammar parser. * harbour/source/compiler/harbour.l * harbour/source/common/hbstr.c * harbour/source/pp/ppcore.c * added error generation for wrong e"..." strings and fixed \" quoting * removed \q quoting * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * added small description in headers * harbour/common.mak * harbour/source/pp/Makefile * harbour/source/pp/pplib.c + harbour/source/pp/pplib2.c * harbour/include/hbextern.ch + added auto destructor for allocated PP context, it's not longer necessary to execute __PP_FREE() so this function was moved from the standard .prg API to file with backward compatible functions * changed __PREPROCESS() to __PP_PROCESS() * moved setting std rules to separate file so now if user uses PP with only his own rules we are not forcing linking static tables which are quite huge (over 100kb) To include stdandard rules in static binaries user should add to his code: REQUEST __PP_STDRULES + harbour/source/pp/pplib3.c * old PP functions for backward compatibility: __PPADDRULE(), __PREPROCESS(), __PP_FREE() Please note that using this function is not MT safe. They should work like with old PP code. Using any of this function automatically forces linking __PP_STDRULES 2006-11-15 14:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h + added void * pLex; member to HB_MACRO structure - it will be necessary for MT safe macro parser * harbour/include/set.ch * harbour/include/hbexprb.c * harbour/source/macro/macro.l * harbour/source/macro/macro.y * indenting, formatting and converting tabs to spaces * harbour/include/hbpp.h * harbour/source/compiler/ppcomp.c * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * harbour/source/pp/pplib.c * make HB_PP_TOKEN structure public for other code and changed public PP API to not force including static rules by programs which does not need them. + added basic API for using PP as lexer * divided HB_PP_TOKEN_MACRO to HB_PP_TOKEN_MACROVAR and HB_PP_TOKEN_MACROTEXT and mark [][&[.[]]]+ as HB_PP_TOKEN_MACROTEXT not pair HB_PP_TOKEN_KEYWORD and HB_PP_TOKEN_MACRO It allows easier integration PP as (macro)compiler lexer and fixes preprocessing [][&[.[]]]+ in some patterns. * harbour/utils/hbtest/Makefile + added PP library to linked library list * harbour/source/macro/macro.y + added seaport to use PP as lexer. It's disabled by default and can be enabled using by defining HB_PP_MACROLEX. It eliminates using FLEX or SIMPLEX lexer in macro compiler. Now it emulates the behavior of FLEX lexer because I wanted to minimize the modification but in fact because parsed token are freed when macro compiler finish its job then we can resolve RT memory leaks which apear during parsing wrong expressions. It will be enough to drop allocating memory for new terminal symbols and using them as is like in compiler. It will also quite nice simplify include/hbexpr*.c code and will allow to move some functions to COMMON library. I want to make also pure compiler code MT safe so I will have to add passing pointer to a structure with compiler context just like in macro compiler. It means that if we define a structure which will be common to compiler and macro compiler with local (not common) data stored in other structure for which will will keep only a pointer then we will be able to move most of include/hbexpr*.c code to common library. But I do not want to make farther modification without consultation without Ryszard. Also to make PP default lexer some farther modifications should be done in core PP code and include/hbexpr*.c files to not reduce the speed. Now using HB_PP_MACROLEX for sure will have to cause speed reduction in macro compiler. But if we make necessary modifications then we should keep at least the same speed or probably reach noticeable better results. 2006-11-14 16:35 UTC+0300 Alexander Kresin * common.mak * Reverted a change of 2006-10-04 09:02 2006-11-14 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/TODO * removed to resolved problems from TODO/TOFIX list * harbour/include/hbexprb.c * indenting and tab to spaces conversion * harbour/source/compiler/ppcomp.c ! fixed typo which cased that dump buffer was not ended with \0 character 2006-11-13 20:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbpp.h * harbour/source/pp/ppcore.c ! fixed the problem reported by Enrico in code like: IF ["] $ var Unfortuantelly this fix also breaks some valid expressions like: x := a[ f("]") ] $ "test" x := a[ f( "'" ) ] $ "test" what is also Clipper compatible anyhow I think that in the future we may want to break Clipper compatibility and allow compilation of such code. * harbour/doc/pp.txt * updated documentation for the above modification 2006-11-13 11:22 UTC+0200 Chen Kedem * TODO - Remove one TOFIX item with was fixed (PP of a long line). + Add 3 TOFIX items (these are all that I know of). + doc/pp.txt * PP description by Przemyslaw Czerpak (druzus/at/priv.onet.pl) 2006-11-13 03:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh + pass GTK paths to GCC in hb* scripts when -xbgtk switch is used * harbour/contrib/rdd_ads/rddads.h * harbour/contrib/rdd_ads/adsfunc.c * indenting and casting * harbour/source/rdd/dbfcdx/dbfcdx1.c * cleaned typos in comments + harbour/tests/speedtst.prg + added speed test * harbour/include/hbpp.h * harbour/source/pp/ppcore.c + added HB_PP_TOKEN_ISNEUTRAL() macro to make code a little bit more readable * harbour/include/std.ch + added some missing old PP commands * harbour/source/Makefile * minor modification in order of compiled libraries * harbour/source/pp/pplib.c * changed the PP interface for .prg code. Now following functions are supported: __PP_INIT( [] [, ] ) -> initialize new PP context and return pointer to it. when is empty string ("") then no default rules are used only the dynamically created #defines like __HARBOUR__, __DATE__, __TIME__, __PLATFORM__* __PP_FREE( ) free PP context. __PP_PATH( , [, ] ) add new (or replace previous) include paths. __PP_RESET( ) reset the PP context (remove all rules added by user or preprocessed code) __PP_ADDRULE( , ) preprocess and execute new preprocessor directive __PREPROCESS( , ) -> preprocess given code and return result User can create more then one PP context and then use each of them separately. Any modification in one context have no effect in other. 2006-11-12 09:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * harbour/makefile.vc * Fixed pptable.c dependencies 2006-11-10 17:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/rddads.h + added #define WIN32 when HB_OS_WIN_32 is set to not force -DWIN32 compiler switch * harbour/source/pp/ppcore.c * cleaned BCC warnings * harbour/source/rdd/dbfcdx/dbfcdx1.c ! fixed ordKeyGoto() positioning when active filter is set and no controlling order 2006-11-10 12:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-mkslib.sh + added ${L_USR} to gcc parameters * harbour/source/pp/ppgen.c ! fixed minor typo in printf() format 2006-11-10 02:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h * harbour/include/hbpp.h * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/hbusage.c * harbour/source/compiler/ppcomp.c * harbour/source/pp/ppcore.c * harbour/source/pp/ppgen.c * harbour/source/pp/pplib.c * restored support for old hb_inLine() syntax + added support for hb_inLine() to new PP. It can be enabled by -kI compiler switch. It's disabled by default. The new hb_inLine{} syntax is: [ ] hb_inLine [ ( [] ) ] { [ ] } [ ] can contain new line characters. Nested hb_inLine{} in is not supported. If you think it's important I can add it in few lines. This version does not break any valid Clipper syntax, hb_inLine is not reserved word and hb_inLine can be repeated many times in the same line. F.e. this code can be properly preprocessed and compied if you disable in compiler old hb_inLine() syntax and enable the new one by -kcI Harbour compiler switch: proc main() local hb_inLine := " (var) " ? hb_inLine{ hb_retc("inLine"); } + hb_inLine(" parameter ") { hb_retc( hb_parc( 1 ) ); } + "!" + hb_inLine + hb_inLine() { hb_retc( ":-)" ); } + ; hb_inLine() + "{}" return function hb_inLine() return " func() " So from user point of view this version have real "inline" syntax. To be clear: I'm not a fun of any C inline extensions. They works only when we use .c code as compiler backend so the code which uses them cannot be used in .hrb files and any other format we will add in the future which do not support later C code compilation. F.e it will not work in compiler integrated with HVM or with .NET Anyhow if someone finds it useful then I think that it should be properly implemented. This is the reason I added the new version. The old one I left only for backward compatibility. It breaks any code which uses hb_inLine keyword can be used only once in a line and it does not have "inline" so IMHO it should not be enabled by default. I would like to hear your opinion about default compiler switches: 1. should we disable both: hb_inLine() and hb_inLine {} 2. should we disable hb_inLine() and enable hb_inLine {} 3. should we disable hb_inLine {} and enable hb_inLine() 4. should we enable both: hb_inLine() and hb_inLine {} + harbour/tests/hbinline.prg + added test code for new hb_inLine{} syntax * harbour/tests/inline_c.prg ! replaced direct access to HB_ITEM body by API function calls 2006-11-09 22:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/include/hbstack.h * Added HB_EXPORT to hb_stackReturnItem() 2006-11-09 14:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) - harbour/utils/hbpp/hbpptable.c + harbour/utils/hbpp/hbpptbl.c * harbour/utils/hbpp/Makefile * harbour/common.mak * Renamed hbpptable.c->hbpptbl.c to follow 8.3 naming convention 2006-11-09 09:45 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * Adapted to the new Preprocessor utility ppgen.exe * Cleaned hbpp.exe dependecies due to recent changes * harbour/makefile.vc * harbour/common.mak * Cleaned hbpp.exe dependecies due to recent changes * harbour/include/hbapi.h * Added HB_EXPORT to hb_gcAlloc() * harbour/include/hbstack.h * Added HB_EXPORT to hb_stackSelfItem() * harbour/source/vm/fm.c * Added dipslaying contents of unreleased blocks at program exit, together with logging unreleased memory blocks report to fm.log file. Borrowed from xharbour. - harbour/utils/hbpp/ppcomp.c - harbour/utils/hbpp/ppcore.c - harbour/utils/hbpp/pplib.c - harbour/utils/hbpp/pptable.c + harbour/utils/hbpp/hbppcomp.c + harbour/utils/hbpp/hbppcore.c + harbour/utils/hbpp/hbpplib.c + harbour/utils/hbpp/hbpptable.c * Rename harbour/utils/hbpp/pp*.c to harbour/utils/hbpp/hbpp*.c 2006-11-08 00:39 UTC+0200 JF Lefebvre (jflefebv at mafact com) * harbour/makefile.vc * harbour/common.mak * Adapted to the new Preprocessor utility ppgen.exe Someone should rename the following files into utils/hbpp ppcomp.c -> hbppcomp.c pplib.c -> hbpplib.c ppcore.c -> hbppcore.c pptable.c -> hbpptable.c 2006-11-08 17:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c ! fixed type checking for "string" type. It should be translate to character not symbol item type. 2006-11-08 13:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c * cleaned two warnings generated by old GCC versions 2006-11-08 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh + added linker parametrs to hbcc * harbour/include/hbapi.h + added hb_retclenAdoptRaw() * harbour/include/hbapifs.h * harbour/source/common/hbfsapi.c * changed first parameters of hb_fsAddSearchPath() to const char * * harbour/include/hbclass.ch * update for new PP. I think that now we can try to create final version of our OOP rules. * harbour/include/hbdefs.h + added UCHAR and SCHAR typedefs * harbour/include/hbrddcdx.h * indenting * harbour/source/rdd/workarea.c ! fixed minor typo * harbour/source/common/hbdate.c * harbour/source/rtl/dates.c * moved hb_dateToday() and hb_dateTimeStr() from RTL to COMMON library - harbour/include/hbpp.h - harbour/source/pp/ppcomp.c - harbour/source/pp/ppcore.c - harbour/source/pp/pplib.c - harbour/source/pp/pptable.c - harbour/source/pp/pragma.c * harbour/utils/hbpp/Makefile * harbour/utils/hbpp/hbpp.c + harbour/utils/hbpp/hbpp.h + harbour/utils/hbpp/ppcomp.c + harbour/utils/hbpp/ppcore.c + harbour/utils/hbpp/pplib.c + harbour/utils/hbpp/pptable.c + harbour/utils/hbpp/pragma.c * moved all PP code to harbour/utils/hbpp It's interesting and working preprocessor and the code can be usable for some other things so I do not want to remove it. Probablly we should move it to contrib/hbpptext * harbour/include/hbcomp.h * harbour/include/hberrors.h * harbour/include/hbsetup.ch + harbour/include/hbpp.h + harbour/include/hbstdgen.ch * harbour/source/common/hbstr.c * harbour/source/compiler/Makefile * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/hbgenerr.c + harbour/source/compiler/ppcomp.c * harbour/source/pp/Makefile + harbour/source/pp/ppcore.c + harbour/source/pp/pplib.c + harbour/source/pp/ppgen.c + New PP code written from scratch. It works in similar way to Clipper PP even the error codes are replicated. The code is MT safe does not have any limitation on size of preprocessed code, line, etc. It's also Clipper compatible lexer. It means that we do not longer need FLEX or SIMPLEX which can be replaced by new PP after some small modifications. Anyhow I haven't decided to make it myself. I would like to agree with with the rest of developers. I will be very happy if such modifications will be done by someone else, Ryszard? Meanwhile I current PP join on output the line tokens and give the string line to FLEX/SIMPLEX. It does not have any sense and all FLEX/SIMPLEX limitations are still existing. Ryszard, even if we keep it then I hope you can remove at least FLEX line buffer and use the one returned from PP. Because string tokens in parsed line are converted to text which is later once again decoded to tokens by FLEX I had to introduce new string format which supports embedded string delimiters. I chose modified version of xHarbour extension with escaped strings e"" so now FLEX understand such strings and decode them like C escaped strings. It means that you can use them also in the .prg code f.e.: outstd( e"Hello\n\rWorld" ) The new PP is also noticeable faster. You should see the difference compiling long files. The build in PP rules are generated automatically by ppgen program created from source/pp/ppgen.c I had to add to GNU source/pp/Makefile these two lines: pptable.c : ppgen$(EXE_EXT) ./ppgen$(EXE_EXT) $(TOP)$(ROOT)include/hbstdgen.ch -opptable.c -q Sth like that will have to be done also in non GNU make system. Now Harbour can be compiled only using GNU make. Marek can you update non GNU make files? I would like to leave this modification to you or other developers who can test it. It was quite big modification and I do not believe that I haven't make any mistakes but I hope that in few weeks I'll fix any reported bugs and it will resolve any PP problems. TODO: * error messages create one common list of errors and warnings and keep it in common library. PP and compiler can still generate different errors with the same number. It can be confusing for the users and hard to document and add i18n translations. If possible we should also try to keep Clipper error numbers. In new PP code I added Clipper error numbers but I cannot use them until compiler code is not updated. We should aslo remove the ctype passed to error functions and hack with first character in warning messages and use only error number. The codes from 1000 to 1999 should be warnings where range 1000:1099 is activated by -w, 1100:1199 by -w1, 1200:1299 by -w2, etc. 2000:2999 are errors and 3000:3999 fatal errors. All compiler functions which generate an error should expect that error function will not stop the compiler but return and cleanly finished their job. It's necessary for MT support in compiler and making compiler part of some other programs which may still work and compile different source code. * FLEX/SIMPLEX remove them at all and add some final pass to PP to create more precise tokens for grammar parser or at least add better integration to remove some redundant code and existing limits. * hb_inLine() support - it's broken in new PP but as I can see it was never working correctly. I can add a hack to PP to support hb_inLine() but I'm not sure it's worth to do. Maybe in few days. + harbour/include/std.ch + added new std.ch. It was created without using Clipper's std.ch. It's quite possible that some rules are wrong and should be fixed so please help. Anyhow I created a set of programs based on new PP code generating all possible combinations of different commands I collected from different source code, documentation and match patterns of rules I was adding to new std.ch and then I was comparing .ppo files generated by Clipper and Harbour so I do not expect any bigger problems then some minor typos. I had to introduce some modifications in spacing as workaround for FLEX/SIMPLEX which cannot properly decode text preprocessed by Clipper after stringify. * harbour/utils/hbpptest/pretest.prg * updated for new PP It reports 16 wrong translations but some of them are valid and some others are caused by escaped string e"..." (one of hack for FLEX/SIMPLEX support) I also had to remove all spaces in comparison the results because they were not Clipper ocmpatible at all. Ryszard please look at it. 2006-11-07 21:23 UTC+0200 JF Lefebvre (jflefebv at mafact com) * harbour/include/hbclass.ch * added one rule to support inline method with local var separated from by a coma Working and into the classy compatibility block 2006-11-07 20:36 UTC+0200 JF Lefebvre (jflefebv at mafact com) * harbour/include/hbclass.ch * added one rule to support inline method with local var separated from by a coma 2006-11-03 22:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * Updated comment section about environment variables used by makefile * harbour/makefile.vc * Updated comment section about environment variables used by makefile * Cleaned compilation under Visual C++ 8.0 (VS2005 compiler), including 64 bit platforms. To properly compile under Visual C++ 8.0 you have set a new environment variable HB_VISUALC_VER to 80 before running make_vc.bat. 2006-10-07 04:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch + added validation for class data names. As additional preprocessor rule to not use * harbour/include/hboo.ch * harbour/source/rtl/tclass.prg * harbour/source/vm/classes.c + added delegate messages * harbour/include/hbstack.h * harbour/source/vm/arrays.c * harbour/source/vm/estack.c * harbour/source/vm/hvm.c * harbour/source/vm/proc.c + added startup symbol to hb_stack. It gives very good stop condition for all procedures which trace stack calls and resolves the problem with hb_stack.pBase which was never pointing to valid function/procedure symbol when no symbol was put on HVM stack. Now after hb_stackInit() the first item is allocated for "hb_stackInit()" symbol so hb_stack.pBase is always a pointer to valid function/procedure symbol. * changed the guard condition for buggy code in hb_stackPop() and similar code from: hb_stack.pPos < hb_stack.pItems to: hb_stack.pPos <= hb_stack.pBase The old condition was generating usable error message only in the startup function. In deeply called functions it was only waste of CPU time on one of the most often call functions. Before it was activated internal stack structures were corrupted. If we were leaving for many years without really working stack underflow protection then maybe we should think about disabling it at when HB_STACK_MACROS are used and keep it only in real stack functions for HVM developers. Single protection in hb_stackOldFrame() I've just added is enough for basic C code validation. I created the second version of stack macros without it in hbstack.h but I would like to hear other developers opinion. 2006-10-05 01:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprc.c * Temporary disabled optimization with references to object variables until we will not have extended reference items in our HVM. It can be enabled by compiling with HB_USE_OBJMSG_REF * harbour/include/hbclass.h * restored previous CLASSDATA behavior which ignores SHARED clause and always create shared class variables 2006-10-04 15:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprc.c * translate HB_P_INC / HB_P_DEC in (pre|post)(inc|dec)rementation to HB_P_[PLUS|MINUS]EQ * harbour/source/vm/hvm.c - removed not necessary now hb_itemUnRef() in hb_vmInc()/hb_vmDec() 2006-10-04 09:02 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * common.mak main.c has to be used instead of mainstd.c or mainwin.c as main.c select the right entry point function based on the used defines 2006-10-04 02:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch * most of the rules rewritten ! fixed some wrong rules and general cleanup + added additional code validation ! fixed compilation of more then one class in single file. Now it's even possible to declare all classes at beginning of single file and then implementing their methods in any order ! fixed using static classes and classes ! fixed compilation without _ prefix in method names + added support for HB_CLS_NO_DECORATION macro which disable adding _ prefix to method names - this macro is set by default when HB_SHORTNAMES is set. + added support for declared parameters validation - it can be disabled with HB_CLS_NO_PARAMS_ERR and I had to disable it by default due to problems with our preprocessor. Ryszard seems that our PP has serious problems with decoding directives when there is no space between symbol and some other non symbol character. I had to add some workarounds and even introduce buggy rules to make it working. Please look at it. You can remove #define HB_CLS_NO_PARAMS_ERR from hbclass.ch and try to rebuild Harbour core code to see the problem. * harbour/include/hboo.ch * harbour/source/vm/classes.c + added support for new primitive message: HB_OO_MSG_PERFORM * harbour/source/rtl/tclass.prg - removed parameter from HBClass messages and internals data. Persistent is supported as scope bit and separate variable was redundant. - removed stripping of () from message names. Here is not a place to fix wrong preprocessor rules. * harbour/utils/hbtest/rt_class.prg * use: METHOD PROCEDURE ... CALSS ... instead of: PROCEDURE ... CALSS ... The first version is preferable syntax. * harbour/source/debug/dbgtmenu.prg * harbour/source/rtl/checkbox.prg ! fixed some parameters in method declaration - global cleanup will have to wait for preprocessor fixes Hi all, Please make test with current hbclass.ch code. I hope that I haven't broken too much things ;-) but I rewrite from scratch most rules and it's possible that I missed sth or made some stupid typos. Current version is much shorter and should be easier to updated. For sure I've intentionally changed one thing. CLASSDATA was ignoring SHARED attribute and always created shared class variables. Seems that it was long existing typo but the fix may interact with already existing code which needs SHARED class variables but does not use SHARED clause in CLASSDATA declaration. In such case please update it and add missing SHARED. Also in the end of CLASS declaration we have: [ ; #translate Super( ): => ::: ] ; [ ; #translate Super( ): => ::: ] ; [ ; #translate Super(): => ::: ] ; [ ; #translate Super: => ::: ] ; [ ; #translate ::Super : => ::: ] These rules introduce very serious bug - they are breaking supercasting in code which makes sth like: ::super:super:super:msg or in any other code which sends SUPER message to some other class objects. I will have to remove them. At least the last three ones. There were some other things I wanted to write about but it's too late and I'm to tired - sorry. If you will have any question please ask. if you will notice some problems with current rules please inform me. 2006-09-29 22:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c * allow to access object variables using assign messages without parameter. I do not want to add symmetric behavior for access messages though it's technically possible but such things should be controlled by programmer because access messages can have less restricted scoping then assign ones (READONLY) so I'll add new rule for it in hbclass.ch * harbour/source/vm/hvm.c * fixed warning message when object variable reference is generated using macro compiler without '_' as prefix. 2006-09-29 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * synced with Brian fixes in xHarbour * harbour/source/rdd/workarea.c * minor modification * harbour/source/rdd/dbfcdx/dbfcdx1.c * minor Clipper compatibility update 2006-09-29 11:20 UTC+0100 Ryszard Glab * tests/Makefile + added omacro.prg and varparam.prg * ChangeLog * fixed date in previous commit 2006-09-29 11:10 UTC+0100 Ryszard Glab * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * source/common/expropt1.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/compiler/harbour.c * source/compiler/harbour.y * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * source/vm/hvm.c + added support for passing methods as macro eg: o:&send() o:&send.end() o:&(expr)() o:&var++ o:&var := 0 o:&(expr)++ WITH OBJECT obj ++:&var :&var += :&(var2+"oo") END + tests/omacro.prg + sample file to test the new syntax NOTICE: For simple assigments (=,:=), compound assignments (+=,-=,*=,/=) and for pre/post increment operators( ++,--) the macro should evaluate to a symbol that starts with underscore '_'. To access a variable the macro should evaluate to a symbol with no '_' char. 2006-09-28 23:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/common.ch - removed ISSYMBOL() * harbour/source/rtl/tclass.prg * use valtype() instead of IS*() * some minor modifications * harbour/source/vm/hvm.c * minor modification 2006-09-28 14:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch * updated some not enabled by default rules to use function pointers instead of function names which I forgot to update in previous commit 2006-09-28 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/common.ch + added ISSYMBOL() * harbour/include/hbextern.ch - removed __CLS_PARAM() * harbour/include/hbclass.ch * harbour/source/rtl/tclass.prg * harbour/source/vm/classes.c * replaced __CLS_PAR00() and __CLS_PARAM() functions by preprocessor rules. These functions are not longer necessary though I left them in classes.c for backward binary compatibility. Probably they will be removed in the future. ! use function pointers (@()) instead of function names with REQUEST for super classes ID. It fixes using STATIC class functions. 2006-09-28 00:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_rpm.sh * check for rpmbuild also when BUGGY_RPM is set * harbour/make_tgz.sh * removed rebuild hbpptest with shared libraries * harbour/include/hbapicls.h + added definitions for hb_clsCreate(), hb_clsAdd(), hb_clsAssociate() * harbour/include/hbapierr.h * harbour/source/rtl/errorapi.c + added hb_errFuncName - pseudo function name which can be used as operation description in new error object. It should help to simplify some code and fix function names when RT error is generated from C function which can be executed from different .prg functions. * harbour/include/hbclass.ch + added some missing Classy(y) compatible object variable type descriptions: Int, Integer, Block * harbour/source/rdd/dbfcdx/dbfcdx1.c ! disabled early retrieving from the cache key position and key count * harbour/include/hbvm.h * harbour/source/vm/hvm.c + added: void hb_vmPushEvalSym( void ) for the code which do not want to access any [P]HB_SYMB structures * changed symbol name in hb_symEval from __EVAL to EVAL and modified hb_symEval registration method to not register hb_vmDoBlock as global function. Having PHB_DYNS address for "EVAL" in hb_symEval.pDynSym allows to eliminate some strcmp() when we are looking for EVAL public symbol. ! fixed symbol table updating in PCODE functions for future multi module .hrb files * harbour/source/vm/proc.c * use hb_symEval.pDynSym instead of strcmp() * harbour/source/vm/arrays.c * harbour/source/vm/debug.c * minor code cleanup * harbour/source/rtl/tclass.prg * harbour/source/vm/classes.c % separate message hash table from methods table - it will cause farther reduction of allocated memory - many thanks to all people who send me statistics about number of used classes and symbols from their code. % use hb_symEval.pDynSym + added support for object variable type scope checking like in Class(y). ! fixed typo in pushing object class variables by reference % s_pClasses is now indexed directly by class handle % some other optimiztions ! make hidden and non virtual invisible in child classes if it overloaded some other non hidden method. In such case the overloaded method is used and can be accessed. ! make friend functions real method class oriented not (super)object for hidden messages 2006-09-26 17:00 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * source/compiler/harbour.y *added support for passing the reference to object's variable e.g. foo( @obj:var ) 2006-09-24 21:10 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c * Restored hb_CdpList(), deleted accidentally while last commit. 2006-09-23 19:58 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c ! Bugs fixed in hb_cdpcmp() 2006-09-23 14:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/itemapi.c * minor modification in function order to group together the ones which can operate on reference counters + added additional stop condition in hb_itemUnRef() - we will have to make some modifications for the code which execute hb_itemUnRef() to resolve some possible conflicts with operators overloading and compiler optimizations * harbour/source/vm/classes.c * do not inherit friends - seems that our classes code was too friendly ;-) It also effectively resolves logical problem with accessing overloaded non virtual methods from friends. + added __clsLock( ) - it locks any farther class modifications and can be used if programmer wants to be sure that no one will try to hack his class definition. It's very important when programmers work in a team on bigger project. Please do not add to CVS any __clsUnLock() functions - if someone needs it then he can create his own custom HVM build. * code cleanup * harbour/source/vm/eval.c + added hb_execFromArray() - idea and syntax borrowed from xHarbour's HB_ExecFromArray() by Giancarlo Niccolai though it's independent implementation. Now when we have support for functions with variable number of parameters then we need sth like this function to fully benefit from new feature. The following syntax is supported: hb_execFromArray( [, ] ) hb_execFromArray( @() [, ] ) hb_execFromArray( [, ] ) hb_execFromArray( , [, ] ) hb_execFromArray( , @() [, ] ) or: hb_execFromArray( ) where is in one of the following format: { [, ] } { @() [, ] } { [, ] } { , [, ] } { , @() [, ] } * harbour/source/rtl/symbol.prg * removed C code inside #pragma BEGINDUMP/ENDDUMP now it's only .prg code which uses variable parameters function and hb_execFromArray() 2006-09-22 23:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch * harbour/include/hbvm.h * harbour/source/rtl/tclass.prg * harbour/source/vm/classes.c * harbour/source/vm/hvm.c ! fixed bug in real codeblock scoping which was exploited by dictionary resizing * changed ACCESS messages to ASSIGN ones when object item reference is created for proper READONLY scope checking. The reference to object variable can be created only when caller has sufficient ASSIGN privileges. + added FRIEND CLASS and FRIEND FUNCTION support. It's enough to add class definition: FRIEND CLASS [, ] and/or: FRIEND FUNCTION [, ] and all methods of given class or given function will be able to access private variables. Warning!!! Friends cannot access overloaded non virtual methods. This feature is available _ONLY_ for real class members. + added MODULE FRIENDLY to class definition. It causes that all other functions and classes defined in the same .prg module will have friend privileges. In such way works xHarbour and there is now way to disable this "feature" what is IMHO bug. In Harbour programmer has to explicitly enable it (until he will not change / add new preprocessor rule and set it as default ;-)). Syntax: CREATE CLASS .... MODULE FRIENDLY ... END CLASS * harbour/source/vm/proc.c * harbour/source/vm/runner.c * updated function symbols processing * harbour/source/compiler/harbour.c * added note in hb_compOptimizeFrames() about exceeding maximum number of local variables (255). We should add new pcode(s) HB_P_LARGE[V]FRAME or generate compile time error. * harbour/source/vm/macro.c % minor optimizations 2006-09-21 12:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/itemapi.c % minor optimization in hb_itemParam() ! fixed enumerator variable clearing in hb_itemCopy() 2006-09-21 09:52 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/common/expropt2.c ! Fixed leak introduced in previous commit. 2006-09-20 23:17 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/common/expropt2.c % Compile-time optimization added for expressions below: SToD(""), SToD(), HB_SToD(), HB_SToD(""), HB_SToD() ! Tabs converted to spaces. * harbour/source/common/hbdate.c * harbour/source/rtl/dates.c * Copyright cosmetic cleanup. 2006-09-20 21:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/codebloc.c ! fixed detaching locals in variable parameters functions 2006-09-20 20:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c ! fixed casting for C++ compilation * harbour/source/compiler/harbour.c ! fixed removing locals frame - bSkipFrame was not initialized * harbour/include/hbapi.h * harbour/source/vm/estack.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/vm/proc.c * moved current line number information from hb_struSymbol to current stack state to keep 16 bytes size for HB_ITEM on 32bit systems with 4 bytes alignment 2006-09-20 18:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * synced with recent xHarbour fixes * harbour/include/hbdefs.h * indenting * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/source/common/expropt2.c + added compile time optimization for STOD(cConstDateString) covered by -kh compiler extension (default) It allows to keep the same source code for Clipper and Harbour and benefits from data constants without using 0dYYYYMMDD values * harbour/source/vm/classes.c * restored the original 3-rd parameter in hb_clsAdd to void(void) - PHB_FUNC - and added translation for PHB_SYMB to not force using [P]HB_SYMB in 3-rd party code * harbour/source/vm/estack.c * added protection against possible GPF after executing hb_stackBaseProcOffset() when first item on the stack was not HB_IT_SYMBOL - it can happen in some seldom cases. Probably some more general solution like leaving first dummy item on HVM stack for breaking stack scan loops will be better. I'll think about it. * harbour/source/vm/itemapi.c ! fixed clearing enumerators 2006-09-20 14:15 UTC+0100 Ryszard Glab * include/hbpcode.h + added new pcode HB_P_VFRAME * include/hbapi.h + added USHORT paramdeclcnt to asSymbol structure * include/hbstack.h * source/vm/estack.c + added hb_stackLocalVariable() to acces local variables * source/compiler/genc.c * source/compiler/gencc.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbdead.c * source/compiler/hbfix.c * source/compiler/hblbl.c * source/compiler/hbpcode.c * source/compiler/hbstripl.c * source/vm/hvm.c + added support for variable number of parameters in functions/procedures + tests/varparam.prg * example usage of new syntax for variable number of parameters * source/vm/arrayshb.c * changed HB_APARAMS() to use current stack frame if no arguments are passed ( HB_APARAMS() == HB_APARAMS(0) ) SYNTAX for variable number of parameters 1) [FUNCTION|PROCEDURE] name( ... ) or 2) [FUNCTION|PROCEDURE] name( var1, var2, varN, ... ) To access passed parameters use the following: PCOUNT() - returns number of passed parameters HB_PVALUE( iParamNum ) - returns parameter HB_APARAMS() - returns array with all passed parameters or usual name of parameter variable in case of syntax 2) 2006-09-19 18:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprb.c * harbour/source/vm/hvm.c + added support to compiler for sending messages with multi parameters resolved by macro operator: s:="1,2,3"; o:msg(&s) It works just like for functions and it also needs XBASE extension support enabled during compilation, -kx switch in compiler, it's enabled by default. * harbour/source/rdd/usrrdd/usrrdd.c ! added missing DBOI_* index in parameters passed to user ORDINFO() method. 2006-09-19 11:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbapicls.h * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/vm/arrays.c * harbour/source/vm/classes.c * harbour/source/vm/codebloc.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c + added three new PCODEs: HB_P_MACROSEND - to use for: s:=1,2,3"; o:=send(&s) HB_P_PUSHOVARREF - to create references to object variables: @o:var HB_P_ARRAYPUSHREF - to create references to array items, it can be used in some optimization, f.e.: a[ ] += or directly by: func( @a[ ] ) if we add passing array elements by reference Implemented in HVM and PCODE generation, the compiler has to be modified yet to use them. * changed last parameter in hb_codeblockGetRef() - I'd like to have all variables in hb_struRefer structure in one place: hb_itemUnRefOnce() for easier modifications in the future. * replaced in hb_struRefer 'itemsbase' with 'array'. + added hb_arrayGetItemRef() to create references to array elements. Such reference updates array reference counters. * changed STATICs passed by reference to use new array item references. ! block destructor execution after classy releasing on HVM exit 2006-09-18 03:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbclass.ch + added MESSAGE ... INLINE ... rule * harbour/tests/clsccast.prg * harbour/tests/clsicast.prg * harbour/tests/clsnv.prg * harbour/tests/clsscast.prg * harbour/tests/clsscope.prg - removed some unnecessary definitions 2006-09-18 02:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c + added hb_clsRealMethodName() function which I'm using in some test code * harbour/tests/clsscast.prg * updated to use __CLS_CNTSHRDATA() instead of __CLS_CNTCLSDATA() * harbour/utils/hbtest/rt_class.prg + added tests for class and shared class variables/allocating 2006-09-17 18:52 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/tests/testrpt.prg ! Fixed fatal typo. 2006-09-17 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * xharbour/include/hbvm.h * xharbour/source/vm/hvm.c + added hb_vmPushDynSym( PHB_DYNS ) It should allow most applications to not use [P]HB_SYMB at all. Removing PHB_SYMB from 3-rd party .c code may allow us to add freeing unused symbol tables from HVM in the future. * harbour/source/vm/classes.c * temporary restored hb_objGetpMethod() + added __ClsCntClasses() ! allocated real methods for OnError and Destructor to keep the same behavior in these methods as in any others, f.e. scoping checking or debugging. * harbour/common.mak * harbour/utils/hbtest/Makefile * harbour/utils/hbtest/hbtest.prg + harbour/utils/hbtest/rt_class.prg + added tests for our classy code. Now destructors and instance area allocating/casting. Some other in the future. 2006-09-16 23:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * synced with recent Brian fixes in xHarbour * harbour/include/hbapi.h + added 'method' member to hb_struBlock structure * harbour/source/vm/hvm.c * initialize 'method' member in hb_struBlock structure * harbour/source/vm/proc.c * changed the name of last parameter of hb_procname() from bSkipBlock to fMethodName and modified to use information about the class of executed codeblock from new hb_struBlock members * harbour/source/vm/classes.c * removed hb_objGetpMethod() - I hope it's not longer used * added real codeblock scoping. In Clipper there is no information where the codeblock where created and what priviladges/scopes it should has. Class(y) to resovle this problem when codeblock is executed scans the HVM stack for the nearest method call and takes scopes defined for this method. It's a workaround which allow to break standard access rights though seems reasonable when it's not possible to store information where the block is created. I've added to block item structure information about class and method where code block was created so we can use the exact method priviladges. Now Harbour classy code can work exactly like Class(y) when compiled with -DHB_CLASSY_BLOCK_SCOPE and with real code block scoping when compiled with -DHB_REAL_BLOCK_SCOPE. I set the second (real code block scopes) as default. If you think we should be strict Class(y) compatible here then please inform me and I'll change default setting. + tests/clsscope.prg + added demonstration/test code for class method scoping 2006-09-15 21:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/arrays.c * harbour/source/vm/classes.c ! fixed multiple use of supercasted object I broke in last commit * removed some unused code and moved some scoping checking to class creation code 2006-09-15 13:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbvm.h * harbour/source/vm/classes.c * harbour/source/vm/hvm.c + added hb_vmRequestReenter() and hb_vmRequestRestore() + added executing destructors when some exception is active I forgot about it in previous commit. + harbour/tests/destruct.prg + added example/test code for object destructors 2006-09-15 04:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/doc/destruct.txt + added description for object destructors in Harbour * harbour/include/error.ch + added new error code EG_DESTRUCTOR * harbour/source/lang/msgpl852.c * harbour/source/lang/msgpliso.c * harbour/source/lang/msgplmaz.c * harbour/source/lang/msgplwin.c * harbour/source/rtl/langapi.c + added desription for new error code - other language modules have to be updated * harbour/include/hbapi.h + added hb_gcRefCheck() and cover some hb_gc* functions by _HB_API_INTERNAL_ macro * harbour/source/vm/itemapi.c ! fixed possible RT error generation when some exception is active * harbour/include/hbapicls.h * harbour/include/hbclass.ch * harbour/include/hboo.ch * harbour/source/rtl/tclass.prg * harbour/source/vm/arrays.c * harbour/source/vm/classes.c + added support for object destructors * harbour/source/vm/garbage.c + added support for object destructors + added logic to detect buggu .prg code which uses destructors see doc/destruct.txt for more info. It's also possible that this code will exploit some bugs in other code which uses GC allocated memory blocks. 2006-09-14 15:23 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/tests/testlbl.prg ! use lower name in report name to work properly on case sensitive file systems 2006-09-14 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/garbage.c * minor cleanup * harbour/source/rtl/cdpapi.c * harbour/include/hbextern.ch + added HB_CDPLIST() - it returns array with all registered CODEPAGEs * harbour/source/rtl/set.c ! fixed typo in _SET_DEFEXTENSIONS * harbour/tests/testrpt.prg ! fixed syntax ! use lower name in report name to work properly on case sensitive file systems 2006-09-13 20:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbvm.h * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c + added __enumStop() message for "FOR EACH" overloading It's guarantied that it will be sent to base item if it is an object with such message when FOR EACH ... NEXT will finish its job even if it will be interrupted by EXIT or RETURN to allow base object clear resources allocated for FOR EACH enumerator. The BREAK exception is not supported now. This is sth what I'd like to discuss soon when I'll add destructors. Please think now if we should allow to execute destructors and other cleanup user code when we are returning to nearest expection trap (BEGIN SEQUENCE / [ RECOVER /] END) cleaning the HVM stack. 2006-09-13 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/harbour.c ! fixed number of compiled functions shown in compilation status ! added workaround for GPF in empty #pragma begindump/enddump statement 2006-09-13 03:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c * keep class shared data in separate array + added __CLS_CNTSHRDATA( hClass ) -> nSharedDatas % some minor optimizations * harbour/tests/clsscast.prg + added test code for shared class data allocating and casting * harbour/include/hbapicls.h * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c + added support for FOR EACH overloading - it's work in progress do not create any code which may use current solution - it may change in the nearest future 2006-09-12 14:48 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c ! Bug fixed 2006-09-12 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c ! fixed typo in adding SHARED CLASS VAR ASSIGN messages * some minor cleanup 2006-09-11 20:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.ch * added HB_EXPORT to public functions and some internal covered by _HB_API_INTERNAL_ macro * harbour/include/hboo.ch + added HB_OO_CLSTP_NONVIRTUAL and HB_OO_CLSTP_OVERLOADED * harbour/source/rtl/tclass.prg ! do not add supercast class messages - now it's done automatically by __clsNew() function with proper instance area offset updating ! enumerate instance class datas in __clsAddMsg() from 1 - inherited instance variables are managed internally by classy code with proper instance area offset updating ! use __CLS_CNTCLSDATA() as start offset for class data. Do not try to calculate it yourself - some of super classes can be ignored when they are appear in the inheritance tree more then once so it's not possible to calculate class data or instance data start offset using simple sum of class or instance variables in super classes. * harbour/source/vm/classes.c ! fixed instance area casting ! fixed class variables casting ! fixed multi-inheritance when the same class can apear more then once in super classes tree. ! Do not add unnecessary instance variables for the same class when it's inherited more then once. ! Do not add unnecessary class variables for the same class when it's inherited more then once. ! Do not add unnecessary initialization class and instance variables + added support for non virtual messages + added support for static and casted scoping + super cast messages added automatically. They are used to dynamic recalculation of instance are offsets and to avoid multiple inheritance of the same class so please do not overload them or you will have as result something what we have before recent modifications in the instance and class data area. Just simply run tests/clsccast.prg and tests/clsicast.prg compiled with current CVS code and last release code or with xHarbour and compare the results. Also Class(y) does not pass these tests and I do not know if any other dynamic OOP model in xbase languages can properly address it. BTW maybe I should add RT error when .prg code will try to delete or overwrite class cast message. For me it seems to be reasonable and what's your opinion? * make hidden class members non virtual by default. It can be disabled by compiling classes.c with -DHB_VIRTUAL_HIDDEN but IMHO keeping HIDDEN members as virtual causes that they are not really HIDDEN because subclasses can simply overwrite them. It also means that it's not possible to create class with some private data and methods which will never interact with any subclass code created by other programmers where name conflict can appear. So one of the most important OOP features is missing in such case. See tests/clsnv.prg as an example for non virtual hidden members. + tests/clsicast.prg + added test code for proper instance area allocating and casting + tests/clsccast.prg + added test code for proper class data allocating and casting + tests/clsnv.prg + added test code for non virtual hidden class members Now we should be able to create and class model even replicate the static one like in C++ using current class engine which still fully supports dynamic bindings. It consumes less memory and due to much more efficient hashing it should be faster then it was though some other minor optimization can be add and I'll plan to make them in some spare time. The item type verification in assignment is still missing. I'll add it when I'll collect some statistic informantion I'd like to ask [x]Harbour users. I need these information to tune some internal structures where I can balance between speed and memory allocation to statistically optimal form. Marek asked me to add passing object datas by reference and I'll do that but I'd like to ask Ryszard to add support for: @: to compiler. I'll implement all other HVM modifications. If you can please also add support for: :&[(...)] For this we do not need any HVM modifications or new PCODEs. We are supporting xBase++ macro list compilation in: cList:="1,2,3" x := aVar[ &cList ] aVar:={ &cList } func( &cList ) But we do not support: :( &cList ) IMHO it looks ugly. If we have this syntax for function call then we should also support it in message sending. Ryszard can you make necessary compiler modifications? I'm also thinking about adding support for variable parameters func myfunc(...) [...] return xVar In few cases it will help to encode some function much more efficient then now. I'll add Class(y) compatible functions used in class(y) header files so it will be possible to use original class(y) .ch files in Harbour though it will not be the most efficient because we have @func() operator which gives better performance then using codeblocks. Anyhow classy create separate meta class for each class with CLASS members and () function always return such meta class object so for full Class(y) compatibility we need to generate differ .prg code. But all such modifications now can be done on preprocessor and .prg level and they will not need .c code modification. We should make them to give user interface for our new OOP features. Now I'm waiting for reports about any problems with current classy code. 2006-09-11 20:30 UTC+0300 Alexander Kresin * source/vm/itemapi.c ! Bug fixed, which was introduced while last commit 2006-09-11 16:40 UTC+0300 Alexander Kresin * include/hbapicdp.h * Changed declaration of hb_cdpcmp() function * source/rtl/cdpapi.c * hb_cdpcmp() has been changed. It accepts now additional parameters: hb_cdpcmp( char* szFirst, ULONG ulLenFirst, char* szSecond, ULONG ulLenSecond, PHB_CODEPAGE cdpage, BOOL bExact ), also some bugs fixed. * source/vm/itemapi.c * source/rdd/dbfntx/dbfntx1.c * Calls of hb_cdcmp() has been changed. 2006-09-10 14:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c * cleaned BCC warning 2006-09-10 14:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog ! added missing changelog entry about __MVPUT() fix * harbour/source/vm/itemapi.c * removed redundant pItem->type = HB_IT_NIL (thanks for Manu Exposito) 2006-09-10 14:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog ! added missing changelog entry about __MVPUT() fix * harbour/source/vm/itemapi.c * removed redundant pItem->type = HB_IT_NIL (thanks for Manu Exposito) 2006-09-10 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/hvm.c * harbour/source/vm/codebloc.c * harbour/source/vm/arrays.c * moved static base offset from hb_struBlock structure to HB_CODEBLOCK structure + added hclass member to hb_struBlock - it will be used in the future for checking codeblock scope in classy so we will real scope checking also for messages sent from codeblocks. - removed supercast and superoffset members from hb_struArray structure. * harbour/include/hbclass.ch * added class(y) like @:([]) send operator. It's not exactly the same as in class(y) where this operator is hardcoded to executing function directly, needs method name instead of message name and is linked statically. In Harbour this operator uses message name so can be used also for instance variables and make dynamic casting to the class from which current method is inherited. In short words sending messages to @: instead of :: causes that they work like non-virtual messages in C++ mode. If you do not use the same method body in different classes then you can also use explicitly self casting: :::[(...)] and it will be a little bit faster * harbour/include/hboo.ch + added: HB_OO_MSG_ASSIGN, HB_OO_MSG_ACCESS, HB_OO_MSG_CLSASSIGN, HB_OO_MSG_CLSACCESS They should be used insted of HB_OO_MSG_DATA and HB_OO_MSG_CLSDATA This resolves problems with name conflicts when we were detecting type of message (ACCESS/ASSIGN) by checking the first character in message name. F.e. now it's possible to create exported instance variable called __WithObject and it will be used in all WITH OBJECT statement instead of the base object value. It's simple and effective WITH OBJECT overloading. I kept backward compatibility for HB_OO_MSG_DATA and HB_OO_MSG_CLSDATA but I strongly suggest to update code to use new constants. + added HB_OO_MSG_REALCLASS * harbour/source/rtl/objfunc.prg * harbour/source/rtl/tobject.prg * harbour/source/rtl/tclass.prg * use HB_OO_MSG_[CLS]{ASSIGN,ACCESS} instead of HB_OO_MSG_[CLS]DATA * harbour/source/rtl/tclass.prg + added REALCLASS message to creted classes - it's used for @: operator * harbour/source/vm/classes.c * updated for above modifications * calculate instance area offset in supercasting dynamically - it will allow to eliminate multiple instance area allocating when in the inheritance tree the same class exists more then once and also quite easy add support for non-virtual messages. ! fixed GPF in __CLSINSTSUPER() class function generate HVM exception % do not inherit unaccessible inline blocks * some other minor optimization, fixes and code cleanups * harbour/source/rdd/usrrdd/usrrdd.c ! fixed HB_TRACE message * harbour/source/rtl/errorapi.c ! generate internal error if ErrorNew() function does not return an object 2006-09-07 16:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/memvars.c ! fixed memvar creation in __MVPUT() 2006-09-07 01:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c ! always initialize all members in RDD structures to avoid GPF when some RDD will try to access uninitialized data * harbour/source/rdd/usrrdd/usrrdd.c ! added some additional validation in RDD structures <-> item conversions 2006-09-06 14:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/itemapi.c * modified hb_itemClear() to be reentrant safe - the new version can be also better optimized by C compiler so should be also faster * harbour/source/rdd/dbcmd.c ! initialize lpdbOrdCondInfo in DBORDERINFO structure before passing to ORDCREATE() * harbour/source/vm/fm.c ! fixed typo in memset() when HB_PARANOID_MEM_CHECK enabled * harbour/source/vm/hvm.c ! fixed item type used for iterator 2006-09-06 12:02 UTC+0300 Chen Kedem * utils/hbrun/hbrun.prg * Change Main() into _APPMAIN() to avoid collision with user function in HRB file with that name. + Added a NOTE about this. 2006-09-05 16:10 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c ! Bug fixed in hb_cdpcmp(), which caused strange comparison results as ( s1 > s2 ) != ( s2 > s1 ). 2006-09-05 15:51 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/include/hbset.h * harbour/include/set.ch * harbour/source/pp/pptable.c * harbour/source/rtl/set.c + Added Set( _SET_DEFEXTENSIONS, ) Default value is .T. (CA-Cl*pper compatible). If set to .F., Harbour runtime/RDD code will never attempt to add a default extension to the filename arguments. Commands/functions where this setting makes a difference are: - SET ALTERNATE TO / Set( _SET_ALTFILE_, ... ) - SET PRINTER TO / Set( _SET_PRINTFILE_, ... ) - Set( _SET_EXTRAFILE, ... ) - SAVE TO / __mvSave() - RESTORE FROM / __mvRestore() - LABEL FORM - REPORT FORM - COPY TO ... DELIMITED - COPY TO ... SDF - LIST / __dbList() - USE / dbUseArea() - dbCreate() - SET INDEX TO / ordListAdd() (not yet implemented) - __HRBLOAD(), __HRBRUN() ; Notes: - From now on, it possible to create/load files using the above functions/commands which have no extension. This might be desirable in a few platforms and/or situations. For example on Win32, it's possible to directly print to a shared Windows printer queue, using these commands: lOldValue := Set( _SET_DEFEXTENSIONS, .F. ) SET PRINTER TO \\myserver\myprinter Set( _SET_DEFEXTENSIONS, lOldValue ) Or, it is possible to open a dbf file which have no extension: dbUseArea(.T., NIL, "dbf_filename_with_no_extension", "w_DATA", .F., .F.) - Compiler is (of course) not affected by this setting. - Preprocessor (PP) lib flavour is not affected by this setting. - Support is not full in the RDD code yet. * harbour/source/rdd/dbf1.c * harbour/source/rdd/dblist.prg * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rtl/tlabel.prg * harbour/source/rtl/treport.prg * harbour/source/rtl/set.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c + Honoring _SET_DEFEXTENSIONS setting all over the code. 2006-09-05 12:44 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/debug/debugger.prg ! Fixed and made multiplatform the filename extension handling parts. * harbour/source/vm/memvars.c ! Comment minor fixes. * harbour/harbour.spec * harbour/make_xmingw.sh * harbour/make_bsd.sh * harbour/make_drw.sh ! xharbour -> harbour 2006-09-04 19:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/TODO + added simpler example for memory leak in macro compiler: ? type("user input") * harbour/source/macro/macro.y * replaced TABs with SPACEs * harbour/source/vm/classes.c * added some TRACE() messages + added support for executing functions with :EXEC() registered dynamically after creating * harbour/source/vm/hvm.c * minor modification 2006-09-04 18:10 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/tlabel.prg * harbour/source/rtl/treport.prg ! Made the logic multiplatform where it's decided whether to add a default extension to the loaded filename. C:\PATH.A\MYFILE didn't get the default extension while C:\PATH\MYFILE did. 2006-09-04 11:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexprc.c ! fixed bug in wrong integer negating, f.e.: proc main(); local i:=0; i-=-32768; ? i; return ! fixed PCODE generated for +=, -=, /=, *= expressions when right side of expression is undefined variable - it's possible that it will be field and we will have RT error. It fixes tt4.prg example form TODO file. * harbour/TODO - removed tt4.prg example from TOFIX * harbour/source/vm/classes.c ! fixed supercast message validation * harbour/source/vm/hvm.c ! fixed very bad typo in hb_vmMinus() which can cause wrong results when on 64-bit integer overflow 2006-09-04 09:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog + harbour/ChangeLog.016 ! added ChangeLog.016 and updated number - mistake in my previous commit * harbour/source/vm/classes.c * stronger parameters validation and fixed some possible problems in hb_objGetMethod() + added support for assigning enumerator value by: :__enumValue() and enumerator index by: :__enumIndex() It's a work in progress - please do not create any code which may need such functionality yet * harbour/source/vm/debug.c * harbour/source/vm/hvm.c * minor code cleanup 2006-09-03 18:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c * harbour/source/vm/hvm.c * harbour/tests/overload.prg + added support for overloading [] in assignment operation 2006-09-03 16:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog + harbour/ChangeLog.016 * new ChangeLog file created 2006-09-03 16:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hboo.ch + added HB_OO_CLSTP_PERSIST and HB_OO_MSG_INITIALIZED * harbour/include/hbapi.h * harbour/include/hbvmpub.h * harbour/source/vm/dynsym.c % changed HB_HANDLE hArea to USHORT uiArea to reduce HB_DYNS size. RDD code internally uses USHORT as area number so it's not necessary to keep it as HB_HANDLE value. * harbour/source/vm/arrays.c * modified internal static function name * harbour/source/vm/itemapi.c + added missing HB_TRACE in hb_itemClone() * harbour/source/vm/classes.c ! moved initialization values to separate structure not bound with methods. We can inherit the same method names from more then one object so we will store only the first one but we are inheriting whole instance area which is accessible with super casting (last fixes) so we have to properly initialize it even if methods does not exist. This modification also fixes some possible memory leaks. % replaced bIsPersistent by HB_OO_CLSTP_PERSIST in uiScope in method definition ! added basic parameter validation to __CLSADDMSG() to avoid some possible strange behavior at runtime when broken messages are defined. * updated __OBJHASMSG() and __OBJSENDMSG() to accept SYMBOL items too (@funcName()). Using symbol items it faster then strings. Also added support to use non array parametes. F.e. now __OBJHASMSG( {||NIL}, "EVAL" ) returns TRUE * some other fixes, reduced memory consumption and speed optimizations 2006-09-03 16:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hboo.ch + added HB_OO_CLSTP_PERSIST and HB_OO_MSG_INITIALIZED * harbour/include/hbvmpub.h * harbour/source/vm/dynsym.c % changed HB_HANDLE hArea to USHORT uiArea to reduce HB_DYNS size. RDD code internally uses USHORT as area number so it's not necessary to keep it as HB_HANDLE value. * harbour/source/vm/arrays.c * modified internal static function name * harbour/source/vm/itemapi.c + added missing HB_TRACE in hb_itemClone() * harbour/source/vm/classes.c ! moved initialization values to separate structure not bound with methods. We can inherit the same method names from more then one object so we will store only the first one but we are inheriting whole instance area which is accessible with super casting (last fixes) so we have to properly initialize it even if methods does not exist. This modification also fixes some possible memory leaks. % replaced bIsPersistent by HB_OO_CLSTP_PERSIST in uiScope in method definition ! added basic parameter validation to __CLSADDMSG() to avoid some possible strange behavior at runtime when broken messages are defined. * updated __OBJHASMSG() and __OBJSENDMSG() to accept SYMBOL items too (@funcName()). Using symbol items it faster then strings. Also added support to use non array parametes. F.e. now __OBJHASMSG( {||NIL}, "EVAL" ) returns TRUE * some other fixes, reduced memory consumption and speed optimizations 2006-09-03 16:37 UTC+0300 Chen Kedem * doc/en/lang.txt + Update supported codepage list for HB_SETCODEPAGE() 2006-09-01 23:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/source/codepage/uckam.c + added missing in my previous commit file * harbour/include/hbvmpub.h * harbour/source/vm/dynsym.c + added USHORT uiSymNum to HB_DYNS structure - I will need it for MT as index for thread local HB_DYNSYM values for MT version in the future but now I use it as perfectly efficient continuous hash value for all symbols. Of course PHB_DYNS address is also perfectly good hash value and in classes code can be used but it does not guaranties that all messages will cover well whole 16bit area used as message pool without dynamic bucket size modification. * harbour/source/vm/classes.c * changed hashing method. Now it uses really unique base hash key values which can cover whole 16 bit area so mathematically it's not be possible to break it by any combination of method names as long as our dynamic symbol table will be limited to 2^16 symbols. It still consumes more memory then necessary and I'll change it in the future but it's much less then before. The BUCKET size is smaller (4) and all calculations are done only with bit shifts so it should be also faster. * use ULONG instead of USHORT to calculate maximum number of methods to avoid possible overflow problems if it reach 2^16 (rather impossible in normal application - it will have to create more then 2^15 symbols) ! some other fixes and code cleanup * harbour/source/vm/hvm.c * minor modifications 2006-09-01 10:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/lang/msgcs852.c * harbour/source/lang/msgcsiso.c * harbour/source/lang/msgcskam.c * harbour/source/lang/msgcswin.c * typo fixed (Vojtech Obrdlik ) * harbour/include/hbapicdp.h * harbour/source/codepage/Makefile + harbour/source/codepage/cpcs852.c + harbour/source/codepage/cpcsiso.c + harbour/source/codepage/cpcskam.c + harbour/source/codepage/cpcswin.c + harbour/source/codepage/uckam.c * harbour/doc/en/lang.txt * harbour/common.mak + added czech codepage support (Vojtech Obrdlik ) Vojtech many thanks. We will have to fix our CDP code to work well with characters with the same wight - now sorting with such codepages does not work correctly, f.e. in CSISO: CHR(65)+CHR(204) > CHR(65)+CHR(201) but: CHR(65)+CHR(201) >= CHR(65)+CHR(204) as you can see comparison depends on string order: s1 > s2 but not s2 < s1 It means that such codepages cannot be used in any sorting systems like indexes until we will not fix internal CPD logic. Alexander can you look at it? If not then please inform me and I'll work on it in some spare time. * harbour/source/rtl/do.c * minor RTE message simplification * harbour/source/rtl/gtos2/gtos2.c * casting * harbour/source/vm/dynsym.c + added __DYNSN2SYM( ) -> symbolItem * harbour/include/hbapi.h * harbour/source/vm/arrays.c + added supercast and superoffset members to hb_struArray structure * harbour/source/vm/classes.c * harbour/source/rtl/tclass.prg ! fixed calculation of instance area offsets ! fixed accessing instance variables with super casting + added selfclass casting + added support for sending 'exec' and 'name' messages to symbol items, f.e.: funcSym := (@funcName()) ? "Exacuting:", funcSym:name funcSym:exec( param1, param2, ... ) * changed __CLASSNAME() to be Clipper compatible * changed __CLSINST()/__CLASSINSTANCE() now accepts as third paramter function name - Clipper compatible ! fixed GPF trap in __OBJGETCLSNAME() when executed with wrong parameter * some other fixes and small speed improvement 2006-08-31 21:45 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * harbour/makefile.vc * Changed console output of "install" rule to inst_$(CC_DIRNAME).log 2006-08-29 10:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c + added Class(y) compatible scoping - please test and report any possible problems 2006-08-28 12:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c ! fixed __SENDER() function to work with non-inline methods ! respect super casting in ClassName(), ClassH(), ClassSel() methods % some optimizations 2006-08-27 20:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c ! fixed bug in super casting introduced in my last commit 2006-08-24 10:02 UTC+0300 Chen Kedem * TODO + Add three known issues to the To-Fix list 2006-08-23 23:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbrdddbf.h * harbour/source/rdd/dbf1.c * harbour/contrib/rdd_ads/ads1.c * synced with xHarbour * harbour/include/hbapi.h + added uiClass and uiMethod to HB_STACK_STATE structure - removed puiClsTree from HB_BASEARRAY structure * harbour/include/hbvmpub.h ! fixed typo in HB_ARRAY_OBJ() declaration * harbour/source/vm/arrays.c - removed puiClsTree from HB_BASEARRAY structure * harbour/source/vm/classes.c - removed static variable s_pMethod to make classes code MT safe * store information about current method index and supercasting on HVM stack in HB_STACK_STATE structure ! changed hb_objGetRealClsName() to not use puiClsTree - this functions was never working as it should when object was supercasted. Now it simply returns name of class where method was defined and inherited. - removed hb_objPopSuperCast() and changed last parameter in hb_objGetMethod() from BOOL * to PHB_STACK_STATE hb_objPopSuperCast() is not longer necessary - removed hb_mthRequested() and first parameter from hb_mthAddTime() + added char * hb_clsName( USHORT uiClass ); + added TOFIX notes in hb___msgGetData() and hb___msgSetData() * harbour/source/vm/estack.c + added uiClass and uiMethod to HB_STACK_STATE structure * harbour/source/vm/hvm.c * updated for above modifications * harbour/source/vm/proc.c ! do not use hb_objGetRealClsName() anymore but retrieve information about _REAL_ class form HVM stack 2006-08-19 01:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * moved HB_STACK_STATE declaration from hbstack.h to hbapi.h it's covered by _HB_API_INTERNAL_ macro so it should not effect 3-rd party code * modified hb_struSymbol structure: LONG stackbase replaced by: PHB_STACK_STATE stackstate this modification allows to keepadditional information bound with function call stack accessible from different HVM modules. Now it's used by memvars code to keep/update PRIVATE variables stack pointers. I plan to store in HB_STACK_STATE structure information additional information for classes code like super casting or instance variables offsets in new OOP model I'm working on. It can be also used by debugger code to retrieve some informations about executed functions without active updating by main HVM loop. + added hb_memvarsClear() - cleanly clears all PRIVATE and PUBLIC variables + added hb_memvarUpdatePrivatesBase() - updates PRIVATE stack base offset so PRIVATE variables created in current function/procedure will not be removed when it returns - removed hb_memvarsRelease() and hb_memvarValueNew() * harbour/include/hbstack.h + added hb_stackClearMevarsBase() - helper function for hb_memvarsClear() clears PRIVATE stack offsets in executed functions * changed to static offset from int to long - in different places we were using int or long in HVM so I cleaned the HVM code to always operate on the same type * harbour/source/vm/estack.c * set/restore PRIVATE stack base offset in hb_stackNewFrame()/ hb_stackOldFrame() * updated for new HB_IT_SYMBOL structure * harbour/source/vm/hvm.c ! removed setting/restoring PRIVATE stack base offset in hb_vmExecute() It make code like: eval(&("{||VAR:=1}")) Clipper compatible * updated for new HB_IT_SYMBOL structure * changed order of execution exit procedures for clean memvars removing and future destructors execution. I'll describe it better when I'll add destructors. * harbour/source/vm/memvars.c ! fixed CLEAR MEMORY - now this function should be safe in Harbour It's not exactly compatible with Clipper because I intentionally didn't replicated some Clipper bugs like possible memory corruption. + added hb_memvarsClear() - cleanly clears all PRIVATE and PUBLIC variables + added hb_memvarUpdatePrivatesBase() - updates PRIVATE stack base offset so PRIVATE variables created in current function/procedure will not be removed when it returns ! fixed releasing PUBLIC and PRIVATE variables which were passed by reference and are still active on HVM stack or in codeblocks as detached locals (see: hb_memvarDetachDynSym()) * modified hb_memvarFindSymbol() to be more Clipper compatible % optimized hb_memvarRelease() to operate or PHB_DYNS instead of string comparison and not make linear dynamic symbol scan for PUBLIC or not existing symbols - removed hb_memvarReleasePublic() * harbour/include/hbvmpub.h * harbour/include/hbxvm.h * harbour/source/compiler/gencc.c * harbour/source/vm/classes.c * harbour/source/vm/debug.c * harbour/source/vm/itemapi.c * harbour/source/vm/pcount.c * harbour/source/vm/proc.c * harbour/source/vm/pvalue.c * updated for the above modifications * harbour/source/rtl/memvarbl.prg * harbour/source/rtl/menuto.prg * use __mvEXIST( cMemvar ) instead of __mvSCOPE( cMemvar ) > HB_MV_ERROR __mvEXIST() is much faster function * harbour/source/rtl/type.c * execute hb_memvarUpdatePrivatesBase() after macro type checking. This should not be necessary but we are not Clipper compatible here and this is work around for difference in our TYPE() implementation. Clipper for: ? TYPE("VAR:=1") create PUBLIC variable VAR when [x]Harbour PRIVATE one. Should we try to make it Clipper compatible? The above should fix problems reported with memvars. We are not 100% Clipper compatible but unlike in Clipper we cannot break VM internals using some operation on references to memvars and detached locals and/or RELEASE.../ CLEAR MEMORY. This modifications should be intensively tested. If you will find any problems with current code please inform me. I'd like to hear your opinions about memvars created by TYPE() (see above). Should we change it? It may not be very easy operation - we will have to change macro compiler and add new PCODE for that. 2006-08-17 12:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * harbour/include/hbapi.h * harbour/include/hbapigt.h * harbour/include/hbapiitm.h * harbour/include/hbdefs.h * harbour/include/hbrdddbf.h * harbour/include/hbstack.h * harbour/include/hbsxfunc.h * harbour/source/common/expropt1.c * harbour/source/common/hbstr.c * harbour/source/compiler/harbour.c * harbour/source/compiler/hbident.c * harbour/source/pp/ppcore.c * harbour/source/rdd/hbdbsort.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rtl/hardcr.c * harbour/source/rtl/inkey.c * harbour/source/rtl/isprint.c * harbour/source/rtl/math.c * harbour/source/rtl/mtran.c * harbour/source/rtl/natmsg.c * harbour/source/rtl/gtcrs/chrmap.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/gtsln.h * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtsln/keytrans.c * harbour/source/rtl/gtsln/mousesln.c * harbour/source/vm/estack.c * harbour/source/vm/extend.c * harbour/source/vm/runner.c * harbour/utils/hbver/hbverfix.c * general code cleanup, public functions declared in header files, local changed to static, added mising void for functions without parameters, etc. We still have some public functions which are not used by core code and not declared in header files, like: hb_memvarValueBaseAddress(), hb_memvarGetVarHandle(), hb_memvarGetValueByHandle(), hb_clsCreate(), hb_clsAdd(), hb_clsAssociate(), hb_hashTableDel(), hb_hashTableSize(), I haven't touched them yet though we will have to keep in mind that we should make sth with them. 2006-08-16 18:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * strip lib prefix from CONTRIBS library list * harbour/source/codepage/cp_tpl.c * removed redundant ; 2006-08-16 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/codepage/Makefile + harbour/source/codepage/cpfrdos.c + harbour/source/codepage/cphr1250.c + harbour/source/codepage/cphr437.c + harbour/source/codepage/cphr852.c + harbour/source/codepage/cpit437.c + harbour/source/codepage/cpit850.c + harbour/source/codepage/cpitisb.c + harbour/source/codepage/cpitiso.c + harbour/source/codepage/cpltwin.c + harbour/source/codepage/cpua866.c + harbour/source/codepage/cpuakoi.c + harbour/source/codepage/cpuawin.c + added codepages from xHarbour * harbour/source/vm/garbage.c * harbour/source/vm/hvm.c * formatting and code cleanup 2006-08-16 12:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/source/vm/estack.c + added: int hb_stackCallDepth( void ) LONG hb_stackBaseProcOffset( int iLevel ) * harbour/source/vm/arrays.c * harbour/source/vm/proc.c * use hb_stackBaseProcOffset() * harbour/source/vm/hvm.c - removed s_ulProcLevel used by HB_DBG_PROCLEVEL() - count the call stack dynamically using stack data - a little bit slower but it's not widely used function, now is MT safe and we eliminated some small overhead in each function call so statistically we improved overall performance 2006-08-14 14:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/TODO - removed eliminating hb_stackTopItem() from TOFIX - Done. * harbour/include/hbexprc.c * restore original expression type after *POPEQ optimization * harbour/source/compiler/harbour.c * removed some commented code * harbour/source/compiler/harbour.y % optimized PCODE generated for FOR/NEXT statement - it eliminates one unconditional jump inside the loop - Ryszard if you can please check me. 2006-08-14 10:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/fserror.c + added translation error code for ENMFILE * harbour/source/rtl/hbffind.c * set FERROR() code when FILE() faild - Clipper compatibility 2006-08-11 10:15 UTC+0100 Ryszard Glab * utils/hbpptest/pretest.prg * fixed to use HB_OSNewLine(0 instead '\n' 2006-08-10 16:26 UTC+0300 Alexander Kresin * source/compiler/genhrb.c ! fixed a bug in counting of the number of functions * source/vm/runner.c ! strange bug ( possibly typo ) fixed 2006-08-10 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapifs.h * changed order of members in HB_FNAME structure to avoid possible problems with alignment * harbour/include/hbexprb.c ! cleaned usGroups usage to avoid BCC warnings * harbour/source/rtl/filesys.c * harbour/source/rtl/fstemp.c * code formatting and casting * harbour/include/hbset.h * harbour/source/rtl/set.c * some minor updates for future incoming hb_set structure modifications * harbour/source/vm/hvm.c * use HB_MACRO2STRING() macro for default lang setting * harbour/include/hbrdddel.h * harbour/source/rdd/delim1.c * harbour/source/rdd/dbcmd.c + extended COPY TO ... DELIMITED ... / APPEND FROM ... DELIMITED ... to support some other common formats. COPY TO ... DELIMITED WITH TAB APPEND FROM ... DELIMITED WITH TAB uses chr(9) as field separator and without string delimiters COPY TO ... DELIMITED WITH PIPE APPEND FROM ... DELIMITED WITH PIPE uses '|' as field separator and without string delimiters COPY TO ... DELIMITED WITH ( { cStrDelim, cFldSeparator } ) APPEND FROM ... DELIMITED WITH ( { cStrDelim, cFldSeparator } ) allows users to set and any character field delimiters and fields separators 2006-08-10 12:30 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed some 'memory unreleased' errors * source/pp/ppcore.c * fixed some cases of access to unallocated memory 2006-08-08 11:40 UTC+0100 Ryszard Glab * source/pp/pplib.c * suppressed preprocessing of empty lines * utils/hbpptest/pretest.prg * added line length to MLCOUNT to correctly count the number of lines to process 2006-08-07 14:00 UTC+0100 Ryszard Glab * source/compiler/harbour.y * fixed to support @funname() syntax in assigments * utils/hbpptest/pp_test.prg * fixed preprocessor example * TODO * removed 'to fix' vertical spacing in ppo files 2006-08-07 12:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * xharbour/include/usrrdd.ch ! fixed RDD method order 2006-08-07 11:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/set.c ! fixed possible GPF after hb_setListenerRemove() * removed default: clause in main SET() switch to enable C compiler warning when not all HB_SET_* cases are defined. * harbour/source/vm/hvm.c ! fixed bug#1533096 reported by Chen 2006-08-07 02:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/make_b32.bat * harbour/make_vc.bat ! install call redirected to nul instead of make_b32.log to avoid overwriting the build results with less important (no) information. * harbour/include/hbundoc.api + Added _txopen() (not tested) * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c ! BCC -w warnings fixed. * harbour/source/rtl/filehb.c + Added TOFIX about a CA-Cl*pper incompatibility. In CA-Cl*pper the argument of FILE() is RTrim()-ed before doing the check. * harbour/source/rtl/fstemp.c ! Fixed two BCC warnings. 2006-08-06 13:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/debug/debugger.prg * changed checking for static initialization functions * harbour/source/vm/itemapi.c ! fixed stupid typo in string unsharing which caused very serious bug 2006-08-05 13:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/hbver.c * extended C compiler information * harbour/source/compiler/genc.c * use hb_verHarbour() and hb_verCompiler() to for information about Harbour build in generated .c files' headers * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed typo in my last commit - additional dummy evaluations of EVAL block 2006-08-04 16:00 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/fstemp.c + Implemented prefix parameter in temp file generation for Win32. 2006-08-04 15:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/include/hbundoc.api + Added _tctemp() undocumented call. * harbour/source/rtl/fserror.c ! Fixed trace message. 2006-07-28 14:02 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsetup.h * updated PCODE version number due to recent modifications 2006-07-28 00:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h * use extern "C" as default for HB_FUNC() declaration in C++ mode. I know that this modification will interact with binary compatibility but current state is worser because we were not binary compatible between C and C++ mode. Now the problem should go away with some reasonable for me cost. If compiler uses the same ABI for C and C++ mode then the backward binary compatibility problem can be resolved by small tools which can strip C++ decoration from binary libraries. Sometimes also linkers have necessary switches to ignore them. * harbour/include/hbexprb.c * cleaned BCC warning * harbour/source/rdd/nulsys/nulsys.c + added missing hb_rddGetAliasNumber(), thanks to Ron. 2006-07-27 15:10 UTC+0100 Ryszard Glab * source/compiler/genc.c * source/compiler/gencli.c * source/compiler/harbour.c * generate an empty .c file if there is no valid function in prg code (when -n is used) (this fixes error during compilation of browdbx.prg) * fixed a warning in hb_compStaticGetName 2006-07-27 14:20 UTC+0100 Ryszard Glab * include/hbcomp.h * source/compiler/genc.c * source/compiler/gencli.c * source/compiler/genhrb.c * source/compiler/genjava.c * source/compiler/genobj32.c * source/compiler/harbour.c * fixed compilation of static variables with -gc2 switch * source/pp/ppcore.c * fixed vertical spacing in generated ppo files * source/util/hbpptest/pretest.prg * fixed for current state of preprocessor 2006-07-27 01:18 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/dbedit.prg ! Previous non-strict compatible part made fully compatible by dropping an Eval() on the field value block. Strict branch and NOTE removed. 2006-07-26 22:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbexpra.c * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/include/hbpcode.h * harbour/include/hbxvm.h * harbour/source/common/expropt1.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbstripl.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * changed support for XBASE++ extended syntax in expressions like: v:="1,2,3" x := a[ &v ] a := { &v } f( &v ) Now all data is stored on HV * stack without any external registers which have to be saved/restored or updated in chosen operation. This modification was necessary to make HV * reentrant safe and it also eliminated some small overhead caused by old code. I hope I haven't break anything in compiler - Ryszard please fix me if I made sth wrong. * harbour/source/vm/hvm.c * harbour/source/compiler/harbour.y * revert FOR/NEXT stop condition to be Clipper compatible PCODE table has been updated and all .prg code which used modified PCODEs has to be recompiled 2006-07-25 22:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapirdd.h * harbour/source/rdd/dbcmd.c * harbour/source/vm/hvm.c * do not generate RT errors "Alias does not exist" in constructions like: ("NOT_EXISTING_ALIAS")->(...) Clipper compatible modifications. I do not like it but current previous behavior made problems for people who have code like: if ("NOT_EXISTING_ALIAS")->(used()) ... else ? "Table not open..." endif ! fixed some other RT errors to be Clipper compatible 2006-07-25 12:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/source/vm/hvm.c ! fixed typo in hb_stackWithObjectOffset() macro definition 2006-07-25 11:45 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/makefile.bc * harbour/makefile.vc ! Fixed INSTALL rule. ! Disabled generic library build rule which might wrongly interact with normal build process. 2006-07-25 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c ! make GOTOP() when new index is open and is set as control one * harbour/include/hbcomp.h * harbour/include/hbstack.h * harbour/include/hbxvm.h * harbour/source/compiler/gencc.c * harbour/source/compiler/hblbl.c * harbour/source/vm/classes.c * harbour/source/vm/estack.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * added automatic destructors for FOR EACH and WITH OBJECT statement * s_lWithObjectBase changed to lWithObjectBase hb_stack membera * added hb_stackWithObject*() functions/macros to manipulate WITH OBJECT offset/item * removed setting/restoring lForEach and lWithObject in functions preamble/postamble ! fixed restoring s_lRecoverBase on HB_QUIT_REQUESTED ! fixed possible GPF on enumerators copping * moved FOR EACH / WITH OBJECT massages suport from HVM to classy.c ! fixed access to first stack item in hb_vmIsLocalRef() * harbour/TODO - removed note about hb_objGetMethod() - it's already addressed 2006-07-24 13:50 UTC+0100 Ryszard Glab * source/pp/ppcore.c * source/pp/pptable.c * utils/hbpptest/pp_test.prg * fixed to be more Clipper compatible * fixed access to unallocated memory * added more test cases 2006-07-21 02:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/workarea.c * code cleanup * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c ! do not interrupt subindexing when new record is concurrently added by other station * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtstd/gtstd.c ! redirect STDOUT() to console only when stdout is a tty device. 2006-07-20 22:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/source/rtl/math.c ! Fixed GPF when compiled under Bcc with -tWR switch * harbour/makefile.bc * harbour/make_b32.bat ! Fixed compilation of Harbour DLL with dynamic RTL * Added INSTALL rule. * harbour/makefile.vc * harbour/make_vc.bat ! Fixed header description of makefile * Added INSTALL rule. 2006-07-20 12:36 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) + harbour/utils/hbpptest/compare.bat + harbour/utils/hbpptest/.cvsignore * harbour/utils/hbpptest/pp_test.prg + Added batch file to compare PP results between Harbour and CA-Cl*pper. 2006-07-20 11:40 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed bugs which I introduced * utils/hbpptest/pretest.prg * added more test cases + utils/hbpptest/pp_test.prg * new file to test preprocessor Preprocess both with Clipper and harbour and next use diff utility to compare outputs - ignore the number of white spaces (use diff -w -u ...) 2006-07-18 21:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! fixed executing EXIT procedures after external to BEGIN SEQUENCE / END BREAK - now by default we are taking the same action as after QUIT what seems to be intention of Clipper authors. When HVM is compiled with HB_C52_STRICT macro then we will try to emulate real Clipper behavior. * harbour/include/hbapi.h * harbour/source/vm/itemapi.c + added single member to hb_struPointer structure for internal HVM use. The reference counter for GC collectible HB_IT_POINTER items which have 'single' member set to TRUE is not updated in hb_itemCopy(). * harbour/source/rdd/workarea.c * code cleanup 2006-07-18 13:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/include/hbextern.ch ! Removed __dbfList() reference. 2006-07-18 12:51 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) - harbour/source/rtl/dummy.prg * harbour/source/rtl/Makefile * harbour/common.mak * harbour/source/debug/dbgwa.prg - Removed dummy.prg + Note added about __dbfList() to debugger source. * harbour/source/rtl/dbedit.prg ! Comment typos. 2006-07-18 12:20 UTC+0100 Ryszard Glab * source/pp/ppcore.c * added guard for infinite loop * utils/hbpptest/pretest.prg * added more test cases (3 of them fails) 2006-07-18 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! fixed problems reported by Marek with EXIT procedures after my last commit 2006-07-18 10:21 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/lang/msgcs852.c * harbour/source/lang/msgcsiso.c * harbour/source/lang/msgcskam.c * harbour/source/lang/msgcswin.c + Updates/fixes and more translated texts for Czech language modules. Thanks to: Vojtech Obrdlik * harbour/source/pp/pplib.c ! Fixed function names in trace calls. * harbour/source/rdd/dblist.prg * harbour/source/rdd/dbsort.prg * harbour/source/rdd/dbstrux.prg + Minor improvements. 2006-07-18 09:55 UTC+0200 Enrico Maria Giordano * fixed time in previous updates 2006-07-18 08:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) * harbour/source/vm/mainwin.c ! Fixed compilation in C mode under Msvc * harbour/include/hbapi.h * Added HB_EXPORT to hb_symbolNew() * harbour/makefile.bc * harbour/makefile.vc * harbour/make_b32.bat * harbour/make_vc.bat * harbour/Common.mak ! Fixed compilation of Harbour DLL ! Fixed compilation of HbPPTest.exe % Improved building of customized Harbour DLL % Some more minor fixes and improvements 2006-07-18 03:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/doc/en/hb_vm.txt * harbour/doc/es/hb_vm.txt * harbour/include/hbvm.h * harbour/contrib/hgf/gtk/mainlgtk.c * harbour/source/compiler/gencc.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/vm/maindll.c * harbour/source/vm/mainpm.c * harbour/source/vm/mainstd.c * harbour/source/vm/mainwin.c * harbour/source/vm/hvm.c * changed hb_vmQuit() to not execute EXIT() but return s_nErrorLevel ! execute EXIT procedures in hb_vmRequestQuit() - Clipper compatible behavior * do not exit immediately in RT errors but return from all executed functions - some internal parts of RDD code will have to be fixed. * harbour/source/vm/proc.c ! fixed procname for codeblocks. Seems that we are not fully Clipper compatible yet. I'll look at it closer soon. * harbour/TODO + added new item: Clean RDD code to be safe for return from RT errors assigned to me 2006-07-17 13:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_tgz.sh * added hbpptest to list of tools rebuilt with shared library * harbour/source/rdd/dbcmd.c ! fixed possible access to uninitialized variable in __dbApp()/__dbCopy() 2006-07-17 03:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/dbedit.prg % Optimized codeblock creation. + Restored 100% compatible codeblock creation for STRICT mode. - Removed a strange extension which looked like a mistake (besides not being CA-Cl*pper compatible). * Comments reviewed/changed/added. ; Review done, now 100% compatible. 2006-07-17 00:41 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/common.mak * harbour/makefile.bc * harbour/makefile.vc * harbour/utils/Makefile + Added hbpptest * harbour/utils/hbpptest/pretest.prg + Output now goes to STDOUT. * harbour/source/compiler/harbour.c ! Possible memory leak fixed. * harbour/source/rtl/Makefile ! Fixed tabs (readded them). - harbour/source/rtl/dbdelim.prg + harbour/source/rdd/dbdelim.prg - harbour/source/rtl/dbjoin.prg + harbour/source/rdd/dbjoin.prg - harbour/source/rtl/dbsdf.prg + harbour/source/rdd/dbsdf.prg * harbour/source/rtl/Makefile * harbour/source/rdd/Makefile * harbour/common.mak * Moved three RDD related internal function source files to the RDD library. (They did depend on each other anyway.) * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbfuncs.prg * harbour/source/rdd/dblist.prg * harbour/source/rdd/dbsort.prg * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/dbtotal.prg * harbour/source/rdd/dbupdat.prg * harbour/source/rdd/rddord.prg * harbour/source/rtl/dbdelim.prg * harbour/source/rtl/dbedit.prg * harbour/source/rtl/dbjoin.prg % Cleanups, minor optimizations. ! __dbApp(), __dbCopy() to return LOGICAL. ! Problem where error condition was not detected if BREAK didn't set the error object. ! __dbTotal() lRest handling fixed. ! __dbTotal() ErrorBlock overriding removed. ! __dbCreate() now generating default alias. % __dbCreate() using dbCreate() undoc param to open the tables. ! __dbDelim() return value. ! __dbSDF() return value. + CA-Cl*pper undocumented call added: _dtxCondSet() + XBase++ compatible calls implemented: dbJoin(), dbList(), dbSort(), dbTotal(), dbUpdate(), _dbExport() dbCopyStruct(), dbCopyExtStruct() + Added some more 10 chars call stubs: __dbCopySt(), __dbCopyXS(), __dbOpenSD(), __dbArrang() + Comments. + Formatting. ; All high-level db functions seems to be compatible now. DBEDIT() is left TODO for review (refix). * harbour/source/rtl/tbrowse.prg * Minor cleanup. * harbour/include/hbexpra.c * harbour/source/vm/arrayshb.c * harbour/source/rdd/dblist.prg - Removed compiler+RTL __dbList() hack which made it incompatible with CA-Cl*pper. The hack targeted an XBase++ extension, but it's compatible even without the hack. Tested with XBase++ 1.82.294. * harbour/source/rtl/typefile.prg % FUNCTION -> PROCEDURE + _TypeFile() XBase++ internal function added. 2006-07-16 23:26 UTC+0200 Enrico Maria Giordano * source\common\expropt1.c * Removed unuseful break inside hb_compExprAsSymbol function 2006-07-16 19:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog ! fixed typo in date * harbour/doc/gtapi.txt * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtgui/gtdef.c * changed HB_GT_DEFAULT_ to HB_GT__DEFAULT and added REQUEST posibilities so now the GT drivers can be REQUESTed and the default one set in similar way. F.e.: REQUEST HB_GT_WIN REQUEST HB_GT_WVT_DEFAULT REQUEST HB_GT_STD I think that it will be much easier and also using _DEFAULT as suffix does not resolve fully 10 character symbol but will work if GT name is not longer then 3 characters 2006-07-16 16:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c ! fixed typo in binary or - || was used instead of | * reenabled frame optimization for compilation without -n switch 2006-07-16 16:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/genc.c - removed debug message I left by mistake * harbour/bin/hb-func.sh * use by default -gc0 output when compiled as temporary workaround for GPF in -gc2 2006-07-16 14:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/genc.c * harbour/source/compiler/gencc.c ! fixed .prg file name stored in generated .c files * harbour/source/compiler/harbour.c ! update function counter when startup function is removed It fixes compilation of empty .prg files in C++ mode * harbour/source/rtl/dbjoin.prg - removed unused variable 2006-07-14 16:00 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hberrors.h * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbmacro.h * include/hbpcode.h * include/hbpp.h * include/hbxvm.h * source/common/expropt1.c * source/compiler/cmdcheck.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/compiler/genc.c * source/compiler/gencc.c * source/compiler/gencli.c * source/compiler/genhrb.c * source/compiler/genjava.c * source/compiler/genobj32.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbdead.c * source/compiler/hbfix.c * source/compiler/hbfunchk.c * source/compiler/hbgenerr.c * source/compiler/hblbl.c * source/compiler/hbpcode.c * source/compiler/hbstripl.c * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * source/vm/hvm.c * source/vm/macro.c * fixed compilation of code that uses '@' pass by reference. The following syntax is no longer supported: var := IIF( .T., @var, var ) however you can still use the following: funcall( IIF( bPassbyRef, @someVar, someVar ) ) +added support for the following statement: WITH OBJECT ... END inside this statement you can use simplified form of sending messages to the object specified by :message( ) instead objexpression:message() :property instead objexpression:property The runtime error will be generated at the time of message sending (or property access/assign) if is not a value of type object. You can use the reserved property: :__withobject to access/assign the controlling object. *fixed support for command line response file (@file.clp) to be compatible with Clipper (Clipper genertes a single obj file) *fixed memory leaks when there is a fatal error in autoopened module (using DO ... statement) *implicit startup functions are removed from the list of functions before generation of output code * source/pp/ppcomp.c * source/pp/pplib.c * source/pp/ppcore.c * redefinition of #define no longer causes a memory leak * fixed repeatable optional clauses #xcommand SET [, ] WITH => :=[; :=] * fixed compilation of optional clauses (when used in different order then declared) -this fixes the following long waiting bug: #command MYCOMMAND [] [MYCLAUSE ] => ; MyFunction( {} [, ] ) MYCOMMAND MYCLAUSE 321 "HELLO" * fixed restricted macro match marker * tests/Makefile - tests/pretest.prg + utils/hbpptest + utils/hbpptest/Makefile + utils/hbpptest/pretest.prg * moved file 'pretest.prg' from tests to separate directory to make easier validation of the preprocessor * TODO * added note to fix hb_objGetMethod() so it will not generate error if there is no method * doc/en/clipper.txt * added documentation for WITH OBJECT usage 2006-07-13 16:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rdd/dbtotal.prg % Unused variable removed, one other optimized out, other minor optimizations. ! Fixed not resetting the error block when used on a table containing Memo fields only. ! Fixed error when passing xFor parameter as a string. ! Set(_SET_CANCEL...) calls removed. + Formatting, added few comments, CA-Cl*pper differences. 2006-07-13 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/common.mak * harbour/source/rtl/Makefile + harbour/source/rtl/dbjoin.prg + added __dbJoin() - code by Pavel Tsarenko borrowed from xHarbour * harbour/source/rdd/dbtotal.prg + added __dbTransRec() and updated to use it like in Clipper Can someone tell me why we have Set( _SET_CANCEL, .f. ) in this function? * harbour/source/rtl/dummy.prg - removed __dbJoin() and __dbTransRec() Now only one function is defined here: __dbFList() I have no idea what it does - if someone knows then please implement it. * harbour/include/hbvm.h * harbour/source/vm/hvm.c * formatting * harbour/source/rdd/dbcmd.c * keep strict Clipper compatibility in DBCREATE() parameters * harbour/source/rdd/dbsort.prg * harbour/source/rdd/dbstrux.prg * harbour/source/rtl/dbdelim.prg * updated for strict Clipper DBCREATE() parameters 2006-07-13 12:27 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/hvm.c ! errorlevel changed to int from byte. * harbour/source/rtl/errorapi.c * Minor formatting. 2006-07-12 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbextern.ch - removed ORDCOND() - it's not normal function * harbour/include/ord.ch + added documented by CL5.3 NG but not implemented in Clipper pseudofunction ORDCOND() * harbour/source/rdd/dbcmd.c + added __dbOpenSDF() function In Clipper dbCreate() can receive also 6-th undocumented parameter: cDelim. In [x]Harbour this parameter is used for code page ID. I'd like you decide if we should move it and keep exact Clipper parameters. I'm also not sure if __dbOpenSDF() is the exact Clipper's name. In Clipper the name has only 10 characters __dbOpenSD() and this function is used to open for import DELIMITED and SDF files so maybe SD is not from SDF. Can anyone confirm it's valid name. Maybe we should remove the last F. * harbour/source/rdd/dbstrux.prg * small speed optimization * harbour/source/rtl/dbdelim.prg * added alternatice Clipper like version of __dbDelim(). It executes internally the same functions as Clipper - if someone has a while and can check if it works correctly giving the same as Clipper results then I'll be helpfull. * harbour/source/rtl/dummy.prg - removed ORDCOND() and __dbOpenSDF() * harbour/source/vm/arrays.c * minor optimization * harbour/source/vm/cmdarg.c * harbour/source/vm/itemapi.c * formatting 2006-07-12 12:24 UTC+0300 Chen Kedem * doc/en/rddmisc.txt * doc/en/rdddb.txt ! Fix the sample for AFIELDS() * Mark AFIELDS() as obsolete 2006-07-11 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/estack.c * minor optimizations * harbour/source/vm/itemapi.c * make hb_itemClear() safe for not allocated stack items 2006-07-10 20:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) By Marek Paliwoda: * harbour/makefile.vc + Generalized linker flags (LDFLAGS) and small exe generation improvements. 2006-07-10 13:29 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rdd/dbcmd.c ! AFIELDS() made fully CA-Cl*pper compatible. * harbour/contrib/libct/ctc.c ! Warning fixed. 2006-07-07 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbvmpub.h * harbour/source/vm/classes.c + added HB_ARRAY_OBJ() and changed HB_IS_OBJECT() to use it instead of HB_OBJ_CLASS() - it allows to use HB_IS_OBJECT() without including hbapicls.h 2006-07-07 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/libct/ctwfunc.c + added missing header note * harbour/include/hbapigt.h * harbour/include/hbgtcore.h * harbour/include/hbgtinfo.ch * harbour/source/rtl/gtapi.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtstd/gtstd.c * started basic modifications for multi CDP unicode screen buffer added hb_gtSetFlag(), removed hb_gt_SetCompatBuffer(), added GTI_STDOUTCON, GTI_STDERRCON, etc. * harbour/source/vm/arrays.c ! fixed bug I introduce recently in AEVAL and additional range checking * minor optimizations in ASCAN 2006-07-06 23:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ads1.c * synced with Toninho modifications in xHarbour: (! Inverted checking for memo data types, verifying binary first, to prevent freeze in some empty ADT tabes.) 2006-07-06 23:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + added usrrdd.ch * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + added hb_itemPutSymbol() * harbour/source/vm/hvm.c ! fixed HB_P_POPVARIABLE - it should work like HB_P_POPMEMVAR This Ron's code which illustrates it: PROCEDURE Main() USE Test First := First CLOSE ? First RETURN In practice it means that we do not need this PCODE at all and we should replace it in compiler by HB_P_POPMEMVAR and reuse it in the future for differ things. * harbour/source/vm/memvars.c * code cleanup * harbour/source/vm/runner.c ! fixed possible memory leaks when corrupted .hrb file is loaded 2006-07-05 20:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) - harbour/Common.mak + harbour/common.mak * harbour/make_b32.bat * harbour/make_vc.bat * harbour/makefile.bc * harbour/makefile.vc ! Filename casing correction. (fixed in two previous commits) ! Missing CVS ID added. (fixed in previous commit) ! Few minor formatting, typos fixed. + Few build envvars prefixed with HB_ (some renamed) * Few minor cleanups not related the actual make process. ; Thanks Marek for the great work. 2006-07-05 18:30 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl) - harbour/make_b16.bat - harbour/make_vc64.bat - harbour/mkbcdll.bat - harbour/hrbdll.bc - harbour/makefile.nt - harbour/makefile64.nt - harbour/hrbdll.vc - removed no more needed files * harbour/makefile.bc * harbour/makefile.vc * harbour/make_b32.bat * harbour/make_vc.bat * totaly rewritten to support sharing common file lists, automatic DLL creation and using implicit rules as a default approach + harbour/Common.mak + common file lists and definitions shared between Bcc and Msc makefiles TODO : add automatic building of contrib libs/dll(s) 2006-07-04 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/source/vm/estack.c - removed hb_stackTopItem() + added hb_stackItemBasePtr(), hb_stackAllocItem() * changed the item initialization/clearing in push/pop operation Now only complex item are cleared and it's not guaranteed that the top item will be set to NIL. In fact it was not guarantied even before my modifications. You coule be sure only that the allocated item will not be complex one and you can safely pass pointer to it to any other functions. It allow to clean a little bit some code and remove redundant and repeated setting HB_IT_NIL for allocated items. Now using hb_stackPush() can be necessary only in some very seldom cases. hb_stackAllocItem() allocates new item and returns pointer to this item. After some code cleaning hb_stackPush() is not used by core Harbour code at all so if you have it in your sources then please check if you should not update them. * harbour/source/rdd/usrrdd/usrrdd.c * use hb_vmPushNil() instead of hb_stackPush() * harbour/source/vm/arrays.c * changed hb_arrayNew() to be safe for automatic GC activation * some minor speed improvement * harbour/source/vm/codebloc.c * changed hb_codeblockNew() and hb_codeblockMacroNew() to be safe for automatic GC activation * harbour/source/vm/debug.c * use only stack function/macros instead of direct accessing hb_stack I hope that I haven't break anything. * harbour/source/vm/hvm.c ! use hb_stackAllocItem() instead of hb_stackTopItem() to make our HVM reentrant safe. This modifications also fixed some possible bugs which could be exploited by other modules which have to execute .prg code - f.e. in RDD when relation codeblock has to be executed to position record in fieldget/fieldput operations. * harbour/source/vm/itemapi.c * harbour/source/vm/memvars.c * use hb_stackAllocItem() The above modifications finish stack usage and making our HVM reentrant safe. There is only one thing which have to be fixed yet. It's HVM support for xbase++ syntax in things like: func(&), aVal[&], {&} To fix it we will have to change PCODE generated by compiler and replace some PCODEs used for current code by the new one. I will wait with this modifications for Ryszard. With the above exception now we are ready to implement destructors, add automatic GC and begin to work on MT though before that I'd like to clean the RT error support. Please carefully check if all is correct. It was modification in core code and even small typo can break whole application. 2006-06-29 08:25 UTC+0200 Tomaz Zupan (tomaz.zupan at orpo.si) * harbour.spec * Added libusrrdd.a to rpm files 2006-06-29 00:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * harbour/include/hbgtcore.h * use HB_FUNC*() macros * harbour/source/rdd/dbcmd.c ! added fix for GPF in APPEND FROM when source file has repeated fields with the same names. 2006-06-29 00:02 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * harbour/makefile.nt * harbour/makefile64.nt + Added gtclip.c file + Added gtdef.c file + Added gttone.c file * harbour/rtl/gttone.c + added Microsoft requested header file. 2006-06-28 22:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * xharbour/bin/pack_src.sh + added USRRDD 2006-06-28 15:46 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/config/w32/mingw32.cf ! One minor fix and another minor correction made after testing the Win9x branch. 2006-06-28 09:29 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * harbour/makefile.bc + Added gtdef.c file 2006-06-28 07:59 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/config/w32/mingw32.cf % Removed Windows system libs we don't need to link in Harbour. 2006-06-28 02:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c - removed forgotten printf() used as debug message * harbour/source/rtl/gtgui/gtdef.c * register "GUI" GT as default one by executing hb_gtSetDefault( "GUI" ) at startup 2006-06-28 01:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/w32/mingw32.cf * create LD scripts for W9x 2006-06-27 23:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/memvars.c * indenting * harbour/include/hbrddcdx.h * harbour/include/hbrdddbf.h * harbour/include/hbrdddbt.h * harbour/include/hbrddfpt.h * harbour/include/hbrddntx.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * remove SYSNAME() method - use the default WA one. * harbour/source/vm/hvm.c ! fixed last C stack usage of HB_ITEM - now HVM should be cleaned and we begin to implement automatic GC activation * harbour/config/w32/mingw32.cf * updated for current xHarbour state - not tested but I guess it works for Lorenzo 2006-06-27 19:45 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/config/w32/mingw32.cf ! Fix to make it work in environments where "gcc @__lib__.tmp" construct is not possible. The "@" expansion is done by gcc when using Cygwin, but it's not done (and left to the shell, which doesn't do it either when using CMD/COMMAND) when using plain MinGW. 2006-06-27 19:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbexpra.c * harbour/include/hbexprb.c * indenting * harbour/source/vm/hvm.c * harbour/source/vm/macro.c ! fixed HB_P_MACROPUSHINDEX - removed hb_vm_iExtraIndex - fixed GPF in direct uninitialized HB_ITEM usage - make it safe for HVM reentrant and pending RT errors There is a set of global hb_vm*Extra* variables which tries to extend HVM by adding some additional registers to it. This code does not work as it should even know and it's absolutely not reentrant safe. It will have to be fixed before we will have .prg destructor and MT support. As I can see the same problems has xHarbour. 2006-06-27 10:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/proc.c + added BOOL hb_procinfo( int iLevel, char * szName, USHORT * puiLine, char * szFile ) * harbour/include/hbstack.h * harbour/source/vm/estack.c + added hb_stackTotalItems(), hb_stackDateBuffer(), hb_stackGetStaticsBase(), hb_stackSetStaticsBase(), hb_stackBaseProcInfo() * harbour/source/vm/garbage.c * indenting * harbour/source/vm/classes.c * harbour/source/vm/codebloc.c * harbour/source/vm/extend.c * harbour/source/vm/fm.c * harbour/source/vm/hvm.c * replaced direct stack access by stack functions/macros * harbour/source/vm/debug.c * removed hb_stackLenGlobal() and replace it by hb_stackTopOffset() Warning!!! hb_stackTopOffset() returnes results smaller by 1. The TOP stack item is undefined and should not be accessed by debuger. * changed HB_DBG_VMSTKGLIST() to operate on functions/macros. It's possible that the above will badly interact with core debugger code so I stop farther modifications leaving them for someone who knows debugger core code. 2006-06-26 16:35 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/garbage.c * changed hb_gcUnregistedSweep to static function * fixed handling of sweeper functions * there is no need to call hb_UnregisterSweep - this is done automatically inside hb_gcFree and during garbage collecting 2006-06-26 15:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtgui/Makefile * harbour/source/rtl/gtgui/gtgui.c + harbour/source/rtl/gtgui/gtdef.c + added GT version info * modified the hack which overwrite the default GT name Now original GTGUI is always present and only separate file add linker bindings. It will be cleaner solution which will allow to use REQUEST HB_GT_GUI in valid programs and libraries. * harbour/source/rtl/gtwin/gtwin.c * indenting * harbour/source/vm/garbage.c * minor modification: use HB_GC_PTR() to take HB_GRABAGE pointer + added alternate code for sweep function execution - disabled by default, maybe it will be used when we agree the sweep function behavior * harbour/contrib/rdd_ads/ads1.c * BCC warnings clean-up - synced with xHarbour * harbour/source/rtl/empty.c * added HB_IT_SYMBOL 2006-06-26 14:27 UTC+0300 Chen Kedem * doc/en/var.txt + Add the types Pointer and Symbol to TYPE() and VARTYPE() 2006-06-26 12:55 UTC+0100 Ryszard Glab * TODO * assigned SQLRDD to me * source/compiler/harbour.c * source/compiler/harbour.y * fixed one more warning (function with no RETURN) in cases: IF tmp>0 RETURN 1 ELSE RETURN 0 ENDIF * include/hbapi.h * source/vm/garbage.c * fixed to call hb_gcUnregisterSweep before the memory block clean-up 2006-06-25 08:32 UTC+0300 Chen Kedem * TODO * Change one assignment from Przemek to Ryszard 2006-06-23 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtgui/Makefile * harbour/source/rtl/gtgui/gtgui.c * hacked GTGUI for W32 to be compiled using the same name as RTL default GT driver (GTWIN). * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * changed 'char *' to 'const char *' in hb_gtSetDefault(), hb_gtLoad() 2006-06-22 21:41 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/makefile.bc * Fix to prev. 2006-06-22 19:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/errorsys.prg ! Fixed to use OutErr() instead of QOut() for CA-Cl*pper compatibility. (Thanks Chen) ! Fixed to set ErrorLevel to 1 in case of a RT error. (this was once removed by me as a fix about 7 years ago, but I can't remember what was the reason. It looks to be a wrong fix back then.) * harbour/utils/hbtest/rt_array.prg * Removed one codeblock unused var warning. 2006-06-22 17:28 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/makefile.bc * Updated for latest changes. 2006-06-22 16:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/Makefile + harbour/source/rtl/gtclip.c + harbour/source/rtl/gttone.c * harbour/include/hbgtcore.h * separated low level TONE and ClipBoard code for W32 new functions: hb_gt_w32_Tone() hb_gt_w32_SetClipboard() hb_gt_w32_GetClipboard() Please update non GNU make files * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwvt/gtwvt.c * use hb_gt_w32_*() for common GT code * harbour/config/w32/global.cf + harbour/source/rtl/gtgui/Makefile + harbour/source/rtl/gtgui/gtgui.c + added GTGUI GT driver - it inherits from GTNUL and add support for TONE and CLIPBOARD 2006-06-22 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c + hb_objSendMessage( PHB_ITEM pObj, PHB_DYNS pMessage, ULONG ulArg, ... ) * code clean-up * harbour/source/rtl/do.c * removed old not longer necessary code - thanks to Chen. * harbour/source/vm/runner.c * added one TODO note * harbour/source/rtl/gtstd/gtstd.c * try to enable raw mode for console stdin in W32 * harbour/source/rdd/dbfntx/dbfntx1.c * code clean-up 2006-06-22 11:58 UTC+0300 Chen Kedem * TODO * Modify to include latests TODO and TOFIX entries, removed completed tasks. * doc/gtapi.txt + Add a section by Przemyslaw Czerpak (druzus/at/priv.onet.pl) "How to get rid of unwanted console in Windows GUI applications" 2006-06-22 10:55 UTC+0100 Ryszard Glab * harbour.spec * include/hbver.h * updated to set version 0.46.2 * include/hbapi.h * source/vm/garbage.c + added possibility to register a sweep function that will scan memory block allocated with hb_gcAlloc * source/compiler/harbour.c * source/compiler/harbour.y * fixed 'unreachable code' warning in IF/ELSEIF * fixed 'variable unused' warnings when -w3 switvh was used 2006-06-22 00:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/include/common.ch * harbour/source/debug/dbghelp.prg * harbour/source/debug/dbgmenu.prg * harbour/source/debug/dbgtarr.prg * harbour/source/debug/dbgtobj.prg * harbour/source/debug/dbgwa.prg * harbour/source/debug/debugger.prg * harbour/source/rdd/dbupdat.prg * harbour/source/rtl/achoice.prg * harbour/source/rtl/checkbox.prg * harbour/source/rtl/dbedit.prg * harbour/source/rtl/getsys.prg * harbour/source/rtl/listbox.prg * harbour/source/rtl/persist.prg * harbour/source/rtl/pushbtn.prg * harbour/source/rtl/radiobtn.prg * harbour/source/rtl/tbcolumn.prg * harbour/source/rtl/tbrowse.prg * harbour/source/rtl/tclass.prg * harbour/source/rtl/teditor.prg * harbour/source/rtl/tget.prg * harbour/source/rtl/tgetlist.prg * harbour/source/rtl/tlabel.prg * harbour/source/rtl/treport.prg * harbour/utils/hbdoc/genchm.prg * harbour/utils/hbdoc/genhtm.prg * harbour/utils/hbdoc/genng.prg * harbour/utils/hbdoc/genos2.prg * harbour/utils/hbdoc/genrtf.prg * harbour/utils/hbdoc/gentrf.prg * harbour/utils/hbdoc/html.prg * harbour/utils/hbdoc/ng.prg * harbour/utils/hbdoc/os2.prg * harbour/utils/hbdoc/rtf.prg * harbour/utils/hbmake/checks.prg * harbour/utils/hbmake/hbmake.prg * harbour/utils/hbmake/hbmutils.prg * harbour/utils/hbmake/radios.prg * harbour/utils/hbtest/rt_hvm.prg + HB_SYMBOL_UNUSED() added for .prg code. It can suppress unused var warnings where applicable. The code won't generate any final pcodes, so it won't cause overhead. The only current downside is that it cannot be used inside codeblocks. ! Fixed a number (>200) of declared but unused variable /w2 error. All parts were scanned and fixed (except contrib). Note that there are several false "unreachable code" warnings, and there are still quite a few unused var warnings inside codeblocks. After fixing these /w2 switch could be added to the standard build process to maintain code quality. 2006-06-21 00:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/w32/dir.cf + added EOL at EOF * harbour/config/w32/global.cf * changed clean and dirbase commands to work cleanly with CMD.EXE * harbour/source/rtl/gtwin/gtwin.c * always try to allocate console + added workaround for MSYS console which does not support WriteConsoleOutput()/ReadConsoleInput() * harbour/source/rtl/gtwvt/gtwvt.c * changed default codepage to OEM 2006-06-20 17:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/classes.c ! fixed memory leak when CLASSSEL() message was sent to non object item 2006-06-20 14:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c ! fixed typo in function name should be hb_objHasMessage() 2006-06-20 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c + added hb_objHasMesage( PHB_ITEM pObject, PHB_DYNS pMessage ) + added hb_objGetpMethod() for backward binary compatibility with FWH * hidden for 3-rd party users hb_objGetMethod() and hb_objPopSuperCast() If for some reason 3-rd party code will need these methods please tell me in which case and I'll add necessary functions. Please try to not use any non-public function. I strongly prefer to add new public functions for which we will know that they are used by 3-rd party code then create problems with binary compatibility after updating local HVM functions. 2006-06-20 11:33 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/gtwin/gtwin.c ! Stupid bug fixed in prev commit. 2006-06-20 09:45 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwxt/gtwxt.c ! Possible (double) fix to properly handle embedded zero bytes when getting clipboard content. 2006-06-20 08:55 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/gtwin/gtwin.c + Copied Windows Clipboard support from the GTWVT driver. So now it is available in Win32 console apps too. (Thanks Przemek for the functions and instructions). Set/Get the Clipboard using: hb_GTInfo( GTI_CLIPBOARDDATA[, ] ) 2006-06-20 02:37 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/rtl/tbrowse.prg ! Fixed TBrowseNew() not initializing :skipBlock() ! Fixed TBrowse:skipBlock() (throwing proper error, NIL parameter behaviour, parameter checking) 2006-06-19 23:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + added hbapicls.h * harbour/include/hbapi.h * harbour/source/vm/garbage.c * added some testing macros * harbour/include/hbmath.h * HB_MATH_ERRNO enabled for MINGW build. Seems that MinGW doesn't activate math error handler and only sets errno * harbour/include/hbtypes.h * harbour/source/vm/maindllp.c ! fixed VM_PROCESS_SYMBOLS_EX definition * cleaned a little bit code to not return uninitialized values when original function cannot be detected * harbour/source/compiler/genc.c * minor modifications * harbour/source/rtl/math.c ! fixed possible memory leak * indenting * harbour/source/vm/classes.c ! fixed possible GPF in __GETMSGPRF * use only one function for method name hashing * harbour/source/vm/hvm.c * minor fix 2006-06-17 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h + added extern hb_comp_szFile * harbour/include/hbinit.h * changed hb_vmProcessSymbolsExt() to hb_vmProcessSymbolsEx() respecting Mindaugas suggestion. + added HB_INIT_SYMBOLS_EX_END() macro * translate HB_INIT_SYMBOLS_END() macro to HB_INIT_SYMBOLS_EX_END() * harbour/include/hbsetup.h + added HB_PCODE_VER_MIN and HB_PCODE_VER both now are set to 0x0001 * harbour/include/hbtypes.h * changed VM_PROCESS_SYMBOLS_EXT to VM_PROCESS_SYMBOLS_EX * harbour/include/hbvm.h + added hb_vmFindModuleSymbolName() - it returns the file name of given symbol if it was registered in HVM * harbour/source/compiler/genc.c * set HB_FS_LOCAL for local module functions * use HB_INIT_SYMBOLS_EX_END instead of HB_INIT_SYMBOLS_END * harbour/source/compiler/harbour.c * minor modifications * harbour/contrib/rdd_ads/ads1.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * added HB_FS_LOCAL to function symbols in registered symbol tables * harbour/source/rdd/dbfntx/dbfntx1.c * added HB_FS_LOCAL to function symbols in registered symbol tables ! added missing break + added DBOI_KEYCOUNTRAW, DBOI_KEYNORAW. They works like DBOI_KEYCOUNT and DBOI_KEYNO in pure DBFNTX. Only with some upper level RDDs like RMDBFNTX which supports bit map filters they can return differ results. * harbour/source/rdd/workarea.c * changed ORDERINFO to DBORDERINFO in error message * harbour/source/rtl/set.c * respect previous settings in logical SETs if given value is not valid new one. + added misinf initialization for _SET_FORCEOPT and _SET_HARDCOMMIT. * changed default value of _SET_OPTIMIZE to TRUE * harbour/source/vm/dynsym.c * give the highest priority for LOCAL function symbols * harbour/source/vm/hvm.c + added hb_vmFindModuleSymbolName() - it returns the file name of given symbol if it was registered in HVM * changed hb_vmProcessSymbolsExt() to hb_vmProcessSymbolsEx() and added PCOE version checking * harbour/source/vm/maindllp.c * changed hb_vmProcessSymbolsExt() to hb_vmProcessSymbolsEx() * changed VM_PROCESS_SYMBOLS_EXT to VM_PROCESS_SYMBOLS_EX * harbour/source/vm/proc.c * changed to use stack macros/functions instead of direct accessing HB_STACK members + implemented PROCFILE() - it returns now real source file name with body of given function symbol or function executed at given stack level. If the source file cannot be detected then empty string is returned. Unlike in xHarbour it works also for static functions. synatx: PROCFILE( [ | ] ) F.e.: PROCFILE() -> current module name PROCFILE(@DBFCDX()) -> ../../dbfcdx1.c 2006-06-16 01:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/source/vm/arrays.c * added hb_arraySelfParams() * harbour/include/hbapierr.h * harbour/source/rtl/errorapi.c + added HB_ERR_ARGS_SELFPARAMS for automatic setting as argument list array with self item and passed parameters * harbour/source/rtl/copyfile.c * harbour/source/rtl/str.c * harbour/source/rtl/strtran.c * harbour/source/rtl/strzero.c * harbour/source/rtl/substr.c * harbour/source/vm/arrayshb.c * harbour/source/vm/classes.c * harbour/source/vm/evalhb.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c * use HB_ERR_ARGS_BASEPARAMS in generated RT messages * harbour/source/rtl/fstemp.c * formatting * harbour/source/vm/hvm.c ! added some missing operator overloading ! fixed some error messages to be Clipper compatible ! fixed FOR loop for nonnumerical value and STEP, f.e.: FOR d := date() TO date() + 10 step 2 ? d NEXT * added disabled code to support reverted FOR condition like in Clipper. See below. * harbour/source/compiler/harbour.y * added disabled code to generate reverted FOR condition like in Clipper. I cannot uncomment it because it will break backward binary compatibility so I'll do that when some modification will force PCODE version updating. Enabling this code clean the following errors reported by hbtest: ! 2907 MAIN_MISC(200) TFORNEXT( NIL, NIL, NIL ) Result: "E BASE 1074 Argument error <= A:2:U:NIL;U:NIL F:S" Expected: "E BASE 1075 Argument error > A:2:U:NIL;U:NIL F:S" ! 2919 MAIN_MISC(212) TFORNEXT( NIL, NIL, NIL ) Result: "E BASE 1074 Argument error <= A:2:U:NIL;U:NIL F:S" Expected: "E BASE 1075 Argument error > A:2:U:NIL;U:NIL F:S" 2006-06-15 18:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/usrrdd/usrrdd.c + added functions to set WorkArea flags USRRDD_SETBOF, USRRDD_SETEOF, USRRDD_SETFOUND, USRRDD_SETTOP, USRRDD_SETBOTTOM * harbour/include/hbapierr.h + added HB_ERR_ARGS_BASEPARAMS * harbour/source/rtl/errorapi.c ! check if ARGS passed to __ERRRT_BASE() and __ERRRT_SBASE() are valid to avoid possible GPF * replaced old hack with passing ARGS in array for some chosen errors by HB_ERR_ARGS_BASEPARAMS in hb_errRT_BASE and hb_errRT_BASE_SubstR - it was impossible to generate Clipper compatible error message * harbour/source/rtl/do.c * use HB_ERR_ARGS_BASEPARAMS * harbour/source/rtl/tobject.prg * assign SELF to ARGS of error object when EG_NO[VAR]METHOD RT error is generated - Clipper compatible. * harbour/source/vm/classes.c * added __msgNoMethod which is returned to hb_vmSend when object does not support requested message. This handler can display previous Harbour error message though now it's disabled and Clipper compatible error message is generated. I leave the decision to Harbour users which version of error message should be used. * changed __msgClsSel to return variable size array with only valid items If some code needs fixed size array then it will have to be updated * harbour/source/vm/hvm.c * generate Clipper compatible error messages for EG_NO[VAR]METHOD and EG_NOFUNC. Please do not change it. If you want previous Harbour error messages for EG_NO[VAR]METHOD then please change __msgNoMethod in classy.c * harbour/source/vm/arrays.c * minor modification 2006-06-14 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapiitm.h + added missing declaration of hb_itemPutPtrGC() 2006-06-14 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/linux/dir.cf * harbour/config/linux/gcc.cf * formatting * harbour/config/linux/global.cf * harbour/config/linux/install.cf * added -ldl to linked library list and RANLIB executing after library creation * harbour/contrib/ole/ole2.c * added #include "hbapicls.h" + harbour/include/hbapicls.h * harbour/include/hbapi.h + added HB_IT_ENUM item + added collect member to HB_IT_POINTER structure for POINTER items inspected by GC * changed the order of HB_CODEBLOCK members to safe few bytes on alignment * removed counters from HB_CODEBLOCK and HB_BASEARRAY structure + added hb_xRefInc(), hb_xRefDec(), hb_xRefFree(), hb_xRefCount(), hb_xRefResize() functions. They are internal Harbour VM functions and covered by internal API macro. Should not be used by 3-rd party code because we may change them in the future or even remove. + added hb_gcRefInc(), hb_gcRefDec(), hb_gcRefFree(), hb_gcRefCount() functions. These are also internal function which corresponds to the above hb_x*() ones. - removed hb_arrayRelease() function. This function is not longer necessary and it should never be public function - it was implemented in very dangerous way. - removed hb_codeblockDelete() function. - removed hb_memvarValueDecGarbageRef() + added USHORT usLen parameter to hb_codeblockMacroNew() - when sets to non 0 value it informs that PCODE should be copied to dynamically allocated buffer. * moved all classes/object functions to separate file: hbapicls.h + added hb_retptrGC() + added internal function hb_memvarGetItem() * harbour/include/hbapiitm.h - removed hb_itemForwardValue() and added macro which translates hb_itemForwardValue() to hb_itemMove() + added hb_itemUnShareString() and hb_itemReSizeString() functions + added hb_itemSetNil() macro * harbour/include/hbdefs.h * some cleanups in macro definitions * harbour/include/hbexprb.c * indenting * harbour/include/hbvm.h * harbour/include/hbinit.h + added hb_vmProcessSymbolsExt(), hb_vmRegisterSymbols(), hb_vmFreeSymbols(), hb_vmBeginSymbolGroup(), hb_vmInitSymbolGroup(), hb_vmExitSymbolGroup() * changed hb_vmProcessSymbols() to return address of register symbol table. For normal code it's the same address as given in parameter so it does not break backward binary compatibility. * changed symbol init macros to work correctly with modified address of symbol table * harbour/include/hbsetup.h * added support for HB_USE_PROFILER macro. Now profiler code is is disable in HVM by default * commented out HB_ASORT_OPT_ITEMCOPY - it's not longer used - see note. * harbour/include/hbstack.h * added missing parenthesis in hb_stackItem() macro * harbour/include/hbtypes.h * updated VM_PROCESS_DLL_SYMBOLS definition + added VM_PROCESS_SYMBOLS_EXT - removed HB_ARRAYRELEASE * harbour/include/hbver.h * changed revision number to 2 * harbour/include/hbvmpub.h - remove pFunPtr from HB_DYNS and cover profiler member by #ifndef HB_NO_PROFILER + added HB_PCODEFUNC structure + added HB_FS_PCODEFUNC, HB_FS_DYNCODE and HB_FS_LOCAL - the last one is not used yet. * harbour/include/hbxvm.h * added some multipcode functions for some speed optimization in -gc3 output * harbour/include/hbapicdp.h * harbour/source/codepage/cpbg866.c * harbour/source/codepage/cpbgiso.c * harbour/source/codepage/cpbgwin.c * harbour/source/codepage/cpeldos.c * harbour/source/codepage/cpelwin.c * harbour/source/codepage/cpesdos.c * harbour/source/codepage/cpesmwi.c * harbour/source/codepage/cpeswin.c * harbour/source/codepage/cpgedos.c * harbour/source/codepage/cpgewin.c * harbour/source/codepage/cphu852.c * harbour/source/codepage/cphuiso.c * harbour/source/codepage/cphuwin.c * harbour/source/codepage/cppl852.c * harbour/source/codepage/cppliso.c * harbour/source/codepage/cpplmaz.c * harbour/source/codepage/cpplwin.c * harbour/source/codepage/cppt850.c * harbour/source/codepage/cpptiso.c * harbour/source/codepage/cpru866.c * harbour/source/codepage/cprukoi.c * harbour/source/codepage/cpruwin.c * harbour/source/codepage/cpsl437.c * harbour/source/codepage/cpsl852.c * harbour/source/codepage/cpsliso.c * harbour/source/codepage/cpslwin.c * harbour/source/codepage/cpsrwin.c * harbour/source/common/hbfhnd.c * harbour/source/common/hbstr.c * harbour/source/common/hbver.c * harbour/source/compiler/gencli.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/hbgtcore.c * harbour/source/rtl/langapi.c * harbour/source/rtl/gtalleg/gtalleg.c * harbour/source/rtl/gtalleg/ssf.h * harbour/source/rtl/gtcgi/gtcgi.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/rtl/gtwin/gtwin.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/rtl/gtxwc/gtxwc.c * cleaned the code to avoid warnings for some non ANSI C constructions * harbour/source/compiler/cmdcheck.c * formatting * harbour/source/compiler/gencc.c * added some multipcode optimizations * harbour/source/compiler/genc.c * keep function name set by compiler for static initstatics * harbour/source/compiler/harbour.c * extend init statics name with the number of used static variables * formatting * harbour/source/compiler/hbusage.c + added my name to developers list - I hope that there is enough of my code in Harbour (BTW for quite long time) ;-) * harbour/source/rdd/dbcmd.c - removed DBF2TEXT() function * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * generate RT error when someone tries to create DBF with memo fields without MEMO RDD linked. * harbour/source/rtl/errorapi.c * replace all hb_vmDo() with hb_vmSend() * harbour/source/rtl/math.c * use hb_errPutArgs() to pass parameters to error object * harbour/source/rtl/philes.c * harbour/source/rtl/space.c * harbour/source/rtl/strpeek.c * some minor optimizations * harbour/source/vm/arrays.c - removed hb_arrayRelease() function. * changed hb_arrayReleaseGarbage() to be safe for recursive call * updated to use GC counters * harbour/source/vm/arrayshb.c * use stack function/macros instead of direct accessing HB_STACK members * harbour/source/vm/asort.c * removed unused HB_ASORT_OPT_ITEMCOPY * harbour/source/vm/classes.c * added class code from HVM % added fast overloaded operator detection and execution + added hb_objHasOperator(), hb_objOperatorCall() + added separated overloading of "=" and "==" operators * operate on PHB_SYMB not PHB_FUNC - support for pure PCODE function without any machine code * use stack function/macros instead of direct accessing HB_STACK members * separated profiler code * some code cleaning * harbour/source/vm/codebloc.c + added USHORT usLen parameter to hb_codeblockMacroNew() - when sets to non 0 value it informs that PCODE should be copied to dynamically allocated buffer. * updated to use GC counters - removed hb_codeblockDelete() function. * changed hb_codeblockDeleteGarbage() to be safe for recursive call - removed restoring statics base in hb_codeblockEvaluate() * harbour/source/vm/debug.c * cleaned and optimized some code * harbour/source/vm/dynlibhb.c + added support for loading and unloading dynamic libraries with PCODE + added support for dynamic libraries in Linux (.so) + added HB_LIBERROR() - returns error string with last error in HB_LIBLOAD() - now works only in Linux * harbour/source/vm/dynsym.c * separated profiler code + use pDynSym->pSymbol->value.pFunPtr instead of pDynSym->pFunPtr * harbour/source/vm/estack.c + added #include "hbapicls.h" + added hb_stackPushReturn(), hb_stackPopReturn() * harbour/source/vm/eval.c * harbour/source/vm/extend.c * use stack function/macros instead of direct accessing HB_STACK members + added hb_retptrGC() * harbour/source/vm/fm.c + added hb_xRefInc(), hb_xRefDec(), hb_xRefFree(), hb_xRefCount(), hb_xRefResize() functions. They are internal Harbour VM functions and covered by internal API macro. Should not be used by 3-rd party code because we may change them in the future or even remove. * harbour/source/vm/garbage.c + added hb_gcRefInc(), hb_gcRefDec(), hb_gcRefFree(), hb_gcRefCount() functions. These are also internal function which corresponds to the above hb_x*() ones. * changed Step 3 of GC pass and execution of clean-up function to be safe for recursive calls and additional activity. Ryszard see my note and s_pDeletedBlock + added GC inspected HB_IT_POINTER items. * harbour/source/vm/hvm.c * separated profiler code * separated class code from HVM + added support for loading and unloading libraries with PCODE modules + added support for pure PCODE functions + added support for string item resizing and preallocating string buffer + added some new multipcode functions for -gc3 optimization + added hb_vmProcessSymbolsExt(), hb_vmRegisterSymbols(), hb_vmFreeSymbols(), hb_vmBeginSymbolGroup(), hb_vmInitSymbolGroup(), hb_vmExitSymbolGroup() * changed hb_vmProcessSymbols() to return address of register symbol table. For normal code it's the same address as given in parameter so it does not break backward binary compatibility. + use new code for operator overloading * changed FOR EACH to dynamically check iteration scope in hb_vmEnumNext()/hb_vmEnumPrev() and remove max number of iteration stored on HVM stack * temporary use hb_itemUnRefOnce() instead of hb_itemUnRefRefer() as workaround for possible GPF. I'd like Ryszard will chose the final version * harbour/source/vm/itemapi.c + added support for preallocating string buffer size + added hb_itemUnShareString() and hb_itemReSizeString() * updated string items to use counters allocated with each memory block by xh_xgrab()/hb_xalloc() * updated codeblock and array items to use GC reference counters + added GC inspected HB_IT_POINTER items. * generate RT error in hb_itemUnreOnce() for enumerator items out of scope + added hb_itemPutPtrGC() * harbour/source/vm/macro.c * use pDynSym->pSymbol->value.pFunPtr instead of pDynSym->pFunPtr * harbour/source/vm/maindllp.c * updated usage of hb_vmProcessSymbols() * added hb_vmProcessSymbolsExt() * harbour/source/vm/memvars.c + added hb_memvarGetItem() - removed hb_memvarValueDecGarbageRef() * harbour/source/vm/proc.c + added #include "hbapicls.h" * harbour/source/vm/pvalue.c * do not access stack structure directly but use hb_stack*() functions (macros) * harbour/source/vm/runner.c * synced with xHarbour * harbour/utils/hbtest/rt_misc.prg * added overloading "=" operator. Now "==" and "=" can be overloaded with different methods All names I used for new functions/macros can be changed. Please look at it and if you will some better propositions then we can use it. hb_vmProcessSymbolsExt() is added but not used yet. 2006-06-07 16:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbrddcdx.h * harbour/include/hbrdddbf.h * harbour/source/rdd/dbcmd.c * harbour/source/rdd/delim1.c * harbour/source/rdd/dbffpt/dbffpt1.c * cleaned // comments and some compiler warnings * harbour/include/dbinfo.ch * harbour/source/rdd/dbf1.c ! fixed setting [V]FP DBF table type * harbour/source/vm/arrays.c ! fixed ADEL() to clear last element % optimized a little bit AINS() - use hb_itemMove() instead of hb_itemCopy() 2006-06-05 20:30 UTC+0200 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc * added references for USRRDD.LIB 2006-06-04 18:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h * use i64 suffix for BCC 3.0 and higher for long long int * harbour/source/rtl/dummy.prg * harbour/source/rdd/dbcmd.c * added undocumented Clipper function: __dbTrans() __dbOpenSDF() and __dbJoin() I'll commit soon. There is also __dbTransRec() in dummy.prg but I cannot find any information about this function and its parameters in GOOGLE. If someone knows what is this functions syntax and can Inform me then I'll implement it. I guess it's a wrapper to TRANSREC() RDD method. * harbour/source/rdd/dbf1.c * DBI_LOCKOFFSET now returns DBF record lock offset really used (f.e. updated in FP locking after open/close production index) * harbour/source/rdd/delim1.c * cleaned BCC warning * harbour/source/rdd/dbfcdx/dbfcdx1.c ! updated internal production index flag after manual opening production index 2006-06-02 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * harbour/config/global.cf + harbour/include/usrrdd.ch + harbour/source/rdd/usrrdd/Makefile + harbour/source/rdd/usrrdd/usrrdd.c + harbour/source/rdd/usrrdd/rdds/Makefile + added USRRDD library. It allows to create new RDD from scratch or by inheriting from any other RDDs (except USRRDDs) and overloading any of their methods at .prg level. I hope you will find a lot of fun in creating your own RDDs. I wanted to create more examples and added some documentation but I do not have time for it now - sorry. Try to look at examples below and if you need some more detail information then look at Clipper's NG Technical Reference Guide or ask me. I'll try to help. Two RDDs which seems to be requested by users are ARRAY RDD and OLE RDD. I hope that some of you implement them. + harbour/source/rdd/usrrdd/rdds/dbtcdx.prg * Very simple RDD DBTCDX which inherits from DBFCDX and set default memo type to DBT, see exmemo.prg as an example. + harbour/source/rdd/usrrdd/rdds/fptcdx.prg * Very simple RDD FPTCDX which inherits from DBFCDX and set default memo type to FPT, see exmemo.prg as an example. + harbour/source/rdd/usrrdd/rdds/smtcdx.prg * Very simple RDD SMTCDX which inherits from DBFCDX and set default memo type to SMT, see exmemo.prg as an example. + harbour/source/rdd/usrrdd/rdds/fcomma.prg * A simple RDD which uses HB_F*() functions from MISC library to access CSV files. It allow to open an CSV file and navigate using SKIP()/GOTO()/GOTOP()/GOBOTTOM() functions using BOF()/EOF()/RECNO()/LASTREC() to check current state. HB_F*() functions does not support single field access and allow to read only the whole line. This RDD also. I only added one virtual field which exist in all tables open by this RDD called LINE which contains the current .csv file line. + harbour/source/rdd/usrrdd/rdds/hscdx.prg * A simple RDD which adds automatically update HSX indexes to DBFCDX To create new HSX index for current work area use: HSX_CREATE() To open already existing one use HSX_OPEN(), To close use: HSX_CLOSE() To retieve an handle use: HSX_HANDLE() + harbour/source/rdd/usrrdd/rdds/rlcdx.prg * A simple RDD which introduce lock counters. It has full DBFCDX functionality from which it inherits but if you execute DBRLOCK(100) twice then you will have to also repeat call to DBRUNLOCK(100) to really unlock the record 100. The same if for FLOCK() This idea comes from one of messages sent by Mindaugas Kavaliauskas. + harbour/source/rdd/usrrdd/example/exfcm.prg * example of using FCOMMA RDD + harbour/source/rdd/usrrdd/example/exhsx.prg * example of using HSCDX RDD + harbour/source/rdd/usrrdd/example/exrlx.prg * example of using RLCDX RDD + harbour/source/rdd/usrrdd/example/exmemo.prg * example of using DBTCDX, FPTCDX and SMTCDX RDDs 2006-06-02 14:15 UTC+0100 Ryszard Glab * harbour.spec * include/hbver.h * updated to set version 0.46.1 for build46 2006-06-02 14:00 UTC+0100 Ryszard Glab * include/hbexpra.c * source/compiler/expropta.c * fixed bug in GET var[ any_one_dim_index ] * source/pp/ppcore.c * fixed BCC warning NOTICE: The above files are retagged to 'build46' 2006-05-31 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c ! fixed default RDD seting in APPEND FROM / COPY TO 2006-05-31 13:45 UTC+0200 Tomaz Zupan (tomaz.zupan at orpo.si) * harbour.spec * Added Mandriva to recognised distros * Sinchronised version with harbour/include/hbver.h 2006-05-30 18:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/sdf1.c * cleaned BCC warning * harbour/source/rdd/delim1.c ! fixed BCC compilation (string initialization with dynamic values is forbidden by BCC) 2006-05-30 12:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbver.h * changed version number and ChangeLog entry * harbour/make_tgz.sh ! fixed creating PP in DJGPP builds * harbour/contrib/dot/pp.prg ! minor fix in parameter checking * harbour/contrib/libmisc/hb_f.c ! fixed bug in record numbering after reaching EOF position and backward skipping * harbour/include/hbrdddel.h * harbour/source/rdd/delim1.c + implemented DELIM RDD. It should be fully Clipper compatible in comma files parsing. If you will find any difference, please inform me and I'll update it. Unlike in Clipper in [x]Harbour these RDD can be used also in direct import operations with APPEND FROM ... VIA "DELIM" These RDD also support whole record transfering between RDDs if they support the same record format and field representation and can translate extended field types like "I", "B", "V3", "V4", etc. * harbour/source/rtl/dbdelim.prg * replaced old code of __dbDelim() function with simple calls to __dbCopy()/__dbApp() - it should fix most of the reported incompatibilities in DELIM import/export operations and increase their speed many times * harbour/include/hbrddsdf.h * harbour/source/rdd/sdf1.c + implemented SDF RDD. It should be fully Clipper compatible in SDF files parsing. If you will find any difference, please inform me and I'll update it. Unlike in Clipper in [x]Harbour these RDD can be used also in direct import operations with APPEND FROM ... VIA "SDF" These RDD also support whole record transfering between RDDs if they support the same record format and field representation and can translate extended field types like "I", "B", "V3", "V4", etc. * harbour/source/rtl/dbsdf.prg * replaced old code of __dbSDF() function with simple calls to __dbCopy()/__dbApp() - it should fix most of the reported incompatibilities in SDF import/export operations and increase their speed many times * harbour/source/rdd/dbcmd.c + added support for table structure inheriting in transfer RDDs. + added eleventh parameter with delimiter to __dbCopy()/__dbApp() * harbour/source/rdd/dbf1.c * force 10 bytes size for memo fields in DBF and SMT memos. * some minor clean-up. * harbour/source/rdd/workarea.c * added some dummy DBI_* actions in base RDD level 2006-05-30 12:09 UTC+0300 Chen Kedem + doc/howtorel.txt + How-to-Release document by Przemyslaw Czerpak (druzus/at/priv.onet.pl) * doc/whatsnew.txt + Add tag information to all tagged builds. 2006-05-29 16:00 UTC+0100 Ryszard Glab * harbour.spec * doc/whatsnew.txt * include/hbver.h * modified to store build number 46 2006-05-29 14:10 UTC+0100 Ryszard Glab * source/pp/ppcore.c *fixed invalid memory access * source/compiler/harbour.c *fixed to generate error in cases when variable name is duplicated in PARAMETERS and PRIVATE statements (NOTICE: this error is generated when automatic memvar declaration was requested only using -a command line switch) 2006-05-23 14:21 UTC+0300 Chen Kedem * doc/whatsnew.txt + Add information about the upcoming alpha build 46. * doc/en/compiler.txt + Add a line for -gc3 switch. * source/compiler/hbusage.c + Add a line for -gc3 switch. * Bumped the copyright year from 2005 to 2006. 2006-05-19 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * added support -go[0-3] and other -g* switches to xhb* scripts * harbour/include/hbapi.h + added ISSYMBOL() macro * formatting * harbour/include/hbapirdd.h * changed definition of SUPERTABLE for optional dynamic overloading this modification will not effect existing code * harbour/include/hbrddfpt.h * harbour/source/rdd/dbffpt/dbffpt1.c * added support for NIL value in SIX3 FPT files * harbour/include/hbcomp.h * harbour/source/compiler/harbour.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/genhrb.c * harbour/source/compiler/genjava.c ! message symbols are not function symbols - cleaned the HB_FS_MESSAGE usage and fix the problem with registering static function in global symbol table * harbour/source/compiler/gencc.c ! fixed typo in compilation for platforms 64 bit LONG * harbour/include/hbvmpub.h * harbour/source/compiler/cmdcheck.c * harbour/source/vm/asort.c * harbour/source/vm/evalhb.c * formatting * harbour/source/rdd/dbcmd.c * formatting and some minor clean-up * harbour/source/rdd/workarea.c * added default SYSNAME method ! fixed possible memory leak when APPEND failed in TRANSREC method * harbour/source/rdd/hsx/hsx.c ! fixed using HS_ADD()/HS_REPLACE() without STRING/BLOCK expression * harbour/source/rtl/cdpapi.c * cleaned GCC4 warning * harbour/source/rtl/do.c * changed to keep parameter references in DO() function. Now it works like IIF()/EVAL() * harbour/source/vm/classes.c * removed some definitions repared from hbapi.h + added support to passing function references as HB_IT_SYMBOL * harbour/source/vm/dynlibhb.c ! fixed GPF in HB_LIBDO called with wrong parameter * harbour/source/vm/hvm.c ! fixed hb_rddGetFieldValue() to not operate on unallocated stack area it could cause unpredictable results when RDD had to access HVM, f.e. for evaluation some pending relations. The whole code should be carefully checked and to not operate on hb_stackTopItem() if other functions are called to make the HVM fully reentrant. + added commented out support for passing HB_IT_SYMBOL as function pointer * formatting * harbour/source/vm/itemapi.c * return "S" for HB_IT_SYMBOL by hb_itemType() * formatting 2006-05-14 09:36 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: source\rtl\gtalleg, source\rtl\gtwvt, source\rtl\gtxwc, source\vm\mainstd * doc/howtocvs.txt * Update CVS location to reflect recent changes in SourceForge. 2006-05-05 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * changed the exit code for .hrb file compilation by xhbcmp * harbour/include/hbcomp.h * harbour/source/compiler/gencc.c * harbour/source/compiler/hblbl.c * removed some variables which are not necessary in Harbour * harbour/source/compiler/hbfix.c + added unconditional and conditional jump joining optimization * harbour/source/vm/classes.c * indenting and some minor modifications * harbour/source/rdd/dbfcdx/dbfcdx1.c ! clear the logical key position buffer for pending relations or hot record buffer updating * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/vm/hvm.c * casting * harbour/source/vm/macro.c * harbour/include/hbvmpub.h * removed HB_FS_ALLOCATED * harbour/source/vm/dynsym.c * changed the code for hb_symbolNew() to avoid possible memory leak alerts and keep the list of all dynamic symbols accessible. It also reduced a little bit the memory fragmentation and total size of memory allocated for dynamic symbols. 2006-04-18 14:10 UTC+0100 Ryszard Glab * bin/bld.sh * fixed typo * source/pp/ppcore.c * fixed bug in ParseOptional <"var"> were not recognized correctly (This fixes SET RELATION bug reported by David Macias) 2006-04-15 20:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile + harbour/include/blob.ch * harbour/include/dbinfo.ch * harbour/include/hbdbferr.h * harbour/include/hbrddfpt.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbffpt/dbffpt1.c + added all CL5.3 BLOB*() functions support + added new RDD DBFBLOB compatible with CL5.3 DBFBLOB It operates on memo files only (.dbv) without tables (.dbf) To create .DBV file use: dbCreate( cFile, {}, "DBFBLOB" ) * harbour/source/rdd/dbcmd.c * do not report error when empty structure table is passed to DBCREATE() CL5.3 allow to create even DBF files without any fields and because I can imagine some valid code which use it as a feature then I also allow it in DBF RDD. Authors of RDDs which do not allow to create tables without fields should add to their low level RDD code necessary RT error. 2006-04-14 20:51 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * source/rtl/filesys.c ! fixed problem in CURDIR() wchich return truncate value if directory name is 3 chars long (fix given by Przemyslaw Czerpak) 2006-04-10 00:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed skip back after updating last record 2006-04-09 19:16 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfcdx/dbfcdx1.c ! fixed scope checking when skip is done from the record which dos not exist in index * harbour/source/vm/classes.c * use hb_itemClone() - it will save us modifications in the future if we will add new items which will be passed as parameters like arrays (f.e. hashes) * some source code formatting 2006-04-09 14:55 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c * Added possibility to save memo fields > 64K 2006-04-08 02:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfcdx/dbfcdx1.c ! update current order number after ordDestroy() * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed ordKeyGoto() - only the index file was repositioned but I forgot to also change the record in DBF 2006-04-07 15:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/source/vm/classes.c % Optimized __CLSADDMSG() to call hb_parc() only once instead of 25 times for most cases. ! Possible problem fixed in __CLSADDMSG() where message parameter was required to be uppercase when overloading operator .NOT., .AND. or .OR. % hb_dynsymGet() calls replaced with hb_dynsymGetCase() where the parameter was an already uppercased constant. * harbour/source/vm/dynsym.c ! Fixed HB_TRACE() function name in hb_dynsymGetCase(). 2006-04-07 15:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * support for detecting startup function in C++ mode * harbour/include/hbapi.h * some few #defines to translate some xHarbour functions names to Harbour * harbour/include/hbxvm.h * harbour/source/compiler/gencc.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/common/hbdate.c + added optimizations for add and div by integer value * changed code generated for double values to avoid limitation in some C compilers like MSC and possible differ conversion inside C RTL then the one which uses Harbour RTL * some minor optimizations, cleanups and code formating * harbour/source/compiler/hbfix.c * optimize usage of HB_P_NOT PCODE - remove repeated NOT operations or revert conditional jumps if they are just after NOT. * harbour/source/rdd/dbf1.c * added support for NULL value set in memo fields by ACCESS * harbour/source/rdd/dbfcdx/dbfcdx1.c * fixed ordKeyPos() - for records out of scope * harbour/source/rtl/padc.c * harbour/source/rtl/padl.c * harbour/source/rtl/padr.c * harbour/source/rtl/substr.c * some minor optimizations to avoid new string item creation when it's not necessary * harbour/source/vm/classes.c * harbour/source/vm/extend.c * minor code formatting and optimizations 2006-04-06 14:05 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed registering of startup procedure name * source/pp/ppcore.c * ignore escaped '<' in command/translate definitions (work in progress) 2006-04-05 15:49 UTC+0100 Antonio Linares * source/makefile.nt + Added hblbl.c and gencc.c modules * harbour/source/vm/mainwin.c * harbour/source/rtl/gtwvt/gtwvt.c * harbour/source/compiler/harbour.l * some required changes for Microsoft C 2006-04-05 13:35 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed allocation of startup procedure name * source/compiler/harbour.l * fixed compilation of macro expression (the first letter was eaten in some cases) * source/pp/ppcomp.c * source/pp/ppcore.c * source/pp/pplib.c * fixed calls to hb_pp_ParseDirective * increased back the input buffer to HB_PP_STR_SIZE (12288 bytes) 2006-03-29 11:55 UTC+0100 Ryszard Glab * include/hbpp.h *fixed declaration of hb_pp_StreamBlock * source/pp/ppcore.c * added two guards for buffer overflow 2006-03-28 18:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c ! upper the default .prg function name created from .prg file name when compiled without -n switch 2006-03-28 17:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c * warnings cleanup 2006-03-28 14:35 UTC+0100 Ryszard Glab * include/hbexpra.c * fixed optimization of 'EVAL' in macro compiler * source/pp/ppcore.c * fixed calculation of length of stringify expressions 2006-03-28 13:46 UTC+0200 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc * harbour/makefile.nt * harbour/makefile.vc * harbour/makefile64.nt + added references for harbour/source/compiler/hbstrong.c 2006-03-28 13:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbcomp.h + added hb_compPCodeSize() and hb_compStrongType() declarations * harbour/include/hbpp.h * formatting * harbour/source/compiler/Makefile + harbour/source/compiler/hbstrong.c * harbour/source/compiler/hbpcode.c * moved strong typing code to separate file * harbour/source/compiler/hbpcode.c + added hb_compPCodeSize() function + added support for automatic size checking of variable size PCODEs in hb_compPCodeEval() * harbour/source/compiler/gencc.c * added escaping of '?' character in generated strings to avoid possible conflicts with trigraph sequences which are part of ANSI C standard * force .0 at the end of double numbers to avoid possible range conflicts in generated .c files * removed unnecessary HB_SYMBOL_UNUSED() * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.y * harbour/source/macro/macro.l * harbour/source/macro/macro.y * added #define realloc hb_xrealloc * harbour/source/compiler/hbdead.c * harbour/source/compiler/hbfix.c * harbour/source/compiler/hblbl.c * harbour/source/compiler/hbstripl.c * use hb_compPCodeSize() function * removed not longer necessary functions for checking the real size of variable size PCODEs * harbour/source/vm/hvm.c * fixed RT error number in hb_vmAddInt() for negative values to be Clipper compatible 2006-03-27 15:25 UTC+0100 Ryszard Glab * contrib/htmllib/default.ch * fixed IF/THEN command * source/compiler/hbident.c * source/compiler/harbour.l * added memory duplication for macro text (&a._m) * source/pp/ppcore.c * fixed my last commits * processed this file with indent 2006-03-25 03:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/source/vm/estack.c * added pEnd to hb_stack structure to speed up hb_stackPush() which is one of the most often used operation in HVM. * harbour/include/hbapi.h * small trick with HB_IS_* macros to give a compiler a chance to make them faster on some machines * harbour/source/compiler/genc.c ! fixed stripping non identifier characters from symbol table name * harbour/source/compiler/hbpcode.c * cleaned comment * harbour/source/rdd/dbf1.c * set Operation in error object to field name in field{put,get} methods. + added DBI_LOCKOFFSET * harbour/source/vm/classes.c * formatting * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * some minor speed optimizations 2006-03-23 14:50 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed preprocessor to preserve spaces the same way (almost) as Clipper * tests/pretest.prg * added more tests to check preprocessor 2006-03-22 16:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbstack.h * harbour/source/vm/estack.c + added hb_stackDecrease( ULONG ) * harbour/include/hbxvm.h * harbour/source/vm/hvm.c + added hb_xvmArrayItemPush(), hb_xvmArrayItemPop(), hb_xvmMultByInt() * harbour/source/compiler/gencc.c % use hb_xvmArrayItemPush(), hb_xvmArrayItemPop(), hb_xvmMultByInt() If someone has time then it will be good to also add: hb_xvmDivByInt(), hb_xvmModulusInt(), hb_xvmPlusInt(), hb_xvmMinusInt() * harbour/source/vm/itemapi.c * use simple memcpy() in hb_itemSwap() - it's save in current HVM It could become unsafe if we add reference tracing or sth like that in the future but in such case we will have to also update hb_itemCopy() and hb_itemMove() so we can also update hb_itemSwap() * harbour/source/vm/asort.c * harbour/source/vm/classes.c * harbour/source/vm/memvars.c * harbour/source/vm/hvm.c * cleaned the code which created HB_ITEMs on C stack. Only three places have to be update yet and array/clodeblock creation little bit modified and we will be able add automatic GC activation in hb_xgrab() or hb_gcAlloc(). 2006-03-21 13:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! added missing void in hb_xvmActionRequest() declaration to avoid BCC warnings 2006-03-21 13:20 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/source/vm/hvm.c + missing declaration for hb_xvmActionRequest added 2006-03-21 03:17 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc added referenced to: harbour/source/compiler/gencc.c harbour/source/compiler/hblbl.c 2006-03-21 02:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.bat * harbour/make_gnu.cmd * harbour/make_gnu.sh * added information about GTWVT to GT description for Windows * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/source/rdd/dbf1.c * synced with xHarbour * harbour/source/rtl/console.c ! fixed PROW() updating to be Clipper compatible when row number exceed 16bit integer value * harbour/source/rtl/filesys.c ! fixed possible GPF when hb_fsCurDirBuff() * harbour/source/rtl/str.c * harbour/source/rtl/strzero.c * minor optimizations * harbour/source/rtl/strpeek.c ! fixed accessing the last character in STRPEEK() and STRPOKE() * harbour/include/hbgtinfo.ch * harbour/source/rtl/gtwin/gtwin.c + synced with recent xHarbour modifications * harbour/source/rtl/gtwvt/gtwvt.c * cleaned BCC warning * harbour/include/hbapi.h * harbour/source/vm/codebloc.c * declare BYTE * passed to hb_codeblockNew() as const * harbour/include/hbpcode.h ! fixed the PCODE numbers in PCODE description, 122 was repeated for two different PCODEs: HB_P_ONE and HB_P_MACROLIST * harbour/source/compiler/genc.c ! fixed hb_p_functionshort pcode size returned by genc function ! fixed double value presented in verbose genc mode for HB_P_PUSHDOUBLE ! fixed number of cases presented in verbose genc mode for HB_P_SWITCH * harbour/source/compiler/hbdead.c + added support for dead code elimination in functions which uses SWITCH ...; CASE ...; ...; END syntax * harbour/source/compiler/harbour.c * harbour/source/compiler/hbfix.c ! fixed optimization for HB_P_PUSHLOCALNEAR and HB_P_POPLOCALNEAR. It was a long existing bug not reported so far because 0, 1 and 2 PCODEs uses only one BYTE and bad PCODE tracing in hbfix.c didn't caused bad side effects as long as number of locals in function was smaller then 768. Now for functions HB_P_PUSHLOCAL and HB_P_POPLOCAL is used and later changed to NEAR version in hbfix.c if possible. * harbour/source/compiler/hbfix.c * join sequential jumps to optimize constructions like: while ... ... if ... exit endif enddo * harbour/source/compiler/hbdead.c * remove HB_P_END PCODE also at the and of function if is repeated just before, f.e. in code like (source/rtl/color53.prg): Function RADGRDEFCO( cColor ) if isdefcolor() Return applydefau( cColor, "W/N", "W/N", "W+/N") Else Return applydefau( cColor, 3, 1, 4) endif Return nil Now such redundant constructions like above are fully stripped by compiler anyhow if someone has time and think is important then can clean also this .prg code. * harbour/include/Makefile * harbour/include/hbcomp.h + harbour/include/hbxvm.h * harbour/source/compiler/Makefile * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/genc.c + harbour/source/compiler/gencc.c + harbour/source/compiler/hblbl.c * harbour/source/compiler/hbpcode.c * harbour/source/vm/hvm.c + added support for generating real C code not PCODE in .c files. Now with -gc3 Harbour will generate .c files with real .c code which is later compiled to real machine code. I left PCODE only for code block definitions though it's also possible to have even code block compiled to machine code but we will have to add a flag to codeblock structure which will be checked at runtime and proper method of execution in EVAL will be chosen. If you think it's worth of afford then I can add it too in some spare time. The final binaries are noticable longer then the one which has only PCODE but they are faster. The speed improvement depends on type of operations. The pure Clipper code which does not execute any external time consuming C functions compiled with -gc3 is from 10% to 50% faster. The side effect of generating pure machine code is also harder recompilation but it does not mean that is impossible. If sth can be executed by some machines (virtual or hardware) then it can always be decompiled by definition. This modification opens door for farther optimization, f.e. when we will have fully working strong type support then we can add using native .c types. In fact this module is PCODE to .c translater not part of compiler and can be used as separate module to translate generated PCODE, f.e. .hrb files. Maybe in the future we will change the compiler to generate meta code not directly PCODE and it will be possible to make optimizations on this meta code which will depend on selected output type: VHM PCODE, C code, .NET code, etc. but at this moment adding support for .c compilation directly into compiler will make the compiler code too much complicated for me - IMHO it's better to invest time into clear separation to FRONT_END->REAL_COMPILER->BACK_END Please make test with your code. I rebuild whole Harbour code with -gc3 set in HB_FLAGS in harbour/config/rules.cf and all seems to work correctly. hbtest returns exactly the same results. I also made tests with my programs and they work correctly but I had to define actions for all PCODEs and it's possible that made some typos in some of them which are very seldom used so your tests will be very important. 2006-03-19 03:43 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc * harbour/makefile.nt * harbour/makefile.vc * harbour/makefile64.nt + added references for harbour/source/rtl/gtwvt GT driver. * harbour/makefile.vc - removed references to harbour/source/rtl/gtwin/mouseobj 2006-03-16 09:00 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc * harbour/makefile.nt * harbour/makefile.vc * harbour/makefile64.nt - removed entry for harbour/source/lang/msgen.c file. 2006-03-16 05:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/lang/Makefile - harbour/source/lang/msgen.c * harbour/source/rtl/langapi.c * moved EN lang definitions to core lang code so we always have at least one lang module defined at sartup. Modified after common group agreement - no one was against, thanks to all for answers. Please update non GNU make files and remove harbour/source/lang/msgen.c file. * harbour/source/rtl/cdpapi.c * replaced CDP startup initialization with simple assignment * harbour/source/rtl/gtpca/gtpca.c * added #include for *nix platforms 2006-03-13 23:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/hbgtcore.c * respect pure REQUEST HB_GT_NUL as user GT choice if only GTNUL is linked * harbour/source/rtl/errorint.c ! fixed GPF when no lang module is register - I'll wait a while for other people opinion and if no one will give good reason against then I'll make EN language definition default part of langapi.c what will resolve the problem of valid error description when no language module is linked. 2006-03-13 19:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog * fixed description in last commit. Should be HB_GTSYS() not GTSYS() * harbour/include/hbapi.h * fixed hb_retl() macro by adding missing parenthesis * harbour/source/compiler/harbour.c * removed unnecessary initialization to avoid BCC warning * harbour/source/rtl/console.c * harbour/source/rtl/hbgtcore.c * do not call hb_gtOutStd()/hb_gtOutErr() when given string has 0 length - it may cause unpredictable results in low level hb_fsWrite() when trunc operation will be activated for non real file handles in some systems * harbour/source/rtl/errorint.c * increased the error message buffer * harbour/source/rtl/inkey.c * fixed typo in comment * harbour/source/rtl/gtcrs/gtcrs.c * formatting 2006-03-13 11:40 UTC+0100 Ryszard Glab * source/compiler/cmdcheck.c * source/pp/pragma.c * fixed to force max recurse preprocessor passed bigger then 0 * source/pp/ppcore.c * suppressed memory access error in getExpReal + added missing '.' in valid match markers (ConvertOptional) 2006-03-11 09:45 UTC+0100 Ryszard Glab * source/pp/ppcomp.c * source/pp/ppcore.c * source/rtl/gtcrs/gtcrs.c * fixed to suppress warning messages in some compilers 2006-03-10 21:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/rules.cf * harbour/config/bsd/gcc.cf * harbour/config/darwin/gcc.cf * harbour/config/dos/bcc16.cf * harbour/config/dos/djgpp.cf * harbour/config/dos/owatcom.cf * harbour/config/dos/rsx32.cf * harbour/config/dos/watcom.cf * harbour/config/linux/gcc.cf * harbour/config/os2/gcc.cf * harbour/config/os2/icc.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/bcc32.cf * harbour/config/w32/gcc.cf * harbour/config/w32/global.cf * harbour/config/w32/icc.cf * harbour/config/w32/mingw32.cf * harbour/config/w32/msvc.cf * harbour/config/w32/rsxnt.cf * harbour/config/w32/watcom.cf * use F macro extension to extract file name from given macros. It simplified some rules and allow to use vpath and differ file locations in GNU Makefiles * moved the BCC16 excpetion for C_RULE from global rules.cf to DOS bcc16.cf file * use mainstd library in MinGW build * harbour/include/hbapi.h + added two new functions: hb_winmainArgInit() and hb_winmainArgGet() to set/retrieve WinMain() parameters. + added hb_strMatchWildExact() * harbour/source/pp/ppcore.c * initialized variable to avoid compiler warning * harbour/source/rtl/console.c * cleaned comment * harbour/source/rtl/hbffind.c ! Fixed invalid handle error in Windows when file() fails (fix borrowed from xHarbour) * harbour/source/rtl/strmatch.c + added hb_strMatchWildExact() + added 3-rd parameter to WildMatch() - when it's TRUE WildMatch() will check if given pattern cover the whole string. Without it it check if pattern is valid prefix only. * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/gtcrs.h * harbour/source/rtl/gtsln/mousesln.c * do not call Gpm_GetSnapshot() to avoid stupid message on stderr generated from GPM library - I lost the the hope that it will be fixed ;-) * harbour/source/rtl/gtpca/gtpca.c * use select() in *nixes for cursor position terminal feedback. * harbour/source/rtl/gtwin/gtwin.c * try to always allocate console when compiled without HB_NO_ALLOC_CONSOLE. It allow to use GTWIN also in real windows programs. + harbour/source/rtl/gtwvt/Makefile + harbour/source/rtl/gtwvt/gtwvt.c + harbour/source/rtl/gtwvt/gtwvt.h + added new GT driver GTWVT - the core of this driver it's Peter Ress work in xHarbour. In Harbour GTWVT contains only pure GT code without local to GTWVT xHarbour extensions and GTWVT contrib libraries. This extensions can be added but later but I want to keep them separated from the core GTWVT code and add them as upper level GT which can inherit from GTWVT. Just like I've implemented CTWIN. Please update non GNU make files and test this GT in Windows. The programs which want to use GTWVT should be compiled as standard Windows GUI programs. GTWVT replaces window console code. if you add to your code: proc HB_GTSYS() request HB_GT_WIN request HB_GT_WVT return then the final binaries will be linked with both GT drivers and you can switch between them using //gt[:] switch. F.e.: ./my_prog //gtwin or ./my_prog //gtwvt this feature works in all platforms. People who works in shell environment (*nixes, MSYS, DJGPP) and use hb* scripts does not have to use HB_GTSYS() in source code but can simply use -gt switch in hblnk and hbmk. * harbour/source/rtl/gtxwc/gtxwc.c * some minor cleanups and code formatting * harbour/source/vm/Makefile + harbour/source/vm/mainstd/Makefile * moved mainstd.c to separate mainstd library for MinGW32 build. Unfortunately MinGW always link main() function if it locate it in libraries and ignores WinMain() what effectively makes impossible to create Windows GUI programs if we have main() in VM library. People who are using MinGW and wants to create only pure console programs should now include mainstd library to linked library list. * harbour/source/vm/cmdarg.c * harbour/source/vm/mainwin.c + added two new functions: hb_winmainArgInit() and hb_winmainArgGet() to set/retrieve WinMain() parameters. 2006-03-10 12:20 UTC+0100 Ryszard Glab * include/hbpp.h + added 'extern' declaration * source/compiler/hbusage.c + added short usage info abour /r= switch * doc/pragma.txt * doc/en/compiler.txt + added documentation about new pragmas and new /r= switch 2006-03-10 10:20 UTC+0100 Ryszard Glab * source/pp/ppcomp.c *fixed compilation for Borland C * source/pp/ppcore.c +added missing '{' in valid match markers (ConvertOptional) * tests/Makefile + tests/pretest.prg + added the file to show '#pragma __stream' and '#pragma __cstream' 2006-03-09 16:30 UTC+0100 Ryszard Glab * include/hbapi.h * include/hbexpra.c * include/hbexprb.c * include/hbexprop.h * modified to support strings with embeded LF/CR characters * source/common/hbstr.c * source/rtl/strings.c * added hb_strRemEscSeq() function that removes C-like Esc sequences (\n \t \r \b currently) * source/compiler/cmdcheck.c * added new command line switch -r= with defaults equal to -r=1024 * include/hbpp.h * source/compiler/harbour.l * source/compiler/harbour.y * source/macro/macro.y * source/pp/ppcomp.c * source/pp/ppcore.c * source/pp/pplib.c * source/pp/pptable.c * source/pp/pragma.c * fixed compilation of #command ( => (,7 (loops in #define or #command are trapped now) * fixed compilation of \[ and \] in command/translate * modified TEXT/ENDTEXT to use '#pragma __text' + added #pragma __stream and #pragma __cstream (examples later) 2006-03-08 3:31 UTC-0500 David Arturo Macias Corona - harbour/source/codepage/cdpsl437.c - harbour/source/codepage/cdpsl852.c - harbour/source/codepage/cdpslwin.c - harbour/source/codepage/cdpsliso.c - Removed these four files. 2006-03-06 12:00 UTC+0100 Mitja Podgornik David Macias: Source code provided by Mitja Podgornik * harbour/contrib/mysql/mysql.ch + added MYSQL_DECIMAL_TYPE for MySQL versions 5.0 and above * harbour/contrib/mysql/mysql.c * harbour/contrib/mysql/tmysql.prg + added functions sql_commit(), sql_rollback()(CLASS TMySQLServer) to support transactions with InnoDB table types + added function sql_version() (CLASS TMySQLServer) returns 5 digit numeric version of MySQL server * harbour/source/codepage/cdpsl437.c * harbour/source/codepage/cdpsl852.c * harbour/source/codepage/cdpslwin.c * harbour/source/codepage/cdpsliso.c + Update startup code to work with MSC 2006-03-02 18:00 UTC+0100 Ryszard Glab * source/compiler/harbour.l * source/pp/ppcomp.c * source/pp/ppcore.c * source/pp/pptable.c * fixed compilation of included files in cases when the file ends with ';' (with no LF or CR) * fixed translation of nested command/translate * fixed translation of TEXT/ENDTEXT to be more Clipper compatible +added new hidden preprocessor directive __text|ParseBlockCode|EndBlockCode|StartBlockCode currently TEXT is preprocessed using: #command TEXT => __text|Qout(%s)|QQOut() #command TEXT TO FILE => ; __text|Qout(%s)|__TextRestore()|__TextSave() ParseBlockCode is called for every line beetwen TEXT/ENDTEXT, %s is replaced with the text enclosed with [] 2006-03-02 01:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c * fixed yest another problem with PP which caused GPF on minigui compilation 2006-03-01 21:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/dbinfo.ch * harbour/source/rdd/workarea.c * added DBI_SCOPEDRELATION action. It alow to test if given relation on current work area sets scope on child index. F.e.: dbInfo( DBI_SCOPEDRELATION, 1 ) 2006-03-01 20:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c * added optional BOOL parameter to functions which translate to UTF8 to not translate control code characters * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtxwc/gtxwc.c * update for new parameter in UTF8 functions 2006-03-01 16:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/cdpapi.c * harbour/source/rtl/gtxwc/gtxwc.c ! fixed UTF8 trnalsations 2006-03-01 14:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/htmllib/default.ch * fixed few wrong definitions - Ryszard, the definitions where wrong but Clipper PP seems to parse them. * harbour/contrib/rdd_ads/ads1.c * call AdsFlushFileBuffers() only when _SET_HARDCOMMIT is set (default) * harbour/include/Makefile + harbour/include/hbgfx.ch + harbour/include/hbgfxdef.ch + added hbgfx.ch, hbgfxdef.ch and missing tbrowse.ch * harbour/include/hbapigt.h * harbour/include/hbgtcore.h * harbour/source/rtl/gtapi.c * harbour/source/rtl/hbgtcore.c + added hb_gtGfxPrimitive(), hb_gtGfxText() - it's a work in progress now this functions works like in xHarbour allow to draw graphic objects in GTs which can do that (GTALLEG, GTXWC) but I plan to introduce some modifications in them. + harbour/tests/gfx.prg + added test program by Mauricio Abre (borrowed from xHarbour) which illustrates GFX usage * harbour/include/hbdefs.h * harbour/source/compiler/genc.c * harbour/source/compiler/harbour.c * harbour/source/vm/hvm.c * minor modification in some harbour func name and symbol scope definitions - I'd like to keep them in one place for easier manipulations in the future * harbour/source/compiler/harbour.y * harbour/source/pp/ppcore.c * harbour/source/pp/pplib.c * harbour/utils/hbpp/hbpp.c * clean a little bit recent modification it should resolve the problem with GPFs reported by users and some possible memory leaks when preprocessing/compilation process is interrupted. Ryszard I decided to always store copy of file name in open files structure - it can be used by compiler, preprocessor, PPLIB and HBPP and IMHO in all cases it should have valid and always initialized in the same way members for easier manipulation. In the future I'd like to clean the whole PP usage. I will need to keep all compiler and PP static variables in one structure pointed by pointer in thread local data or passed to called functions for MT support. * harbour/source/rtl/cdpapi.c * set 0 at the end of destination string in hb_cdpStrnToUTF8() * harbour/source/rtl/dateshb.c ! fixed possible GPF in CTOD when badly formated date is given * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtxwc/gtxwc.h * changed the selection code - now both PRIMARY and CLIPBOARD selections are set by Harbour. It should work with any programs which uses any of them but I'd like to remove one of this selections or give user a way to chose the preferred one. I can also add support for automatic setting/clearing/pasting PRIMARY selection by GTXWC with mouse and shift key. I'm waiting for opinions. + added basic support for GFX operations + harbour/source/rtl/gtalleg/Makefile + harbour/source/rtl/gtalleg/fixedth.sfc + harbour/source/rtl/gtalleg/gtalleg.c + harbour/source/rtl/gtalleg/ssf.c + harbour/source/rtl/gtalleg/ssf.h + added new GT by Mauricio Abre based on Allegro cross platform graphic libraries. Code borrowed from xHarbour and modified by my for new Harbour GT API. 2006-02-28 17:00 UTC+0100 Ryszard Glab * include/hbpp.h * source/pp/ppcore.c * source/pp/pptable.c * fixed handling of optional clauses in command/translate e.g. #command PRINT TO => [:=]PrintPage() * fixed <-x-> match marker * added fixed length of command/translate/define name to speed translation * source/compiler/harbour.l * fixed GPF in handling of '¯o.tekst' syntax (introduced recently) 2006-02-22 21:25 UTC-0400 Alejandro de Garate * harbour/.cvsignore restored to previous 1.9 revision 2006-02-22 15:48 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * harbour/source/rtl/gtdos/gtdos.c * fixed casting and typos for DOS OpenWatcom compilation 2006-02-21 23:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * added support for -L in xhbmk * set the highest priority to user libraries specified by -l linker option * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c * added UTF8 related functions: hb_cdpUTF8StringLength(), hb_cdpStringInUTF8Length(), hb_cdpUTF8ToStrn(). * Changed name of hb_cdpStrnToUTF() function to hb_cdpStrnToUTF8() to avoid confusions with UTF16 * harbour/include/hberrors.h * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/harbour.c + added to new errors (memory corruption and memory overflow) for compiler level FM statistic. * harbour/source/compiler/hbfix.c ! fixed stupid typo in copy and past which broke conditional jump reduction * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/include/hbgtinfo.ch * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtos2/gtos2.c * harbour/source/rtl/gtwin/gtwin.c * added new method to change screen buffer state (hot/cold/scroll) and use them in some GTs. * harbour/source/rtl/gx.c * use screen dimensions as default values for SETMODE() not maxrow()/ maxcol() * harbour/source/rtl/gtxwc/gtxwc.c * harbour/source/rtl/gtxwc/gtxwc.h * added support for clipboard * added support for cursor shape - like in DOS/VGA * harbour/source/rdd/workarea.c * harbour/source/rdd/dbffpt/dbffpt1.c * cleaned some redundant extern declarations * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * removed some unnecessary #include ... * harbour/source/rtl/str.c * harbour/source/rtl/transfrm.c * harbour/source/vm/itemapi.c ! fixed some small incompatibilities with Clipper in number to string conversions 2006-02-17 10:10 UTC+0100 Ryszard Glab * include/hbcomp.h * source/compiler/Makefile * source/compiler/cmdcheck.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbident.c * even more fixes to memory leaks in the compiler (all compiler structures are deallocated on exit now, really :) 2006-02-16 14:40 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hbexpra.c * source/compiler/Makefile * source/compiler/expropta.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbgenerr.c * all compiler structures are deallocated on exit now 2006-02-15 20:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * harbour/hrbdll.bc * harbour/hrbdll.vc * harbour/makefile.bc * harbour/makefile.nt * harbour/makefile.vc * harbour/makefile64.nt * harbour/source/codepage/Makefile + harbour/source/codepage/cp_tpl.c + harbour/source/codepage/cpbg866.c + harbour/source/codepage/cpbgiso.c + harbour/source/codepage/cpbgwin.c + harbour/source/codepage/cpeldos.c + harbour/source/codepage/cpelwin.c + harbour/source/codepage/cpesdos.c + harbour/source/codepage/cpesmwi.c + harbour/source/codepage/cpeswin.c + harbour/source/codepage/cpgedos.c + harbour/source/codepage/cpgewin.c + harbour/source/codepage/cphu852.c + harbour/source/codepage/cphuiso.c + harbour/source/codepage/cphuwin.c + harbour/source/codepage/cppl852.c + harbour/source/codepage/cppliso.c + harbour/source/codepage/cpplmaz.c + harbour/source/codepage/cpplwin.c + harbour/source/codepage/cppt850.c + harbour/source/codepage/cpptiso.c + harbour/source/codepage/cpru866.c + harbour/source/codepage/cprukoi.c + harbour/source/codepage/cpruwin.c + harbour/source/codepage/cpsl437.c + harbour/source/codepage/cpsl852.c + harbour/source/codepage/cpsliso.c + harbour/source/codepage/cpslwin.c + harbour/source/codepage/cpsrwin.c - harbour/source/codepage/cdp_tpl.c - harbour/source/codepage/cdpbg866.c - harbour/source/codepage/cdpbgiso.c - harbour/source/codepage/cdpbgwin.c - harbour/source/codepage/cdpeldos.c - harbour/source/codepage/cdpelwin.c - harbour/source/codepage/cdpesdos.c - harbour/source/codepage/cdpesmwi.c - harbour/source/codepage/cdpeswin.c - harbour/source/codepage/cdpgedos.c - harbour/source/codepage/cdpgewin.c - harbour/source/codepage/cdphu852.c - harbour/source/codepage/cdphuiso.c - harbour/source/codepage/cdphuwin.c - harbour/source/codepage/cdppl852.c - harbour/source/codepage/cdppliso.c - harbour/source/codepage/cdpplmaz.c - harbour/source/codepage/cdpplwin.c - harbour/source/codepage/cdppt850.c - harbour/source/codepage/cdpptiso.c - harbour/source/codepage/cdpru866.c - harbour/source/codepage/cdprukoi.c - harbour/source/codepage/cdpruwin.c - harbour/source/codepage/cdpsl437.c - harbour/source/codepage/cdpsl852.c - harbour/source/codepage/cdpsliso.c - harbour/source/codepage/cdpslwin.c - harbour/source/codepage/cdpsrwin.c * Renamed codepage files (cdp*.c -> cd*.c) * Updated init code for all remaining codepages. 2006-02-15 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! fixed memory leak I introduced changing Ryszard modifications * harbour/ChangeLog + harbour/ChangeLog.015 * new ChangeLog file created * harbour/harbour.spec * harbour/bin/hb-func.sh * some modification in xhb* scripts building - adding passing predefined compiler and linker switches 2006-02-15 11:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * do not line striping optimization when -l compiler switch (suppress line number information) is set - in such case it's only waste of time * harbour/include/hbapifs.h * harbour/source/common/hbfsapi.c * harbour/source/compiler/cmdcheck.c * harbour/source/pp/pplib.c * harbour/source/rtl/filesys.c * harbour/source/rtl/set.c * cleaned the usage of hb_fsAddSearchPath()/hb_fsFreeSearchPath() It fixes few possible memory leaks and GPF traps. 2006-02-14 18:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * enabled FM statistic by default when compiled without: -DHB_FM_STATISTICS_OFF after last Ryszard modification there is no memory leak in valid .prg code so this may help us to find some unknown problems. * harbour/include/hbcomp.h * harbour/source/compiler/hbpcode.c * formatting * harbour/source/rdd/dbcmd.c * fixed GPF in DBF2TEXT when work are is not in use. * harbour/source/rdd/dbfntx/dbfntx1.c * disabled validation of unused index pages - Clipper left them dirty so xHarbour reported that index is corrupted * harbour/source/rtl/dbdelim.prg * generate 2001 RT error when work area is not in used() state before export file is created. * harbour/source/rtl/errorapi.c * set DOSERROR() to oError:OSCODE when RT error is generated It's documented Clipper behavior. * harbour/source/vm/hvm.c * some fixes in new operators and removed unnecessary long->double->long conventions 2006-02-14 16:10 UTC+0100 Ryszard Glab * include/hbapiitm.h * include/hbexpra.c * include/hbexprc.c * include/hbexprop.h * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * source/vm/hvm.c * source/vm/itemapi.c * fixed code for adding date and numeric values (introduced in my last commits) * removed hb_itemPutBHLong (use hb_itemPutNInt instead) * added more optimization for localvar+=integer using HB_P_LOCALNEARADDINT pcode (borrowed from xHarbour) 2006-02-14 14:40 UTC+0100 Ryszard Glab * include/hbexprc.c * source/compiler/exproptc.c * source/macro/macroc.c * disabled optimalization of compound assignment in macro compiler 2006-02-14 13:40 UTC+0100 Ryszard Glab * include/hbexprc.c * source/compiler/exproptc.c * source/macro/macroc.c * disabled optimalization of compound assignment for fields 2006-02-14 11:40 UTC+0100 Ryszard Glab * include/hbapiitm.h * include/hbcomp.h * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * include/hbpcode.h * source/common/expropt1.c * source/common/hbfsapi.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbdead.c * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/compiler/hbstripl.c * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * source/pp/ppcore.c * source/vm/hvm.c * source/vm/itemapi.c * fixed many more memory leaks in the compiler (the Harbour code compiles itself with no memory leaks). However there are still leaks when the compiler aborts compilation due to errors. + added optimalization of '+=' '-=' '*=' '/=' operators + added hb_itemGetNDDec(), hb_itemPutHBLong(), hb_itemPutNumType() borrowed from xHarbour NOTE: new pcodes: HB_[PLUS|MINUS|MULT|DIV]EQ HB_[PLUS|MINUS|MULT|DIV]EQPOP recompile all sources. 2006-02-12 14:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbdefs.h * cleaned BOOL usage * harbour/include/hbcomp.h * harbour/include/hbpp.h * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y * harbour/source/pp/ppcomp.c * harbour/source/pp/ppcore.c * harbour/source/pp/pplib.c * harbour/source/pp/pragma.c * keep functions and public variables definitions in header files. Do not use any extern ... in source code to aviod possible mistakes ! fixed some mistakes in BOOL/int declarations * use hb_fsFreeSearchPath() to free allocated path list * harbour/source/compiler/harbour.c * keep functions and public variables definitions in header files. + added memory statistic module - it's disabled now because too much errors is reported. Ryszard I hope it will help in locating memory leaks in compiler. * begun of cleaning static variables to make compiler code ready for reentrance. * harbour/source/rtl/gtstd/gtstd.c ! fixed cursor positioning * harbour/config/os2/gcc.cf + added socket library + harbour/tests/ctwtest.prg + added CTWIN test program + harbour/contrib/dot/Makefile + added GNU Makefile 2006-02-12 11:15 UTC+0100 Antonio Linares * harbour/include/hbdefs.h * minor fix to avoid conflict with Darwin and Cocoa BOOL use 2006-02-11 16:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * do not strip redundant line information when compiled for debug (-b) * harbour/source/compiler/harbour.y ! fixed typo in hb_compSequenceFinish() call - Ryszard please check me. using iNumber instead of lNumber caused that on big endian machines begin sequence / endsequence block was stripped * harbour/source/compiler/hbdead.c ! fixed stupid typo in counting length of debug variable/module names 2006-02-11 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile * added missing header files * harbour/source/compiler/harbour.c * added support for @filelst[.clp] - partially borrowed from xHarbour It's not exactly the same as in Clipper because Clipper creates one final file when [x]Harbour series of files. To make it like in Clipper we will have to add support from more then one symbol table in the final file. It will be also useful for proper implementation of: DO Now in [x]Harbour it works like #include .prg when in Clipper also new symbol table is created for included files. The difference can be easy sync when current file has static functions with exactly the same names as the one included by DO - compilation fails. * add HB_P_ENDBLOCK to PCODE with codeblock body before run any optimization - it fixes pcode tracing in jump optimization and also allow to make some validation of generated PCODE * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/dbtotal.prg * removed not longer necessary temporary alias creation. Harbour support empty aliases ("") like Clipper. * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rtl/hbgtcore.c * casting * harbour/source/rtl/gtos2/gtos2.c ! fixed hb_gt_os2_GetScreenContents() 2006-02-11 12:40 UTC+0100 Ryszard Glab * source/compiler/harbour.c * source/compiler/harbour.y * source/pp/ppcore.c * added tracing code * fixed one more memory leak 2006-02-09 15:25 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed to release memory allocated with the proeprocessor * tests/mousetst.prg * minor fix after latest Przemek changes * source/pp/ppcore.c * fixed bug in processing the list of optional repeatable code reported by Lorenzo 2006-02-09 12:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/bld.cmd + added -ldbffpt, -lhbsix, -lhsx libraries for GCC OS2 linking * harbour/config/os2/gcc.cf * harbour/contrib/libct/files.c + some cleanups for OS2 - please check me. * harbour/source/rtl/gtos2/gtos2.c + implemented hb_gt_os2_GetScreenContents() - please check me * harbour/include/Makefile + added missing hbfixdj.h * harbour/source/rtl/gtdos/gtdos.c ! for screen synchronization after PostExt() 2006-02-09 03:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtapi.c * minor modifications for GTs which may no flush data in PreExt() * harbour/source/rtl/gtwin/gtwin.c ! fixed Init() code by adding missing SUPER_INIT() * modified a little bit PreExt() and PostExt() methods 2006-02-08 20:23 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt * updated with recent changes 2006-02-08 18:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwin/gtwin.c + added PreExt() and PostExt() methods 2006-02-08 15:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c ! warning I introduced in last commit cleanup 2006-02-08 14:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtdos/gtdos.c * updated copyright message with authors from removed mousedos.c * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/compiler/harbour.c ! fixed BOLL / int typos * harbour/source/vm/eval.c * minor modification * harbour/source/rdd/dbf1.c * enable 'Y' (currency) fields - translated to HB_IT_DOUBLE * harbour/source/rdd/dbcmd.c ! fixed some wrong behavior in SORT parameters setting in __dbArrange() * harbour/source/rdd/dbsort.prg ! removed hack with COPY TO ... when lastrec()==1 which introduced new bugs * harbour/source/rdd/hbdbsort.c ! fixed sort output when only one record is sorted There are still some problems with sort like sorting numeric fields as ASCII strings or using strcmp what will not work with binary fields but all all this code should be rewritten due to unacceptable performance so I left it as is to some spare time in the future. * harbour/source/rtl/gtwin/gtwin.c ! save cursor position at startup * harbour/source/rtl/net.c * harbour/source/rtl/gtos2/gtos2.c * harbour/contrib/hgf/os2pm/os2pm.c * some warnings cleaned and updates for new API in OS2 build 2006-02-07 20:03 UTC+0100 Antonio Linares * source/vm/mainwin.c * minor fix 2006-02-07 18:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/vm/mainwin.c ! Fixed previous commit. 2006-02-07 12:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * makefile.bc + Updated for latest changes. * bin/bld.bat + Added codepage lib. * source/codepage/cdpbg866.c * source/codepage/cdpbgiso.c * source/codepage/cdpbgwin.c + Added two missing chars to BG alphabet. * source/vm/arrays.c * source/vm/mainwin.c * source/rtl/hbgtcore.c * include/hbapigt.h * source/rtl/gtpca/gtpca.c * source/rtl/gtstd/gtstd.c ! Fixed recent compiler warnings. 2006-02-05 09:47 UTC+0200 Chen Kedem * source/rtl/gtos2/gtos2.c * Restore my copyright notice for functions used to be in mouseos2.c 2006-02-04 17:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/make_bsd.sh * harbour/make_drw.sh * harbour/make_gnu.sh * harbour/make_rpm.sh * harbour/make_tgz.sh * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh * harbour/config/c.cf * harbour/config/global.cf * harbour/config/rules.cf * harbour/config/darwin/gcc.cf * harbour/config/darwin/global.cf * harbour/config/dos/djgpp.cf * harbour/config/dos/global.cf * harbour/config/dos/install.cf * harbour/config/dos/owatcom.cf * harbour/config/hpux/gcc.cf * harbour/config/hpux/global.cf * harbour/config/linux/gcc.cf * harbour/config/linux/global.cf * harbour/config/linux/owatcom.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/watcom.cf * include ADSRDD by default in RPMs * updated for new RPM which does not accept some old tags * set -fPIC on 64bit platforms + added /etc/harbour/hb-charmap.def * updated for new GT system and drivers * harbour/contrib/dot/pp.prg * harbour/contrib/dot/pp_harb.ch * use _APMAIN as startup function * cleaned direct access to item internals * harbour/contrib/libct/Makefile + harbour/contrib/libct/ctwfunc.c + harbour/contrib/libct/ctwin.c + harbour/contrib/libct/ctwin.h * added CT3 like Window System - it's a GT driver which inherits from the existing one and adds CTW functionality * harbour/contrib/libct/screen1.c * updated for GTAPI modifications * harbour/contrib/libnf/Makefile * harbour/contrib/libnf/chdir.c * harbour/contrib/libnf/mkdir.c * harbour/contrib/libnf/rmdir.c * use hb_fs*() API functions instead of calling DOS interrupts Now NF dir functions works on all platforms - it will be nice to update other functions too. * harbour/contrib/libnf/dispc.c * harbour/contrib/libnf/ftattr.c * updated for GT API modifications, some of this code still depends on EGA/VGA video buffer so will work only if user will force in GT using it - it will be nice to rewrite them * harbour/contrib/odbc/odbc.c * harbour/contrib/ole/ole2.c * casting and cleaning direct access to item internals * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/rdd_ads/adsmgmnt.c * synced with xHarbour * harbour/include/Makefile * added new header files + harbour/include/hbgtinfo.ch + added GTI_* defintions for hb_gtInfo() function. This function works in similar way to dbInfo() in RDD. The GTI_* definitions are taken from xHarbour "as is" and they should be cleaned - not all functionality are supported in Harbour and some others should be implemented in differ way then in xHarbour. + harbour/include/hbgtcore.h * harbour/include/hbapigt.h * new GTAPI hbgtcore.h file should not be included by user code it's only for internal use in GT drivers * HB_inkey_enum changed to int - this is bit field not enumerated type. Many of C/C++ compilers forbid bit operations on enum types and forcing it by casting which finally exceeds the enum range is defined as bug because it may badly interacts with some compiler optimizations * harbour/include/hbapi.h * harbour/include/hbapicdp.h * harbour/include/hbapierr.h * harbour/include/hbapifs.h * harbour/include/hbapiitm.h * harbour/include/hbapilng.h * harbour/include/hbapirdd.h * harbour/include/hbdate.h * harbour/include/hbdefs.h * harbour/include/hbinit.h * harbour/include/hbpcode.h * harbour/include/hbrdddbf.h * harbour/include/hbset.h * harbour/include/hbstack.h * harbour/include/hbvm.h * harbour/include/hbvmopt.h * harbour/include/hbvmpub.h * separated internal and external API. Now the definitions for internal HVM structures and functions are excluded by default they could be enabled if user include hbvmopt.h before other header files. Such operation should be done _ONLY_ by core code - if 3-rd party developers make sth like that then it's for their own risk and such code may stop to work with next Harbour versions. Without hbvmopt.h the internal structures like HB_ITEM, HB_DYNS, ... are mapped to 'void' so there is no way to access their members so we can modify them in the future without afford for 3-rd party code. There is one small exception 'type' should be the first member for HB_ITEM structure because I used a small ugly hack in HB_IS_*() macros with castin PHB_ITEM to HB_TYPE* - it works without speed overhead but if you think that it will be better/cleaner to not use such tricks then it's enough to change HB_ITEM_TYPE() definitions in hbvmpub.h - see note. * cleared the usage of HB_EXPORT - to avoid problems with some C/C++ compilers we agreed that the only one common way of using HB_EXPORT is adding it ad begining of declaration - please keep this convention in the future. + added new functions: hb_extIsObject(), hb_codeblockId(), hb_idleSleep(), hb_fsGetOsHandle(), hb_dynsymFindSymbol(), hb_dynsymGetSymbol(), hb_dynsymSymbol(), hb_dynsymName(), hb_dynsymMemvarHandle(), hb_dynsymAreaHandle(), hb_dynsymSetAreaHandle() * changed hb_arrayClone() declaration to: PHB_ITEM hb_arrayClone( PHB_ITEM pArray ) * changed hb_arrayFromParams() declaration to: PHB_ITEM hb_arrayFromParams( int iLevel ) The previous version needed a pointer to stack relocatable area so any stack resizing could cause GPF. * harbour/include/inkey.ch * added definitions for extended mouse keys/events and some key combinations * harbour/source/codepage/uc1250.c * harbour/source/codepage/uc1251.c * harbour/source/codepage/uc1253.c * harbour/source/codepage/uc1257.c * harbour/source/codepage/uc737.c * harbour/source/codepage/uc850.c * harbour/source/codepage/uc852.c * harbour/source/codepage/uc866.c * harbour/source/codepage/uc88591b.c * harbour/source/codepage/uc8859_1.c * harbour/source/codepage/uc8859_2.c * harbour/source/codepage/uc8859_5.c * harbour/source/codepage/uckoi8.c * harbour/source/codepage/uckoi8u.c * harbour/source/codepage/ucmaz.c * updated unicode values for characters in rabge 1-31 to keep DOS compatibility * harbour/source/common/expropt1.c * harbour/source/common/hbarch.c * harbour/source/common/hbdate.c * harbour/source/common/hbstr.c * harbour/source/common/hbver.c * keep HB_EXPORT at the beginning of function declaration * harbour/include/hbpcode.h * harbour/include/hbcomp.h * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/hbfix.c + harbour/source/compiler/hbdead.c * harbour/source/compiler/hbpcode.c + harbour/source/compiler/hbstripl.c % rewritten jump optimization ! fixed some minor problems * do not optimize jumps and local variable access by shorter PCODE version and HB_P_NOOP when jump optimization is disabled, this is a note I left in source code in few places: /* * optimizing jumps here by shorting them and setting HB_P_NOOPs * only slow down the compilation process for three reasons: * 1. When it's dummy jump to next instruction we need two passes * in hb_compOptimizeJumps() to fully remove it * 2. hb_compOptimizeJumps() also make jump shortcutting in each pass * 3. When Jump Optimization is disabled (-kJ) then it cause slowness * at runtime because we will have more HVM loops: first for the * shorter jump and next for the HB_P_NOOP PCODE(s) * [druzuz] */ + added support for multi passes in jump/dead code elimination (hb_compOptimizeJumps()) By default is set upto three passes. Now hb_compOptimizeJumps() keeps all compiler internal data clean on exist and can be called any times and does not change other compiler's functions behaviors + added dummy jumps elimination + added optimization for: IF .T. IF .F. WHILE .T. WHILE .F. etc. * restored empty BEGIN/RECOVER sequence block elimination if Jump Optimization is enabled then it marks the block with HB_P_NOOPS else it cut the generated PCODE + added dead code eliminator (new functions hb_compCodeTraceMarkDead()/ hb_compPCodeTrace() - it works only when Jump Optimization is not disabled) As a result of the above we have smaller and faster PCODE. I do not think that we will have meta code support in the reasonable time and because I need some valid compiler data/structures like updated table of all jumps for real C code (not PCODE in .c files) generation then I decide to make some modifications and the above is in practice a side effect of this work. * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/rddord.prg * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/nulsys/nulsys.c * synced with my modifications in xHarbour * updated for API modifications * harbour/source/rtl/Makefile + added gtsys.c, gtfunc.c, hbgtcore.c * harbour/source/rtl/accept.c * harbour/source/rtl/alert.prg * harbour/source/rtl/cdpapi.c * harbour/source/rtl/console.c * harbour/source/rtl/dates.c * harbour/source/rtl/do.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/errorsys.prg * harbour/source/rtl/file.c * harbour/source/rtl/fserror.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/idle.c * harbour/source/rtl/math.c * harbour/source/rtl/oldclear.c * harbour/source/rtl/strmatch.c * harbour/source/rtl/strpeek.c * harbour/source/rtl/valtype.c * harbour/source/rtl/xsavescr.c * updated for API modifications * cleaned some compiler warnings * harbour/source/rtl/filesys.c + added hb_fsGetOsHandle() * updated for API modifications * harbour/source/rtl/gt.c * harbour/source/rtl/gtapi.c * harbour/source/rtl/gtapiu.c + harbour/source/rtl/gtfunc.c + harbour/source/rtl/gtsys.c + harbour/source/rtl/hbgtcore.c * harbour/source/rtl/inkey.c * harbour/source/rtl/maxrow.c * harbour/source/rtl/mouseapi.c * harbour/source/rtl/setcolor.c * harbour/source/rtl/setposbs.c * harbour/source/rtl/shadow.c * new GT API code * harbour/source/rtl/saverest.c * changed default behavior in SEVESCREEN/RESTSCREEN with parameters out of screen range to be Clipper compatible. Added last logical parameter to keep previous behavior for programs which begins to use it. * harbour/source/rtl/seconds.c * include missing header file to fix C++ compilation * make hb_secondsCPU global function * harbour/source/rtl/set.c * make HB_SET_TYPEAHEAD Clipper compatible * harbour/source/rtl/gtcgi/Makefile * harbour/source/rtl/gtcgi/gtcgi.c - harbour/source/rtl/gtcgi/mousecgi.c * rewritten for new GT API some detail behaviors has been changed but I think the current implementation is better for CGI programs output - please check and fix me if necessary * harbour/source/rtl/gtcrs/Makefile - harbour/source/rtl/gtcrs/charmap.prg + harbour/source/rtl/gtcrs/chrmap.c - harbour/source/rtl/gtcrs/debug.map - harbour/source/rtl/gtcrs/eterm.map * harbour/source/rtl/gtcrs/gtcrs.c + harbour/source/rtl/gtcrs/gtcrs.h + harbour/source/rtl/gtcrs/hb-charmap.def - harbour/source/rtl/gtcrs/kbdcrs.c - harbour/source/rtl/gtcrs/keymap.prg - harbour/source/rtl/gtcrs/linux.map - harbour/source/rtl/gtcrs/mousecrs.c * new GTCRS based on my xHarbour and Flagship curses code Please not that at runtime it looks for a file /etc/harbour/hb-charmap.def where user can fully tune output for his terminal. This file is included with proper path in binaries created by make_rpm.sh and make_tgz.sh Ryszard I've removed some of your extensions which are no longer necessary and some other (keyboard sequence redefinition) should be done in a little bit differ way. I would like to talk about it when you test current code. Added support for extended mouse keys (middle button and wheel). * harbour/source/rtl/gtdos/Makefile * harbour/source/rtl/gtdos/gtdos.c - harbour/source/rtl/gtdos/mousedos.c * rewritten for new GT API Fixed some small problems, finished mouse code which for DJGPP is fully Clipper compatible with real mouse SAVE/RESTORE code. For other compilers it should be updated depending on memory model and used DPMI driver (if any). * harbour/source/rtl/gtos2/Makefile * harbour/source/rtl/gtos2/gtos2.c - harbour/source/rtl/gtos2/mouseos2.c * rewritten for new GT API Fixed some problems and finished the mouse code. Please test it - I made all modifications without OS2 and I was not able to make any test. I'm interesting in information if it works and the speed difference - f.e. results from tests/vidtest.prg run with previous and current version. * harbour/source/rtl/gtpca/Makefile * harbour/source/rtl/gtpca/gtpca.c - harbour/source/rtl/gtpca/kbdos2.gcc - harbour/source/rtl/gtpca/mousepca.c * rewritten for new GT API and finished so now it's full functional GT driver I'm interesting in keyboard sequences used by PC-ANSI drivers in DOS so it will be possible to implement also support for extended keys input. * harbour/source/rtl/gtsln/Makefile * harbour/source/rtl/gtsln/gtsln.c + harbour/source/rtl/gtsln/gtsln.h * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtsln/keytrans.c * harbour/source/rtl/gtsln/mousesln.c * rewritten for new GT API basing on current xHarbour code added support for slang 1.4x patched for UNICODE (Debian patches used by most of current Linux distributions) and slang 2.x - It's unicode ready, tries to detect terminal mode (utf-8/iso) at startup and switch the internal logic to iso/unicode mode. When compiled with slang 1.4x or 2.x and terminal is in UTF-8 it can display all characters like in DOS if only used font have them or good fall-back table is loaded (f.e. the one created by QRCZAK) Added support for extended mouse keys (middle button and wheel). * harbour/source/rtl/gtstd/Makefile * harbour/source/rtl/gtstd/gtstd.c - harbour/source/rtl/gtstd/mousestd.c * rewritten for new GT API Now it can work as full screen GT driver redrawing the previous screen contents from internal GT core buffers. I run with this GT some of my programs and they work quite well ;-) of course without colors. * harbour/source/rtl/gtwin/Makefile * harbour/source/rtl/gtwin/gtwin.c - harbour/source/rtl/gtwin/mousewin.c * updated for new GT API + harbour/source/rtl/gtxwc/Makefile + harbour/source/rtl/gtxwc/gtxwc.c + harbour/source/rtl/gtxwc/gtxwc.h * new XWindow Console GT driver based on my and Giancarlo Niccolai code form xHarbour - this GT can work in XWindow environment only and create its own window for console output. It delays the initialization to the moment when user try to display anything on the screen so even without X Window system programs which uses this GT can work as long as use only outstd/outerr output. * harbour/source/vm/arrays.c * updated for API modifications + added hb_arrayId(), * changed hb_arrayClone() declaration to: HB_EXPORT PHB_ITEM hb_arrayClone( PHB_ITEM pSrcArray ) * changed hb_arrayFromParams() declaration to: PHB_ITEM hb_arrayFromParams( int iLevel ) * harbour/source/vm/arrayshb.c * updated for API modifications + added new parameter iLevel to function HB_APARAMS() * harbour/source/vm/classes.c * harbour/source/vm/cmdarg.c * harbour/source/vm/dynlibhb.c * harbour/source/vm/estack.c * harbour/source/vm/fm.c * harbour/source/vm/garbage.c * harbour/source/vm/maindll.c * harbour/source/vm/maindllh.c * harbour/source/vm/maindllp.c * harbour/source/vm/mainstd.c * harbour/source/vm/mainwin.c * harbour/source/vm/memvars.c * harbour/source/vm/pcount.c * harbour/source/vm/proc.c * updated for API modifications * harbour/source/vm/codebloc.c * updated for API modifications + added hb_codeblockId() * harbour/source/vm/dynsym.c * updated for API modifications + added new functions: hb_dynsymFindSymbol(), hb_dynsymGetSymbol(), hb_dynsymSymbol(), hb_dynsymName(), hb_dynsymMemvarHandle(), hb_dynsymAreaHandle(), hb_dynsymSetAreaHandle() * harbour/source/vm/eval.c * updated for API modifications * call hb_vmPushState()/hb_vmPopState() in hb_itemDo()/hb_itemDoC() functions - it's necessary to make HVM reentrant safe. * harbour/source/vm/extend.c * updated for API modifications + added hb_extIsObject() similar to existing hb_extIsArray() * harbour/source/vm/hvm.c * updated for API modifications + added new functions: hb_vmPushState(), hb_vmPopState() which save/restore HVM state (the top stack value which can be processed and return item and maybe sth else in the future) making HVM ready for reentrant. * harbour/source/vm/itemapi.c * updated for API modifications + added new function: HB_EXPORT PHB_SYMB hb_itemGetSymbol( PHB_ITEM pItem ); ! fixed bug in hb_itemPutNInt() * harbour/tests/Makefile * harbour/utils/hbdoc/Makefile * harbour/utils/hbextern/Makefile * harbour/utils/hbmake/Makefile * harbour/utils/hbrun/Makefile * harbour/utils/hbtest/Makefile - removed badly added: dbfntx, dbfcdx, dbffpt, hbsix libraries. what broke GNU make compilation for some compilers This libraries should be included automatically when RDD lib is included by *.cf files Summary: The whole patch (cvs diff -uN) is ~1.5MB length and I cannot describe everything in details - sorry but it was too much modifications in one commit so now just some of general notes. The header files included as is does not have any information about internal HVM structures and some functions. In practice only HB_SYMB is public and it has to be public for .c files generated from .prg so I force the fixed size of this structure (alignment independent) by redefining some members to union with void * - it's a little bit ugly trick but it effectively eliminates the problem of linking binaries compiled with differ alignment C compiler switches. The structures like HB_ITEM, HB_CODEBLOCK, HB_STACK, HB_DYNS are not longer defined and pointers to the defined as void * - like in Clipper the ITEM structure. It caused that I had to add some new functions to make some operation still possible to implement. If I missed sth and any of you will have a problem with your code then please inform me about it and after a small discussion on Harbour developers list we can decide if other functions should be added. The internal API is still accessible. It's enough to include "hbvmopt.h" file before other header files to enable it. Now only files in source/vm directory include it. The 3-rd party code which does not include hbvmopt.h (or tries to set some internals macros) should be safe for future HVM modifications and will work also with new binaries so 3-rd party library developers should remember about it. If they won't then it's only their and their clients problem not Harbour developers. With this modifications I also create new GT model which is similar to the one used by RDD with multi inheritance. It can be quite easy extended to simultaneously load more then one GT subsystem (sth like work areas in RDD) but I left it for the future when someone may need it. hbapigt.h file now contains only information about public functions and does not have any code which depends on current internal implementation - it should be backword compatible as long as somone did not try to use internal GT functions. The internal GT system use hbgtcore.h file which should not be included by 3-rd party code as long as someone will not make new GT driver. The internal GT code is new so I expect that it will be changed yet in the nearest future (I'm waiting for other developers feedback) and in such case any 3-rd party GTs will have to be updated. How it works: The base GT driver (GTNUL) is fully functional GT driver which makes all operations on memory buffer. After each screen write Flush() method is called which check for dispcount() and if it's 0 then call Refresh() method to update modified area by Redraw() method. This method is dummy in GTNUL and external output with this GT can be reached by outstd()/outerr() which are now redirected to GT methods. A simple GT driver may overload only Refresh() method to give full screen output. Application can use only this GT driver and it seems to be very good choice for GUI and background daemon/service programs. This GT is loaded at startup then all other GTs can be loaded later and inherit from the previously loaded GT drivers. The new GT driver can overload as much method as wants/needs. Now all GT operations are implemented as GT method so GT driver can easy change their default behavior, f.e. it may fully overload color parsing methods and use differ or extended to Clipper color definitions. I rewrote all existing GTs to work with new GT model. OS2 users - please test GTOS2 which I was not able to test and see the note in Redraw() method. If possible please make some speed tests. In fact now there is much more internal operations then it was before but because they are done on memory only then current code is much faster in this GT drivers which so far makes all operations on real video area. I made some tests with GTNUL and tests/vidtest.prg and the total overhead is minimal. Now dipbegin()/dispend() in practice does not cost anything so it gives additional speed improvement in application which extensively use it. More then one GT driver can be linked with final binaries and chose on application startup by //GT switch and/or environment variable HB_GT= In the RTL is new GT function GTSYS() which works in similar way to RDDSYS() in RDD subsystem and for linking default GT driver for given platform. When RTL is compiled the default GT driver is set to HB_GT_DEFAULT envvar and if not exist to HB_GT_LIB envvar and if it also does not exist to hard coded platfom GTs (see source/rtl/gtsys.c and source/rtl/Makefile for rules) Adding to source code: ANNOUNCE GTSYS disable linking the default GT driver and: REQUEST HB_GT_ for linking given () GT driver, f.e.: REQUEST HB_GT_WIN If you are working in SH environment (Linux and other *nixes users, DJGPP bash, MinGW shell then it's possible to use -gt switch in hblnk / hbmk scripts to force linking GT drivers (it could be repeated with different ) and the first one becomes the default one. F.e.: xhbmk -m -n -w -es2 -gtcrs -gtsln -gtstd -gtpca vidtest.prg Usually the GT driver are loaded at HVM startup but it's possible to load it later. I created new GT driver CTW which gives full CT3 like Window system. The CT3 extended driver change the behavior of some function in Clipper extended driver, f.e WRITECON() or SETPOS() with parameters out of screen range. So I implemented it CTW as RT GTs which is loaded when some of CTWIN function is used (f.e. WOPEN()/WBOARD()) and inherits from any existing GT driver. This is full CT3 WIN implementation with all detail behaviors I found (with some CT3 bug fixes). It does not have any CT3 limitations and can be used for any virtual screen/window size though I hardcoded CT3 limitation for backword compatibility. If somone will want to remove it then it will be enough to delete few lines from ctwin.c file. I'm not CTWIN Clipper user so maybe I missed some side effects in this driver and was not able to well test it so if you will find any incompatibilities then please inform me. THe default GT buffer uses 32bit character cell internally but in savescreen/restscreen it uses VGA compatible two bytes character cell. Some GT drivers may want to use differ character cell. Now GTCRS and GTSLN use 32bit character cell by default. They need additional information about character set (box/normal) to properly display box characters. It is possible to force in this GT drivers using Clipper compatible character cell by calling: hb_gtInfo( GTI_COMPATBUFFER, ) -> but in may cause that box drawing characters will be lost in some countries after RESTSCREEN(). It will depend on used code page. HB_GTINFO() is new function which works in similar way to DBINFO() in RDD. It allows to retrieve/change some of GT driver settings. GTI_* actions are defined in hbgtinfo.ch - it has all GTI_* definitions used in xHarbour. Now in Harbour only few of them are implemented. The new three .prg functions: HB_SETKEYCP( [,] ) HB_SETDISPCP( [,] [,] ) HB_SETTERMCP( [,] [,] ) have been added. They set automatic input (HB_SETKEYCP) and output (HB_SETDISPCP) (or both: HB_SETTERMCP) character translation. They are also important for some GTs which informing them about used internal code page for unicode translation (GTXWC, GTSLN) and/or chosing proper character set (standard/alternate) for letters and other (f.e. box drawing characters) (GTCRS, GTSLN), is encoding used on external (terminal) side is encoding used internally, if not given then current code page set HB_SETCODEPAGE() is used. some of GTs which uses unicode output may ignore is optional parameter which interacts with dispbox() output disabling switching to alternate character set in some GTs. It effectively causes that if internal (host) code page contains some letters on the box char positions then they will be shown also by box drawing functions like dispbox() instead of CP437 characters. In some cases it could be useful. By default lBoxChar is not set and GTs which can switch between standard and alternate character set (GTCRS, GTSLN) will try to use alternate character set for box drawing functions. Victor: I removed some of your functions. They can be very easy implemented with hb_gt_GetChar()/hb_gt_PutChar() but I do not want to make them part of documented external API because some GT drivers may want to use absolutely differ color definitions and they will stop to work so I do not want to make this functions documented external API. Ryszard: Setting alternative debug keys does not longer work. I like such possibilities but it should be implemented in differ way to f.e. using HB_GTINFO interface to allow low level GT driver extensions, f.e. in *nixes using CTRL+[A-Z] and SIGINT, SIGQUIT, SIGTSTP signals for real asynchronous setting of debug/cancel flag without keyboard polling from main HVM loop. I would like to discus about such more general solution. *** Please updated non GNU make files *** 2006-02-03 15:56 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt + added modules strpeek and dynlibhb 2006-02-03 15:30 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * source/rtl/filesys.c * Harbour 64 bits required fix 2006-01-09 14:50 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * source/macro/macrob.c * fixed to release the memory if macro compiled code contains a variable or a function reference * source/rtl/filesys.c * added missing '(' to copile correctly on UNIX'es 2005-12-28 13:05 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * vm/maindll.c + Added new functions HBDLLENTRY1() and HBDLLENTRY2() These function allow to call a Harbour (self contained) DLL and provide it one or two Harbour items as parameters. A HBDLLENTRYN() that allows optionally N parameters would be valuable too. 2005-12-02 17:12 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * include/hbmath.h ! Fixed a few declarations to be in sync with the implementation. (Thanks Chen) 2005-11-27 11:20 UTC+0200 Chen Kedem * doc/en/math.txt * Rename HB_MATHERRMODE() --> HB_MATHERMODE(), HB_MATHERRORBLOCK() --> HB_MATHERBLOCK(), math.ch --> hbmath.ch * Some formating to 76 characters per line 2005-11-24 23:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * include/hbpcode.h + Comment added about adding new pcodes at the end of the list for compatibility. * source/rtl/filesys.c + Added hb_fsSetDevMode() Unix branch added (thx Przemek) * tests/mathtest.prg * source/rtl/math.c ! Fixed prev commit to comply with 10char function name rule: HB_MATHERRMODE() -> HB_MATHERMODE() HB_MATHERRORBLOCK() -> HB_MATHERBLOCK() * source/rtl/seconds.c ! hb_secondsCPU() move inside FlagShip guard instead of HB_EXTENSION. * hb_secondsCPU() made static (Harbour level function helper only with non-std name). * source/vm/dynlibhb.c * include/hbextern.ch * LIBLOAD(), LIBFREE() moved (back) to Harbour namespace: HB_LIBLOAD(), HB_LIBFREE() + Added these functions to hbextern.ch * source/rtl/symbol.prg * source/vm/dynsym.c * include/hbextern.ch * Internal function names renamed to comply and to not collide with existing ones (mistake in prev commit). + tests/symbolt.prg ; Missed from prev commit. 2005-11-22 10:31 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/symbol.prg * source/vm/dynsym.c * include/hbextern.ch ! Moved and renamed two functions from BEGINDUMP to their proper place. GETSYMBOLPOINTER() -> __DYNSGETPOINTER() GETSYMBOLNAME() -> __DYNSGETNAME() + Added the two functions to hbextern.ch + TOFIX added to symbol.prg to remove the remaining one C function inside BEGINDUMP. (Antonio, can you take a look?) 2005-11-22 10:08 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * doc/en/hb_apifs.txt ! Fixed doc for hb_fsSetDevMode() * source/rtl/filesys.c + Partially undone prev commit, so that now it gives unreferenced var warnings for the not-implemented platform branch. * tests/bldtest/bldtest.c + Added missing CVS ID. * samples/guestbk/Makefile * samples/guestbk/bld_b32.bat * samples/hscript/Makefile * samples/hscript/bld_b32.bat * samples/misc/Makefile * samples/pe/Makefile * tests/Makefile * utils/hbdoc/Makefile * utils/hbextern/Makefile * utils/hbmake/Makefile * utils/hbrun/Makefile * utils/hbtest/Makefile + Added missing dbf*, hbsix libs. Could not test GCC because MingW build is broken. 2005-11-22 02:22 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * makefile.bc * updated to compile source/rtl/strpeek.c 2005-11-22 01:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsetup.ch * enable HB_COMPAT_FLAGSHIP by default I hope it will not be a problem - if it does then I can disable it but in *nixes for a long time FlagShip was the only one Clipper alternative and some of its functions are quite often used in Clipper/FoxPro programs ported to *nixes so I'd want to keep it enabled at least when HB_OS_LINUX/HB_OS_UNIX is defined. * harbour/include/hbvm.h + added missing extern in hb_vmAtInit() and hb_vmAtExit() declarations * harbour/include/hbvmpub.h * formatting * harbour/source/rdd/dbcmd.c ! fixed the problem with fieldput(,nil) at phantom recrod reported by Victor * do not use C level HB_ITEM * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed possible GPF when "/an/existing/path/" was used as file name. No in DOS in such case it will casue RT error that file: /an/existing/path/. cannot be created (like in Clipper) but in other systems (f.e. Linux) which allow to use such file names it will work without any problems. * harbour/source/rdd/dbffpt/dbffpt1.c * do not use C level HB_ITEM * harbour/source/rtl/Makefile + harbour/source/rtl/strpeek.c + added STRPEEK and STRPOKE FS functions covered by HB_COMPAT_FLAGSHIP macro * harbour/source/rtl/philes.c ! fixed GPF when unshareing string item buffer with embedded 0 by using hb_itemUnShare() * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + added hb_itemUnShare() - /* un-share given string item */ and hb_itemClone() - /* clone the given item */ 2005-11-21 18:03 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) - include/math.ch + include/hbmath.ch * include/hbmath.h * tests/mathtest.prg ! math.ch -> hbmath.ch (rename) 2005-11-21 17:44 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) + tests/simplet.prg * src/rtl/symbol.prg * Embedded example code moved to the test dir. * src/rtl/math.c * include/hbextern.ch * tests/mathtest.prg * doc/en/math.txt ! HB_ prefix added for non-Clipper functions. MATHERRMODE() -> HB_MATHERRMODE() MATHERRORBLOCK() -> HB_MATHERRORBLOCK() + Above two functions added to hbextern.ch * HB_MATHERRMODE() input validation logic moved to the lower level function. This is a step to make this a simple Set() * include/math.ch + HB_ prefix added. 2005-11-21 18:29 UTC+0200 Chen Kedem * source/rtl/math.c * Standardized public function names (to make HbExtern happy): HB_FUNC (MATHERRMODE) --> HB_FUNC( MATHERRMODE ) HB_FUNC (MATHERRORBLOCK) --> HB_FUNC( MATHERRORBLOCK ) HB_FUNC (LOG) --> HB_FUNC( LOG ) * utils/hbextern/hbextern.prg * Heavily modified to produce more accurate output 2005-11-14 16:42 UTC+0100 Antonio Linares * harbour/contrib/rdd_ads/makefile.vc - removed module ads0 2005-11-19 00:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * include/hbapifs.c * src/rtl/filesys.c ! hb_fsSetDevMode() fixed back to return a BOOL value to be compatible with the CA-Cl*pper undocumented _tdevraw() function. (hb_fsSetDevMove() is mapped to _tdevraw() in hbundoc.api, it's the documented version of the same functionality) Also fixed warning and error for one of the dummy platform branches. Since this came from xHarbour it pbly needs to be fixed there too. * tests/Makefile + symbolt.prg added 2005-11-16 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh * updated for nulsys.prg -> nulsys.c modification 2005-11-16 13:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbvmpub.h * changed definition of HB_SYMB structure. HB_SYMBOLSCOPE cScope replaced by: union { HB_SYMBOLSCOPE value; /* the scope of the symbol */ void * pointer; /* filler to force alignment */ } scope; This modification should only force the same alignment independently on used compiler alignment switches or executed #pragma pack* It's important to keep this structure with fixed size because it's used in .c files generated from .prg code. The code with #pragma pack* removed - it should not be longer necessary but please make a real tests with different compiler alignment switches * harbour/contrib/btree/hb_btree.c * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/runjava/runjava.c * harbour/source/compiler/genc.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/vm/dynsym.c * harbour/source/vm/hvm.c * harbour/source/vm/initsymb.c * harbour/source/vm/runner.c * updated for modified HB_SYMB structure. 2005-11-15 05:10 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * nulsys generation updated. * source/compiler/gencobj.c ! Fixed warning. * source/rdd/rddord.prg ! Fixed to include hbsetup.ch for HB_COMPAT_* guard * source/vm/hvm.c ! Fixed warning. * make_b32.bat - Removed "set BISON_SIMPLE" (was remmed) 2005-11-14 20:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/expropt2.c * casting * harbour/include/hbdate.h + added hb_dateJulianDOW() - retrieve day of week from Julian's date * harbour/source/rtl/dates.c * harbour/source/common/hbdate.c * moved hb_dateDOW(), hb_dateDecStr() and hb_dateEncStr() to hbdate.c - Ryszard I'd prefer to keep this function together It will be much easier to update them. + added HB_STR_DATE_BASE for conversion to string - Clipper compatibility though we are not 100% Clipper compatible in STOD() because we will have to reduce functionality (supported date range) to reach it. In Clipper STOD(DTOS()) is not revertible. I decided to make it revertible in [x]Harbour for the whole supported in string conversion range: 0000/01/01 : 9999/01/01 % optimized hb_dateEncode() * some minor fixes for Clipper compatibility * harbour/source/rtl/dateshb.c * use faster and Clipper compatible hb_dateJulianDOW() instead of hb_dateDOW() * harbour/source/rdd/nulsys/Makefile - harbour/source/rdd/nulsys/nulsys.prg + harbour/source/rdd/nulsys/nulsys.c * replaced .prg code with #pragma begindump/enddump by native C code rtl/symbol.prg have to be updated yet. * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * synced with xHarbour 2005-11-14 20:50 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.vc * makefile.nt * makefile.vc * makefile64.nt * Change -o linker option to /OUT: to avoid warning with MS Visual Studio 2005 compiler tools. + Added -D_CRT_SECURE_NO_DEPRECATE to suppress the many new MS warnings about unsafe function usage. ; NOTE: MSVC 14.0 fails to compile macroy.c ; NOTE: Still tons of warnings, but other than these it compiles fine. * source/codepage/cdpsl437.c ! Fixed wrong escape char (\ -> \\). * include/hbsetup.ch * source/common/hbverdsp.c + Added CLIP compatibility switch. * include/hbextern.ch + Updated (somewhat). * source/rtl/strmatch.c * source/rdd/rddord.prg ! WILDMATCH() renamed to HB_WILDMATCH() * source/rdd/rddord.prg ! ORDWILDSEEK() guarded with HB_COMPAT_XPP * source/rtl/seconds.c ! SECONDSCPU guarded with HB_COMPAT_FLAGSHIP 2005-11-14 9:01 UTC-0800 Luis Krause Mantilla * hrbdll.bc - removed references to delim0.prg/c 2005-11-14 14:40 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/bin/bld.bat + added references to hbsix.lib - removed references to dbfdbt.lib 2005-11-14 11:40 UTC+0100 Ryszard Glab * source/compiler/harbour.y * fixed 'type clash' warning in some bison version 2005-11-14 11:10 UTC+0100 Ryszard Glab * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * updated to compile source/common/hbdate.c 2005-11-14 11:00 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hberrors.h * include/hbexpra.c * include/hbexprb.c * include/hbexprop.h * include/hbhash.h * include/hbmacro.h * include/hbpcode.h * source/common/Makefile * source/common/expropt1.c * source/common/expropt2.c * source/common/hbhash.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbgenerr.c * source/compiler/hbident.c * source/compiler/hbpcode.c * source/macro/macro.l * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/rtl/dates.c * source/vm/hvm.c * source/vm/macro.c + source/common/hbdate.c + tests/ddate.prg + tests/switch.prg +added support for DATE type constants in the following format: 0dYYYYMMDD for example (see tests/ddate.prg for more): IF( dDate > 0d20051112 ) +added support for SWITCH command (see tests/switch.prg) SWITCH CASE ... [EXIT] CASE ... [EXIT] [OTHERWISE] ... END Notice: - Integer and string expressions can be mixed in a single SWITCH command with no runtime errors; - CASE expression have to be resolved at compile time and the result has to be either an integer or string constant - if there is no EXIT statement then next CASE is executed (or OTHERWISE for the last CASE) For example: CASE 1+32+2*4 CASE CHR(64) CASE ASC('A') CASE "A"+CHR(13) Notice: The above changes apply only to FLEX version! 2005-11-13 21:21 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/contrib/ole/bldtest.bat * harbour/contrib/ole/hbtest.prg ! updated files 2005-11-13 20:50 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/contrib/rdd_ads/makefile.bc * harbour/contrib/rdd_ads/make_b32.bat ! updated - synced with xHarbour 2005-11-13 12:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole/ole2.c * harbour/contrib/ole/oleauto.prg ! fixed casting * harbour/contrib/rdd_ads/Makefile * harbour/contrib/rdd_ads/ace.h * harbour/contrib/rdd_ads/ads.ch - harbour/contrib/rdd_ads/ads0.prg * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/rdd_ads/adsmgmnt.c * harbour/contrib/rdd_ads/rddads.h * harbour/include/hbapirdd.h * harbour/include/hbrddcdx.h * harbour/include/hbrdddbf.h * harbour/include/hbrdddbt.h * harbour/include/hbrddfpt.h * harbour/include/hbrddntx.h * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbsort.prg * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/dbtotal.prg * harbour/source/rdd/hbdbsort.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * synced with xHarbour * harbour/include/hbcomp.h * harbour/source/compiler/harbour.c * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hbpcode.c * emit warning and error messages to stderr instead of stdout Now it's enabled only for *nix platforms. * harbour/source/vm/extend.c * allow hb_param() to return parameters accessed by HB_IT_BYREF 2005-11-08 01:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/garbage.c - removed unnecessary memset() * harbour/source/vm/hvm.c % use startup initialized symbols: hb_symEnumIndex, hb_symEnumBase, hb_symEnumValue instead of strcmp( pSym->szName, ... ) in hb_vmSend() % remove unnecessary temporary item in hb_vmEnumStart() and use hb_itemMove() instead of hb_itemCopy()+hb_itemClear() % changed main VM loop to eliminate one comparision done on each loop. Now HB_P_ENDBLOCK and HB_P_ENDPROC pcodes set HB_ENDPROC_REQUESTED and the main loop can be exited only from one place. It gives some small but noticeable speed improvement. Ryszard please check this modification. AFAIK it should not cause any bad side effect and IMHO the code is cleaner now. * harbour/source/vm/itemapi.c % removed two unnecessary hb_itemClear() before hb_itemRelease() 2005-11-07 14:35 UTC+0100 Ryszard Glab * include/hbapi.h * include/hbapiitm.h * include/hbcomp.h * include/hberrors.h * include/hbexpra.c * include/hbpcode.h * include/hbsetup.h * source/common/expropt1.c * source/compiler/expropta.c * source/compiler/genc.c * source/compiler/gencli.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbgenerr.c * source/compiler/hbpcode.c * source/macro/macroa.c * source/vm/hvm.c * source/vm/itemapi.c + tests/foreach.prg + added support for FOR EACH loop FOR EACH var1 [,var255] IN expr1 [,expr255] [DESCEND] NEXT Note: -expr can be a string or an array if it is a string then assigments to the control variable does not change the string -after the loop the controlling variable(s) store the value which they had before entering the loop -the controlling variable supports the following properties :__enumindex - the loop counter for variable :__enumbase - the value that is being traversed :__enumvalue - the value of variable -see tests/foreach.prg for examples + added warnings in cases of duplicated loop variables eg. FOR i:=1 TO 5 FOR i:=i TO i+5 -removed strong typing in the compiler (xHarbour too) (reactivate it by compiling with -DHB_COMP_STRONG_TYPES) NOTE: The new pcodes were added - rebuild everything 2005-11-04 22:19 UTC+0100 Antonio Linares * harbour/source/vm/estack.c * hb_UnhandledExceptionFilter() modified to return EXCEPTION_CONTINUE_SEARCH NOTICE: When returning EXCEPTION_CONTINUE_SEARCH then both Microsoft and Borland behave the same way, and the Windows GPF dialogbox is finally shown, which it is quite usefull to locate the GPF address (on a MAP file). 2005-11-04 12:41 UTC+0100 Antonio Linares * harbour/source/vm/mainwin.c * SetUnhandledExceptionFilter() is called if HB_INCLUDE_WINEXCHANDLER define is used * harbour/source/vm/estack.c * UnhandledExceptionFilter renamed as hb_UnhandledExceptionFilter, and WINBASEAPI removed. 2005-11-03 10:42 UTC+0100 Antonio Linares + added Microsoft initialization code harbour/source/lang/msgcs852.c harbour/source/lang/msgcsiso.c harbour/source/lang/msgcskam.c harbour/source/lang/msgcswin.c harbour/source/lang/msgde.c harbour/source/lang/msgdewin.c harbour/source/lang/msgel.c harbour/source/lang/msgelwin.c harbour/source/lang/msgen.c harbour/source/lang/msgeo.c harbour/source/lang/msges.c harbour/source/lang/msgeswin.c harbour/source/lang/msgeu.c harbour/source/lang/msgfr.c harbour/source/lang/msggl.c harbour/source/lang/msghr852.c harbour/source/lang/msghriso.c harbour/source/lang/msgid.c harbour/source/lang/msgis850.c harbour/source/lang/msgit.c harbour/source/lang/msgko.c harbour/source/lang/msgpt.c harbour/source/lang/msgro.c harbour/source/lang/msgru866.c harbour/source/lang/msgrukoi.c harbour/source/lang/msgruwin.c harbour/source/lang/msgsl437.c harbour/source/lang/msgsl852.c harbour/source/lang/msgsliso.c harbour/source/lang/msgslwin.c harbour/source/lang/msgsr852.c harbour/source/lang/msgsriso.c harbour/source/lang/msgsrwin.c harbour/source/lang/msgzhb5.c harbour/source/lang/msgzhgb.c 2005-11-02 07:32 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt + added references to new files. 2005-11-02 01:56 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc + added references to harbour/source/common/hbarch.c + added references to harbour/source/rtl/fserror.c 2005-11-01 23:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh + harbour/make_xmingw.sh * harbour/bin/hb-mkslib.sh * harbour/bin/postinst.sh * harbour/config/w32/mingw32.cf * added support for cross compilation (Windows binaries at Linux) with MinGW - borrowed from xHarbour Phil Krylov solution * harbour/contrib/btree/hb_btree.c * casting * harbour/contrib/libct/files.c ! fixed iAttr initialization in SETFATTR() * harbour/contrib/ole/ole2.c ! fixed names of included files * harbour/contrib/rdd_ads/ace.h * cover #pragma warning( error : 4706 ) by !defined( __GNUC__ ) * harbour/include/hbapi.h * harbour/include/hbdefs.h + harbour/source/common/hbarch.c * harbour/source/common/Makefile * added functions for machine independent double and long long conversions (my code borrowed from xHarbour) * harbour/include/hbapifs.h * synced file IO with xHarbour - it fixes some problems, adds some missing functionality and long (64bit) file support for Windows. For Linux I added it some time ago. * harbour/include/hbcomp.h * changed 'char cScope' to 'HB_SYMBOLSCOPE cScope' * harbour/source/common/hbfsapi.c ! fixed some possible buffer overflow * harbour/source/common/hbstr.c * synced with xHarbour * harbour/source/common/hbver.c + added hb_iswinnt() (borrowed from xHarbour) * harbour/source/compiler/cmdcheck.c + added -undef: compiler switch (borrowed from xHarbour) * harbour/source/compiler/gencobj.c * cleanup * harbour/source/pp/ppcore.c ! fixed path delimiters in included file names * harbour/source/rtl/Makefile + harbour/source/rtl/fserror.c + added C -> OS file error trnalsations - not perfect but better then the used hacks (borrowed from xHarbour) * harbour/source/rtl/file.c * use hb_fileNameConv() instead of hb_filecase() - hb_fileNameConv() is the only one function to make file name conversions dependent on some SETs. * harbour/source/rtl/filesys.c * synced file IO with xHarbour - it fixes some problems, adds some missing functionality and long (64bit) file support for Windows. For Linux I added it some time ago. * harbour/source/rtl/fstemp.c * synced with xHarbour * harbour/source/rtl/strings.c * use ULONG instead of size_t in hb_strnicmp declaration - we have to decide what we should use. Using size_t or its Harbour version f.e. HB_SIZE_T seems to be reasonable but it has to be global - redefining single functions does not make sense and will create troubles only. 2005-10-31 14:38 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt - Some files removed cause recent changes: harbour/source/rdd/dbf0.prg harbour/source/rdd/delim0.prg harbour/source/rdd/sdf0.prg harbour/source/rdd/dbfcdx/dbfcdx0.prg harbour/source/rdd/dbfcdx/sixcdx0.prg harbour/source/rdd/dbfdbt/dbfdbt0.prg 2005-10-30 14:50 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: source/rdd/hbsix, source/rdd/hsx * doc/en/lang.txt + Added the following to HB_LANGSELECT() list of supported ID's: BG866, BGISO, BGWIN, HUISO + Added the following to HB_SETCODEPAGE() list of supported ID's: BG866, BGISO, BGWIN, ESMWIN, HUISO * Change the following to HB_SETCODEPAGE() list of supported ID's: PT --> PT850, RUWIN --> RU1251 * source/lang/msghe862.c * source/lang/msghewin.c * Update startup code to work with MSC 2005-10-28 10:23 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * include/hbapicdp.h * source/codepage/Makefile * source/codepage/cdphu852.c * source/lang/Makefile * source/lang/msg_tpl.c * source/lang/msghu852.c + source/codepage/cdpbg866.c + source/codepage/cdpbgiso.c + source/codepage/cdpbgwin.c + source/codepage/uc8859_5.c + source/lang/msgbg866.c + source/lang/msgbgiso.c + source/lang/msgbgwin.c + Added BG language support. * HU minor fix. * Lang template updated. 2005-10-24 15:09 UTC+0200 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc - Remove references to: harbour/source/rdd/dbf0.prg harbour/source/rdd/delim0.prg harbour/source/rdd/sdf0.prg harbour/source/rdd/dbfcdx/dbfcdx0.prg harbour/source/rdd/dbfcdx/sixcdx0.prg harbour/source/rdd/dbfdbt/dbfdbt0.prg 2005-10-24 14:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * BCC make file updated by Jacek Kubica 2005-10-24 13:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbapiitm.h * harbour/include/hbapirdd.h * harbour/include/hbdefs.h * harbour/include/hbtypes.h * harbour/source/rtl/empty.c * harbour/source/vm/arrays.c * harbour/source/vm/extend.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/vm/maindllp.c + added HB_TYPE to as HB_ITEM type marker. * set HB_TYPE as UINT32 * updated to the above modifications * cleaned some ~HB_IT_BYREF which has no effect in current VM 2005-10-24 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbtypes.h * harbour/source/vm/maindllp.c ! fixed some declaration I missed in previous commit 2005-10-24 12:08 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * source/codepage/Makefile * source/codepage/cdphu852.c + source/codepage/cdphuiso.c * source/codepage/cdphuwin.c * source/lang/Makefile * source/lang/msghu852.c * source/lang/msghucwi.c + source/lang/msghuiso.c * source/lang/msghuwin.c * HU lang stuff updated. ISO cp added (same as Win cp). Minor fixes (not related to functionality) added. 2005-10-24 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/dot/pp.prg * harbour/contrib/dot/pp_harb.ch * harbour/include/hbapi.h * harbour/include/hbapirdd.h * harbour/include/hbdefs.h * harbour/include/hbextern.ch * harbour/include/hbinit.h * harbour/include/hbstack.h * harbour/include/hbsxfunc.h * harbour/include/hbvm.h + harbour/include/hbvmopt.h * harbour/include/hbvmpub.h * harbour/source/codepage/cdp_tpl.c * harbour/source/codepage/cdppl852.c * harbour/source/codepage/cdppliso.c * harbour/source/codepage/cdpplmaz.c * harbour/source/codepage/cdpplwin.c * harbour/source/compiler/genc.c * harbour/source/compiler/harbour.c * harbour/source/lang/msgca.c * harbour/source/lang/msgpl852.c * harbour/source/lang/msgpliso.c * harbour/source/lang/msgplmaz.c * harbour/source/lang/msgplwin.c * harbour/source/rdd/Makefile * harbour/source/rdd/dbcmd.c - harbour/source/rdd/dbf0.prg * harbour/source/rdd/dbf1.c - harbour/source/rdd/delim0.prg * harbour/source/rdd/delim1.c * harbour/source/rdd/rddsys.prg - harbour/source/rdd/sdf0.prg * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfcdx/Makefile - harbour/source/rdd/dbfcdx/dbfcdx0.prg * harbour/source/rdd/dbfcdx/dbfcdx1.c - harbour/source/rdd/dbfcdx/sixcdx0.prg * harbour/source/rdd/dbfdbt/Makefile - harbour/source/rdd/dbfdbt/dbfdbt0.prg * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/Makefile - harbour/source/rdd/dbffpt/dbffpt0.prg * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/Makefile * harbour/source/rdd/dbfntx/dbfntx0.prg * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/hbsix/Makefile * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hbsix/sxcrypt.c * harbour/source/rdd/hbsix/sxdate.c * harbour/source/rdd/hsx/hsx.c * harbour/source/rdd/nulsys/nulsys.prg * harbour/source/rtl/browdbx.prg * harbour/source/rtl/cdpapi.c * harbour/source/vm/arrays.c * harbour/source/vm/arrayshb.c * harbour/source/vm/asort.c * harbour/source/vm/break.c * harbour/source/vm/classes.c * harbour/source/vm/cmdarg.c * harbour/source/vm/codebloc.c * harbour/source/vm/debug.c * harbour/source/vm/dynlibhb.c * harbour/source/vm/dynsym.c * harbour/source/vm/estack.c * harbour/source/vm/eval.c * harbour/source/vm/evalhb.c * harbour/source/vm/extend.c * harbour/source/vm/fm.c * harbour/source/vm/garbage.c * harbour/source/vm/hvm.c * harbour/source/vm/initsymb.c * harbour/source/vm/itemapi.c * harbour/source/vm/macro.c * harbour/source/vm/maindllp.c * harbour/source/vm/memvars.c * harbour/source/vm/memvclip.c * harbour/source/vm/pcount.c * harbour/source/vm/proc.c * harbour/source/vm/pvalue.c * harbour/source/vm/runner.c * remove default API and stack macros. Now API/stack macros can be enabled by including hb_vmopt.h file. This file should be included _ONLY_ by core code because binary object/libraries generated after can work only with _EXACTLY_ the same HVM compiled the same C alignment switches * cleaned some HB_EXTERN_C declaration - Anotonio you should be able to build FWH now * cleaned startup initialization code - please update lang and codepage files - I only updated source/codepage/cdppl*.c and source/lang/msgpl*.c files Or other files should be updated or they will not work MSC * synced with recent xHarbour modification in RDD init code 2005-10-23 09:05 UTC+0100 Antonio Linares * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hbsix/sxcrypt.c * harbour/source/rdd/hsx/hsx.c + Minor fix to support define HB_NO_DEFAULT_API_MACROS (if used) required by Microsoft compiler IMPORTANT: Now Harbour properly builds using Microsoft compiler and define HB_NO_DEFAULT_API_MACROS, but applications fail to start, showing this error: Unrecoverable error 9004: RDD invalid or failed to load Called from DBFFPTINIT(62) Using Borland and the same define, all compiles and works ok. We need to discover why such error raises using Microsoft compiler and that define. 2005-10-21 08:40 UTC+0100 Antonio Linares * makefile.nt + minor fix. 2005-10-12 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/global.cf + added HB_DB_DRVEXT envvar support for additional RDDs * harbour/config/linux/gcc.cf + harbour/config/linux/gpp.cf + added GNU C++ support * harbour/config/linux/owatcom.cf * harbour/contrib/btree/hb_btree.c * harbour/contrib/libct/ct.h * harbour/contrib/libct/ctc.c * harbour/contrib/odbc/odbc.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/include/hbapi.h * harbour/include/hbapierr.h * harbour/include/hbapigt.h * harbour/include/hbapilng.h * harbour/source/compiler/harbour.c * harbour/source/rtl/console.c * harbour/source/rtl/datec.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/errorint.c * harbour/source/rtl/filesys.c * harbour/source/rtl/fssize.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/gtapi.c * harbour/source/rtl/isprint.c * harbour/source/rtl/natmsg.c * harbour/source/rtl/philes.c * harbour/source/rtl/setcolor.c * harbour/source/rtl/spfiles.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/vm/itemapi.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c * fixed for popper compilation with GNU C++ and OpenWatcom on Linux 2005-10-05 15:05 UTC+0100 Ryszard Glab * source/common/expropt2.c * fixed bug in ASC() optimization (when character code > 127) 2005-10-05 03:08 UTC-0500 David Arturo Macias Corona * harbour/include/hbextern.ch ! added missing declarations: DBRELATION, DBRSELECT, MENUMODAL, _PUSHBUTT_, _LISTBOX_ * harbour/contrib/mysql/tmysql.prg ! added conversion from tiny int MySQL type into numeric DBF. (an error before). Supplied by Mitja Podgornik 2005-09-28 13:05 UTC+0100 Ryszard Glab * makefile.bc * makefile.nt * makefile.vc * makefile64.nt - removed references to DBFDBT library * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * source/rtl/alert.prg * fixed displaying of boxes under the xterm (use @ ... TO ... instead of @ ... BOX) * source/rtl/gtcrs/gtcrs.c * fixed restoring of alternate characters flag 2005-09-27 15:10 UTC-0800 Luis Krause Mantilla * harbour/contrib/rdd_ads/adsfunc.c ! added missing functions hb_oemansi & hb_ansioem required with the recent sycn by Ryzard * harbour/contrib/rdd_ads/ads.ch ! updated comment on how to use ADS_REQUIRED_VERSION manifest constant 2005-09-26 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * xharbour/source/rdd/dbcmd.c ! fixed bug I introduced in RDDLIST() 2005-09-25 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/make_tgz.sh * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh * harbour/config/global.cf * harbour/include/hbapiitm.h * harbour/include/hbdate.h * harbour/include/hbextern.ch * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rtl/dates.c * harbour/source/vm/itemapi.c * updated for proper RDD synchronization with xHarbour * harbour/source/vm/hvm.c ! fixed bug in divide by 0 substitution * harbour/contrib/rdd_ads/ads0.prg * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/rdd_ads/rddads.h * synced base of ADS RDD with xHarbour - old code cannot be compiled without it - external ADS*() functions not synced - I do not use them and I do not want to break sth - Harbour ADS developers should check it 2005-09-23 15:05 UTC+0100 Ryszard Glab * include/hbextern.ch * removed reference to SDFC and DELIMC * source/rdd/dbcmd.c * removed definition of DBSKIPPER function (it is defined already in rtl/browdbx.prg) 2005-09-23 13:45 UTC+0100 Ryszard Glab * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * updated build files for non-GNU make engines 2005-09-23 15:45 UTC+0100 Ryszard Glab * config/global.cf * include/dbinfo.ch * include/hbapi.h * include/hbapierr.h * include/hbapifs.h * include/hbapirdd.h * include/hbdbf.h * include/hbdbferr.h * include/hbdefs.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrdddbt.h * include/hbrdddel.h * include/hbrddfpt.h * include/hbrddntx.h * include/hbrddsdf.h * include/hbrddwrk.h * include/hbvm.h * source/common/hbstr.c * source/rdd/Makefile * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbtotal.prg * source/rdd/delim0.prg * source/rdd/delim1.c * source/rdd/rddsys.prg * source/rdd/sdf0.prg * source/rdd/sdf1.c * source/rdd/workarea.c * source/rdd/dbfcdx/Makefile * source/rdd/dbfcdx/dbfcdx0.prg * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfdbt/Makefile * source/rdd/dbfdbt/dbfdbt1.c * source/rdd/dbffpt/Makefile * source/rdd/dbffpt/dbffpt0.prg * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/Makefile * source/rdd/dbfntx/dbfntx0.prg * source/rdd/dbfntx/dbfntx1.c * source/rdd/nulsys/nulsys.prg * source/rtl/errorapi.c * source/rtl/filesys.c * source/vm/dynsym.c * source/vm/extend.c * source/vm/itemapi.c * source/vm/hvm.c + include/hbsxfunc.h + source/rdd/dbfcdx/sixcdx0.prg + source/rdd/dbfcdx/sixcdx1.c + source/rdd/hbsix/Makefile + source/rdd/hbsix/sxcompr.c + source/rdd/hbsix/sxcrypt.c + source/rdd/hbsix/sxdate.c + source/rdd/hsx/Makefile + source/rdd/hsx/cftsfunc.c + source/rdd/hsx/hsx.c * changes to synhronize RDD code with xHarbour (state of 23.09.2005) Many, many thanks to Przemek Czerpak for his work. 2005-09-20 10:16 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/tget.prg ! One previous fix reverted because it broke numeric data entry. Solved from caller side for the meantime. TOFIX added. 2005-08-23 22:01 UTC-0400 Alejandro de Garate + doc\linux1st.txt Added Linux primer written by Scott Johnson 2005-08-23 18:45 UTC-0400 Alejandro de Garate * source\rtl\scrollbr.prg * Fixed length in Style string (more than 4 characters) - Eliminated unused LOCAL vars in Hitest() - Deleted unused method GetColor() + Added METHOD SetStyle( cStyle ) to change SB characters at runtime + Added METHOD SetColor( cColor ) to change SB colors at runtime * fixed bugs, minor optimizations 2005-08-23 18:45 UTC-0400 Alejandro de Garate + tests\sbartest.prg Added sample of scrollbar class 2005-06-14 21:11 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/disksphb.c * hb_DiskSpace() changed to not give a runtime error in case of any error, but set the FError() value instead. * config/bsd/global.cf * config/darwin/global.cf * config/dos/global.cf * config/dos/owatcom.cf * config/hpux/global.cf * config/linux/global.cf * config/linux/owatcom.cf * config/os2/dir.cf * config/os2/global.cf * config/os2/install.cf * config/sunos/global.cf * config/w32/global.cf ! Changed all line beginning spaces to Tabs. 2005-06-11 13:01 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/idle.c ! Fix to prev. commit. 2005-06-09 18:09 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/tget.prg ! :display fixed (again) to always call VarGet block to be CA-Cl*pper compatible. * config/w32/global.cf ! Fixed to properly create the obj directories when compiling using GCC under XP. This broke in the near past. * source/pp/ppcore.c ! Fixed two compiler warnings. ; Please review one of them if you made the change, since I'm not sure what the intention was, here's the code snippet: ... lenreal = IsMacroVar( *ptri, com_or_tra ); /* THIS LINE IS NOW COMMENTED OUT */ *ptri +=1; lenreal = getExpReal( expreal+2, ptri, FALSE, maxlenreal, FALSE ); ... * source/codepage/cdphu852.c ! HU sorting order fixed to be more compatible with CA-Cl*pper. (Still missing some non-852 chars though) * source/common/hbver.c ! Fixed forming NT version number (5.01.2600 -> 5.1.2600) * source/compiler/hbusage.c + Copyright year updated. * source/rtl/idle.c * Cleaned up a platform dependent code part. 2005-05-25 09:55 UTC+0300 Alexander Kresin * include/hbver.h * doc/whatsnew.txt * harbour.spec * Release info has been changed for release 45. 2005-05-15 11:04 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: config/hpux 2005-05-15 10:42 UTC+0300 Chen Kedem * doc/whatsnew.txt + Add information about the upcoming alpha build 45 written by Alejandro de Garate + Add historic information about the old OpenClipper builds 6, 7, 8 and 9 I had found on Google 2005-05-07 17:01 UTC+0100 Antonio Linares * makefile64.nt + bufferoverflowu.lib added to LDFLAGS as per new Microsoft C 64 compiler (PSDK April 2005) requirement. * hbdate.h * hbapifs.h + HB_EXPORT added to those functions that already were using it, as per new Microsoft C 64 compiler (PSDK April 2005) requirement. 2005-04-29 16:00 UTC+0100 Antonio Linares * makefile64.nt * -D__64__ removed. No longer needed. 2005-04-29 15:54 UTC+0100 Antonio Linares * include/hbinit.h * __64__ changed into Microsoft C 64 built-in _WIN64 2005-04-29 15:46 UTC+0100 Antonio Linares * include/hbdefs.h * fixed for Windows 64, using Microsoft C provided _WIN64 define Changes provided by Przemek. Thanks! :-) 2005-04-29 07:02 UTC+0100 Antonio Linares * makefile64.nt * __64__ define declared * include/hbinit.h * __64__ define use to detect building for 64 bits when using Microsoft C compiler Please notice that Microsoft C 64 compiler is a cross compiler that works as a 32 bits application, so this is the only way found by now to detect we want to build for 64 bits. 2005-04-29 06:08 UTC+0100 Antonio Linares + make_vc64.bat + makefile64.nt * make files for Microsoft C 64 bits 2005-04-18 00:15 UTC+0100 Antonio Linares * source/rtl/gtwin/gtwin.c * 64 bits support - temporary minor workarounds 2005-04-18 00:10 UTC+0100 Antonio Linares * include/hbdefs.h * fixed typo on used USHORT_MAX instead of USHRT_MAX as per advise from Przemek. 2005-04-18 22:52 UTC+0100 Antonio Linares * include/hbstack.h * two minor changes required for 64 bits support as per advise from Przemek. It is a general solution for the fix implemented yesterday. 2005-04-17 ??:?? UTC+0100 Antonio Linares * source/vm/hvm.c * minor change required for 64 bits support. 2005-03-18 11:45 UTC+0100 Ryszard Glab * config/dos/global.cf *restored creation of subdirectiories under plain DOS * include/hbapi.h * include/hbcomp.h * include/hbdefs.h * include/hbvm.h * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbpcode.c * source/vm/dynsym.c * source/vm/hvm.c * source/vm/macro.c *modified creation of symbols table *symbol of function name never share a symbol of variable *symbol for INIT/EXIT procedure has now '$' suffix - this means that such procedures cannot be called from user code (Clipper compatible) See the following code: PROCEDURE MAIN aaa() RETURN INIT PROCEDURE aaa ? "In INIT procedure", PROCNAME(0) RETURN STATIC PROCEDURE aaa ? "In STATIC procedure", PROCNAME(0) RETURN It will print: In INIT procedure aaa$ In STATIC procedure aaa *fixed access to static functions in a macro compiler (symbols for static functions never goes into dynamic symbols table) * source/pp/ppcore.c *increased numer of nested optional clauses (max 5 currently - work in progress) 2005-02-16 13:52 UTC+0100 Antonio Linares * source/vm/classes.c hb_objGetpMethod() compiled as extern "C" for MSVC compatibility with xHarbour 2005-02-01 21:05 UTC+0100 Tomaz Zupan * harbour.spec Returned optimization to O3. Problems with Mandrake/gcc are fixed in Mdk 10.1 with gcc 3.4. (see ChangeLog 2004-07-18 19:50 UTC+0200 Tomaz Zupan) 2005-02-01 20:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/memvars.c * fixed public releasing - fix borrowed from xHarbour Ryszard please check if it doesn't cause any bad side effects. The following code demonstrate the problem. =========================================== memvar x, y, z proc main() local l := { || x } public x := "QWE" private z := "asd" Errorblock( { | oError | errHandler( oError ) } ) ? eval( l ) test() ? x ? z ? eval( l ) return proc test() private y := "xyz" release x, y, z ? x ? y ? z return func errHandler( oErr ) local varName := oErr:operation() public &varName := oErr:description() + ": " + varName return .t. =========================================== 2005-01-31 20:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c * fixed possible GPF I introduced with last update. 2005-01-30 22:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ace.h * small modification for OpenWatcom on Linux * harbour/source/rdd/dbfntx/dbfntx1.c * minor fix: use *_GOTO( pArea, 0 ) instead of *_GOTO( pArea, pArea->ulRecCount+1000 ) + use hb_fsSeekLarge() - for DBFs longer then 2GB * harbour/include/hbrddcdx.h * harbour/source/rdd/dbfcdx/dbfcdx1.c + use hb_fsSeekLarge() - for DBFs longer then 2GB * my last xHarbour modifications: improved indexing speed of DBFs with very big number of records. In small DBFs less then 100'000 records the new algorithm can even decrease the speed by ~0.5% due to static costs but in bigger it becomes faster. For 1'000'000 records DBFs is about 20% faster, for 10'000'000 records about twice faster. With bigger DBFs more. Please test it. If you will have any troubles (I hope not) then please comment out in dbfcdx.c: #define HB_CDX_NEW_SORT I should done it before when I was rewriting the indexing but sorry I was too lazy. Now I've found a while. Current cost of key comparisons is always n*log2(n) and cannot be more improved. Some small optimizations still can be done but the static cost for small database will be bigger then ~0.5% as in this case so I do not plan to do it in the nearest future. * harbour/include/dbinfo.ch * harbour/source/rdd/dbf1.c + use hb_fsSeekLarge() - for DBFs longer then 2GB * synched with xHarbour (added DBRI_RAW*) * do not call GOCOLD() inside CHILDSYNC() but do it in FORCEREL() the modification based on CL5.3 NG. Below is a note I lef in dbf1.c: /* * !!! The side effect of calling GOCOLD() inside CHILDSYNC() is * evaluation of index expressions (index KEY and FOR condition) * when the pArea is not the current one - it means that the * used RDD has to set proper work area before eval, DBFCDX does * but DBFNTX not yet - it should be changed. * IMHO GOCOLD() could be safely removed from this place but I'm not * sure it's Clipper compatible - I will have to check it, Druzus. */ /* * I've checked in CL5.3 Technical Reference Guide that only * FORCEREL() should ensure that the work area buffer is not hot * and then call RELEVAL() - I hope it describes the CL5.3 DBF* RDDs * behavior so I replicate it - the GOCOLD() is moved from CHILDSYNC() * to FORCEREL(), Druzus. */ * harbour/source/rdd/dbf0.prg * harbour/source/rdd/delim0.prg * harbour/source/rdd/rddsys.prg * harbour/source/rdd/sdf0.prg * harbour/source/rdd/dbfntx/dbfntx0.prg * formatting (adding EOL at EOF) * harbour/include/hbapifs.h * harbour/source/rtl/filesys.c * added hb_fsLockLarge() and hb_fsSeekLarge() which uses 64bit ofsets * harbour/source/rdd/workarea.c * set current work area to the used one in EVALBLOCK RDD method before code block evaluation * harbour/source/vm/harbinit.prg * harbour/source/vm/hvm.c + added hb_vmDoInitClip() which calls CLIPINIT function to initialize ErrorBlock() and __SetHelpK() Because on some platform the execution order of init functions is out of Harbour control then CLIPINIT has to be called explicitly in VM initialization process before hb_vmDoInitFunctions() and do not depends on INIT clause. * small modification in VM loop which gives noticeable speed-up 2005-01-23 09:05 UTC+0100 Antonio Linares * makefile.nt + hbverdsp.obj module added to makefile.nt 2005-01-22 23:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Yet another rare bug fixed. 2005-01-22 19:55 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, which oocured in some rare situations while record updating. 2005-01-13 09:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/mod.c ! fixed mod() function to be Clipper/DBASE III compatible (not the % operator) for combination of psitive and negative numbers 2005-01-13 08:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/include/hbfixdj.h + I missed to add this file in my last commit - it's borrowed from xHarbour. * harbour/source/rtl/filesys.c ! fixed DJGPP compilation I broke 2005-01-12 18:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/hbgtmk.sh * harbour/make_rpm.sh * harbour/harbour.spec * added flex to dependences * added --without gpl swich to exclude code which needs 3-rd party GPL libs (GPM, SLANG) - necessary for people who want to create commercial closed source application * harbour/make_gnu.sh * modified DJGPP detection - try to use env var first * set HB_GT_LIB depending on platform information * check PREFIX env var for default installation * harbour/make_tgz.sh * modified to work with DJGPP and 8.3 file names * harbour/bin/hb-func.sh * DJGPP support * harbour/bin/pack_src.sh * autodetect Harbour version number * harbour/config/linux/gcc.cf * added small comment + harbour/config/linux/owatcom.cf + OpenWatcom support on Linux * harbour/config/w32/global.cf * harbour/config/w32/mingw32.cf * small modification in clean procedure + added Phil's modification for MINGW cross compilation in Linux and BSD * harbour/source/compiler/gencobj.c + added Phil's modification for MINGW cross compilation in Linux and BSD * harbour/include/hbsetup.h * added OS_HAS_DRIVE_LETTER, OS_PATH_DELIMITER_STRING, OS_FILE_MASK, OS_DRIVE_DELIMITER and HOST_OS_UNIX_COMPATIBLE * modified for OW on Linux and MINGW cross compilation * added snprintf macro for compilers which do not support it * harbour/source/rtl/mod.c ! fixed bug in mod(a,b) when a/b exceeds LONG limit * harbour/source/rtl/filesys.c * removed HB_FS_DRIVE_LETTER - use OS_HAS_DRIVE_LETTER * modified for OW on Linux and MINGW cross compilation * harbour/contrib/libct/files.c * harbour/include/hb_io.h * harbour/include/hbdefs.h * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/fssize.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/net.c * harbour/source/rtl/seconds.c * harbour/source/rtl/gtcrs/Makefile * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtsln/Makefile * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/vm/hvm.c * harbour/source/vm/mainstd.c * harbour/source/vm/mainwin.c * modified for OW on Linux and MINGW cross compilation * harbour/source/vm/memvars.c - removed unnecessary checking for s_globalTable == NULL in hb_memvarValueDecRef() - in Harbour it cannot happen * harbour/source/vm/itemapi.c - removed snprintf macros (see hbsetup.h) * fixed possible GPF in hb_itemCopyC() * modified hb_itemGetPtr() to check item type 2005-01-06 12:15 UTC+0100 Ryszard Glab * source/pp/ppcore.c * defined pseudo-functions' parameters are case sensitive now (this fixes bug #define F( n ) FF( n, N ) ) 2005-01-03 14:15 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * source/macro/macrob.c * fixed to compile with SIMPLEX defined Notice: Simplex version is not updated for a long time and it doesn't support all fixes from FLEX version 2005-01-03 10:30 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hbexprb.c * include/hbmacro.h * source/compiler/exproptb.c * source/compiler/harbour.c * source/compiler/hbgenerr.c * source/macro/macrob.c * source/vm/macro.c * compiler reports error on the following syntax now (Clipper compatibility): {|| ¯ovar anysymbol} "codeblock contains both macro and declared symbol reference" Notice, that Clipper reports error even in this case: MEMVAR mvar {|| &mvar,mvar} * source/vm/memvars.c * restored initial and expand sizes for memvars table * source/pp/ppcore.c * some empty lines added 2004-12-27 10:37 UTC+0100 Ryszard Glab * source/vm/memvars.c * changed algorithm for recycling of unused memvar values - thanks to Przemek 2004-12-31 06:16 UTC-0800 Luis Krause Mantilla * harbour/source/codepage/cdpesmwi.c ! the init values were set to ESWIN instead of ESMWIN Somehow my original entry was obliterated from the changelog as well as my original commit of cdpesmwi.c: 2004-12-29 18:24 UTC-0800 Luis Krause Mantilla * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc ! Added missing/new files from source/codepage/*.c & source/lang/*.c + source/codepage/cdpesmwi.c + Added Spanish Modern codepage 2004-12-31 12:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicdp.h * harbour/source/codepage/cdp_tpl.c * harbour/source/codepage/cdpeldos.c * harbour/source/codepage/cdpelwin.c * harbour/source/codepage/cdpesdos.c * harbour/source/codepage/cdpeswin.c * harbour/source/codepage/cdpgedos.c * harbour/source/codepage/cdpgewin.c * harbour/source/codepage/cdphu852.c * harbour/source/codepage/cdphuwin.c * harbour/source/codepage/cdppl852.c * harbour/source/codepage/cdppliso.c * harbour/source/codepage/cdpplmaz.c * harbour/source/codepage/cdpplwin.c * harbour/source/codepage/cdppt850.c * harbour/source/codepage/cdpptiso.c * harbour/source/codepage/cdpru866.c * harbour/source/codepage/cdprukoi.c * harbour/source/codepage/cdpruwin.c * harbour/source/codepage/cdpsl437.c * harbour/source/codepage/cdpsl852.c * harbour/source/codepage/cdpsliso.c * harbour/source/codepage/cdpslwin.c * harbour/source/codepage/cdpsrwin.c * harbour/source/rtl/cdpapi.c * fix memory leak reported for accented and multi byte CPs + harbour/source/codepage/cdpesmwi.c * added missing Spanish modern CP * harbour/include/hbstack.h * harbour/include/hbapiitm.h * harbour/source/vm/estack.c * harbour/source/vm/itemapi.c + added hb_stackReturnItem() - removed hb_itemReturnPtr() * harbour/source/rdd/workarea.c ! fixed possible restoring of scopes in scoped relations after 'SET RELATION TO' * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * use hb_stackReturnItem() instead of direct stack accessing * harbour/source/rdd/dbfntx/dbfntx1.c ! Fixed opening NTX file in ReadOnly mode * use hb_stackReturnItem() instead of direct stack accessing * harbour/source/rtl/filesys.c * cleaned unnecessary initialization * harbour/source/vm/memvars.c * formatting and small fix for calling GC after hb_memvarsRelease() 2004-12-28 11:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/samples/dbf.c * harbour/contrib/samples/time.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/rdd/dbcmd.c * harbour/source/rtl/accept.c * harbour/source/rtl/errorapi.c * harbour/source/vm/hvm.c * harbour/source/vm/initsymb.c * harbour/source/vm/macro.c * harbour/source/vm/memvclip.c * changed 'extern HB_FUNC' to HB_FUNC_EXTERN for easier ABI manipulations 2004-12-28 10:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/hbgtmk.sh * harbour/make_rpm.sh * harbour/bin/pack_src.sh * updated for recent changes in make process * harbour/contrib/Makefile * added odbc lib for Linux compilation * harbour/contrib/btree/Makefile * changed lib name from hb_btree to hbtree * harbour/contrib/btree/hb_btree.api * harbour/contrib/btree/hb_btree.c * fixed GCC compilation in HB_TR_DEBUG mode * harbour/contrib/hbzlib/hbzip.h * harbour/contrib/hbzlib/include/hbzip.h * harbour/include/hbapi.h * harbour/include/hbapicdp.h * harbour/include/hbapierr.h * harbour/include/hbapifs.h * harbour/include/hbapigt.h * harbour/include/hbapiitm.h * harbour/include/hbapilng.h * harbour/include/hbapirdd.h * harbour/include/hbcomp.h * harbour/include/hbdate.h * harbour/include/hbdbsort.h * harbour/include/hberrors.h * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/include/hbhash.h * harbour/include/hbinit.h * harbour/include/hbmacro.h * harbour/include/hbpp.h * harbour/include/hbrdddel.h * harbour/include/hbrddntx.h * harbour/include/hbrddsdf.h * harbour/include/hbrddwrk.h * harbour/include/hbset.h * harbour/include/hbstack.h * harbour/include/hbtrace.h * harbour/include/hbvm.h * harbour/include/hbvmpub.h * changed #if defined (HB_EXTERN_C) to HB_EXTERN_BEGIN / HB_EXTERN_END macros for easier manipulation with different ABI * added HB_IS_BADITEM() macro for debugging * synced CDP with xHarbour - added basic Unicode support * synced RDD with xHarbour * harbour/source/codepage/Makefile * harbour/source/codepage/cdp_tpl.c * harbour/source/codepage/cdpeldos.c * harbour/source/codepage/cdpelwin.c * harbour/source/codepage/cdpesdos.c * harbour/source/codepage/cdpeswin.c * harbour/source/codepage/cdpgedos.c * harbour/source/codepage/cdpgewin.c * harbour/source/codepage/cdphu852.c * harbour/source/codepage/cdphuwin.c * harbour/source/codepage/cdppl852.c * harbour/source/codepage/cdppliso.c * harbour/source/codepage/cdpplmaz.c * harbour/source/codepage/cdpplwin.c * harbour/source/codepage/cdppt850.c * harbour/source/codepage/cdpptiso.c * harbour/source/codepage/cdpru866.c * harbour/source/codepage/cdprukoi.c * harbour/source/codepage/cdpruwin.c * harbour/source/codepage/cdpsl437.c * harbour/source/codepage/cdpsl852.c * harbour/source/codepage/cdpsliso.c * harbour/source/codepage/cdpslwin.c * harbour/source/codepage/cdpsrwin.c + harbour/source/codepage/uc1250.c + harbour/source/codepage/uc1251.c + harbour/source/codepage/uc1253.c + harbour/source/codepage/uc1257.c + harbour/source/codepage/uc737.c + harbour/source/codepage/uc850.c + harbour/source/codepage/uc852.c + harbour/source/codepage/uc866.c + harbour/source/codepage/uc88591b.c + harbour/source/codepage/uc8859_1.c + harbour/source/codepage/uc8859_2.c + harbour/source/codepage/uckoi8.c + harbour/source/codepage/uckoi8u.c + harbour/source/codepage/ucmaz.c * harbour/source/rtl/cdpapi.c * synced HB CDP API with xHarbour - added basic Unicode support * harbour/source/common/expropt2.c * harbour/source/common/hbstr.c * removed unnecessary initialization to avoid BCC warnings * harbour/source/compiler/harbour.c * formatting hb_compCodeBlockStop() looks like work in progress or is has some old unused code - Ryszard, can you look at it? * harbour/source/macro/macro.y * removed hack for GCC and old Bison versions * harbour/source/pp/ppcore.c * removed unnecessary initialization to avoid BCC warnings * harbour/source/pp/pptable.c + added some sets for RDD synchronization with xHarbour * harbour/source/rdd/dbcmd.c + added __RDDGETTEMPALIAS * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfuncs.prg * harbour/source/rdd/dbnubs.c * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/hbdbsort.c * harbour/source/rdd/rddord.prg * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * synchronized with xHarbour - still dbcmd.c has to be synced yet ! fixed all known bugs Alexander, please look at DBFNTX - I hope all is correct. * harbour/source/vm/codebloc.c * formatting * harbour/source/vm/fm.c + added HB_PARANOID_MEM_CHECK to force reallocations in hb_xrealloc and fill allocated and freed memory with HB_MEMFILER (0xff by default) It's for debugging only. * harbour/source/vm/hvm.c ! fixed hb_vmTopNumber() declaration for BCC * use hb_gcCollectAll() at HVM exit instead of hb_gcReleaseAll() to report allocated and not freed items - It could caused that some programs begin to report memory leaks. * harbour/source/vm/itemapi.c * check for HB_IS_BADITEM inside hb_itemClear() when compiled with HB_PARANOID_MEM_CHECK for debugging * harbour/source/vm/memvars.c * formatting ! fixed pItem initialization in hb_memvarDetachLocal() BTW - is this really necessary? I copy it form hb_itemUnRef() but in fact it cannot detect all possible item reference cycles if they appear - can they appear? 2004-12-27 10:37 UTC+0100 Ryszard Glab * source/vm/memvars.c * changed algorithm for recycling of unused memvar values - thanks to Przemek 2004-12-24 07:47 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c * source/vm/itemapi.c * source/vm/memvars.c * fixed memvars and detached locals handling related to reallocation of memvar's buffer and detaching of locals in a loop - thanks to Przemek * source/vm/debug.c *removed diagnostic hb_dbgstop() 2004-12-24 07:47 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c * source/vm/itemapi.c * source/vm/memvars.c * fixed memvars and detached locals handling related to reallocation of memvar's buffer and detaching of locals in a loop - thanks to Przemek * source/vm/debug.c *removed diagnostic hb_dbgstop() 2004-12-20 05:00 UTC-0500 David G. Holm * config/global.cf * config/bsd/gcc.cf * config/bsd/global.cf * config/darwin/gcc.cf * config/darwin/global.cf * config/dos/bcc16.cf * config/dos/djgpp.cf * config/dos/global.cf * config/dos/owatcom.cf * config/dos/rsx32.cf * config/dos/watcom.cf * config/hpux/gcc.cf * config/hpux/global.cf * config/linux/gcc.cf * config/linux/global.cf * config/os2/gcc.cf * config/os2/global.cf * config/os2/icc.cf * config/sunos/gcc.cf * config/sunos/global.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/global.cf * config/w32/mingw32.cf * config/w32/msvc.cf * config/w32/rsxnt.cf * config/w32/watcom.cf * Changed ARCH variable to HB_ARCH due to a conflict with a permanent, non-replacable FreeBSD 5.3 environment variable with the same name. 2004-12-16 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh * harbour/make_tgz.sh * fixed HPUX detection * harbour/bin/hb-func.sh * late GTK lib checking for -xbgtk switch in hb* scripts * harbour/contrib/btree/hb_btree.api * harbour/contrib/btree/hb_btree.c * harbour/contrib/libnf/chdir.c * harbour/contrib/libnf/dispc.c * harbour/contrib/libnf/ftint86.ch * harbour/contrib/libnf/getver.c * harbour/contrib/libnf/mkdir.c * harbour/contrib/libnf/proper.c * harbour/contrib/libnf/rmdir.c * casting and small fixes for OpenWatcom compilation * harbour/include/hbdefs.h * force big endian if not detected automatically for HPUX * harbour/source/vm/itemapi.c * HPUX uses isfinite() not finite() * harbour/source/vm/memvars.c ! fixed endian dependent code 2004-12-14 01:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfcdx/dbfcdx1.c * minor modifications of some static function names 2004-12-14 01:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/extend.c * harbour/source/vm/itemapi.c * fixed some minor typos in GCC hack + added missing hb_parnint() 2004-12-12 22:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh + added platform autodetection if HB_ARCHITECTURE not set and choosing the preferred compiler if HB_COMPILER not set + added new platforms (Darwin, SunOS, BSD, HPUX) for info descriptions - I do not want to decide if this should be also added for make_gnu.bat, make_gnu.cmd because these files cannot be used for this platforms. Now make_bsd.sh and make_drw.sh are redundant - we should decide if they should be kept in CVS or removed * harbour/make_tgz.sh + added platform autodetection if HB_ARCHITECTURE not set and choosing the preferred compiler if HB_COMPILER not set * harbour/contrib/Makefile * changed the list of compiled contrib libs - now there is a list of some default libs which can be compiled for all platforms and only the chosen ones are added for some platforms - it will be easier to manage because the number of supported platforms is growing up. Please check if it will work for other platforms/compilers. 2004-12-12 02:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/config/hpux/dir.cf + harbour/config/hpux/gcc.cf + harbour/config/hpux/global.cf + harbour/config/hpux/install.cf * Marcelo's files build files for HPUX borrowed from xHarbour * harbour/bin/hb-func.sh * harbour/bin/hb-mkslib.sh * harbour/bin/postinst.sh * recent Phil's changes for Darwin and some of mine modifications and cleanups * harbour/include/Makefile + added some missing header files * harbour/include/hbapi.h + added HB_ITEM_{GET|PUT}_NUMINTRAW() macros + added hb_objGetClass() * harbour/include/hbdefs.h * redefined multi commands macros to use do {...} while(0) for safe use in any of C statement + added HB_OS_HPUX * harbour/include/hbsetup.h + added HB_OS_HPUX * harbour/include/hbstack.h * hb_stackDec(), hb_stackPop(), hb_stackPush() redefined also as macros when HB_STACK_MACROS is set + added function hb_stackIncrease() * harbour/source/common/hbstr.c * fixed possible buffer overflow * harbour/include/hbrdddbf.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * my recent fixes in xHarbour * harbour/source/rtl/copyfile.c * small fix to error message * harbour/source/rtl/idle.c + added HB_IDLESLEEP() and void hb_idleSleep( double dSeconds ) * harbour/source/rtl/isprint.c * use hb_xgrab()/hb_xfree() instead of malloc()/free() * harbour/source/rtl/run.c * added __WATCOMC__ to C compilers supporting system() * harbour/source/vm/arrays.c * cleaned hb_arrayFromStack(), hb_arrayFromParams() * harbour/source/vm/arrayshb.c * small fixes to error messages ! improved Clipper compatibility in AFILL() * harbour/source/vm/asort.c * separate entry for integer items - conversion to double may damage big 64bit numbers * harbour/source/vm/classes.c + added USHORT hb_objGetClass( PHB_ITEM pItem ) * harbour/source/vm/dynsym.c ! fixed accessing to uninitialized memory * harbour/source/vm/estack.c + added hb_stackIncrease() and modification for new stack macros * harbour/source/vm/hvm.c * fixed some error messages * some speed improvements * harbour/source/vm/itemapi.c * some small optimizations * harbour/utils/hbtest/rt_misc.prg * modified file name conversions test results for __PLATFORM__UNIX 2004-10-31 01:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/cmdcheck.c * replaced some free by hb_xfree * harbour/source/compiler/genc.c * replace non ID characters in name of local symbol table by '_' * harbour/bin/hb-func.sh * set proper X11 path for mixed (32/64bit) systems 2004-10-24 20:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/bsd/global.cf + added suppot for HB_COMMERCE and HB_WITHOUT_GTSLN env vars * harbour/source/compiler/Makefile * formating * harbour/include/hbdefs.h * harbour/source/vm/fm.c * harbour/source/vm/garbage.c + added macro HB_ALLOC_ALIGNMENT which forces allocated memory alignment in FM and GC modules to given value - by default used only when set HB_OS_SUNOS with 8 bytes alignment 2004-10-23 02:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/postinst.sh * changed install command syntax for Solaris compatibility * harbour/include/hbdefs.h * minor formating * harbour/source/vm/fm.c + overwrite HB_MEMINFO_SIGNATURE with 0 in hb_xfree() for detection redundant hb_xfree() call with the same pointer * harbour/source/rtl/spfiles.c * set the real path in second parameter of RetPath even when hb_spFiles fails to avoid race condition * harbour/source/vm/hvm.c ! set proper decimal value in hb_vmDivide when the integer results is converted into double ! commented out integer division optimization at runtime for Clipper compatibility 2004-10-20 17:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c + added predefined macro __PLATFORM__UNIX for all *nix compatible systems * harbour/contrib/dot/pp.prg * harbour/source/pp/ppcore.c * harbour/utils/hbtest/hbtest.prg * harbour/utils/hbtest/rt_misc.prg * replaced __PLATFORM__Linux with __PLATFORM__UNIX * harbour/harbour.spec ! fixed stripping script files * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed casting 2004-10-20 12:00 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Fixed a small bug in ordListAdd() function - there was a memory leak if the index name is wrong. 2004-10-20 09:41 UTC+0200 Chen Kedem * makefile.bc + Add the missing Greek language and codepage files * doc/dirstruc.txt + Add oneliner description for: config/darwin, config/sunos 2004-10-20 07:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h + added macros HB_{PUT|GET}_{LONG|PTR} * changed HB_CAST_BYTE_NUMBERS_OFF to HB_STRICT_ALIGNMENT * harbour/source/vm/fm.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * replaced code which made pointer casting without respecting machine alignment with proper macros 2004-10-19 22:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * changed 'sed' and 'tr' expresions to be compatible with SunOS + added Darwin dynlib support borrowed from xHarbour thanks to Phil Krylov * harbour/bin/hb-mkslib.sh * minor modification * harbour/bin/postinst.sh * harbour/config/darwin/gcc.cf + Phil's modification for Darwin * removed HB_OS_BSD and HB_BIG_ENDIAN - the first macro is set in hbsetup.h when HB_OS_DARWIN is set, the second one should be automatically detected inside hbdefs.h using C header files. * harbour/config/sunos/gcc.cf * removed HB_BIG_ENDIAN macro - the same as above * harbour/include/hbapi.h * harbour/source/vm/fm.c * changed 16/32 bit hack #if UINT_MAX == ULONG_MAX for hb_xmem*() functions to still not perfect but working on current platforms #if UINT_MAX > USHRT_MAX * harbour/include/hbdefs.h + added HB_DBL_LIM_INT24(d) and HB_LIM_INT24(l) macros + try to autodect byte order using information form system C header files - it whoud work for Linux, BSD/Darwin, SunOS - maybe also for some other *nixes * removed some dangerous casting. [x]Harbour code still depnds on 8bytes double - in CDX for binary compatibility IEEE754 double is necessary - if some architectures uses differ type of double value for binary compatibility we will have to create proper conversion functions for HB_{PUT|GET}_{LE|BE}_DOUBLE and HB_ORD2DBL/HB_DBL2ORD macros * harbour/include/hbsetup.h * define HB_OS_UNIX when HB_OS_SUNOS set * harbour/source/common/hbstr.c * harbour/source/pp/ppcore.c * casting * harbour/source/compiler/harbour.c * use HB_LIM_INT*() macros instead of hard coded values * removed some unnecessary if () statement - always true * harbour/source/compiler/harbour.l * harbour/source/compiler/hbfix.c * harbour/source/vm/macro.c * use HB_LIM_INT*() macros instead of hard coded values * harbour/source/rdd/dbfcdx/dbfcdx1.c ! minor fix * harbour/source/rdd/dbfntx/dbfntx1.c ! small fix - the temporary index file was not removed * do not force any name for temporary index files - important in some cases (like DOS and short file names) * harbour/source/rtl/diskspac.c ! fixed type in SunOS version * harbour/source/rtl/gtsln/Makefile * minor cleanups * harbour/utils/hbtest/rt_math.prg * changed to number results to be Clipper compatible. 2004-10-14 21:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh + harbour/config/sunos/dir.cf + harbour/config/sunos/gcc.cf + harbour/config/sunos/global.cf + harbour/config/sunos/install.cf + added SunOS support * harbour/config/darwin/gcc.cf * small modification for nicer work with OS-X installed on SF compile farm - I'm not Darwin user and SF is the only one place I can make tests - if someone may fix me and leave some comments 'why?' it will be nice. * harbour/contrib/Makefile * exclude ADS RDD from Darwin build * harbour/contrib/rdd_ads/adsfunc.c * some minor modification to avoid compiler warnings. * harbour/include/hbdefs.h * fixed typo in HB_PUT_LE_DOUBLE() macro for big endian machines. * harbour/source/compiler/genc.c ! fixed endian dependend code I left by mistake * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y ! commented out hb_compSequenceFinish() * harbour/source/pp/ppcore.c + added ( void * ) size as result of __ARCH{16,32,64}BIT__ and __{LITTLE,BIG,PDP}_ENDIAN__ macros * harbour/source/pp/pragma.c ! fixed possible string overflow * harbour/source/vm/itemapi.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/idle.c * harbour/source/rtl/math.c * harbour/source/rtl/gtcrs/Makefile * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtcrs/mousecrs.c * modified for SunOS and Darwin support. 2004-10-12 02:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * updated for recent changes by Jacek Kubica - thanks. 2004-10-12 01:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * foramting some // replaced by /* */ * adding some missing extensions I haven't ported fully in xHarbour * harbour/source/vm/maindllp.c * fixed Windows compilation The BCC and MSC make fiels have to be updated to the folowing changes: - harbour/contrib/libct/invertwin.prg + harbour/contrib/libct/invrtwin.prg - harbour/source/common/hbffind.c + harbour/source/common/hbverdsp.c - harbour/source/rdd/dbfcdx/dbfcdx1.h + harbour/source/rtl/hbffind.c 2004-10-11 21:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/Makefile + harbour/make_bsd.sh + harbour/make_drw.sh * harbour/make_tgz.sh + harbour/bin/hb-func.sh * harbour/bin/pack_src.sh + harbour/bin/postinst.bat + harbour/bin/postinst.sh * harbour/config/dir.cf * harbour/config/bsd/gcc.cf * harbour/config/bsd/global.cf + harbour/config/darwin/dir.cf + harbour/config/darwin/gcc.cf + harbour/config/darwin/global.cf + harbour/config/darwin/install.cf * harbour/config/dos/dir.cf * harbour/config/dos/global.cf * harbour/config/dos/install.cf * harbour/config/dos/owatcom.cf * harbour/config/dos/watcom.cf * harbour/config/linux/gcc.cf * harbour/config/linux/global.cf * harbour/contrib/Makefile * harbour/contrib/dot/pp_harb.ch * harbour/contrib/libct/Makefile * harbour/contrib/libct/bit1.c * harbour/contrib/libct/bit2.c * harbour/contrib/libct/bit3.c * harbour/contrib/libct/files.c * harbour/contrib/libct/ftoc.c - harbour/contrib/libct/invertwin.prg + harbour/contrib/libct/invrtwin.prg * harbour/contrib/libct/keyset.c * harbour/contrib/libct/makefile.bc * harbour/contrib/libmisc/dates2.c * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/samples/date.c * harbour/include/dbinfo.ch * harbour/include/hbapi.h * harbour/include/hbapicdp.h * harbour/include/hbapifs.h * harbour/include/hbapigt.h * harbour/include/hbapiitm.h * harbour/include/hbcomp.h * harbour/include/hbdate.h * harbour/include/hbdbf.h * harbour/include/hbdbferr.h * harbour/include/hbdefs.h * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/include/hbmacro.h * harbour/include/hbmath.h * harbour/include/hbpcode.h * harbour/include/hbrddcdx.h * harbour/include/hbrdddbf.h * harbour/include/hbrdddbt.h * harbour/include/hbrddfpt.h * harbour/include/hbrddntx.h * harbour/include/hbset.h * harbour/include/hbsetup.h * harbour/include/set.ch * harbour/source/common/Makefile * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c - harbour/source/common/hbffind.c * harbour/source/common/hbfsapi.c * harbour/source/common/hbstr.c * harbour/source/common/hbver.c + harbour/source/common/hbverdsp.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.slx * harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbusage.c * harbour/source/compiler/simplex.c * harbour/source/macro/macro.l * harbour/source/macro/macro.slx * harbour/source/macro/macro.y * harbour/source/pp/ppcore.c * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c - harbour/source/rdd/dbfcdx/dbfcdx1.h * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rtl/Makefile * harbour/source/rtl/abs.c * harbour/source/rtl/at.c * harbour/source/rtl/datec.c * harbour/source/rtl/dates.c * harbour/source/rtl/dateshb.c * harbour/source/rtl/datesx.c * harbour/source/rtl/empty.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/errorint.c * harbour/source/rtl/filesys.c * harbour/source/rtl/fstemp.c + harbour/source/rtl/hbffind.c * harbour/source/rtl/hbrandom.c * harbour/source/rtl/idle.c * harbour/source/rtl/inkey.c * harbour/source/rtl/math.c * harbour/source/rtl/minmax.c * harbour/source/rtl/pad.c * harbour/source/rtl/padc.c * harbour/source/rtl/padl.c * harbour/source/rtl/padr.c * harbour/source/rtl/philes.c * harbour/source/rtl/round.c * harbour/source/rtl/soundex.c * harbour/source/rtl/str.c * harbour/source/rtl/strcase.c * harbour/source/rtl/strmatch.c * harbour/source/rtl/strtran.c * harbour/source/rtl/strzero.c * harbour/source/rtl/substr.c * harbour/source/rtl/val.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtsln/keytrans.c * harbour/source/vm/arrays.c * harbour/source/vm/codebloc.c * harbour/source/vm/estack.c * harbour/source/vm/eval.c * harbour/source/vm/extend.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/vm/macro.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c * harbour/tests/bldtest/bldtest.c * harbour/utils/hbtest/hbtest.prg * harbour/utils/hbtest/rt_misc.prg * harbour/utils/hbtest/rt_str.prg * Sorry but it's too much modification for full description cvs diff gives file 785982 bytes length. So I only count the main things: ! cleand the code (no more warning messages under Linux and GCC and DOS OpenWatcom) - some of them were real bugs ! cleaned all endian dependend code I've found - now Harbour can be compiled on LITLE and BIG endian machines - for some other like PDP ENDIAN it's enough to define proper macros in hbdefs.h + added macros for to get/put values in chosen byte order: HB_GET_LE_[U]INT{16,24,32,64}( pPtr ) HB_GET_BE_[U]INT{16,24,32,64}( pPtr ) HB_PUT_LE_[U]INT{16,24,32,64}( pPtr, nVal ) HB_PUT_BE_[U]INT{16,24,32,64}( pPtr, nVal ) + added macro HB_CAST_BYTE_NUMBERS_OFF which disables casting in HB_{GET|PUT}_{LE|BE}_* macros - it's necessary for some platforms like ALPHA DEC. ! cleaned the code for 64bit machines * changed all parameters in hb_date* functions (day, month, year, week) from LONG to int - it doesn't change binary compatibility for 32bit machines but can cause troubles with compiling the old source + changed HB_IT_LONG type to HB_LONG which is mapped to long long by default for 32 bit machines. + change HB_IT_INTEGER to be real 'int' C type not 'short int' + added HB_IS_NUMINT() macro + added hb_parnll, hb_stornll, hb_retnll, hbretnlllen, hb_itemPutNLL, hb_itemPutNLLLen, hb_itemGetNLL which operates on LONGLONG + added hb_parnint, hb_stornint, hb_retnint, hb_retnintlen, hb_itemPutNInt, hb_itemPutNIntLen, hb_itemGetNInt which operates on HB_LONG + added HB_PUSHLONGLONG pcode + changed compiler and optimizer to use HB_LONG numbers and reduce conversion from to double which may damage the 64bit number. + common functions for string to number conversions for compiler, RTL and RDD to reduce problems with differ FL values for the same number: hb_compStrToNum(), hb_valStrnToNum(), hb_strToNum(), hb_strnToNum() + common function hb_numRoun() which uses exactly the same algorithms as string to number conversion for the same reason - please keep this functions together. + hack inside hb_numRound() similar to the one used by CL5.3 + hb_numInt() which uses uses the same hack as hb_numRound() + rewritten number to string conversion + some new string manipulation functions hb_strncpy(), hb_strncat(), ... They works differ the the C one - always set 0 at the end, the buffer has to be n+1 bytes length, the n is total size of buffer not the left free space. ! cleaned some code which operates on ASCIIZ string to avoid potential buffer overflow + updated RDD code - it's the first part - in few days I plan to change workarea structure in both projects - it will break any 3rd party RDDs so they have to be updated. I want to add SUPERTABLE into workarea to allow creating new RDD on-line. ! cleaned the bugs with negating integers - on most machines (like x86) the integers are not 0 symmetric - it means that x = -x does not work for {INT,LONG,LONGLONG}_MIN (hb_vmNegate, ABS()) + cleaned error messages to be Clipper compatible. + updated build process for .DEB packages - now hb* scripts and shared libs are created by standard make install * added new .prg #defines: __PLATFORM__, __ARCH{16|32|64}BIT__, __LITTLE_ENDIAN__|__BIG_ENDIAN__|__PDP_ENDIAN__ !!! cPlatfrom can have lower letters (for xHarbour compatibility) If you do not like it please change it. * others ... 2004-10-10 21:35 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Fixed a bug, introduced in a last change. 2004-10-06 21:56 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Fixed a bug, causing random GPFs while seeking. 2004-10-06 05:40 UTC-0500 David Arturo Macias Corona + harbour/contrib/mysql/difer.txt Describe modifications to programs of harbour\contrib\mysql, in Spanish + harbour/contrib/mysql/diffeng.txt Describe modifications to programs of harbour\contrib\mysql, in English 2004-10-05 05:39 UTC-0500 David Arturo Macias Corona * harbour/contrib/mysql/tmysql.prg * harbour/contrib/mysql/tsqlbrw.prg * Changes to approach Clipper behaviour NOTE: My changes are marked in source code with label "DAVID:", to help in quick review of changes, and these changes are described widely in files difer.txt, diffeng.txt These labels will be removed in a reasonable time + harbour/contrib/mysql/difer.txt Describe modifications to programs of harbour\contrib\mysql, in Spanish + harbour/contrib/mysql/diffeng.txt Describe modifications to programs of harbour\contrib\mysql, in English 2004-09-08 16:40 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/dynsym.c * a new function 'hb_dynsymScope' was added to check if the passed symbol has requested scope * source/vm/macro.c * source/vm/hvm.c * fixed support for static functions used in macro compiled expressions (the runtime error is generated during evaluation instead of macro compilation - like in Clipper) * source/pp/ppcore.c * fixed support for '¯o.' in complex expressions 2004-09-07 10:30 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed support for Clipper undocumented match marker, Harbour is now 100% compatible here. Notice that this fixes support for SET FILTER TO ¯o SET FILTER TO ¯o. .AND. expr 2004-08-06 18:21 UTC-0500 David Arturo Macias Corona * harbour/source/rtl/dates.c ! fixed problem with dates. Now is Clipper compatible For empty date it returns empty string, for valid when number of years greater equal to 0 it returns formated date and in other case it fills buffers with 0 characters. Borrowed from xHarbour, in changes made by Przemyslaw Czerpak It also fix ( CTOD( "" ) + 30 ) error reported by Randy Portnoff 2004-08-04 10:28 UTC+0300 Alexander Kresin * contrib/odbc/odbc.c + New functions has been added: sqlSetStmtOption() and sqlColumns() * contrib/mysql/mysql.c + sqlUseRes() function added * sqlListTbl() is modified - second parameter ( table template ) is added 2004-08-03 11:10 UTC+0100 Ryszard Glab * source/rtl/tget.prg * GetNew() no longer evaluates passed set/get codeblock 2004-08-01 14:38 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/filesys.c ! Out of bound buffer access fixed. (I couldn't test this) (Thanks to Chen Kedem) 2004-07-27 20:41 UTC+0100 Antonio Linares * include/hbclass.ch + Added a previous #undef _HB_CLS_FUNCNAME for multiple classes definitions on the same PRG 2004-07-27 10:50 UTC-0800 Luis Krause Mantilla * hrbdll.bc + Added modules array.prg, block.prg, characte.prg, date.prg, logical.prg, nil.prg, numeric.prg. 2004-07-27 11:49 UTC+0100 Antonio Linares + source/rtl/array.prg + source/rtl/block.prg + source/rtl/date.prg + source/rtl/logical.prg + source/rtl/nil.prg + source/rtl/numeric.prg * Harbour implementation of Class(y) Classes Array, Block, Date, Logical, Nil, Numeric. * makefile.bc + Added modules array.prg, block.prg, date.prg, logical.prg, nil.prg, numeric.prg. WARNING: Other makefiles need to be updated 2004-07-27 11:16 UTC+0100 Antonio Linares * include/hbclass.ch + Added optional clause FUNCTION to class definitions, based on Class(y) implementation. This allows to use a different name, if desired, to the defined class. i.e.: CLASS Date FUNCTION _Date As Date() is a reserved function name, we can use a _Date() one, but the Class Name will remain as DATE. 2004-07-27 02:09 UTC+0100 Antonio Linares + source/rtl/characte.prg * Harbour implementation of Class(y) Class Character * makefile.bc + Added module characte.prg WARNING: Other makefiles need to be updated 2004-07-26 9:03 UTC-0800 Luis Krause Mantilla * hrbdll.bc + Added module scalar.prg 2004-07-26 10:50 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/compiler/cmdcheck.c ! Writing out of bound when using -x compiler switch fixed. (Thanks to Chen Kedem) * source/vm/cmdarg.c ! Tabs removed. 2004-07-26 01:21 UTC+0100 Antonio Linares + source/rtl/scalar.prg * Harbour implementation of Class(y) Class ScalarObject * makefile.bc + Added module scalar.prg WARNING: Other makefiles need to be updated. 2004-07-25 16:48 UTC+0100 Antonio Linares * vm/classes.c + functions hb_clsCreate(), hb_clsAdd() and hb_clsAssociate() added. These functions are equivalents to Clipper __mdCreate(), __mdAdd() and __mdAssociate(), though the parameters are different to easy their use. The purpouse of these functions is to create new classes from C level, a missing feature of Harbour classes engine. Harbour classes functions never considered the possibility of being used from C level. USHORT hb_clsCreate( USHORT usSize, char * szClassName ) : Creates a new class with usSize DATAs and szClassName Name. It returns the handle of the new created class. void hb_clsAdd( USHORT usClassH, char * szMethodName, void * pFunction ) : Adds a new method to the class, that will execute pFunction() code. void hb_clsAssociate( USHORT usClassH ) : Instantiates a new object of the Class handle usClassH. The object is placed at the stack returned value, so it may be accessed using hb_par...( -1, ... ) functions, or managing the item directly. 2004-07-19 21:42 UTC+0300 Alexander Kresin * include/hbver.h * doc/whatsnew.txt * bin/pack_src.sh * harbour.spec * make_tgz.sh * Release info has been changed for release 44. 2004-07-19 17:05 UTC+0300 Alexander Kresin * contrib/mysql/tmysql.prg ! Added checking for decimal field type in :GetRow() and :GetBlankRow() - provided by Mitja Podgornik 2004-07-19 12:15 UTC+0100 Ryszard Glab * doc/whatsnew.txt *added some items and divided into few sections 2004-07-18 19:50 UTC+0200 Tomaz Zupan * harbour.spec * Changed Optimisation level for rpm package to -O2, because there are pboblems with -O3 and gcc 3.3 on Mandrake Linux 2004-07-18 19:50 UTC+0300 Alexander Kresin * contrib/mysql/mysql.c * Some fixes and formatting. 2004-07-18 13:05 UTC+0300 Chen Kedem * doc/whatsnew.txt + Add information about the upcoming alpha build 44 2004-07-17 21:58 UTC+0300 Alexander Kresin * contrib/mysql/tmysql.prg ! Small fix, provided by Mitja Podgornik 2004-07-17 04:14 UTC-0500 David Arturo Macias Corona * source/rtl/tget.prg + Added DATA CapRow and DATA CapCol values For Clipper 5.3x compatibility 2004-07-16 13:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in soft seek * contrib/odbc/todbc.prg ! Bug fixed in TODBC():Open() 2004-07-12 17:19 UTC-0800 Luis Krause Mantilla * source/rdd/dbcmd.c ! fixed Clipper compatibility bug reported by Serge Jakimoff * source/rtl/minmax.c ! Fixed r/t error when Min() and Max() received logical values to have Clipper compatibility 2004-07-09 12:15 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c * source/vm/proc.c *fixed to correctly return the procedure name where the codeblock was created * source/common/hbffind.c *fixed to set correctly size and modification date of retrieved files on Linux/Unix -used from DIRECTORY() function 2004-06-21 14:07 UTC-0500 Randy Portnoff * source/rdd/dbcmd.c * Fixed rddMoveRecords() so that copied records, which are deleted, maintain their deleted status. Reported by Marcos Gambeta 2004-06-08 22:50 UTC+0300 Phil Krylov * source/rtl/inkey.c ! Renamed SETLASTKEY() to HB_SETLASTKEY(). * source/debug/debugger.prg ! Changed SETLASTKEY() to HB_SETLASTKEY(). + contrib/libct/setlast.prg * contrib/libct/Makefile * contrib/libct/ctflist.txt * contrib/libct/makefile.bc * contrib/libct/makefile.vc + Reimplemented SETLASTKEY() through HB_SETLASTKEY() 2004-06-08 22:10 UTC+0300 Phil Krylov - contrib/libct/setlast.prg * contrib/libct/Makefile * contrib/libct/ctflist.txt * contrib/libct/makefile.bc * contrib/libct/makefile.vc - Removed SETLASTKEY() from libct, because it conflicts with the RTL implementation which is also cleaner. 2004-06-08 02:25 UTC+0300 Phil Krylov * source/debug/debugger.prg + Added preliminary CLD-compatible scripting capabilities. 2004-06-07 18:15 UTC+0300 Phil Krylov * source/debug/dbgmenu.prg * source/debug/debugger.prg ! Fixed some problems related to menus, colors and cursor positioning. 2004-06-07 14:15 UTC+0300 Phil Krylov * source/rtl/inkey.c + Added hb_setInkeyLast() (copyright 2002 by Walter Negro) and SETLASTKEY() (copyright 2003 by Przemyslaw Czerpak). Both functions are borrowed from xHarbour. * source/debug/debugger.prg ! Fixed Left and Right keys behaviour in the code window (fix by Lorenzo Fiorini, borrowed from xHarbour). ! Also from xHarbour, but written by myself: ! Restore LastKey() value on program execution. ! Fixed Step() behaviour. ! Removed the last dependencies of the debugger on SET_EXACT setting. ! Fixed some issues with the Monitor window. 2004-06-07 13:45 UTC+0300 Phil Krylov * source/debug/dbgwa.prg * source/debug/dbgtarr.prg * source/debug/tbrwtext.prg * source/debug/debugger.prg ! Miscellaneous fixes borrowed from xHarbour: ! Fixed support for monitoring work areas with non-contigous numbers. ! Fixed monitoring empty subarrays. ! Maintain separate "active" line and cursor line in the code window. Support external initialization of TBrwText():lLineNumbers. ! Fixed problems with breakpoints and source files stored in multiple directories. The environment variable HB_DBG_PATH takes precedence over PATH to search for source files. 2004-06-03 11:00 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed to compile FOR var[index] 2004-06-02 05:30 UTC-0400 Alejandro de Garate * doc\en\file.txt * function FOPEN() ! Fixed the meaning of FO_DENYNONE + Added FO_SHARED definition to the table * function FCREATE() ! Fixed table title name, changed Atribute for Meaning * function FREAD() ! Fixed typo at $ARGUMENTS$ section ! Removed typo from $RETURNS$ section ! Fixed typo at $EXAMPLES$ section * function FCLOSE() ! Fixed typo at $EXAMPLES$ section * function CURDIR() ! Fixed typo at $ARGUMENTS$ section * function MAKEDIR() ! Fixed typo at $RETURNS$ section + doc\es\file.txt + Added file's operations document 2004-05-27 14:35 UTC-0400 Alejandro de Garate + doc/es/codestyl.txt + Added code style document file, missing in the last commit + doc/es/hb_apiln.txt + Added Lang API Document * doc/es/lang.txt * Updated Lang Document + doc/es/hb_vm.txt + Added VM API Document 2004-05-24 22:37 UTC-0400 Alejandro de Garate * doc/codestyl.txt * Added Documentation item + doc/es/codestyl.txt + Documented code style 2004-05-23 16:55 UTC+0300 Chen Kedem * doc/en/lang.txt + Documentation for HB_LANGERRMSG(), HB_LANGMESSAGE(), HB_TRANSLATE() + Added Greek and Greek ANSI to the list in HB_LANGSELECT() and HB_SETCODEPAGE() + add notes about the need to REQUEST language and code page module * Some formating 2004-05-21 14:40 UTC+0100 Ryszard Glab * source/compiler/harbour.l * modified to compile correctly with flex version 2.5.31 (IMHO it is m4 preprocessor bug) 2004-05-21 13:30 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * source/rdd/dbfdbt/dbfdbt1.c * Calls of hb_cdpTranslate() are changed to hb_cdpnTranslate() + source/codepage/cdpeldos.c + source/codepage/cdpelwin.c + Greek language codepage files added - provided by Pete Dionisopoulos. * source/lang/msgel.c * source/lang/msgelwin.c + Greek language files added - provided by Pete Dionisopoulos. * source/codepage/Makefile * source/lang/Makefile * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * Makefiles has been updated due to new codepage and lang files. * source/codepage/cdp_tpl.c * source/codepage/cdpesdos.c * source/codepage/cdpeswin.c * source/codepage/cdpgedos.c * source/codepage/cdpgewin.c * source/codepage/cdphu852.c * source/codepage/cdphuwin.c * source/codepage/cdpla850.c * source/codepage/cdppl852.c * source/codepage/cdppliso.c * source/codepage/cdpplmaz.c * source/codepage/cdpplwin.c * source/codepage/cdppt850.c * source/codepage/cdpptiso.c * source/codepage/cdpru866.c * source/codepage/cdprukoi.c * source/codepage/cdpruwin.c * source/codepage/cdpsk852.c * source/codepage/cdpskiso.c * source/codepage/cdpsl437.c * source/codepage/cdpsl852.c * source/codepage/cdpsliso.c * source/codepage/cdpslwin.c * source/codepage/cdpsrwin.c * Few lines are replaced with HB_CODEPAGE_INIT( ), as was suggested by Ilias Lazaridis 2004-05-19 13:25 UTC+0100 Ryszard Glab * source/codepage/cdpsrwin.c *replaced CR+LF with LF only 2004-05-18 15:45 UTC-0400 David G. Holm * source/rtl/cdpapi.c ! Corrected the function names reported by to HB_TRACE statements, as pointed out by Chen Kedem . 2004-05-18 16:12 UTC+0300 Chen Kedem * doc/en/lang.txt + Documentation for HB_SETCODEPAGE() * Some formating 2004-05-14 16:05 UTC+0100 Ryszard Glab * include/hbexpra.c * source/compiler/expropta.c * source/compiler/harbour.c * source/macro/macroa.c * source/rtl/tget.prg * source/rtl/tgetint.prg * fixed to be more Clipper compatible * source/rtl/persist.prg * fixed to not use xBase extensions 2004-05-13 11:00 UTC+0100 Ryszard Glab * source/rtl/transform.c * TRANSFORM(1.23,"999.") correctly returns " 1." now instead of empty string * source/rtl/tget.prg * fixed to correctly display buffer when negative value and '0' was pressed in the position next to decimal point e.g. -1230. was displayed as -123-. * fixed support for '9999.' picture 2004-05-11 15:10 UTC+0100 Ryszard Glab * CVSROOT/avail * restored write access to the entire repository for all developers * doc/codestyl.txt * small corrections (use 3 spaces instead of Tab) * include/hbcomp.h * source/compiler/cmdcheck.c * source/compiler/harbour.c * source/compiler/hbusage.c + added posibility to specify the output PPO file with -p e.g. -pppo/myfile.ppo (thanks to Larry Sevilla) * source/rtl/tget.prg * fixed positioning of cursor when the first pressed key was a digit during editing of numeric value * source/compiler/hbfix.c * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rtl/dates.c * source/rtl/filesys.c * source/rtl/inkey.c * source/rtl/isprint.c * source/rtl/math.c * source/rtl/philes.c * source/vm/classes.c * source/vm/hvm.c * removed '//' comments 2004-05-10 19:20 UTC-0400 David G. Holm - cvsplay.txt - cvsplay2.txt - Removed these two files. 2004-05-08 10:40 UTC+0100 Ryszard Glab * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfdbt/dbfdbt1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rtl/is.c * source/rtl/strcase.c * source/rtl/transfrm.c * updated to refer hb_cdp_page instead of s_cdpage * source/vm/itemapi.c * snprintf is used only in GCC/Linux and WatcomC guarded with #ifdef HB_HAS_SNPRINTF (this is ommision from my previous commit) 2004-05-07 19:30 UTC+0100 Ryszard Glab + config/dos/owatcom.cf * added configuration file for OpenWatcom (renamed from watcom.cf) * config/dos/watcom.cf * restored previous version so it correctly compiles under WatcomC 10 - please use watcom.cf for WatcomC and owatcom.cf for OpenWatcom * makefile.bc * makefile.nt * makefile.vc * hrbdll.bc * source/codepage/Makefile + source/codepage/cdpsrwin.c + new file with Serbian codepage * CVSROOT/avail * removed reference to my local file * ERRATA * updated (removed reference to tmpname) * doc/codestyl.txt * updated with some coding guidelines adopted from PHP (please fell free to discuss them ;-) * doc/howtocvs.txt * added description for commit on Linux * include/hbapicdp.h * source/codepage/cdpesdos.c * restored previous versions * include/hbcomp.h * added reference for WatcomC compiler * include/hbexprc.c * fixed warning reported by WatcomC * source/vm/itemapi.c * fixed infinite support for WatcomC * source/rtl/cdpapi.c * renamed global symbol s_cdpage into hb_cdp_page * source/rtl/gtcrs/kbdcrs.c * fixed reporting keystrokes with codes > 127 2004-05-06 21:10 UTC-0400 David G. Holm * source/vm/itemapi.c ! The funtion snprintf is not a Standard C function and does not exist in the Version 12 of the Microsoft C++ compiler (MSVC 6). 2004-05-06 18:00 UTC+0100 Ryszard Glab + CVSROOT/avail * CVSROOT/checkoutlist * CVSROOT/commitinfo * CVSROOT/loginfo + access to CVSROOT files is now available for project admins only 2004-05-06 15:40 UTC+0100 Ryszard Glab * include/hbexpra.c * source/common/expropt2.c * source/compiler/expropta.c * source/macro/macroa.c ! Fixed optimalization of AT,ASC,LEN,CHR functions in the macro compiler (this fixes GPF reported by Alexander) 2004-05-05 08:08 UTC+0200 Ilias Lazaridis * source/codepage/cdpesdos.c ! Whitespace reformatting 2004-05-03 05:04 UTC+0200 Ilias Lazaridis * source/include/hbinit.h + added macro HB_USE_PRAGMA_STARTUP * source/include/hdcdpapi.h + added macro HB_CODEPAGE_INIT * source/codepage/cdpesdos.c ! used HB_USE_PRAGMA_STARTUP and HB_CODEPAGE_INIT (changes are applyable to other cdp*.c files, too, but will wait until cdpesdos.c is completely reworked) 2004-05-02 09:25 UTC+0300 Chen Kedem * doc/howtocvs.txt * Change references to CVSROOT (according to SourceForge documents) from cvs.Harbour-project.sourceforge.net into cvs.sourceforge.net 2004-04-30 16:09 UTC+0200 Ilias Lazaridis + /cvsplay.txt + Added file with tortoiseCVS to check CVS functionality without influencing rest of project [Note: the above changelog time entry is possibly not correct] 2004-04-27 12:57 UTC-0500 Randy Portnoff * contrib/rdd_ads/adsfunc.c Changes to ADSCOPYTABLE as follows: + added logical return value + added second optional param for ADS filter option + Now uses default index order if set Changes to ADSCOPYTABLECONTENTS as follows: ! changed default filter option from ADS_IGNOREFILTERS to ADS_RESPECTFILTERS + added second optional param for ADS filter option + Now uses default index order if set 2004-04-24 15:30 UTC+0100 Ryszard Glab * include/hbapi.h * changed ULONG hb_objHasMsg into BOOL hb_objHasMsg * include/hbvmpub.h * added union { PHB_FUNC pFunPtr; int iStaticsBase; } value to HB_SYMB structure to remove pointer/int conversion * source/compiler/genc.c * source/compiler/gencli.c * source/rdd/dbf1.c * source/rdd/delim1.c * source/rdd/sdf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfdbt/dbfdbt1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rtl/symbol.prg * source/vm/classes.c * source/vm/dynsym.c * source/vm/hvm.c * source/vm/initsymb.c * source/vm/macro.c * source/vm/runner.c * changed to use new HB_SYMB structure * removed all pointer/long castings (except runner.c) 2004-04-22 18:00 UTC-0500 David G. Holm * source/vm/itemapi.c ! #if check for for RSXNT and EMX must be ahead of GNUC test in the infinity test block, because RSXNT and EMX both use the GNUC compiler, but use isfinite() instead of finite(). 2004-04-22 17:30 UTC-0500 David G. Holm * contrib/libct/files.c * contrib/libnf/color2n.c * contrib/libnf/dispc.c * contrib/libnf/n2color.c * contrib/rdd_ads/ads1.c * source/vm/memvars.c ! Eliminated most warnings issued by MinGW GCC compiler. 2004-04-22 10:57 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: contrib/hbzlib/include, contrib/hbzlib/Linux, tests/bldtest 2004-04-21 16:35 UTC+0300 Chen Kedem * doc/en/rddord.txt - Remove docs for: ORDKEY() $DESCRIPTION$ section, ORDLISTADD(), ORDLISTCLEAR(), ORDLISTREBUILD(), ORDNAME(), ORDNUMBER(), ORDSETFOCUS() because of copyright violation! 2004-04-20 16:30 UTC-0400 David G. Holm * contrib/Makefile + Added an ifeq section for bsd builds. 2004-04-19 11:43 UTC+0300 Chen Kedem * doc/en/rdd.txt - Remove docs for: RDDLIST(), RDDNAME(), RDDSETDEFAULT(), __RDDSETDEFAULT() because of copyright violation! (the file is now EMPTY) * doc/en/rdddb.txt - Remove docs for: __DBCONTINUE(), __DBZAP() because of copyright violation! 2004-04-17 12:30 UTC+0100 Ryszard Glab * include/hbapi.h * source/rtl/empty.c * source/rtl/idle.c * source/vm/arrays.c * source/vm/estack.c * source/vm/extend.c * source/vm/itemapi.c * added missing code to use HB_IT_POINTER just like other value's type You can use: hb_retptr( void * pointer ) hb_parptr( ) -> void * hb_storptr( void * pointer, ...... ) to return/manage pointers from low level functions. For example: p = GET_SOME_POINTER() ? VALTYPE(p) //prints: 'P' ? p //prints: 0x12345678 * tests/onidle.prg * fixed to use values of pointer type * tests/tstmacro.prg * added code to test TYPE() function 2004-04-16 17:08 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c Renamed adsGetConnectionType() as AdsGetTableConType() and added adsGetConnectionType( [hConnect] ) from Brian Hays' implementation in xHarbour. Due to the recent changes introduced to Harbour that render FWH inoperable, this is likely my last contribution to Harbour's CVS as I'll be using xHarbour only with my FWH apps (I currently use FW/FWH 2.3c). 2004-04-16 19:05 UTC+0300 Alexander Kresin * hrbdll.bc * Makefile for the harbour.dll is changed + mkbcdll.bat + Bat file is added to build the Harbour.dll. Changing appropriate environment variables inside it, you may include/exclude from the dll RDD ADS, CT, Libmisc, Debug libraries. + tests/bld4dll.bat + Bat file is added to build sample applications, which uses harbour.dll 2004-04-16 13:55 UTC+0300 Alexander Kresin * include/hbstack.h * source/vm/hvm.c * source/vm/itemapi.c * source/vm/estack.c * source/vm/dynsym.c * source/rtl/dates.c * source/rtl/file.c * source/rtl/filesys.c * HB_EXPORT is added to ITEM API, FILE API and some other function definitions to make it possible to call them when they are in the dll. 2004-04-14 19:05 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c Added adsGetConnectionType() provided by Randy Portnoff 2004-04-14 12:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * tests/bldtest/Makefile * fixed typo in file name * include/hbdefs.h + added HB_COUNTER and HB_PTRDIFF types - first for reference counters and second for any pointer differences and pointer to integer conversions - this modification is synced with xHarbour * include/hbapi.h * include/hbdefs.h * source/rtl/philes.c * source/vm/arrays.c * source/vm/hvm.c * source/vm/itemapi.c * use HB_COUNTER type 2004-04-09 15:00 UTC-0500 David G. Holm * source/rdd/dbfntx/dbfntx1.c ! Converted first parameter in the call to hb_fsCreateTemp from "" to NULL in order to avoid having to provide a (BYTE *) type conversion like the one that I added for the second parameter. * source/rtl/fstemp.c * Reformatted the code to match the Harbour coding style (in particular, to use spaces instead of Tabs for indenting and to always use braces for a code block that follows an if statement, even if only one line). ! Added a null pointer check in the non-Unix code that checks the size of the input arguments. 2004-04-09 11:45 UTC+0100 Ryszard Glab * source/debug/debugger.prg * removed diagnostic ALERT call 2004-04-09 10:10 UTC+0100 Ryszard Glab * include/hbexpra.c * include/hbexprop.h * source/compiler/expropta.c * source/macro/macroa.c * source/vm/macro.c * fixed my previous fix to correctly release memory in the macro compiler 2004-04-08 17:20 UTC+0100 Ryszard Glab * include/hbexpra.c * source/compiler/expropta.c * source/macro/macroa.c * source/vm/macro.c * fixed bug cousing that some memory was deallocated more then once * source/debug/debugger.prg * fixed support for .T./.F. in command window * fixed issues when the application was using SET EXACT ON 2004-04-06 15:40 UTC+0100 Ryszard Glab * include/hbapi.h * include/hbvm.h * source/vm/hvm.c * source/vm/macro.c * fixed bug introduced earlier by me in the macro compiler: PUBLIC ¯o works correctly now 2004-04-03 01:46 UTC-0300 Luiz Rafael Culik(culikr@brturbo.com> * contrib/hbzlib/* ! updated to use the same core as xharbour do to compile on linux run ./lincompile.sh This was done in respect to users that want to use harbour 2004-04-02 16:25 UTC+0100 Ryszard Glab * source/compiler/gencli.c * fixed warnings * source/rtl/cdpapi.c *fixed warnings (Can the author of the code check if I correctly parenthesized multiple || and && conditions?) * source/vm/classes.c *fixed warning in gcc (commented out unused static hb_clsScope function) * source/rdd/dbfntx/dbfntx1.c * source/rtl/fstemp.c * fixed hb_fsCreateTemp() to use 'mkstemp' on Unix * fixed sorting procedure to use hb_fsCreateTemp wrapper function * source/rtl/set.c *hb_set.HB_SET_DIRSEPARATOR defaults to '/' on Unix 2004-04-02 13:15 UTC+0100 Ryszard Glab * include/hbexpra.c * include/hbexprop.h * source/common/expropt1.c * source/compiler/expropta.c * source/macro/macro.y * source/macro/macroa.c * source/vm/macro.c * fixed to release memory in cases where invalid syntax was macro compiled * source/vm/itemapi.c * fixed to correctly check for infinity on Unix STR(LOG(-1)) no longer core dumps * source/rtl/filesys.c * source/rdd/hbdbsort.c * fixed to suppres warnings * source/pp/ppcore.c * utils/hbtest/rt_misc.prg * Clipper preproceses '**' into '^' - harbour too 2004-04-02 12:17 UTC+0100 Antonio Linares * source/rtl/fstemp.c * source/rdd/dbfntx/dbfntx1.c - Two linux linking time warnings removed 2004-04-01 11:15 UTC+0100 Ryszard Glab * include/hbexprb.c * include/hbmacro.ch * fixed support for strings as array of bytes (in macro compiler) * added a new #define HB_SM_ARRSTR as a flag for HB_SETMACRO() to disable/enable strings as array of bytes * source/vm/macro.c * added HB_SM_ARRSTR support * fixed TYPE() function to return correct value when an assigment to undeclared variable is checked (Clipper creates the memvar variable) - thanks to Phil Krylov * source/compiler/hbusage.c * fixed typo for -ks switch 2004-04-01 09:09 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/common/hbffind.c ! Fix for NT4 * source/rdd/dbsort.prg * Fix by Mitja Podgornik 2004-04-01 08:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * bin/bld.bat * Updated 2004-03-31 21:45 UTC-0800 Luis Krause Mantilla * source/rdd/workarea.c + added scopped relations. Now OrdSetRelation() works with DBFCDX like it does with Clipper 5.3b * contrib/rdd_ads/ads1.c + adsClearScope() method added to avoid r/t error with ADS and scoped relations Thanks to Przemyslaw Czerpak for the fix (borrowed from xHarbour) 2004-03-30 16:30 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/macro.c * added HB_ITEM_PTR pError member to HB_MACRO structure * fixed bug in macro compiler - calls to static functions are not allowed in macro compiler * source/common/expropt1.c * source/common/hbffind.c *fixed minor warnings reported by Randy Portnoff * source/rtl/set.c *SET(_SET_DEBUG) defaults to FALSE (Clipper compatible) * source/rtl/idle.c *small optimization of hb_idleState() * source/compiler/harbour.y *the compiler generates line number for DO CASE (if debug info requested - to allow breakpoint) * source/debug/debugger.prg *the debugger shows the line number for modules where no source code is available 2004-03-29 15:00 UTC-0500 David G. Holm * source/pp/ppcore.c ! Added missing type conversions on calls to hb_xgrab and hb_xrealloc. * source/rtl/memoline.c ! Convert CR to space for Clipper compatibility. 2004-03-25 09:35 UTC+0300 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.c ! minor fix 2004-03-24 22:10 UTC+0300 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * include/dbinfo.ch * include/hbrddcdx.h ! Some DBFCDX fixes, made by Przemyslaw Czerpak - borrowed from xHarbour. 2004-03-24 10:08 UTC-0800 Luis Krause Mantilla * source/rtl/tbcolumn.prg ! fixed typo in comment * source/rtl/tbrowse.prg ! fixed initialization bug that miscalculated ::RowCount in ::Stabilize() ! fixed ASSIGN freeze to return ::nFrozenCols (Clipper compatibility) ! fixed ::RefreshCurrent() to validate ::aRedraw to avoid r/t error ! fixed ::rect assignment in ::Configure (3rd param was ::nHeaderHeight instead of ::nFooterHeight) 2004-03-23 14:50 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed parsing of nested #defines in command/translate for example: #define PRE_CHAR 'A' #define IDX_EXPR(x) PRE_CHAR+x INDEX ON IDX_EXPR(myfield) TO myfile * source/pp/pptable.c * updated for fixes in ppcore.c (_DFSET define) 2004-03-21 21:48 UTC-0800 Luis Krause Mantilla * source/rtl/tbcolumn.prg + added PreBlock and PostBlock instance variables for Clipper 5.3x compatibility 2004-03-20 15:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + tests/bldtest/Makefile + tests/bldtest/bldtest.c + simple C program to check if Harbour can be compiled on used machine / system / C compiler 2004-03-19 11:40 UTC+0100 Ryszard Glab * utils/hbmake/hbmake.prg *fixed #define datediff(,) into datediff(x,y) (Clipper compatibility) (thanks to Jacek Kubica) 2004-03-19 08:20 UTC+0100 Ryszard Glab * source/debug/debugger.prg * fixed refreshing of watchpoints * source/pp/ppcore.c * fixed bug introduced with my previous commit 2004-03-18 12:45 UTC+0100 Ryszard Glab * include/hberrors.h * source/pp/ppcore.c *fixed #define parsing of pseudofunctions in cases where passed argument has the same name as declared parameter *fixed #define parsing of pseudofunctions - the following syntax is not allowed: #define test(x,x) - duplicated parameters #define test(x,) - missing parameter #define test(x - missing parenthes * source/common/expropt1.c * fixed generation of pcode for &(macro)->() syntax * source/compiler/harbour.l * fixed GPF when string with unmatched terminator was used * include/hbexprop.h * source/compiler/harbour.y * removed direct access to internals of expression optimizer structure * source/debug/debugger.prg * fixed checking of path separator 2004-03-17 8:14 UTC-0800 Luis Krause Mantilla * contrib/rdd_sys/ads1.c * reuploaded to CVS (somehow it didn't get through the last time) 2004-03-11 16:01 UTC-0800 Luis Krause Mantilla * contrib/rdd_sys/ads1.c * NTX compatibility fix in adsOrderListFocus() to keep current order if selected one fails 2004-03-10 10:40 UTC+0300 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.c ! Initialization code fixed. 2004-03-09 22:30 UTC+0300 Alexander Kresin * hrbdll.vc * file has been updated due to adding source/rtl/hbrandom.c. * include/hbapiitm.h * source/rdd/itemapi.c * source/rdd/dbf1.c * source/rdd/workarea.c * source/rdd/dbfcdx/dbfcdx1.c * more synchronization with xHarbour's RDD. 2004-03-09 10:15 UTC-0800 Luis Krause Mantilla * hrbdll.bc * Added reference to missing hbrandom.c. Can a MSVC user sync hrbdll.vc? 2004-03-09 13:50 UTC+0100 Ryszard Glab + source/rtl/altd.prg +new file with ALTD() procedure code * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * source/rtl/Makefile *added a reference to rtl/altd.prg * source/common/hbffind.c *fixed to compile correctly with HB_OS_UNIX * include/hbcomp.h * include/hbexpra.c * include/hbexprb.c * include/hbexprop.h * include/hbpcode.h * source/common/expropt1.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbgenerr.c * source/compiler/hbpcode.c * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/vm/hvm.c +added missing support for @¯o and @M->memvar +added new pcode HB_MACROPUSHREF (all sources have to be recompiled) * source/debug/dbgtwin.prg * source/debug/debugger.prg *fixed procedures callstack when modules with/without debug info are linked together *fixed the debugger activation when ALTD() is used in a module with no debug info (the debugger shows up on the first line with debug info after the ALTD() is called) NOTICE: Some compilers may require that the debug library has to be specified as an object file in order to get the debugger linked in. 2004-03-08 19:50 UTC+0300 Alexander Kresin + ChangeLog + Started a new ChangeLog. * source/rtl/ChangeLog.014 * Renamed old ChangeLog, due to file size. * include/hbapifs.h * include/hbmath.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrddntx.h * include/hbrdddbt.h * include/hbrddfpt.h * include/hbset.h + source/rtl/hbrandom.c * source/rtl/Makefile * source/rtl/filesys.c * source/rtl/set.c * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbffpt/dbffpt1.c * Changes in DBF RDD, DBFCDX RDD, DBFFPT RDD, made by Przemyslaw Czerpak and Giancarlo Niccolai, has been borrowed from xHarbour. * makefile.bc * makefile.nt * makefile.vc * make files has been updated due to adding source/rtl/hbrandom.c. 2004-02-27 12:37 UTC+0100 Viktor Szakats * source/rtl/teditor.prg ! Fixed a Bound error in GetParagraph which came up when using in wrap mode, in the last line I guess. Note that this just fixed the bound error, not the possible real problem. 2004-02-21 8:14 UTC+0100 Viktor Szakats * source/common/hbffind.c * source/rtl/direct.c + Completely rearranged, so that the platform specific stuff is kept in one function. Redundant code removed. * Attrib filters needed to make DIRECTORY() CA-Cl*pper compatible have been moved to the low-level file-find functions. + Added label support for Win32. ! Fix for Win32. It has been made compatible with the C RTL _dos_findfirst pattern matching, which is what CA-Clipper is compatible with. * Adding space to the stringified attribute list on HB_FA_NORMAL removed, since it's not compatible, and it doesn't get executed anyway, since HB_FA_NORMAL == 0. * UNIX part formatted. ; All this means that file find API is fixed now and compatible with CA-Cl*pper on the lower level. Heavily tested under Win32, and probably easy to fix for any other platforms now in case of incompatibility. Changes has be merged from an older version of the file, so please double chk your changes/platforms. ; Note that other file-find API based functions will also automatically benefit from the above changes, like FILE()/ hb_fsFile(). 2004-02-21 7:39 UTC+0100 Viktor Szakats * source/rtl/memoread.c * Previous change reverted. hb_retc( NULL ) was intentional and is an optimized version of hb_retc( "" ). Both will return an empty string. % hb_fsClose() calls reduced. * src/rtl/tbcolumn.prg * src/rtl/tbrowse.prg ! :SetColumn() retval made compatible. ! :ColWidth() retval made compatible. % Using array functions to speed up a few things. % Got rid of the predefined 4096 long array in every columns plus the browse object. ; More and more incompatibilities are popping up, some of them quite strange, and only coming up in a large app's sophisticated browse stressing environment. - Removing rightmost column while active will do RTE, - If headsep is initialized after the columns and cargo, browse will sometimes behave strangely (headsep value disappears??) - Moving columns off the visible area will screw up internals. - Modifying columns is slow because of the unconditional :configure() calls. 2004-02-20 8:55 UTC-0800 Luis Krause Mantilla * contrib/mysql/mysql.c ! Fixed declaration for filelength() from int to long to match io.h * source/rtl/memofile.c ! Changed return values for empty or failed calles to MemoRead() to return an empty string instead of a NULL ! Close file when MemoRead() was successful, but file was empty (was being left open) Above solutions reported and provided by David Arturo Macías Corona. Thanks! 2004-02-19 12:48 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c ! fixed casting in adsShowError() * contrib/rdd_ads/ads1.c ! adsSeek() now raises a runtime error 1201 if no index is active ! adsOrderListAdd() sets order to 0 if an invalid or non-existent tag is provided The above two were added to keep Clipper compatibility + Added 5th param to commonError() in order to provide uiFlags, like other RDD's * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfntx/dbfntx1.c ! Fixed error code returned by hb_cdxSeek() and ntxSeek() to 1201 (was 1020) so it returns same error code as Clipper 2004-02-17 9:22 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c + Forgot to mention Brian Hays' implicit record locking fix/workaround is also included in my previous ADS update. The function name is adsTestRecLocks() 2004-02-16 17:40 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/adsmgmnt.c * contrib/rdd_ads/ace.h * contrib/rdd_ads/rddads.h * contrib/rdd_ads/doc/en/adsfuncs.txt ! Renamed Data Dictionary functions for consistency: adsAddTable() to adsDDAddTale() adsAddUserToGroup to adsDDAddUserToGroup() ! Moved adsGetNumActiveLinks() inside the ADS_REQUIRE_VERSION6 to avoid compile errors with ADS version older than v. 6.0 + Syncronized with xHarbour - Thanks to Brian Hays, Toninho, et. al. added the following functions: adsConnect60() adsCopyTableContents() adsDDCreate() adsDDCreateUser() adsDDGetDatabaseProperty() adsDDGetUserProperty() adsDDSetDatabaseProperty() adsGetTableCharType() adsMGGetLockOwner() 2004-02-16 15:52 UTC+0100 Viktor Szakats * src/rtl/set.c ! Fixed an incompatibility in Set(_SET_EXIT) which caused ReadExit() to set the SET value even if called without a parameter. Similar incompatibility can exist with other sets, but I didn't chk them. Now ReadExit() works as expected. * src/rtl/tbrowse.prg ! Typo. 2004-02-16 10:52 UTC+0100 Viktor Szakats * src/rtl/tbrowse.prg + :ColorRect() partial support added. The missing part is that in C52 :ColorRect() will update the screen probably using some internal buffers for the data, because the skipblock for example is not evaluated. * src/rtl/filesys.c * Some cleanup, optim, comments, added static. 2004-02-15 14:02 UTC-0800 Luis Krause Mantilla * hrbdll.bc + added references to cdphu852.c cdphuwin.c and errorint.c Could a MSVC user update hrbdll.vc 2004-02-15 16:35 UTC+0100 Viktor Szakats * src/rtl/tbrowse.prg ! Fixed to not display headsep/footsep when there's no header/footer. ! Fixed to display headsep/footsep with the width of colsep. * makefile.bc ! Added DEBUG_LIB for Harbour exes to make them compile in debug mode. * souce/rtl/gtapi.c ! hb_gtSetColorStr() previous change reverted. The mistake was on my side most probably. 2004-02-15 05:25 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg ! :Moved() fixed to always DeHilite() (independently from the autolite value). This is in sync with C52 docs (see autolite .ng), and testing has shown it to be compatible. Only :stabilize should be affected by the autolite setting. + TODO: added about missing ColorRect functionality. 2004-02-15 05:12 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg ! Fixed color handling to take into account ::defcolor of TBColumn. Now TBrowse coloring is C52 compatible. For speed wierd cases are not handled like if the value of ::defcolor is improper. * source/rtl/tgetlist.prg * source/rtl/ttopbar.prg * source/rtl/tbrowse.prg ! DevPos() -> SetPos() (TBrowse() had plenty of them) ! Few missing color params added to DispOut*() 2004-02-15 04:20 UTC+0100 Viktor Szakats * source/rtl/tget.prg ! :display() fixed to always evaluate the get block before displaying like in C52. * include/hbapifs.h + HB_FFIND structure extended for future changes. 2004-02-15 03:42 UTC+0100 Viktor Szakats * source/rdd/dbcmd.c ! FIELDPUT() Fixed to accept and ignore field NIL values without runtime error. C52 compatible. 2004-02-14 19:14 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg ! SetColumnWidth() fixed for multi-line headers. 2004-02-14 05:33 UTC+0100 Viktor Szakats * include/hbapigt.h * source/rtl/gt_tpl/gt_tpl.c * source/rtl/gtwin/gtwin.c * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtpca/gtpca.c * source/rtl/gtsln/gtsln.c * source/rtl/gtstd/gtstd.c + Following low-level GT API functions added (for completeness): hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr ); "static hb_gt_xGetXY()" functionality copied where available. * Parameter of previously added functions changed from USHORT to SHORT (to support moving windows out of screen) + "static hb_gt_xPutch()" code copied to hb_gt_PutCharAttr() where available. ! Added bounds checking to GTWIN new functions. 2004-02-14 04:28 UTC+0100 Viktor Szakats * include/hbapigt.h * source/rtl/gt_tpl/gt_tpl.c + Following low-level GT API functions added to support 3rd party GT high-level layers/replacements and 3rd party screen handling libraries: hb_gt_PutCharAttr( USHORT uiRow, USHORT uiCol, BYTE byChar, BYTE byAttr ); hb_gt_PutChar( USHORT uiRow, USHORT uiCol, BYTE byChar ); hb_gt_PutAttr( USHORT uiRow, USHORT uiCol, BYTE byAttr ); hb_gt_GetChar( USHORT uiRow, USHORT uiCol, BYTE * pbyChar ); hb_gt_GetAttr( USHORT uiRow, USHORT uiCol, BYTE * pbyAttr ); * source/rtl/gtwin/gtwin.c * Above functions completed for the Win Terminal driver. * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtpca/gtpca.c * source/rtl/gtsln/gtsln.c * source/rtl/gtstd/gtstd.c * Skeletons added for the above new functions. 2004-02-14 03:00 UTC+0100 Viktor Szakats * makefile.bc ! Fixed compilation of dbgbrwsr * source/pp/ppcore.c * source/rtl/round.c * source/rdd/dbfcdx/dbfcdx1.c ! Fixed errors when compiled with HB_TRACE * source/common/hbffind.c * Formatting. 2004-02-13 23:57 UTC+0100 Viktor Szakats + source/codepage/cdphu852.c + source/codepage/cdphuwin.c * source/codepage/Makefile * makefile.bc * makefile.nt * makefile.vc + Added Hungarian 852 and Windows sorting codepages. * source/rtl/errorapi.c + source/rtl/errorint.c * source/rtl/Makefile * makefile.bc * makefile.nt * makefile.vc + hb_errInternal() put in a separate source file, to ease replacing/override it in link-time, this may be useful for GUI apps, logging or something like this. 2004-02-13 23:36 UTC+0100 Viktor Szakats * source/vm/hvm.c ! hb_vmPopAliasedVar() - Fixed to be case-insensitive. % hb_vmPushAliasedVar() - Case-insensitive handling speed up. * unsigned long -> ULONG * source/rtl/idle.c * include/hbapi.h + Made hb_releaseCPU() public. * source/rtl/filesys.c * include/hbapifs.h + Added return value to hb_fsSetDevMode(), this way it's fully compatible with the CA-Clipper _tdevraw() call. * source/rtl/philes53.c ! FSETDEVMOD() now returns a numeric instead of NIL. The returned value is always 0 now. Note added about this incompatibility with C53. * source/common/hbver.c ! Mistyped defines related to compatibilty fixed. * source/rtl/strcase.c ! Incorrect assigment warnings fixed. 2004-02-13 21:56 UTC+0100 Viktor Szakats * souce/rtl/gtapi.c ! hb_gtSetColorStr() removed one suspicious assigment which showed incompatible with CA-Cl*pper, where CLR_UNSELECTED was made equal to CLR_ENHANCED if missing from the color string. * Using HB_CLR_ constants instead of literals. * source/rtl/tget.prg ! :ColorSpec() method unselected color defaulting fixed. * source/compiler/hbusage.c * Bumped year to 2004. 2004-02-12 13:42 UTC-0800 Luis Krause Mantilla * hrbdll.bc + added missing references - deleted obsolete refrerences 2004-02-11 13:40 UTC+0100 Ryszard Glab + source/debug/dbgbrwsr.prg + The new file with TDbgBrowser class which inherits from TBrowse * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * source/debug/Makefile + added the reference to dbgbrwsr.prg * source/debug/dbgmenu.prg + added "Run at Startup' option * source/debug/dbgtwin.prg * source/debug/debugger.prg * source/debug/tbrwtext.prg + added "Run at Startup' option - if it is enabled then the debugged application runs until ALTD() is called or Alt+D keys pressed (Clipper compatibility - the default option). If it is disabled the the debugger shows up at the first code line with the debug info. This setting is stored in the initialization file (init.cld) as 'Options NoRunAtStartup'. * fixed more display/refreshing issues * fixed quiting the debugger * source/rtl/alert.prg * fixed bug with messages longer then 60 bytes * source/vm/hvm.c * hb_vmDebugEndProc() is called before the eval stack is cleaned - this allows to handle INIT/EXIT procedures correctly 2004-02-05 18:49 UTC-0800 Luis Krause Mantilla * source/vm/debug.c + add wrappers (some 3rd-party-libs still use these ones) for: __VMSTKGLIST() __VMSTKGCOUNT() Thanks Andi! 2004-01-30 15:30 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed compilation of &(exp) in normal stringify markers (this fixes INDEX ON bug reported by Jorge) 2004-01-30 10:40 UTC+0100 Ryszard Glab * source/rtl/teditor.prg * the current line is still visible after the window resizing * source/debug/debugger.prg * fixed refreshing of variables' monitor window * fixed some save/restore screen issues 2004-01-29 20:15 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/ace.h + added missing definition for adsGetNumActiveLinks() 2004-01-29 18:45 UTC-0800 Luis Krause Mantilla * source/vm/debug.c + add wrappers (some 3rd-party-libs still use these ones) for: __VMSTKLCOUNT() __VMPARLLIST() __VMSTKLLIST() __VMVARLGET() __VMVARLSET() * source/vm/hvm.c + add wrappers (some 3rd-party-libs still use these ones) for: __VMVARSLIST() __VMVARSLEN() __VMVARSGET() __VMVARSSET() Thanks Andi! 2004-01-29 18:30 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c + Added 3 ADS functions: adsGetNumOpenTables(), adsShowError() and adsGetNumActiveLinks() 2004-01-28 11:10 UTC+0100 Ryszard Glab * source/compiler/harbour.c * removed duplicated line causing memory leak reported by Andi 2004-01-27 19:10 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed generation of pcode in codeblocks with no local variables or parameters * source/debug/debugger.prg * fixed refreshing of variables in monitor window 2004-01-27 16:10 UTC+0100 Ryszard Glab * source/compiler/harbour.c * the compiler generates module name inside '(_INITSTATICS)' function if -B option is used * source/vm/hvm.c * fixed hb_vmStaticName, hb_dbg_vmVarSGet, hb_dbg_varSSet to use the static variables frame * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/debugger.prg * fixed parsing of : in watchpoint expressions * fixed monitoring of static variables - the debugger displays now static variables defined in the current debugged prg file 2004-01-26 19:30 UTC+0100 Ryszard Glab * include/hbextern.ch * tests/debugtst.prg * tests/funcarr.prg * tests/inherit.prg * tests/objarr.prg * tests/objasign.prg *replaced '__vm*' functions with 'hb_dbg_vm*' names 2004-01-26 8:30 UTC-0800 Luis Krause Mantilla * source/rtl/tget.prg ! Fixed bug in get class when using "@9" picture with strings 2004-01-26 11:45 UTC+0100 Ryszard Glab * source/compiler/harbour.c *fixed generation of codeblock's pcode with debugging info * source/debug/dbgmenu.prg * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * source/debug/tbrwtext.prg *added Tracepoint support *added support for PPO files *added monitoring of local variables used in a codeblock *local variables are displayed correctly when the callstack window is browsed *other minor fixes * source/vm/debug.c *renamed '__vm*' functions to 'hb_dbg_*' *fixed support for local variables inside of codeblock * source/vm/hvm.c *added 'hb_dbg_ProcLevel' function which return the size of procedure stack calls (the debugger support) 2004-01-25 10:11 UTC+0100 Antonio Linares * makefile.nt * makefile.vc * minor fix for hbverdir module 2004-01-22 18:30 UTC+0100 Ryszard Glab * source/debug/dbgmenu.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg *added Watchpoints support * source/vm/debug.c *added item de-referencing to __vmVarLGet 2004-01-21 18:40 UTC+0100 Ryszard Glab +include/hbdebug.ch *added a missing file 2004-01-21 18:35 UTC+0100 Ryszard Glab * source/compiler/harbour.y *fixed generation of line number's pcode related to the debugger * source/debug/dbgmenu.prg * source/debug/debugger.prg *added support for 'Run to cursor" command *minor fixes in breakpoints handling (some code lines are not allowed to set a breakpoint and run to cursor) 2004-01-21 15:30 UTC+0100 Ryszard Glab * source/compiler/harbour.y *fixed generation of line number's pcode related to the debugger * source/debug/dbgmenu.prg * source/debug/debugger.prg *fixed TRACE command *added support for 'Codeblock trace' option * other minor fixes to make the debugger usable Additionally in my previous commit (2004-01-20 19:15) * source/vm/hvm.c *added call for hb_inkeyPoll to the main pcode execution loop to correctly support Alt-D, Alt-C and Ctrl-C requests (only if HB_GUI is not defined) - it is called every 256 opcodes 2004-01-20 19:15 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hbexprb.c * source/macro/macrob.c * source/compiler/exproptb.c * source/compiler/genc.c * source/compiler/gencli.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbfix.c *when debug information is requested then the compiler generates correct pcode with static variable name (it was correct if -gc1 or -gc2 options were used previously) *the pcode of a codeblock contains the module name (in debug mode) + include/hbdebug.ch *a new file with a definition of __dbgEntry call modes * source/debug/debugger.prg * source/vm/hvm.c *changed parameters passed to __dbgEntry function to make the function more flexible *fixed monitoring of local and static variables *when a codeblock is eveluated then debugger shows the code where the codeblock was created * source/rtl/tbrowse.prg *'configure' method recalculates the width of columns * include/hbapi.h * source/vm/codebloc.c * source/vm/itemapi.c * source/vm/memvars.c *code clean-up and optimalization related to codeblocks * source/rtl/gtcrs/Makefile * source/rtl/gtcrs/gtcrs.c + source/rtl/gtcrs/charmap.prg *added possibility to load a character mapping using HB_GT_CHARMAP + source/rtl/gtcrs/debug.map *an example character mapping 2004-01-08 18:45 UTC-0500 David G. Holm * contrib/Makefile + Added a section for rsxnt, which is unable to compile Ole and odbc. - Removed odbc from default section, because it includes the windows.h include file, which is unlikely to exist on non-Windows systems. * contrib/odbc/odbc.c ! Added type overrides for MSVC. 2004-01-08 16:45 UTC-0500 David G. Holm * source/rtl/filesys.c ! Usage of fdatasync updated to match current POSIX specification. 2004-01-08 16:00 UTC-0500 David G. Holm * source/rtl/filesys.c + Added an error return check to fdatasync when using POSIX synchronized I/O, so that if unimplemented, the slower method will be used to ensure that the file gets flushed. * utils/hbpp/hbpp.c ! Removed another refererence to malloc.h, which is obsoleted by stdlib.h and doesn't even exist in gcc 3.x implementations. 2003-12-25 19:40 UTC-0800 Luis Krause Mantilla * include/hbapifs.ch * source/rtl/direct.c * source/common/hbffind.c ! Fixed bug in Directory( "c:\*.*" ) that returned 0 when hidden files were present Borrowed from xHarbour 2003-12-13 17:05 UTC+0100 Ryszard Glab * source/vm/codebloc.c * fixed initialization of detached variables 2003-12-12 11:45 UTC-0800 Luis Krause Mantilla * source/rdd/dbcmd.c ! Fixed dbSelectArea() bug reported by Giovi Verrua Thanks to Ryszard for the heads-up 2003-12-10 18:20 UTC-0500 David G. Holm * utils/hbver/hbverfix.c ! Fixes for problems found after testing on FreeBSD. 2003-12-10 17:30 UTC-0500 David G. Holm * source/compiler/harbour.c * source/compiler/harbour.sly * source/compiler/harbour.y * source/rtl/isprint.c * source/vm/fm.c * source/vm/hvm.c ! Never include malloc.h, because: 1) It been obsoleted by stdlib.h in Standard C; and 2) The use of malloc.h is forbidden in GCC 3.x. 2003-12-05 16:05 UTC+0100 Ryszard Glab * source/rtl/gtcrs/gtcrs.c * characters with code > 128 are displayed correctly now * tests/codebl.prg * updated test for detached codeblock parameters (Notice that we are not compatible with Clipper here - there is no need do duplicate Clipper bug, IMHO) 2003-12-03 17:28 UTC-0800 Luis Krause Mantilla * source/rdd/dbcmd.c ! Fixed OrdKeyNo() bug that set RecNo() to LastRec() + 1 reported by Roberto López - borrowed from xharbour 2003-12-03 14:24 UTC-0800 Luis Krause Mantilla * include/hbapirdd.h * source/rdd/dbcmd.c ! Fixed dbCreate() bug that closed an open dbf with same name as newly created dbf in a different folder reported by Giovi Verrua - borrowed from xharbour 2003-12-02 15:57 UTC+0100 Tomaz Zupan * bin/pack_src.sh + Added missing directories to script 2003-12-02 15:23 UTC+0100 Lorenzo Fiorini * source/vm/hvm.c * source/vm/mainwin.c * bin/bld.bat * config/dos/watcom.cf + config/w32/watcom.cf ! added support to OpenWatcom DOS/Win32 borrowed from xHarbour 2003-11-24 18:32 UTC+0100 Lorenzo Fiorini * source/compiler/gencobj.c ! fixed to allow = for the C compiler options ( suggested by Przemyslaw Czerpak ) ! added support of OpenWatcom C ! cleaned the verbose option * source/rdd/dbfcdx/dbfcdx1.h ! changed to allow OpenWatcom C build ( suggested by Przemyslaw Czerpak ) * source/vm/itemapi.c ! added support of OpenWatcom C 2003-11-14 16:45 UTC+0100 Ryszard Glab * include/hbmath.h * fixed to compile under OpenWatcom * source/vm/memvars.c * fixed to release PUBLIC variables correctly (when RELEASE command is used) 2003-10-12 17:35 UTC-0500 David G. Holm * utils/hbver/hbverfix.c ! Include closing quote in string built by szReplaceQuoted. ! Strip newline chars from end of log entry. 2003-10-12 17:15 UTC-0500 David G. Holm * utils/hbver/hbverfix.c ! Use the standard ENOENT instead of the DOS-centric ENOFILE. ! Resolved three print format warnings. 2003-11-12 13:35 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add a lines for source/rdd/dbfdbt, source/rdd/dbffpt, utils/hbver * doc/es/dbstrux.txt - Remove embedded TABs 2003-10-11 18:35 UTC-0500 David G. Holm * makefile.bc * makefile.nt * makefile.vc * include/hbver.h * utils/Makefile + utils/hbver/Makefile + utils/hbver/hbverfix.c This is a first pass at a utility to automatically update include/hbver.h. The ChangeLog-related fields are updated automatically. One of the version- related fields can be updated using one of three command line options (/iv for major version, /im for minor version, or /ir for program revision). The minimal debug output can be suppressed by using the /d-1 option or verbose debug output can be seen by using the /d1 option. Help is obtained using either of the /h or /? options. 2003-11-10 15:54 UTC+0100 Maurilio Longo borrowed from xHarbour trying to hunt down a memory leak on an utility of mine 2003-11-10 12:19 UTC+0100 Przemyslaw Czerpak * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c ! possible memory leak fixed * small improvment in balancing 2003-11-10 13:20 UTC+0100 Maurilio Longo * contrib/btree/hb_btree.c + added _CLIPDEFS_H define to let it compile on OS/2 GCC * contrib/libct/bit1.c * contrib/libct/bit3.c * contrib/libct/ct.h + added _CLIPDEFS_H define to let it compile on OS/2 GCC * changed redefined base tipes to C ones, like WORD -> long, bit3.c was already partly fixed before this one * contrib/libnf/chdir.c * contrib/libnf/dispc.c * contrib/libnf/getenvrn.c * contrib/libnf/kspeed.c * contrib/libnf/mouse.c * contrib/libnf/rmdir.c + added _CLIPDEFS_H define to let it compile on OS/2 GCC, now it compiles, but a lot of functions are DOS only 2003-11-10 12:25 UTC+0100 Ryszard Glab * include/hbcomp.h * source/compiler/cmdcheck.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbusage.c * source/vm/hvm.c * doc/en/compiler.txt * fixed to correctly generate an address for far jumps * fixed optimalization of far jumps + added a new switch -kJ to disable jump optimalization and NOOP pcode removal (optimalization is enabled by default) 2003-11-09 00:50 UTC+0300 Alexander Kresin * source/pp/pptable.c + SET MBLOCKSIZE TO SET MEMOBLOCK TO SET MFILEEXT TO SET AUTOSHARE TO [] SET AUTORDER TO [] SET STRICTREAD New DBFFPT related commands, added by Przemyslaw Czerpak - synced with xHarbour. * include/hbdefs.h * source/rdd/dbcmd.c * source/rdd/dbfcdx/dbfcdx1.c ! Some DBFCDX fixes by Przemyslaw Czerpak - synced with xHarbour. * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, which appeared while conditional indexing of a parent file in relation. 2003-10-22 13:26 UTC-0800 Luis Krause Mantilla * source/rdd/rddord.prg + ORDSETRELATION() * source/rtl/dummy.prg + removed implemented fzuns * Latest RDD changes, has been made by Przemyslaw Czerpak - synced with xHarbour. 2003-11-06 11:40 UTC+0100 Ryszard Glab * source/compiler/harbour.l * enabled support for break[] (if not full Clipper compatibility mode was requested) * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * source/common/expropt2.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * fixed optimalization of literal strings that contain macro operator - strings are not joined if the left argument of '+' operator contains '&' for example: CHR(38)+'text' -> will no longer look for 'text' variable '&var'+'iable' -> will look for 'var' variable instead of 'variable' + added optimalization of ASC function for example: ASC('&') will be replaced with 38 + added optimalization of LEN function for example: LEN("123") will be replaced with 3 LEN( {1,2} ) will be replaced with 2 Optimalization od ASC, LEN is disabled if strict Clipper mode is requested (-kc) * source/compiler/harbour.c * support for strings as array of bytes is disabled by default now (use -ks to enable it) * source/vm/cmdarg.c * source/vm/hvm.c * support for strings as array of bytes is disabled by default now (use //FLAGS:s to enable it) 2003-11-06 11:00 UTC+0300 Alexander Kresin * source/vm/hvm.c * RDD initialization added ( made by Przemyslaw Czerpak ) - I forgot to upload it yesterday. 2003-11-05 23:35 UTC+0300 Alexander Kresin * makefile.bc * makefile.nt * makefile.vc * Makefiles has been updated due to RDD changes 2003-11-05 22:50 UTC+0300 Alexander Kresin * config/global.cf * include/hbapirdd.h * include/hbapi.h * include/hbapifs.h * include/hbdefs.h * include/hbrddcdx.h * include/hbrddntx.h * include/hbrdddbf.h * include/hbrdddel.h * include/hbrddsdf.h + include/hbdbferr.h + include/hbrdddbt.h + include/hbrddfpt.h * source/rtl/filesys.c * source/rtl/spfiles.c * source/rtl/filehb.c * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/delim1.c * source/rdd/rddsys.prg * source/rdd/sdf1.c * source/rdd/workarea.c * source/rdd/dbfcdx/dbfcdx0.prg * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h - source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfntx/dbfntx1.c + source/rdd/dbfdbt/ + source/rdd/dbfdbt/dbfdbt0.prg + source/rdd/dbfdbt/dbfdbt1.c + source/rdd/dbffpt/ + source/rdd/dbffpt/dbffpt0.prg + source/rdd/dbffpt/dbffpt1.c * Latest RDD changes, has been made by Przemyslaw Czerpak - synced with xHarbour. 2003-10-30 19:50 UTC+0100 Ryszard Glab * source/compiler/harbour.l * source/compiler/harbour.y *Fixed support for DO [WITH ...] command The procedure name is not "uppercased" For example: DO MyProc The compiler look for MyProc.prg file now (instead of MYPROC.prg) 2003-10-30 10:45 UTC+0100 Tomaz Zupan * source/rtl/alert.prg ! Reverted changes from 2003-09-07 2003-10-29 20:15 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * source/macro/macrob.c *fixed generation of pcode for {|| &var} *see below * include/hbcomp.h * source/compiler/cmdcheck.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbusage.c * doc/en/compiler.txt *added support for DO WITH @variable *a new compatibility flag -ks was added to enable support for strings as array of bytes (it is enabled by default). The support for strings as bytes array is disabled if you use -kc switch (Clipper compatibility mode) *when xbase mode is not used (-kc or -kch) then compiler doesn't generate the pcode for these xbase extended features For example: memv:="2,3" a:={1, &memv, 4} will generate a runtime 'syntax error' without -kx switch or will create an array with four elements if -kx was used. The above rule will apply also for: var[&index] func( &argument ) (expr1, ¯o ) Notice that the xbase mode is enabled by default. * source/rtl/gtapi.c *fixed GPF in hb_gtBox() when no string was passed * source/rtl/gtcrs/gtcrs.c *improved recognition of xterm compatible terminals * source/rtl/gtcrs/Makefile * source/rtl/gtcrs/kbdcrs.c + source/rtl/gtcrs/keymap.prg + source/rtl/gtcrs/eterm.map + source/rtl/gtcrs/linux.map *the support for runtime definition of keycodes mapping was added (translation from terminal key sequences into INKEY() codes) +eterm.map and linux.map are example files with keycode mapping +HB_GT_KEYMAP() function was added * include/hbapi.h *Changed declaration of hb_cmdargProcessVM() * include/hbapigt.h * include/hbvm.h * source/rtl/inkey.c * source/vm/cmdarg.c * source/vm/hvm.c *new function hb_vmFlagEnabled() to query compatibility at runtime *new internal command line arguments were added to control application at runtime: //FLAGS:switches this flag controls compatibility issues of the virtual machine Available switches: c - Clipper compatibility h - Harbour extensions (enabled by default) s - enable support for strings as array of bytes (enabled by default) For example: myapp //FLAGS:ch will disable support for strings as array of bytes //CANCEL:key //CANCELEX:keyex this flag allows change the keycode of application cancel request (usually Alt-C) - using normal INKEY() keycodes or extended keycodes (CANCELEX) For example: myapp //CANCEL:304 will change Alt-c into Alt-b for cancelling (Alt-c is used to insert polish diactric letter) * tests/keywords.prg *fixed to suppress warnings for FIELD and IN keywords if passed by reference 2003-10-25 14:45 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * fixed to stop 'function defined but not used' warning with SIMPLEX * source/compiler/harbour.l * enhanced to support nested '[]' strings created with dumb stingify match marker (full Clipper compatibility with Flex) * source/pp/ppcomp.c * source/pp/ppcore.c * fixed support for stingify match markers - full Clipper compatibility * tests/Makefile * testpp.prg was added into BAD_PRG_SOURCES * tests/codebl.prg * test for references of codeblock parameters was added + tests/testpp.prg * new file to test stringify match markers (this file will not run - compile it only) 2003-10-24 11:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Minor fix for calculating the maximum keys number in index page. Some 3rd party engines ( Crystal Reports ) had problems opening ntx'es, created by Harbour. 2003-10-23 15:40 UTC+0100 Ryszard Glab * source/compiler/harbour.l * fixed codeblock scanning - this should cure random GPFs 2003-10-23 11:00 UTC+0100 Ryszard Glab * include/hbexprc.c * source/compiler/exproptc.c * a variable pbUseTextSubst is initialized correctly when compiled with macro support * source/compiler/harbour.l * (char *) cast was added * source/vm/itemapi.c * check for a loop in variable de-referencing was added The following code: var := IIF( .T., @var, var ) is causing that the variable is referencing itself (valid syntax in Clipper) * source/vm/macro.c * fixed to link correctly with WATCOM linker 2003-10-23 10:30 UTC+0300 Alexander Kresin * source/rtl/strcase.c ! hb_strncpyUpper() and hb_strncpyUpperTrim() fixed. 2003-10-22 9:49 UTC-0800 Luis Krause Mantilla * makefile.bc * $(OBJ_DIR)\msgsrwin.obj added to LANG.LIB dependencies section. 2003-10-22 13:55 UTC+0300 Alexander Kresin * makefile.bc * makefile.nt * makefile.vc * lang/msgsrwin.c and symbol.prg ( to makefile.nt only ) added. * source/rdd/dbcmd.c ! Ordscope() fixed - first parameter is TOPSCOPE by default now. 2003-10-21 10:23 UTC-0800 Luis Krause Mantilla * source/vm/codebloc.c ! Fixed detached local bug (borrowed from xharbour) * source/rdd/dbcmd.c ! Fixed bug in __dbLocate() with When clause (borrowed from xharbour) 2003-10-20 13:45 UTC+0100 Ryszard Glab * .cvsignore * Restored previous version * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * source/common/expropt1.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/compiler/harbour.sly * fixed declaration mismatch in Simplex version * fixed generation of string's pcode (introduced with my previous changes) * source/pp/ppcore.c * fixed support for stringify match markers <""> and <()> in Flex version (for example &var.1 have to be expanded into "&var.1" instead of var.1 since this is not a valid Clipper expression) NOTICE! In Simplex version this is not fixed because it is used as a hack to correctly support macro variables in GET command. * tests/testget.prg * MEMVAR declaration was added 2003-10-20 11:37 UTC+0300 Alexander Kresin * include/hbapi.h * The declaration of hb_objSendMsg() added. * source/rdd/dbfntx/dbfntx1.c ! bug fixed in soft seeking. 2003-10-17 18:08 UTC+0100 Ryszard Glab * include/hbapi.h * include/hbcomp.h * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * source/common/expropt1.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.sly * source/compiler/harbour.y * source/compiler/hbgenerr.c * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * Fixed support for late/early evaluation of macro exressions in a codeblock (Flex version) (see tests/tstblock.prg for a sample) Harbour(flex) is now full Clipper compatible here. * config/dos/watcom.cf * source/rdd/dbfcdx/dbfcdx1.h * source/common/hbffind.c * include/hbrddcdx.h * include/hbmath.h * Changed to compile correctly with WATCOM compilers 2003-10-16 13:17 UTC+0100 Antonio Linares * source/rtl/round.c ! hb_numRound() completely redesigned Source code provided by Vicente Aranzana. Vicente Aranzana kindly requests to have CVS developer access rights. 2003-10-10 10:00 UTC+0100 Antonio Linares * source/rtl/round.c ! changes on round() function, proposed by Vicente Aranzana. Based on his tests, the changes are working ok. 2003-10-08 14:24 UTC+0300 Alexander Kresin * Makefile * contrib/Makefile * Makefiles are changed to build some contribution libraries. * source/vm/classes.c * hb_objSendMsg() function added ( borrowed from xHarbour ). It makes it more easy to set/get values of object variables, execute object methods from the C level. 2003-10-07 12:06 UTC+0200 Chen Kedem * doc/whatsnew.txt * Update build 43 release date 2003-10-04 20:18 UTC+0300 Alexander Kresin * contrib/ole/ole2.c * Some changes needed for Mingw. + contrib/ole/Makefile + Makefile added. 2003-09-29 16:12 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/doc/en/adsfuncs.txt + Added 2 (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). Updated documentation in adsfuncs.txt 2003-09-29 22:10 UTC+0300 Alexander Kresin *source/rtl/strcase.c ! hb_strncpyUpperTrim() is fixed ( borrowed from xHarbour ). * include/hbver.h * Release info has been corrected again ... 2003-09-29 15:20 UTC+0300 Alexander Kresin *source/rtl/strcase.c ! hb_strncpyUpper() is fixed ( borrowed from xHarbour ). * make_tgz.sh * bin/pack_src.sh * release info changed * include/hbver.h * Release info has been corrected again :). 2003-09-29 11:47 UTC+0300 Chen Kedem * doc/whatsnew.txt + Added information about builds 10..25, 43 based on information found on the Harbour site and the mail list. 2003-09-29 11:25 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Signature byte for ntx files is changed to be Clipper compatible. * include/hbver.h * Release info has been corrected 2003-09-29 09:10 UTC+0200 Tomaz Zupan * harbour.spec * Release info has been changed. 2003-09-26 22:10 UTC+0300 Alexander Kresin * source/compiler/hbusage.c ! Year has been changed in copyright statement ( 2003 instead of 2002 ). * include/hbver.h * Release info has been changed. 2003-09-26 09:18 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in ntxSeek(), reported by Przemyslaw Czerpak - index unlocking wasn't present in some occasions. 2003-09-22 17:07 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c ! fixed parameter error handling in AdsSetAOF (borrowed from xHarbour) 2003-09-18 16:33 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/ads1.c ! Fixed bug when passing a numeric to adsCustomizeAOF() (Nil and array worked ok). Thanks to Brian Hays for the fix. * include/ads.ch ! The ROLLBACK TRANSACTION command was translating to AdsRollbackTransaction() instead of just AdsRollback() 2003-09-18 10:20 UTC+0100 Antonio Linares * source/rdd/dbcmd.c ! Fixed several places more where hb_strncpyUpper() was wrongly used 2003-09-18 10:00 UTC+0100 Antonio Linares * source/rdd/dbcmd.c ! definition required for MSVC * source/rdd/dbfcdx/dbfcdx1.c ! some typecastings required for MSVC 2003-09-17 21:41 UTC+0100 Antonio Linares * source/rdd/dbcmd.c ! fixed bug on hb_strncpyUpper() use from DbUseArea() 2003-09-17 10:54 UTC-0800 Luis Krause Mantilla * source/rtl/tget.prg ! Fixed bug in unTransform() method that truncated trailing spaces in variable when using "@R" template Borrowed from xharbour by Andi Jahja: * source/common/reserved.c * utils/hbdoc/genrtf.prg * utils/hbdoc/genng.prg + Add option to omit reserved words by adding -DHB_RESERVED_OFF (default is ON) /* This may be useful when one is working with pCode DLL where he must redefine reserved words as dummy functions in the DLL. */ 2003-09-15 12:50 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in hb_IncString(), reported by Przemyslaw Czerpak - now this function respects the national sorting rules. ! Bug fixed in hb_ntxTagKeyNo(), reported by Przemyslaw Czerpak - index unlocking wasn't present in some occasions. ! Bug fixed with scoping, reported by Giovi Verrua. 2003-09-11 11:30 UTC+0200 Przemyslaw Czerpak * harbour.spec * small fix in auto platform detection (thanks to Tomaz Zupan) * make_tgz.sh * added auto platform detection 2003-09-11 01:00 UTC+0200 Tomaz Zupan * harbour.spec * swiched back to gtcrs 2003-09-11 00:47 UTC+0200 Tomaz Zupan * harbour.spec * Added automatic platform resolution (borrowed from courier-imap project) * make_rpm.sh * small fix needed to work with Mandrake Linux 2003-09-10 23:27 UTC+0200 Przemyslaw Czerpak * harbour.spec * make_tgz.sh * small fix 2003-09-10 21:37 UTC+0200 Przemyslaw Czerpak * harbour.spec + new spec file. It creates four binary RPMs with shared and static libs core harbour compiler and tools and with Ron's PP which allow to run xBase files as scripts on *nix platform and new tool hbcmp, hbcc, hblnk, hbmk. For details see README.RPM Please remember that PP has poor GPL license. It is noticed in RPM headers. + hbgtmk.sh + simple script which connect to SourceForge CVS takes sources and build RPMs from them. + make_rpm.sh + script for checking dependences and making RPMs + make_tgz.sh + script for making binary package for this Linux distro which don't support RPM + bin/hb-mkslib.sh + script for building shared libs from static ones and/or object files + bin/pack_src.sh + script for packing harbour sources * Makefile * source/compiler/harbour.c * source/common/hbver.c * source/vm/cmdarg.c * source/vm/fm.c * source/vm/hvm.c * changes for some new futures in hb{cmp,lnk,mk} tools * contrib/libct/datetime.prg - redundant STOD removed (this function is part of RTL) * contrib/dot/pp.prg * contrib/dot/pp.txt * contrib/dot/pp_harb.ch * contrib/dot/rp_dot.ch * contrib/dot/rp_run.ch * upadting for runing xBase files as scripts. All this changes (except Ron's PP) are my work borrowed from xHarbour. 2003-09-10 15:00 UTC-0400 David G. Holm * config/dos/bcc16.cf * config/os2/icc.cf ! Disabled the LONGLONG and UNLONGLONG definitions in hbdefs.h, which only work for GCC and Windows, by defining HB_LONG_LONG_OFF. * source/common/hbstr.c * source/compiler/harbour.l * source/rtl/val.c ! Moved the duplicate definitions of hb_strVal to source/common/hbstr.c. * source/rtl/symbol.prg ! Removed static declarations from GETSYMBOLPOINTER, GETSYMBOLNAME, and SYMBOL_EXEC in order to eliminate static vs. extern errors in os2/icc builds. * source/rdd/dbfcdx/dbfcdx1.c ! Corrected two instances of (unsigned char *) typecasts on hb_fs... functions, which use BYTE * parameters, not unsigned char * (the distinction is very important for those builds that use C++ mode. 2003-09-10 09:45 UTC-0300 Antonio Carlos Pantaglione * source/vm/arrayshb.c ! More clipper compatible on ADel(). 2003-09-09 14:16 UTC+0300 Alexander Kresin * source/pp/ppcore.c ! Bug fixed in preprocessor, reported by Randy Portnoff. 2003-09-07 13:58 UTC+0200 Tomaz Zupan * source/rtl/gtcrs/gtcrs.c ! fixed displaying of boxes in xterm * source/rtl/alert.prg ! changed BoxString parameter while displaying box to NIL. It is needed to corectly display alert box in xterm. 2003-08-29 07:03 UTC+0100 Antonio Linares * source/vm/hvm.c ! Fix implemented for -0.0 on hb_vmPushDouble() as proposed by Alejandro de Garate , and on hb_PushDoubleConst() (I guess this place may be a source for such bug too). This fix should solve the bug described by Don Lowenstein regarding -0.0 result . 2003-08-24 14:30 UTC+0200 Tomaz Zupan * utils/hbdoc/genhtm.prg * removed trailing EOL from category name, because category is also used as file name. 2003-08-23 13:20 UTC+0200 Tomaz Zupan * utils/hbdoc/ffile1.prg ! fixed end of line handling now it works on platforma other than windows * utils/hbdoc/genhtm.prg ! fixed getitem function (in certain situation it returned NIL instead of logical value and prevented it to try access array beyond its bounds) * Changed backslashes into slashes (\ -> /) * utils/hbdoc/hbdoc.prg * doc/genhtm.rsp * Changed backslashes into slashes (\ -> /) 2003-08-22 12:10 UTC+0100 Antonio Linares + source/rtl/color53.prg + source/rtl/mssgline.prg ! modules borrowed from xharbour (required for recent ttopbar.prg changes) * makefile.bc * makefile.nt * makefile.vc * source/rtl/Makefile + added modules mssgline.prg and color53.prg * include/hbapicdp.h + Added hb_cdpchrcmp() prototype * include/hbdefs.h + Added support for ULONLONG * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx2.h + Freeing pages implemented + redistributing keys implemented * small speed improvement ! And many bug fixes (changes borrowed from xharbour - developed by Przemyslaw Czerpak ) * source/rtl/cdpapi.c ! sync with xharbour (changes required for DBFCDX improvements) 2003-08-22 11:26 UTC+0100 Antonio Linares * source/rtl/ttopbar.prg ! some required formating 2003-08-21 13:36 UTC+0100 Antonio Linares * source/rtl/ttopbar.prg + MenuModal() implementation - changes borrowed from xHarbour, which borrowed used Class TopBarMenu from Harbour. With this function, David Macias reported bug of missing functions, is answered, as the functions names should not be truncated to 10 chars, also MAKEDIR() should be used instead of DIRMAKE(), and MemoSetSuper() implementation is pending on RDD experts development. 2003-08-21 12:37 UTC+0100 Antonio Linares * source/rtl/teditor.prg ! Modified to allow inherited classes to properly manage K_ESC * source/rtl/memoedit.prg ! K_ESC and CTRL-W Clipper compatible management MemoEdit() bugs described by David Macias, already fixed. The only difference there is with Clipper is that Clipper does not shows the message "Abort Edit? (Y/N)" if the text has not been modified, but Class HBEditor does not provides a DATA lModified by now. 2003-08-21 11:29 UTC+0100 Antonio Linares * contrib/samples/environ.c ! Fixed GPF on missing dot for FileExt() use Bug described by David Macias, and he confirmed the fix too, with this change. 2003-08-19 23:00 UTC+0300 Alexander Kresin + harbour.spec spec file to build rpm is added. * source/debug/debugger.prg ! Fix, provided by Lorenzo Fiorini 2003-08-07 22:50 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Fix in LOCATE REST WHILE ... FOR ..., provided by Alexander Prostoserdov * source/rdd/dbfntx/dbfntx1.c * support of binary keys implemented. 2003-08-04 14:00 UTC-0400 David G. Holm * source/rtl/gtapi.c ! Enforce Clipper compatibility for SCROLL by only calling hb_gt_Scroll from hb_gtScroll if left <= right and top <= bottom. 2003-07-30 14:30 UTC-0400 David G. Holm * include/set.ch ! Indicate that there are six (6) Harbour SET extensions. 2003-07-30 08:28 UTC+0300 Chen Kedem * doc/en/set.txt + Added _SET_EOF text from the changelog entry written by David G. Holm and mark it Harbour extension. 2003-07-28 22:00 UTC-0400 David G. Holm * include/hbset.h * include/set.ch * source/pp/pptable.c * source/rtl/dbdelim.prg * source/rtl/dbsdf.prg * source/rtl/set.c + New SET value named _SET_EOF. Defaults to FALSE on UN*X, but defaults to TRUE on everything else. If set to FALSE, then CHR(26) does not get written when using COPY TO DELIMITED, COPY TO SDF, or when closing any of the various text files that are created using various SET values. 2003-07-21 11:10 UTC-0300 Antonio Carlos Pantaglione * source/rtl/transfrm.c ! Fixed the problem with @E and negative numbers. local nValue := -134.24 msginfo( Val( AllTrim( Transform( nValue, "@E 99,999.99" ) ) ) ) msginfo( Val( AllTrim( Transform( nValue, "@E99,999.99" ) ) ) ) Thanks to Enrico Maria Giordano for this fix. 2003-07-17 23:00 UTC-0300 Antonio Carlos Pantaglione * source/rtl/transfrm.c ! Removed some old commented lines * contrib/rdd_ads/adsfunc.c ! Update transaction functions ! Add AdsCacheRecords function * source/rdd/dbcmd.c ! Modified error handling to allow retry if alias is not exist during DBSelectArea() for Clipper compatibility. (Reported by Giovi Verrua) * source/vm/hvm.c ! More Clipper compatible to handle FOR-NEXT loops. Changes by Andi Jahja, borrow from xharbour 2003-07-17 17:43 UTC-0400 Alejandro de Garate * doc/en/memo.txt + Added MEMOREAD(), MEMOWRIT() documentation * doc/es/memo.txt + Added MEMOREAD(), MEMOWRIT() documentation 2003-07-17 17:34 UTC-0400 Alejandro de Garate * source/rtl/memofile.c + Added an optional 3rd parameter to MEMOWRIT(), , to decide at run-time if EOF char should be written. 2003-07-16 13:00 UTC-0300 Antonio Carlos Pantaglione * contrib/rdd_ads/ads1.c ! Changes in adsPutValue for speed(). Tested with ADS Local 6.2, not tested with prior versions of ADS. 2003-07-14 13:50 UTC-0300 Antonio Carlos Pantaglione * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c ! Changes in adsGetValue and AdsKeyCount() for speed(). Tested with ADS Local 6.2, not tested with prior versions of ADS. 2003-07-14 14:39 UTC+0100 Antonio Linares * source/vm/classes.c + HB_SETCLSHANDLE() implemented Syntax: HB_SetClsHandle( , ) --> Real dirty function, though very usefull under certain circunstances: It allows to change the class handle of an object into another class handle, so the object behaves like a different Class of object. Based on objects.lib SetClsHandle(). 2003-07-14 09:10 UTC-0300 Antonio Carlos Pantaglione * source/rtl/memoline.c ! Fixed a bug by missed () in HB_CHAR_SOFT1 compare. 2003-07-13 14:13 UTC-0400 Alejandro de Garate + doc/es/gnulice.txt + doc/es/hvm.txt + doc/es/input.txt + doc/es/macro.txt + doc/es/memvar2.txt + doc/es/misc.txt + doc/es/nation.txt + doc/es/objfunc.txt + doc/es/rdd.txt + doc/es/sayget.txt + doc/es/subcodes.txt + doc/es/tbrowse.txt + doc/es/tclass.txt + doc/es/tgetlist.txt + doc/es/tlabel.txt + doc/es/treport.txt + doc/es/var.txt + Added new doc files in spanish 2003-07-13 14:08 UTC-0400 Alejandro de Garate * doc/es/Makefile + gnulice.txt + hvm.txt + input.txt + macro.txt + memvar2.txt + misc.txt + nation.txt + objfunc.txt + rdd.txt + sayget.txt + subcodes.txt + tbrowse.txt + tclass.txt + tgetlist.txt + tlabel.txt + treport.txt + var.txt + Added references to new doc files 2003-07-13 12:32 UTC-0400 Alejandro de Garate * doc/es/lang.txt ! Fixed accents, etc, minor formating. Now in sync with english version 2003-07-13 12:24 UTC-0400 Alejandro de Garate * doc/es/hbpplib.txt * doc/es/howtobsd.txt * doc/es/idle.txt * doc/es/license.txt * doc/es/math.txt * doc/es/memo.txt * doc/es/pcode.txt * doc/es/pragma.txt * doc/es/readme.txt * doc/es/setmode.txt * doc/es/simplex.txt * doc/es/statics.txt * doc/es/strotype.txt * doc/es/tracing.txt * doc/es/vm.txt ! Fixed errors, misspelling, accents, etc, minor formating 2003-07-13 10:52 UTC-0400 Alejandro de Garate * doc/es/array.txt * doc/es/binnum.txt * doc/es/browse.txt * doc/es/clipper.txt * doc/es/cmdline.txt * doc/es/codebloc.txt * doc/es/command.txt * doc/es/compiler.txt * doc/es/datetime.txt * doc/es/dbdelim.txt * doc/es/dbsdf.txt * doc/es/dbstrux.txt * doc/es/dir.txt * doc/es/dirstruc.txt * doc/es/diskspac.txt * doc/es/error.txt * doc/es/eval.txt * doc/es/garbage.txt * doc/es/harbext.txt * doc/es/hb_set.txt ! Fixed errors, misspelling, accents, etc, minor formating 2003-07-12 13:02 UTC+0100 Antonio Linares * source/rtl/philes.c ! FRead() bug fixed, introduced cause 1 byte length strings optimization Bug described by Guy Roussin: function main( cFile ) local nH local cBuf:=" " local cBlock := "{|| Alert( 'test' ) }" nH:=fopen(cFile,0) while fread(nH,@cBuf,1)>0 ; end fclose(nH) eval( &( cBlock ) ) return(NIL) 2003-07-12 10:06 UTC+0100 Antonio Linares * source/debug/debugger.prg * source/rtl/philes.c ! Enhancements developed by Lorenzo Fiorini. Lorenzo: Please supply us a description of what you have implemented. 2003-07-10 17:43 UTC-0300 Antonio Carlos Pantaglione * source/rtl/memoline.c ! Fixed bug with soft returns. Clipper compatible. 2003-07-09 07:20 UTC-0300 Antonio Carlos Pantaglione * source/rtl/transfrm.c ! Fix with numeric values and pictures with spaces and pictures with severals dot. Changes by Walter Negro, borrow from xharbour. The return values are compliant with Clipper. eg: Transform( 1234, "9 999" ) eg: Transform( 123.123456, "999.99.99.99" ) PS: I comment ALL old lines with //Toninho@fwi and. If all is Ok, I delete it. 2003-07-08 23:00 UTC-0300 Antonio Carlos Pantaglione ! Sync with changes made in xHarbour by Walter Negro * contrib/rdd_ads/ace.h ! Fix warning in declaration of function * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c ! Fix error and potential error of AE_INSUFFICIENT_BUFFER in some functions. The len of buffer should include the NULL char. ! Fix, now adsGoTo() test if the new position is EOF. 2003-07-08 14:25 UTC-0300 Antonio Carlos Pantaglione * contrib/rdd_ads/ads1.c ! Fixed: deleted() return TRUE when is at eof(), borrow from xHarbour. 2003-07-08 11:27 UTC+0300 Chen Kedem * doc/en/lang.txt + Added the following to HB_LANGSELECT() list of supported ID's: Slovenian 437 2003-08-03 10:20 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in ntxOrderListRebuild - sometimes GPF appared if packing/reindexing was made after intensive replace operations. 2003-07-07 11:12 UTC-0300 Antonio Carlos Pantaglione * include/hbclass.ch + Added support for PROCEDURE CLASS syntax. 2003-07-03 15:00 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in ntxZap. 2003-07-03 11:46 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, which appeared after switching between orders and following skipping. 2003-07-03 10:54 UTC+0300 Alexander Kresin + source/codepage/cdpsl437.c + source/lang/msgsl437.c + New codepage and lang modules for Slovenian 7bit 437, provided by Mitja Podgornik * source/codepage/cdpsl852.c * source/codepage/cdpsliso.c * source/codepage/cdpslwin.c ! Some fixes, provided by Mitja Podgornik * makefile.bc * makefile.nt * makefile.vc * source/codepage/Makefile * source/lang/Makefile * Makefiles updated. 2003-07-03 10:00 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed - there was memory leak after INDEX ON ... ADDITIVE if there were no open indexes * source/rdd/dbf1.c ! Problem fixed for the cases when the field name exceeds 10 characters. * Codepage translation added for memo fields. * source/codepage/cdppt850.c * source/codepage/cdpptiso.c ! Comment delimiters bug fixed. 2003-07-02 11:35 UTC-0300 Antonio Carlos Pantaglione * source/compiler/harbour.slx ! Add 'static' in definition of hb_comp_SLX_InterceptAction and hb_comp_SLX_CustomAction. 2003-07-02 09:25 UTC+0100 Antonio Linares * makefile.nt * makefile.vc + Added gencli.c module * include/hbcomp.h + Added hb_compGenILCode() prototype * source/compiler/gencli.c * source/rdd/dbf1.c + Added some MSVC required typecasts * source/rdd/dbfcdx/dbfcdx1.c + Added most recent Horacio's development 2003-06-30 10:50 UTC-0300 Antonio Carlos Pantaglione * source/contrib/rdd_ads/ads1.c ! Fixed problem on adsGoTo() method when using ADT files. Borrow from xHarbour. 2003-06-30 18:33 UTC+0100 Antonio Linares * source/compiler/gencli.c + Added support for multidimensional arrays for Harbour.NET ! .NET IL implementation for HB_ARRAYGEN, HB_P_FUNCTIONSHORT, HB_P_ARRAYPUSH ! Enhanced HB_DOSHORT + Added ObjArrayGen(), ObjArrayPush() and LEN() (Len() support just for arrays). Notice: I want to publically thank Microsoft tech support forums for .NET. There are great guys there providing superb tech support. This code is already working ok with Harbour.NET: function Main() local a := { 123, "hello", { "nested", "array", { 5, "more" } }, .t., "another" } ? a[ 1 ] ? a[ 3 ][ 2 ] ? a[ 3 ][ 3 ][ 2 ] ? a[ 5 ] ? "done!" return nil Warning: Arrays elements assignment is not implemented yet. 2003-06-28 22:52 UTC+0100 Antonio Linares * source/compiler/gencli.c + Added support for logical values management ! .NET IL implementation for HB_P_TRUE, HB_P_FALSE, HB_P_NOT + Added ObjNot( object ) for HB_P_NOT support 2003-06-28 14:41 UTC+0100 Antonio Linares * source/compiler/gencli.c + do case implemented for Harbour.NET ! .NET IL implementation for HB_P_JUMP, HB_P_EXACTLYEQUAL + Added ObjExactlyEqual( object, object ) for HB_P_EXACTLYEQUAL support 2003-06-28 11:56 UTC+0100 Antonio Linares * source/compiler/gencli.c + for...next loops implemented for Harbour.NET ! .NET IL implementation for HB_P_PUSHLONG, HB_P_FORTEST + Added ObjForTest( object, object, object ) for HB_P_FORTEST support 2003-06-28 01:10 UTC+0100 Antonio Linares * source/compiler/gencli.c + .NET IL implementation for HB_P_JUMPFALSENEAR, HB_P_JUMPNEAR + Added labels to each IL generated source code line + Added ObjLessEqual( object, object ) for "<=" operator support ! AddObjects() renamed into ObjAdd( object, object ) for "+" operator support. Notice: Some "nop" has been added to match Harbour opcodes offsets. We may remove them later on. This code is working ok: function Main() local n := 11 if n <= 10 ? "less-equal 10" else ? n ? "greater 10" endif n = 5 if n <= 10 ? n ? "less-equal 10" else ? "greater " endif ? "done!" return nil 2003-06-27 16:07 UTC+0100 Antonio Linares * source/compiler/gencli.c ! .NET IL implementation for HB_P_PLUS ! New .NET function AddObjects() for adding "object" type variables Notice: As Harbour.NET uses IL "object" type for storing variables, the new implemented AddObjects() functions is used for adding variables. This code already works ok: function Main() local n := 10, c := "Hello World" ? n + 20 ? c + " from Harbour.NET" ? "done!" return nil Warning: Date variables type have not been implemented in AddObjects() yet, and also it is not generating an error when adding different types values. 2003-06-27 12:13 UTC+0100 Antonio Linares * source/compiler/gencli.c ! .NET IL implementation for HB_P_PUSHBYTE Notice: This opcode is responsible for placing a byte onto the stack. As all Harbour variables are going to be managed as object type (meanwhile we don't implement strong typing), a box (to turn a value into an object) process is also performed. We may check later on if this is needed for all processes. This test already works: function Main() local n := 123 ? n ? 10 return nil 2003-06-27 10:21 UTC+0100 Antonio Linares * source/compiler/gencli.c ! .NET IL implementation for HB_P_POPLOCALNEAR and HB_P_PUSHLOCALNEAR Notice: These opcodes are responsable for loading the values on the locals and also for pushing the locals contents onto the virtual machine stack. You can already run tests like this: function Main() local c := "Hello world from Harbour.NET !" ? c return nil Remember the process to build a .NET app: Harbour.exe -gi -n hello.prg --> hello.il ilasm.exe hello.il --> hello.exe (for .NET) 2003-06-27 09:13 UTC+0100 Antonio Linares * source/compiler/gencli.c ! .NET IL implementation for HB_P_FRAME Notice: HB_P_FRAME is generated for declaring locals and params. On IL only locals are declared. Params are declared on the same (function) method declaration. Strong typing is not supported yet. To test it simply declare several locals, compile using /gi and check the .IL created file. 2003-06-25 08:32 UTC+0100 Antonio Linares * source/compiler/gencli.c ! object type use implementation for QOUT() Notice: Harbour (as Clipper) any type value vars support is implemented through the use of IL object type. I consulted this idea with Miguel de Icaza and he agreed. So all variables types are declared as object, unless strong typing is required ( AS ... ), then we will use specific types instead of object one. 2003-06-23 17:56 UTC+0100 Antonio Linares * source/compiler/gencli.c ! Some quick & dirty implementations, to provide an IL overview Notice: Hello.prg already works on .NET :-) 2003-06-23 15:10 UTC+0200 Tomaz Zupan * source/compiler/Makefile + Added gencli.c * source/rtl/Makefile + Added symbol.prg 2003-06-23 13:15 UTC+0100 Antonio Linares * source/compiler/gencli.c ! The IL fun begins :-) Notice: Of course don't even try to compile the resulting IL generated files yet, but you can start reviewing the so-early design already :-) 2003-06-23 10:53 UTC+0100 Antonio Linares * makefile.bc + gencli.c module added Please update other makefiles. 2003-06-23 10:20 UTC+0100 Antonio Linares + source/compiler/gencli.c ! Compiler .NET .il source generation * It is just a copy of genc.c with some minor changes, just to set a starting point for IL generation. * include/hbcomp.h * source/compiler/cmdcheck.c * source/compiler/harbour.c * source/compiler/hbusage.c + Added support for IL generation Warning: This is not even an early prototype :-) More coming soon... 2003-06-23 10:05 UTC+0300 Chen Kedem * doc/en/lang.txt + Added the following to HB_LANGSELECT() list of supported ID's: Serbian Windows-1251 * source/lang/msghe862.c * source/lang/msghewin.c ! fix Hebrew typo * source/lang/msgsrwin.c ! add missings commas 2003-06-18 02:05 UTC+0200 Przemyslaw Czerpak * source/codepage/Makefile * source/codepage/cdpesdos.c * source/codepage/cdpeswin.c * source/codepage/cdpgedos.c * source/codepage/cdppliso.c * source/codepage/cdpplmaz.c * source/codepage/cdpplwin.c * source/codepage/cdpslwin.c - source/codepage/cdpla850.c + source/codepage/cdppt850.c + source/codepage/cdpptiso.c * makefile.bc * makefile.nt * makefile.vc * corrections in code page description. - removed cdpla850.c ("PT" codepage) + PT850 and PTISO codepages added. * makefiles updated - Sorry, I cannot test all of them. 2003-06-18 00:10 UTC+0200 Przemyslaw Czerpak * include/hbapilng.h * include/hblang.ch * source/lang/Makefile * source/lang/msg_tpl.c * source/lang/msgca.c * source/lang/msgcs852.c * source/lang/msgcsiso.c * source/lang/msgcskam.c * source/lang/msgcswin.c * source/lang/msgde.c * source/lang/msgdewin.c * source/lang/msgen.c * source/lang/msgeo.c * source/lang/msges.c * source/lang/msgeswin.c * source/lang/msgeu.c * source/lang/msgfr.c * source/lang/msggl.c * source/lang/msghe862.c * source/lang/msghewin.c * source/lang/msghr852.c * source/lang/msghriso.c * source/lang/msghu852.c * source/lang/msghucwi.c * source/lang/msghuwin.c * source/lang/msgid.c * source/lang/msgis850.c * source/lang/msgit.c * source/lang/msgko.c * source/lang/msgpl852.c * source/lang/msgpliso.c * source/lang/msgplmaz.c * source/lang/msgplwin.c * source/lang/msgpt.c * source/lang/msgro.c * source/lang/msgru866.c * source/lang/msgrukoi.c * source/lang/msgruwin.c * source/lang/msgsl852.c * source/lang/msgsliso.c * source/lang/msgslwin.c * source/lang/msgsr852.c * source/lang/msgsriso.c * source/lang/msgzhb5.c * source/lang/msgzhgb.c + source/lang/msgsrwin.c ! bug fixed in national msg system and new localization added (borrowed from xHarbour) + tests/langmsg.prg * simple test program for national messages I have to ask developpers to run it and check their national messages 2003-06-17 21:50 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c ! Bug fixed in hb_cdpTranslate() and hb_cdpnTranslate() * source/rdd/dbf1.c * RDD works Ok now, if field names in dbf are in lower case ( this may be if dbf created by other dbms ) * source/codepage/cdprukoi.c ! Bug fixed. 2003-06-17 17:22 UTC+0100 Antonio Linares * source/debug/debugger.prg * source/debug/dbgwa.prg ! some fixes implemented by Ian Anderson 2003-06-17 09:08 UTC+0300 Chen Kedem * doc/en/lang.txt + Added the following to HB_LANGSELECT() list of supported ID's: German ANSI, Spanish ANSI, Polish Windows-1250, Slovenian 852, Slovenian ISO-8859-2, Slovenian Windows-1250 2003-06-16 21:16 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c ! Bug fixed in hb_cdpTranslate() and hb_cdpnTranslate() * source/lang/msg_tpl.c * source/lang/msgca.c * source/lang/msgcs852.c * source/lang/msgcsiso.c * source/lang/msgcskam.c * source/lang/msgcswin.c * source/lang/msgde.c * source/lang/msgdewin.c * source/lang/msgeo.c * source/lang/msges.c * source/lang/msgeswin.c * source/lang/msgeu.c * source/lang/msgfr.c * source/lang/msggl.c * source/lang/msghe862.c * source/lang/msghewin.c * source/lang/msghr852.c * source/lang/msghriso.c * source/lang/msghu852.c * source/lang/msghucwi.c * source/lang/msghuwin.c * source/lang/msgid.c * source/lang/msgis850.c * source/lang/msgit.c * source/lang/msgko.c * source/lang/msgpt.c * source/lang/msgro.c * source/lang/msgsr852.c * source/lang/msgsr852.c * source/lang/msgzhb5.c * source/lang/msgzhgb.c ! Missing comma inserted. + source/lang/msgsl852.c + source/lang/msgsliso.c + source/lang/msgslwin.c + Slovenian language files added, provided by Mitja Podgornik + source/codepage/cdpsl852.c + source/codepage/cdpsliso.c + source/codepage/cdpslwin.c + Slovenian codepage files added, provided by Mitja Podgornik Collating sequences are also valid for Croatian, Macedonian and Serbian (latin) language. * source/codepage/Makefile * source/lang/Makefile * makefile.bc * makefile.nt * makefile.vc * Makefiles are changed to compile new lang and codepage files. 2003-06-15 14:20 UTC+0200 Przemyslaw Czerpak * source/lang/msgen.c * source/lang/msgpl852.c * source/lang/msgpliso.c * source/lang/msgplmaz.c ! the bug reported by Alexander in msgru* fixed. + source/lang/msgplwin.c + added msgplwin (cp1250) * source/rtl/inkey.c * removed dirty hack which degrease performance of inkey() on *nix platforms. 2003-06-14 21:25 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, related to seek with lLast and go bottom with scope set. * source/lang/msgru866.c * source/lang/msgrukoi.c * source/lang/msgruwin.c ! Bugs fixed. 2003-06-14 15:48 UTC+0100 Antonio Linares * source/debug/debugger.prg ! Some enhancements by Ian Anderson, but modified as they were implemented on an older Harbour version source code. ! Some improvements. * source/debug/dbgtwin.prg ! some changes by Ian Anderson Warning: Work in progress. Thanks Ian. 2003-06-14 15:22 UTC+0100 Antonio Linares * source/rtl/transfrm.c ! temporary fix waiting for users feedback It fixes the reported bug: function Main() local nValue := -134.24 ? AllTrim( Transform( nValue, "@E 99,999.99" ) ) // Harbour returns "- 134,24" ? AllTrim( Transform( nValue, "@E99,999.99" ) ) // and Clipper "-134.24" return nil Notice that a Val() of the first wrong returned value generates zero, meanwhile the second one returns the original nValue, as expected. 2003-06-14 09:23 UTC+0100 Antonio Linares * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h ! Recent changes and enhancements on DBFCDX from Horacio. Thanks Horacio! 2003-06-09 11:26 UTC+0100 Antonio Linares * source/rtl/tget.prg ! fix on Method Picture() provided by Lorenzo Fiorini 2003-06-09 00:38 UTC+0100 Antonio Linares * source/debug/debugger.prg + CallStack navigation support. ! Improved variables editing. 2003-06-06 15:53 UTC+0200 Tomaz Zupan * source/rtl/console.c + Added a PRG-callable functions HB_GETSTDIN and HB_GETSTDOUT, to get stdin and stdout file handle. 2003-06-06 10:51 UTC+0100 Antonio Linares * makefile.bc * makefile.vc ! symbol module added Notice: Please update other make files. 2003-06-06 09:35 UTC+0100 Antonio Linares + source/rtl/symbol.prg ! Harbour implementation of Class(y) Class Symbol 2003-05-31 21:04 UTC+0100 Antonio Linares * source/rtl/teditor.prg ! several improvements for the debugger: The source code viewer does not leave a different block color when scrolling. The source code is displayed from the first line (Clipper compatibility). 2003-05-31 17:55 UTC+0100 Antonio Linares * source/rtl/tget.prg ! fixed behavior when pressing "." or "," on a non decimals number Now editing a number without decimals and pressing "." or ",", the cursor goes to the latest GET visual pos (Clipper compatibility). 2003-05-31 15:45 UTC+0100 Antonio Linares * source/rtl/tget.prg ! Some fixes for PICTURE "9" Now editing a character var does not allows to type "-". It allows both "+" and "-" for numeric var. (Clipper compatibility). 2003-05-30 12:39 UTC+0100 Antonio Linares * contrib/rdd_ads/ads1.c ! managed 7008 open error This fixes the not issued error when doing: USE "any" NEW SHARED ALIAS "Test" VIA "ADS" USE "any" NEW EXCLUSIVE ALIAS "Test2" VIA "ADS" // An error must raise here We still need to know if there is a way to know the OS code when ADS returns 7008 error code when opening a DBF. 2003-05-30 09:37 UTC+0100 Antonio Linares * contrib/htmllib/Makefile.bc ! some minor fixes. * source/compiler/harbour.l ! hb_strVal() used instead of atof() This fixes the MSVC incompatibility using RTL Val() and compiled decimal values. Warning: There are two more modules on Harbour that still use atof(). We should move hb_strVal() to source/common and also make the replace on those places. * source/debug/dbgtmenu.prg ! Minor fix to allow new Classes inherit from this one. * source/rtl/pushbtn.prg ! sync with xHarbour. 2003-05-28 13:00 UTC-0400 David G. Holm * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c ! Minor changes to minimize MSVC++ type overrides. ! Added MSVC++ type overrides to the ADS version functions. 2003-05-26 18:40 UTC+0200 Przemyslaw Czerpak * source/pp/ppcore.c * allow to compile file with on *nix platforms. It's dirty hack but works good for me and resolves one of the most important problem with common CLIPPER and Harbour (and other XBASE compatible compilers like FlagShip and CLIP) sources - only Harbour cannot compile files with . * source/compiler/cmdcheck.c ! fix which allow to use file names with '-' char in '-o' option * source/rtl/diskspac.c + added support for diskspace on UNIX platforms (first parameter is path name, if omitted "/" is checked) 2003-05-26 15:50 UTC+0200 Przemyslaw Czerpak * source/rtl/cdpapi.c * small correction in s_en_codepage = { ... } + source/codepage/cdpplwin.c * source/codepage/Makefile + new Polish codepage PLWIN - CP1250 based * source/rtl/gt.c + new .prg function HB_GT_VERSION() which returns GT name. * source/rtl/seconds.c + new function added SECONDSCPU(n) which reports how many CPU and/or system seconds have elapsed since the beginning of the program execution. n == 1 utime -> user CPU time of the current process n == 2 stime -> system CPU time behalf of the current process n == 3 u + s -> sum of utime + stime (default) n == 11 cutime -> sum of the user CPU time of the current + child process n == 12 cstime -> sum of the system CPU time of the current + child process n == 13 cu+cs -> sum of cutime + cstime I have to ask someone similar with Windows to add support for this function. I found 'GetProcessTimes' in WIN API which can be used for NT based platforms but I cannot find anything for WIN 9X/ME. 2003-05-22 23:45 UTC-0400 David G. Holm * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/rddads.h + Added support for DBINFO(DBI_DB_VERSION), DBINFO(DBI_RDD_VERSION), and ADSVERSION([]) (but only for nType == 0 and nType == 3 and without date and time information for nType == 3). 2003-05-21 20:34 UTC+0100 Antonio Linares * source/vm/hvm.c ! Fixed arrays comparison. Now it is Clipper compatible. Bug reported by Randy Portnoff 2003-05-21 19:50 UTC+0100 Antonio Linares * source/vm/memvars.c ! default path support for __MVSave() and __MVRestore() implemented by Alexander Prostoserdov. 2003-05-21 18:03 UTC+0100 Antonio Linares * source/debug/dbgtarr.prg * source/debug/dbgtobj.prg ! several fixes when debugging arrays * source/debug/debugger.prg ! several fixes 2003-05-15 21:35 UTC+0300 Alexander Kresin * tests/testrdd2.prg * some changes, provided by Randy Portnoff * contrib/rdd_ads/ads1.c ! adsInfo() fixed for DBI_GETHEADERSIZE, so Header() returns now correct value ( for dbf tables ) 2003-05-15 12:44 UTC+0100 Antonio Linares + source/rtl/tget.prg ! minor fix 2003-05-15 12:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Minor fix * source/rdd/dbf1.c * DBI_FILEHANDLE and DBI_MEMOHANDLE added to dbInfo() 2003-05-15 09:33 UTC+0100 Antonio Linares + source/rtl/tget.prg ! some fixes ! some changes borrowed from xHarbour tests/testread.prg is working fine again. 2003-05-09 23:30 UTC-0400 David G. Holm * config/doc.cf * config/header.cf ! Fixes to deal with situation where installation directories are left undefined to avoid installation. 2003-05-09 20:30 UTC-0400 David G. Holm * config/doc.cf ! Removed an extra layer of "protection" that resulted in an error message when HB_DOC_INSTALL is not defined, instead of a simple "nothing to do" message. 2003-05-09 20:30 UTC-0400 David G. Holm * Makefile + config/doc.cf + doc/Makefile * doc/gmake.txt + doc/en/Makefile + doc/es/Makefile + Added the ability to install files from doc directory using the new environment variable HB_DOC_INSTALL, which is left undefined by default. All files from doc, doc/en, and doc/es are installed if the HB_DOC_INSTALL variable is defined when you run 'make install'. 2003-05-09 17:20 UTC-0400 David G. Holm * source/rtl/idle.c + Added a PRG-callable function wrapper for hb_releaseCPU() and named it HB_RELEASECPU. 2003-05-09 14:40 UTC-0400 David G. Holm * source/rdd/dbcmd.c ! Fixed the FIELDPOS function to truncate long field names, instead of ignoring them. 2003-05-08 15:30 UTC-0400 David G. Holm * source/compiler/harbour.sly ! Fixed $3 in EmptyStatements to read $2. 2003-05-07 14:45 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! OrdkeyCount() and OrdKeyNo() now returns physical records number and position if there is no index opened or current order is 0 * source/rtl/set.c ! two warnings fixed. 2003-05-06 15:35 UTC+0300 Alexander Kresin * source/rtl/is.c ! Bug fixed: ISUPPER, ISLOWER and ISALPHA with chr(0) argument returned TRUE. Patch provided by Przemyslaw Czerpak 2003-05-06 12:55 UTC+0200 Przemyslaw Czerpak * source/rtl/set.c ! Fixed very serious bug in set(_SET_ALTFILE, "") and set(_SET_EXTRAFILE, "") which can caused corrupting any files open by Harbour compiled program 2003-05-06 12:45 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c ! Bug fixed in adsOrderListClear() - the current order is set to 0 now 2003-05-06 10:45 UTC+0300 Alexander Kresin * include/hbapicdp.h * source/rtl/cdpapi.c * source/vm/itemapi.c * source/rdd/dbfntx/dbfntx1.c ! Some fix, regarding strings comparison via CODEPAGE API 2003-05-01 21:19 UTC+0100 Antonio Linares + source/codepage/cdpesdos.c + source/codepage/cdpeswin.c ! Added missing char 2003-05-01 13:55 UTC+0100 Antonio Linares + source/rdd/dbcmd.c ! DbCreate() always returns nil. This fixes the bug reported by Marco Braida on sourceforge 2003-05-01 12:10 UTC+0100 Antonio Linares + source/codepage/cdpesdos.c ! codepage support for Spanish MS-DOS + source/codepage/cdpeswin.c ! codepage support for Spanish Windows + source/lang/msgeswin.c ! language messages support for Spanish Windows * makefile.bc * makefile.nt * makefile.vc * source/codepage/makefile * source/lang/makefile ! updated for cdpesdos.c, cdpeswin.c and msgeswin.c 2003-04-28 23:00 UTC+0100 Antonio Linares * source/rtl/tget.prg ! numbers editing bug (side effect from previous change) fixed When typing a number, the second digit was overwriting the previous one. 2003-04-28 21:00 UTC+0100 Antonio Linares * source/debug/debugger.prg ! aCallStack properly set when using trace mode (K_F10) This fixes the debugger bug reported by Guy Roussin. 2003-04-27 15:09 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add a line about contrib/ole 2003-04-27 01:33 UTC+0100 Antonio Linares * source/rtl/filesys.c ! hb_fsOpen() minor fix for MSVC This fixes the DbUseArea() MSVC bug reported by Vicente. 2003-04-24 14:35 UTC-0400 David G. Holm * source/vm/itemapi.c ! Added non-finite test for w32/msvc, which fixes the new problem where all double values were displayed as if they had overflowed. 2003-04-23 23:11 UTC+0100 Antonio Linares * source/rtl/tget.prg ! PICTURE "#" allows "." keystroke * source/rdd/dbfntx/dbfntx1.c ! some castings for MSVC 2003-04-19 12:00 UTC+0100 Antonio Linares * source/rtl/tget.prg ! Class TGet Data Pos behavior modified to make it Clipper compatible Test sample provided on the Harbour mailing list 2003-04-18 14:10 UTC+0300 Alexander Kresin * source/rdd/dbf1.c ! Bug fixed - there was unrecoverable error if file opening failed due to access denied. * source/rdd/dbfntx/dbfntx1.c * Added reporting of OS error code if index opening failed 2003-04-17 15:50 UTC+0300 Alexander Kresin * source/pp/ppcore.c ! Fixed some problems with a long ( few Kb ) directives. 2003-04-16 19:15 UTC-0400 David G. Holm * source/vm/itemapi.c * Simplified non-finite tests for BORLANDC > 1040 and DJGPP (there is no need to also test s_dInfinity and -s_dInfinity when using a function that tests whether or not the parameter value is finite). ! Added non-finite tests for os2.gcc, os2.icc, w32.mingw32, and w32.rsxnt, which fixes the problems that they had with evaluating str(log(-1)). 2003-04-16 22:10 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * Added possibility to save/load and use tag name as in Clipper's DBFNTX 2003-04-16 14:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * A bug in hb_ntxTagKeyCount() fixed - reported by Jos© Luis Capel 2003-04-15 13:10 UTC+0300 Alexander Kresin + contrib/ole + contrib/ole/bldtest.bat + contrib/ole/build32.bat + contrib/ole/hbtest.prg + contrib/ole/ole2.c + contrib/ole/oleauto.prg + With a kind permission of the author, José F. Giménez , ole library for harbour added. Some unused stuff is removed from the original files, few bug fixes are made. 2003-04-14 14:45 UTC-0400 David G. Holm * source/common/hbgete.c ! Added #ifdef to allow OS/2 GCC to use PSZ and OS/2 VAC++ to use PCSZ for EnvValue. 2003-04-13 10:23 UTC+0200 Tomaz Zupan * contrib/odbc/todbc.prg ! Better way to move to first record after fetching 2003-04-13 10:02 UTC+0300 Chen Kedem * doc/whatsnew.txt + Add information about builds 38..42 according to information found on the Harbour site and the developers mailing list 2003-04-12 23:00 UTC+0200 Tomaz Zupan * contrib/odbc/todbc.prg ! If recordset is cached, move to first record after fetching recordset to cache 2003-04-09 21:40 UTC+0300 Alexander Kresin * include/hbdbf.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrddntx.h * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * Byte 29 in dbf header with codepage information is added for later implementation. Currently this allows to keep codepage byte ( before it was cleared while header updating ). 2003-04-09 13:40 UTC+0300 Alexander Kresin * include/hbexprb.c * At() function is now Clipper compatible ( At( "","abc" ) ) - borrowed from xHarbour * source/rdd/workarea.c ! Fixed hb_waRelEval() - When the current order is zero, relation works by GOTO istead of SEEK, as Clipper does - borrowed from xHarbour * source/rdd/dbfntx/dbfntx1.c ! Fix in indexing - when index expression includes fields from the child related workarea 2003-04-08 15:40 UTC-0400 David G. Holm * contrib/Makefile ! Added a build path for MSVC++. * source/common/hbffind.c ! Added #include for the HB_OS_WIN_32 branch. * source/common/hbgete.c ! Changed EnvValue from PSZ to PCSZ for IBM VAC++ compatibility. * source/compiler/harbour.y ! Added missing semicolons using patch provided by Jos Backus . 2003-04-04 11:20 UTC+0300 Alexander Kresin * source/pp/ppcore.c * Handling of '*' comment now is more Clipper compatible * include/hbver.h * changed version information 2003-04-03 18:34 UTC+0200 Maurilio Longo * source/common/hbgete.c ! fixed warning on OS/2 GCC 2003-04-03 19:52 UTC+0300 Alexander Kresin * source/codepage/cdpplmaz.c ! Minor fix, provided by Jacek Kubica 2003-04-02 19:35 UTC+0300 Alexander Kresin * source/rtl/langapi.c ! Memory leak is fixed. 2003-04-02 14:18 UTC+0300 Alexander Kresin * include/hbapicdp.h * source/codepage/cdp_tpl.c * source/codepage/cdpgedos.c * source/codepage/Cdpgewin.c * source/codepage/cdpla850.c * source/codepage/cdppl852.c * source/codepage/cdppliso.c * source/codepage/cdpplmaz.c * source/codepage/cdpru866.c * source/codepage/cdprukoi.c * source/codepage/cdpruwin.c * source/rtl/cdpapi.c ! Few fixes in codepage subsystem 2003-04-01 16:12 UTC+0300 Alexander Kresin * source/rtl/transfrm.c * Transform() now uses codepages while converting to upper case. 2003-03-27 11:34 UTC+0100 Antonio Linares * include/hbapi.h * source/vm/classes.c * hb_clsIsParent() made public 2003-03-27 18:35 UTC+0100 Antonio Linares * source/rdd/dbcmd.c * contrib/rdd_ads/adsfunc.c * Minor type casting fixes for MSVC 2003-03-26 16:55 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Bug fixed related to COPY TO .. FIELDS ..., reported by Lorenzo Fiorini 2003-03-26 11:30 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, reported by Andrew McCumiskey 2003-03-25 21:35 UTC+0300 Alexander Kresin + source/codepage/cdpgewin.c * source/codepage/Makefile + source/lang/cdpdewin.c * source/lang/Makefile * makefile.bc * makefile.nt * makefile.bc Added German Win codepage and lang files, contributed by Guenther Steiner + tests/testrdd2.prg + Added RDD test, contributed by Randy Portnoff 2003-03-25 16:46 UTC+0100 Martin Vogel * contrib/libct/dattime2.prg * bug fix in function addmonth() 2003-03-24 15:35 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! bug fixed with improper using of hb_strUpper() - reported by Lorenzo Fiorini * source/rtl/cdpapi.c ! fix, provided by Przemyslaw Czerpak 2003-03-22 11:25 UTC+0100 Antonio Linares * source/compiler/harbour.y * fix on recent If() changes IIf() was accepted but If() not. Now it is ok. 2003-03-17 15:30 UTC-0500 David G. Holm * source/rtl/filesys.c ! Added newline at end of file. 2003-03-16 10:33 UTC+0100 Antonio Linares * source/compiler/harbour.y * If() inline accepts all kind of arguments Changes borrowed from xHarbour. WARNING: We don't know for sure if these changes may bring any undesirable side effects, so please do all the tests you can. 2003-03-16 09:50 UTC+0100 Antonio Linares * source/rtl/filesys.c * Proper definition for HAVE_POSIX_IO for MSVC compiler. This fixes the CurDrive() bug reported by Vicente Aranzana. Please notice that neither Andi and David proposed solutions have been used. 2003-03-05 13:35 UTC+0300 Alexander Kresin * source/vm/hvm.c * source/vm/itemapi.c * source/vm/asort.c * Reverted changes, related to short strings optimization, because they causes problems with arrays and inmplemented 1-byte length string optimization, borrowed from xHarbour. 2003-02-25 22:10 UTC+0300 Alexander Kresin * contrib/rdd_ads/adsfunc.c + Transaction processing functions added. * contrib/rdd_ads/ads.ch + New commands added: BEGIN TRANSACTION COMMIT TRANSACTION ROLLBACK TRANSACTION 2003-02-18 22:05 UTC+0100 Tomaz Zupan * include/hbdbf.h * include/hbdbsort.h * include/hbexprc.c * include/hboo.ch * source/common/hbfhnd.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/pp/ppcomp.c * source/rdd/hbdbsort.c * source/rtl/at.c * source/rtl/descend.c * source/rtl/memoline.c * source/rtl/philes.c * source/rtl/philesx.c * source/rtl/strings.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtcrs/kbdcrs.c * source/vm/debug.c * source/vm/dynsym.c * source/vm/eval.c * source/vm/extend.c * source/vm/macro.c * source/vm/memvars.c * source/vm/runner.c ! Added newline to the end of file, to avoid annoying warning 2003-02-18 23:05 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Stupid bug is fixed, which was introduced recently 2003-02-18 09:15 UTC+0300 Alexander Kresin * contrib/rdd_ads/adsfunc.c * Few type casts for MSVC 2003-02-17 13:15 UTC-0500 David G. Holm * source/rtl/dbdelim.c ! Bug fix for EOL handling when using large import files, provided by the author of the dbdelim append from code, Marco Braida 2003-02-15 11:00 UTC+0100 Tomaz Zupan * config/linux/global.cf - removed PRG_USR directive, because it is no longer needed to compile dbfsdf.prg * source/rtl/dbsdf.prg + Automatic EOL recognition. FindEOL() recognises LF,CR+LF and CR as newline delimiters 2003-02-14 22:05 UTC+0100 Tomaz Zupan * include/hbapi.h * include/hbcomp.h * include/hbmacro.h * include/hbvm.h * include/hbvmpub.h ! Added newline to the end of file, to avoid annoying warning 2003-02-14 15:25 UTC+0300 Alexander Kresin * source/common/hbffind.c ! Fixed a problem with compiling under DJGPP 2003-02-14 13:15 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Fixed few bugs, including problems with scopes and GPF under Linux 2003-02-12 11:15 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c * source/rdd/dbf1.c ! Bug fixed: APPEND FROM gave an error if the file was opened already 2003-02-12 10:00 UTC+0300 Alexander Kresin + source/codepage/cdpgedos.c + German dos codepage, provided by Guenther Steiner * source/codepage/Makefile * makefile.bc * makefile.vc * makefile.nt * cdpgedos.c added 2003-02-10 23:20 UTC+1 jf Lefebvre (mafact) * source\compiler\harbour.y Missing external declaration 'hb_compLocalGetPos' * include/hbapirdd.h added function missing declaration at line 1059. 'hb_rddFieldIndex' used in source\rdd\dbfcdx\dbfcdx1.c(1223) * rdd/dbcmd.c changed 1 type casting BYTE * to char * added one type casting to BYTE * 2003-02-10 16:00 UTC-0500 David G. Holm * source/rtl/filesys.c ! I missed one place where the X__WIN32__ guard needs to be used (in the hb_fsRename function). 2003-02-05 23:45 UTC-0500 David G. Holm * contrib/libct/makefile.bc ! Added a rule to compile setlast.prg * source/rtl/filesys.c ! Always use X__WIN32__ when testing to see if the extended Windows file handle conversion utilities should be used. 2003-01-30 22:10 UTC+0300 Alexander Kresin * source/vm/asort.c ! Some fixes, which became necessary after optimization of string operations. 2003-01-29 22:05 UTC+0300 Alexander Kresin * include/hberrors.h * include/hbpcode.h * source/compiler/genc.c * source/compiler/harbour.sly * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/vm/hvm.c * Added new pcode HB_P_LOCALNEARADDINT for using in FOR ... NEXT cycle, it increases the speed of execution the cycle. Borrowed from xHarbour. 2003-01-28 22:20 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Fixed a bug with APPEND FROM ..., COPY TO..., when there was a memo field 2003-01-28 13:05 UTC+0300 Alexander Kresin * source/vm/hvm.c ! Little fix to the previous change 2003-01-28 11:25 UTC+0300 Alexander Kresin * include/hbapi.h * source/rtl/philes.c * source/vm/itemapi.c * source/vm/hvm.c * Optimization of string operations. Now if the size of the string is less than sizeof(short int *) - in most systems it is 4, it is kept in the item itself, additional memory isn't allocated for it. This leads to performance improvement and decreasing of memory fragmentation/usage. 2003-01-26 16:20 UTC+0300 Alexander Kresin * include/hbapiitm.h * source/vm/itemapi.c * source/vm/hvm.c * hb_itemMove() function added, which is intended for use instead of the hb_itemCopy( pDest,pSource ) hb_itemClear( pSource ) This allows to speed up some internal vm functions. The idea was borrowed from xHarbour. 2003-01-26 14:50 UTC+0300 Alexander Kresin * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfcdx/dbfcdx1.c * all last updates, made by Horacio Roldan in xHabour 2003-01-24 17:47 UTC+0300 Alexander Kresin * source/vm/maindllp.c ! Minor fix. 2003-01-24 14:00 UTC+0300 Alexander Kresin * source/vm/hvm.c * hb_inkeyPoll() is removed from hb_vmDo(), the code fragment with hb_ReadKey() is added to hb_vmExecute() - borrowed from xHarbour. * source/vm/estack.c * source/vm/extend.c * include/hbapi.h * include/hstack.h * HB_API_MACROS and HB_STACK_MACROS are default options now - borrowed from xHarbour. * source/rtl/version.c ! Memory leak fixed. 2003-01-20 00:20 UTC+0100 Martin Vogel * contrib/libct/Makefile * contrib/libct/Makefile.bc * contrib/libct/Makefile.vc * contrib/libct/readme.txt * contrib/libct/ctflist.txt * contrib/libct/tests/Makefile + contrib/libct/dattim2.prg + contrib/libct/tests/datetime.prg + addmonth(),ctodow(),ctomonth(),daysinmonth(),daystomonth(),dmy(), doy(),isleap(),lastdayom(),ntocdow(),ntocmonth(),quarter(),week() Thanks to Alan Secker for providing these functions and the test program; small enhancements, mostly making the functions interational, docu headers etc. added by me :-) * contrib/libct/pos1.c * interpretation of parameter in posalpha(),poslower(),posupper() and posrange() corrected; thanks to Guenther Steiner for reporting this bug * include/hblang.ch + added constant definitions accessing language specific string via HB_LANG_MESSAGE() 2002-11-01 16:20 UTC-0300 Walter Negro * include/hbexprb.c ! Fix assign to array_at. This resolve FOR n[1]:=1 TO 2 Fix borrowed from xHarbour 2003-01-10 17:30 UTC-0500 David G. Holm * source/rtl/filesys.c ! The MingW32 use of _LK_UNLOCK instead of _LK_UNLCK turned out to be a bug in a MingW32 that has since been corrected, so the fix has been reverted. Thanks go to Phil Krylov for pointing this out. In order to allow this to work with the buggy version of MingW32, I've added a #define _LK_UNLCK _LK_UNLOCK if compiling for __MINGW32__ and _LK_UNLCK is not defined. 2003-01-10 17:00 UTC-0500 David G. Holm * source/rdd/dbfcdx/dbfcdx1.c ! hb_fsDelete takes a BYTE * parameter, not an unsigned char * one. * source/rtl/filesys.c ! MingW32 uses _LK_UNLOCK, not _LK_UNLK. * source/vm/itemapi.c ! Borland C 3.1 and earlier do not support _isnan or _finite. 2003-01-04 19:40 UTC-0300 Luiz Rafael Culik * include/filesys.c * When X__WIN32__ is defined FHANDLE is defined as Long * source/rtl/filesys.c % Properly Fix the usage os Native Windows File IO API. harbour apps with native WIN IO api has the same speed as Legacy api usage * source/rtl/console.c ! Minor Changes required to proper work of Windows File IO Native API * source/common/hbffind.c ! Corrected error return Values For DJGPP compiler for hb_fsFindNext() and hb_fsFindFirst() functions ! Corrected error return Values For WIN32 for hb_fsFindNext() and hb_fsFindFirst() functions With This Changes to console.c and filesys.c build with X__WIN32__ defined works properly 2002-12-31 11:45 UTC-0500 David G. Holm * include/hbver.h * Updated the build number and the ChangeLog information. 2002-12-30 16:50 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed scope related bug, reported by Blue Face + added support for the EVAL clause in INDEX 2002-12-28 09:05 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx2.h ! fixed bug (search path related), reported by Jacek Potempa ! fixed GPF bug reported by Alex Schaft + added support for DBOI_KEYCOUNTRAW, DBOI_KEYNORAW == DBOI_RECNO, DBOI_KEYTYPE, DBOI_KEYSIZE, DBOI_FULLPATH ! fixed: DBOI_BAGNAME ! fix return value when there's no active order to: DBOI_FILEHANDLE, DBOI_ISCOND, DBOI_ISDESC, DBOI_UNIQUE, DBOI_POSITION, DBOI_RECNO, DBOI_KEYNORAW, DBOI_KEYCOUNT, DBOI_KEYCOUNTRAW. This makes ordKeyNo() = recno() and ordKeyCount() = lastrec() in such case. Reported by Hernán Diego Ceccarelli + added helper function hb_cdxOrdListClear ! structural index isn't closed anymore ! fixed ordKeyNo() and ordKeyCount() to respect filters, they also respect the set deleted but only when there is a filter (as C53) ! fixed ordScope(0/1, ""), reported by Jean-Christophe AVARGUES and Blue Face * source/rdd/workarea.c ! fix to fieldname, reported by Luiz Rafael Culik 2002-12-27 16:40 UTC-0800 Brian Hays + added doc/windll.txt as an introduction to Windows 32-bit dll creation with Harbour. 2002-12-22 13:06 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add a line about source/codepade 2002-12-22 03:46 UTC-0300 Walter Negro * source/rtl/set.c ! Fix, reset PRINTFILE handle when close file. 2002-12-18 14:00 UTC-0500 David G. Holm * source/rtl/set.c ! In the set_string function, when then item parameter is NIL use a zero-length string (bug fix for SET PATH TO and SET DEFAULT TO). 2002-12-17 10:50 UTC-0800 Brian Hays * contrib/rdd_ads/ads.ch - Removed commands for SET PATH, DEFAULT, DELETED, EXACT, DATEFORMAT and EPOCH since these are handled by the Set Listener functionality now. + added new #define ADS_REQUIRE_VERSION6 to control version 6 ace32.lib/linker requirements * contrib/rdd_ads/ads1.c * created Set Listener support for HB_SET_DATEFORMAT HB_SET_DEFAULT HB_SET_DELETED HB_SET_EPOCH HB_SET_EXACT HB_SET_PATH So whenever you call the Set() function or commands, ADS is automatically updated. * added these fixes by Luiz Culik: * Created bDictionary and adsConnectHandle to allow access to ads data dictionaries; * store pFieldInfo.uiDec = uiDec for doubles in adsCreateFields. * fixed initialization of dVal in adsGetValue (fix by Ron Christie) * fixed Trace in ADS_GETFUNCTABLE(%i, %p), *uiCount, pTable)); to show the contents of uiCount instead of the pointer address. * contrib/rdd_ads/adsfunc.c * to test SetListener capabilities, added or upgraded these functions to be classic "Set/Get" functions so they return the prior ads setting: AdsSetDeleted AdsSetDefault AdsSetSearchPath AdsSetExact NOTE! Because the Set() function now also controls ADS, there is no reason for normal code to ever call these functions. If you do, you may get ADS out of sync with Harbour's settings and create unpredictable results. + added these funcs by Luiz Culik: AdsAddTable() AdsAddUser To Group() AdsUseDictionary() These are all protected by ADS_REQUIRE_VERSION6, so to use them you must define it when compiling rddads. The data dictionary support is a work-in-progress and may need to be re-thought, so don't get too dependent upon current implementation. * contrib/rdd_ads/doc/en/adsfuncs.txt + added documentation for functions in adsfunc.c * contrib/rdd_ads/doc/en/readme.txt + added explanation for using the Set() function call as well as the equivalent commands for SET DEFAULT TO, DATEFORMAT, DELETE, EXACT and EPOCH. + added explanation of INDEXING and Progress Displays using AdsRegCallBack() (and why EVAL/EVERY cannot be supported.) 2002-12-17 12:40 UTC-0300 Walter Negro * source/tget.prg ! Fix, UpdateBuffer() should not actualize the variable if the value was not modified. Reported by Francisco Gamboa and Horacio Roldan 2002-12-07 21:45 UTC-0300 Luiz Rafael Culik * source/rtl/menuto.prg ! Fixed Color Parameters when only One color is passed 2002-12-02 15:30 UTC-0500 David G. Holm * config/linux/global.cf ! Add to PRG_USR instead of replacing it. * source/rtl/set.c ! When adding a new listener, set the next pointer to NULL. 2002-12-03 22:40 UTC+0300 Alexander Kresin * makefile.bc * makefile.nt * Added lines, needed for compiling of cdpla850.c * source/codepage/cdpla850.c * source/codepage/Makefile ! Minor fixes 2002-11-01 12:00 UTC-0300 Luiz Rafael Culik * source/rtl/dbsdf.prg ! fixed importing/exporting on linux * contrib/mysql/tmysql.prg ! Applyed Fixes by Wang Shuming * config/linux/global.cf + PRG_USR=-DHB_LINUX macro Added to compile dbsdf.prg 2002-11-28 15:10 UTC+0300 Alexander Kresin * source/pp/ppcore.c ! Bug fixed, related to list match markers 2002-11-27 13:30 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, reported by Carlos Andr©s * source/rtl/cdpapi.c ! Bug fixed in HB_TRANSLATE() 2002-11-26 21:20 UTC+0100 Tomaz Zupan * contrib/odbc/browodbc.prg ! There was a bug in skipping, that threw an error when dataset contained 0 rows 2002-11-25 21:45 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg ! removed unused Var * source/rtl/menuto.prg ! minor formating 2002-11-21 12:05 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * DBOI_ORDERCOUNT is supported now * hb_stackPop() is added in ntxOrderCreate() * contrib/rdd_ads/ads1.c * adsOrderCreate() created indexes as if ADDITIVE clause is specified, even it was absent - is fixed now. adsOrderCreate() respects current order if WHILE clause is specified 2002-11-20 22:00 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg utils/hbmake/hbmlang.c * Some sinc from xharbour hbmake.prg hbmlang.c 2002-11-20 21:45 UTC-0300 Luiz Rafael Culik * source/pp/pptable.c + COLOR parameter to @...PROMPT * source/rtl/menuto.prg ! Added code to use the passed Color to the Prompt.This will allow to make Color menus and Was Far Requested since this feature is an Alaska,Flagship and Max compiler * tests/menuto.prg * Changes the Test to Show the ability of menu items in colors * contrib/mysql/tmysql.prg * On method GetRow(nRow) of TMySQLQuery fixed Handling of Date Retrived(The date is formated on Current SET DATE FORMAT) 2002-11-20 21:56 UTC+0300 Alexander Kresin * source/codepage/cdppl852.c * source/codepage/cdppliso.c * source/codepage/cdpplmaz.c ! Minor fix in comment delimiters * source/rdd/dbcmd.c ! COPY TO ... FIELDS is fixed again 2002-11-18 22:35 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! COPY TO ... FIELDS ... is fixed - fields in the result dbf are in the same secuence as in the FIELDS clause. 2002-11-18 14:55 UTC+0300 Alexander Kresin * include/hbrddapi.c * source/rdd/dbcmd.c * source/rdd/workarea.c * source/rdd/dbfntx/dbfntx1.c * source/pp/pptable.c * contrib/rdd_ads/ads1.c * WHILE clause implemented for ADS RDD 2002-11-15 14:30 UTC+0300 Alexander Kresin * include/hbcdpapi.c * source/rtl/cdpapi.c * source/codepage/cdpru866.c * source/codepage/cdprukoi.c * source/codepage/cdpruwin.c * Some fixes and enhancements + source/codepage/cdp_tpl.c + Template file for codepages is added + source/codepage/cdppl852.c + source/codepage/cdppliso.c + source/codepage/cdpplmaz.c + Codepages for Polish language, provided by Jacek Kubica * source/codepage/Makefile * makefile.bc * makefile.nt * makefile.vc * Changed to compile new Polish codepages 2002-11-13 15:50 UTC-0300 Horacio Roldan * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h ! fixed some declarations to avoid warnings, removed unnecessary introduced casts ! fixed skip bug reported by Andrzej ! fixed bug when empty scope used ! fixed posible index corruption when shared. + added functions cdxError, hb_cdxOrderListRebuild, hb_cdxIndexReindex Now reindex works, as well as pack and zap. 2002-11-13 12:25 UTC+0100 Antonio Linares * include/hbexprb.c ! strings as bytes arrays management (assignment) ! changes borrowed from xHarbour * source/vm/hvm.c ! strings as bytes arrays management (assignment) 2002-11-12 14:32 UTC+0100 Antonio Linares * source/vm/hvm.c + strings as bytes arrays management implemented Notice: Assignment is not implemented yet! 2002-11-12 12:55 UTC+0100 Antonio Linares * source/vm/hvm.c + ":=" operator overloading support for locals and statics variables. 2002-11-12 10:23 UTC+0100 Antonio Linares * source/vm/classes.c * source/vm/hvm.c + Added support for "[]" operator overloading 2002-11-10 19:35 UTC-0300 Luiz Rafael Culik *source/rtl/alert.prg ! fix initialization of cold Var 2002-11-08 13:19 UTC+0100 Ignacio Ortiz * source/rtl/errorapi.c !Fixed severity to 'can retry' on Base errors (as Clipper) * source/rtl/mlcount.c !Fixed bug reported Brian Hays (the solution is also from Brian) 2002-11-07 22:05 UTC-0300 Luiz Rafael Culik *source/rtl/alert.prg ! due an little mistake i`ve posted xharbour code, i`ve reverted back to version 1.38 and applyed the patch 2002-11-07 08:30 UTC-0300 Luiz Rafael Culik * source/rtl/alert.prg ! minor fix to my change from yesterday 2002-11-06 18:38 UTC-0300 Walter Negro * source/rtl/achoice.prg ! Fix, if no UDF is set, pressing an alpha key it go to first item finding this letter without respecting upper and lowercase. Reported by Luiz Culik. 2002-11-06 00:00 UTC-0500 Paul Tucker * makefile.vc * makefile.nt * make_vc.bat * clean now handled by make * corrected param handling * use /? for help 2002-11-05 21:41 UTC-0300 Luiz Rafael Culik * source/rtl/alert.prg ! Fixed problem when Text to display has more then 60 chars and the Line Breaker character (;) dont exist (You notice this behaviour on some erros produced by xharbour rdd) 2002-11-05 19:01 UTC-0300 Walter Negro * source/rtl/strcase.c ! Fix call to toupper(), tolower(), forcing unsigned char. For the correct working with DJGPP compiler. * source/rtl/is.c ! Fix call to isdigit() and isalpha(), islower() and isupper(), forcing unsigned char. For the correct working with DJGPP compiler. 2002-11-05 14:38 UTC-0300 Walter Negro * contrib/libct/setlast.prg + Init version of SETLASTKEY() * contrib/libct/screen1.c ! Fix variable declaration. * contrib/libct/Makefile + setlast.prg * contrib/libct/makefile.bc + setlast.prg * contrib/libct/makefile.vc + setlast.prg * contrib/libct/ctflist.txt * passed setlastkey() to Started state. * contrib/libnf/dispc.c ! Fix variable declaration. * contrib/libnf/ftattr.c ! Fix variable declaration. 2002-11-04 15:18 UTC-0500 Paul Tucker * makefile.vc * no more recursive nmake calls * makefile.nt * corrected one batch mode call * make_vc.bat * if building Harbour under NT, use the alternate makefile.nt * for faster builds. * if you would prefer not to use batch mode, * run make_vc /y (just like nmake) 2002-11-03 20:28 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c * hb_rddFieldIndex() was declared as static - is changed now, because it is called from dbfntx1.c 2002-11-02 19:26 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * The algorithm of key expression evaluation is optimized. Now, if it is the field name only, macro/codeblock evaluation doesn't used - SELF_GETVALUE is used instead. It leads to sensible indexing speedup in case of such simplest index keys. 2002-11-02 11:55 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! hb_rddGetCurrentWorkAreaPointer() fixed as proposed Jacek Potempa 2002-10-31 16:40 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix ::DeleteEnd() method. It didn't erase the last character. Reported by Luiz Rafael Culik. 2002-10-29 20:45 UTC-0500 Paul Tucker * source/rtl/gtwin/gtwin.c * Win9x Tone() support currently only for Borland and MSVC compilers. * The only issue for the moment, is if the calculation of TICKS is * incorrect for other compilers. SEE dTicks in hb_gt_Tone(). * Someone may wish to adapt the code above hb_gt_tone() in gtwin.c * for other compilers. 2002-10-29 16:20 UTC-0500 Paul Tucker * makefile.vc * slight re-ordering and added missed codepage.lib directive. + makefile.nt * make_vc.bat * if building Harbour under NT, use the alternate makefile.nt * for faster builds. * Changelog Changed date of following entry from 28 to 29. 2002-10-29 11:10 UTC-0500 Paul Tucker * source/rtl/gtwin/gtwin.c * modified by Robert Haley to allow Tone() * to work correctly under Win9x. * source/vm/maindllp.c * remove redundant returns. Set parc to return NULL not "" * source/rtl/transform.c * changed nFor decl to UINT * source/rtl/defpath.c * removed unneeded assignment to size * source/rdd/dbfcdx/dbfcdx1.c * removed unneeded assignement to uiLen 2002-10-27 21:35 UTC+0100 J-F lefebvre * source/rdd/dbf1.c * added missing typecasting for msvc. 2002-10-27 10:28 UTC+0200 Chen Kedem * doc/en/lang.txt + Added Russian KOI-8 to HB_LANGSELECT() list of supported ID's 2002-10-25 14:30 UTC+0300 Alexander Kresin * source/rtl/cdpapi.c * source/codepage/cdpru866.c * source/codepage/cdprukoi.c * source/codepage/cdpruwin.c * source/vm/hvm.c * Memory for codepage tables is allocated dynamically now - this is needed to provide a possibility of loading codepages from external file while run-time. * Possibility to have the same weight for some characters ( usually accented and appropriate unaccented ) is implemented. 2002-10-25 11:38 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Few fixes, related to codepages support ! Bug fixed ( setting controlling index doesn't caused movement to the top logical record before ) 2002-10-24 15:00 UTC-0300 Walter Negro * source/Makefile ! Add codepage to compilation 2002-10-24 20:58 UTC+0300 Alexander Kresin * include/hbapicdp.h ! Minor fix 2002-10-24 16:05 UTC+0300 Alexander Kresin + include/hbapicdp.h + added header file for codepage system * include/hbapirdd.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrddntx.h + source/lang/msgrukoi.c + added a msg file for koi8-r * source/lang/Makefile * msgrukoi.c added to Makefile + source/rtl/cdpapi.c + added codepages api source Functions HB_SETCODEPAGE() and HB_TRANSLATE() are implemented * source/rtl/is.c * source/rtl/strcase.c * IsAlpha(), IsUpper(), IsLower(), Upper(), Lower() functions modified to use codepages * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbstrux.prg * source/rdd/dbfntx/dbfntx1.c * Rdd sources are modified to use codepages dbUseArea() and dbCreate() has new optional parameter - codepage id. * source/pp/pptable.c * Commands USE and CREATE FROM are changed - new optional clause 'CODEPAGE ' is added * source/vm/itemapi.c * hb_itemStrCmp() is modified to use codepages * source/Makefile * makefile.bc * makefile.vc * makefiles are modified 2002-10-24 15:40 UTC+0300 Alexander Kresin + source/codepage + directory for codepage source files is added + source/codepage/cdpru866.c + source/codepage/cdprukoi.c + source/codepage/cdpruwin.c + source/codepage/Makefile + Files for Russian codepages and Makefile for codepage library are added 2002-10-22 18:30 UTC-0400 David G. Holm * source/rtl/set.c ! Removed comment block that incorrectly commented out the default case in the HB_SET switch block. ! Fixed the previously commented out code that prevented changing the new HB_SET_DIRSEPARATOR value. * tests/set_test.prg + Added tests to display the Harbour-specific SET values and a test for changing the _SET_DIRSEPARATOR value. 2002-10-22 17:30 UTC-0400 David G. Holm * source/rdd/dbfcmd.c * Made FIELDNAME Clipper compatible for the case where there is no current workarea and when the field number does not exist. 2002-10-22 02:00 UTC-0500 Paul Tucker * source/rdd/dbcmd.c ! corrected copy length in rddsetdefault 2002-10-22 18:53 UTC+0100 Antonio Linares * source/rtl/filesys.c ! minor fix reported by José Fco. Pérez 2002-10-22 12:00 UTC-0500 Paul Tucker * source/rdd/dbcmd.c ! Fix a problem with Select() that I introduced. 2002-10-21 05:11 UTC+0100 Antonio Linares * source/rtl/achoice.prg ! minor fix 2002-10-21 23:41 UTC-0300 Walter Negro * source/rtl/achoice.prg ! Reduce redundant code. ! Fix default values of nBottom and nRight out of range. ! Add control of value of nBottom and nRight. * source/rtl/tget.prg ! Fix ::Changed property to conform UPDATE() behaviour with that Clipper. Fixed by Andi Jahja in xHarbour 2002-10-21 12:30 UTC-0500 Paul Tucker * source/rdd/dbfcdx/dbfcdx1.c ! added some long needed typecasts. ! corrected for index on/to without a tag * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c * source/common/hbffind.c * source/common/hbfsapi.c ! some strncpy changes. 2002-10-21 12:00 UTC-0500 Paul Tucker + tests/vidtest.prg by Brian Dukes * source/rdd/dbcmd.c * source/rdd/workarea.c * source/rdd/dbf1.c ! modified string copy operations for efficiency where appropriate. 2002-10-21 10:20 UTC+0300 Alexander Kresin * contrib/rdd_ads/adsfunc.c ! Few fixes - checking for hb_parc() return value 2002-10-20 22:50 UTC-0500 Paul Tucker * source/rtl/inkey.c ! reduce keyboard polling to <= once per tick. ! Screen updating flies. * source/rtl/philes.c ! comparison to TRUE is not consistant with bool type in FREAD 2002-10-20 16:18 UTC-0500 Paul Tucker * source/rdd/dbfntx/dbfntx1.c ! removed unused pLastPages 2002-10-20 15:16 UTC-0500 Paul Tucker * source/rdd/dbcmd.c ! Just a few changes for efficiency... 2002-10-20 22:40 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Yet another fix related to the hb_parc() changes 2002-10-20 21:12 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Few fixes related to the latest hb_parc() changes * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in indexing 2002-10-19 16:50 UTC-0500 Paul Tucker * include/hbdefs.h * Added definition for UINT * include/hbapigt.h * source/rtl/gtapi.c * source/rtl/saverest.c * source/rtl/xsavescr.c * source/rtl/gtdos/gtdos.c * source/rtl/gtsln/gtsln.c * source/rtl/gtos2/gtos2.c * source/rtl/gtwin/gtwin.c ! Properly account for the fact that hb_gt_rectsize returns an int (ok, so we treat it as UINT, but this is better than USHORT) * source/rtl/gtwin/gtwin.c * New, highly optimized Windows console gt driver written by Przemyslaw Czerpak with some (?) fixes suggested by Peter Rees and Marek Paliwoda 2002-10-19 16:26 UTC-0500 Paul Tucker * source/rtl/box.c * source/rtl/disksphb.c * source/rtl/errorapi * source/rtl/fnsplit * source/rtl/setcolor ! Simplified some calls to hb_parc() 2002-10-19 21:40 UTC+0100 Martin Vogel * contrib/libct/Makefile * contrib/libct/Makefile.bc * contrib/libct/Makefile.vc * contrib/libct/ctflist.txt + contrib/libct/invertwin.prg + INVERTWIN() function provided by Marek Horodyski 2002-10-19 20:52 UTC+0100 Antonio Linares * debug/debugger.prg ! minor fix to BP (breakpoints) settings saved to file * debug/dbghelp.prg ! mouse support added to debugger help 2002-10-19 20:34 UTC+0100 Antonio Linares * makefile.bc + source/vm/maindllp.c added to the makefile (don't know why this file was removed from it) 2002-10-19 20:07 UTC+0100 Antonio Linares * source/rtl/is.c ! hb_parc() use made clipper compatible 2002-10-19 16:20 UTC+0100 Antonio Linares * source/rdd/dbcmd.c ! some fixes on hb_parc() use from DbCreate() WARNING: Cause recent fix to hb_parc() to make it Clipper compatible, hb_parc() result must be checked before using the returned value. REQUEST: Alexander, Horacio and Brian, as the RDDs captains, please review all hb_parc() use from the RDDs source code, to asure hb_parc() result is properly tested. 2002-10-19 13:27 UTC+0100 Antonio Linares * include/hbapi.h * include/hbtypes.h * source/vm/extend.c * source/vm/maindllp.c ! all hb_stor... functions changed to return an int value Notice: These changes fixes the extend API compatibility issues with Clipper reported by gabor salai 2002-10-19 12:53 UTC+0100 Antonio Linares * source/vm/extend.c ! minor fix to hb_parc() Notice: This change fixes the hb_parc() bug described by John Skelton 2002-10-19 12:20 UTC+0100 Antonio Linares * source/rtl/philes.c ! FRead() fix for dynamic strings use with more than one holder Notice: This change fixes the FRead() bug described by Randy Portnoff 2002-10-19 11:16 UTC+0100 Antonio Linares * include/hbtypes.h ! minor change to avoid compiling errors if using -DHB_API_MACROS 2002-10-17 14:40 UTC-0300 Luiz Rafael Culik * source/rtl/tbrowse.prg ! Fixed SetColumnMethod() that was not using all Display Area(The nWidthMax variable was substraced by 2) 2002-10-17 15:00 UTC+0700 Andi Jahja * source/compiler/harbour.sly * source/compiler/harbour.y ! Add missing third parameter on calls of hb_compGenPushSymbol() 2002-10-16 1:50 UTC-0800 Brian Hays * include/dbInfo.ch ! added comments 2002-10-14 17:10 UTC-0300 Walter Negro * source/rtl/tget.prg ! fixed get (value and display) involving negative with decimal number whose value is less than 1, in some pictures. 2002-10-14 17:40 UTC+0100 Antonio Linares * include/hbcomp.h * include/hbexprb.c * include/hbmacro.h * include/hbvmpub.h * source/compiler/genc.c * source/compiler/harbour.c * source/vm/dynsym.c * source/vm/hvm.c * source/vm/macro.c ! bug fixed when accesing an aliased expression from within a static function with the same name as the alias. ! changes borrowed from xharbour WARNING: All PRGs must be recompiled as defined value HB_FS_PUBLIC has changed !!! 2002-10-14 11:45 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! bug fixed in scopes, when the last record of current order was in the scope ! bug fixed in error handling while index creating * source/rdd/dbfcdx/dbfcdx1.c ! bug fixed in error handling while index creating ( the same as in dbfntx ) 2002-10-14 0:10 UTC-0800 Brian Hays * contrib/rdd_ads/rddads.h * contrib/rdd_ads/ads1.c * created iFileType to pArea so each workarea knows whether it's ADT or CDX or NTX * contrib/rdd_ads/adsfunc.c - removed the 'far' from a char far * added in last post * include/dbstruct.ch Added a note that it's also used by C code #included it in hbapirdd.h (where I removed redundancies) * include/ord.ch + include/dbInfo.ch * moved all the DBI_*, DBRI_* and DBOI_* constants to the new dbInfo.ch, and included this in ord.ch and hbapirdd.h * include/hbapirdd.h * removed the redundancies, included dbinfo.ch and dbstruct.ch 2002-10-12 19:00 UTC-0300 Luiz Rafael Culik * contrib/mysql/mysql.c ! Fixed Buffer sizes on DATATOSQL() and FILETOSQLBINARY() It was leading to GPF due buffer underflow. Many thanks to Peter Rees 2002-10-11 21:35 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug reported by Richard Chidiak + added function hb_cdxMacroRun ! fixed bug reported by Peter Rees. * changed index creation and updating: some spaces in keys aren't compressed now, so ADS can read the indexes. (it couldn't with some special keys) 2002-10-07 13:22 UTC-0300 Gustavo Junior Alves * source/rtl/filesys.c * Fix to compile on MSVC - Thanks to Andi Jahja 2002-10-06 21:29 UTC-0300 Gustavo Junior Alves * source/rtl/filesys.c * hb_filecase on hb_fsMkDir, hb_fsChDir and hb_fsRmDir 2002-10-05 23:00 UTC-0300 Luiz Rafael Culik * source/rtl/tget.prg * Fixed small problem when using Mouse to select the editing get 2002-10-04 15:552 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in key appending with few open indexes 2002-10-04 14:42 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Bug fixed in COPY TO, APPEND FROM with aliased fields 2002-10-04 13:58 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Few bugs fixed, related to OrdKeyNo() and OrdKeyCount() 2002-10-03 0:40 UTC-0800 Brian Hays * contrib/rdd_ads/ace.h + added (void) to AdsApplicationExit( void ); This removes a compiler warning about missing the prototype. Let me know if this creates a problem with any other compilers. * contrib/rdd_ads/adsfunc.c + added AdsGetLastError() contrib. by Randy Portnoff (Thanks!) * contrib/rdd_ads/ads1.c * Cleaned up adsPutValue and adsGetValue formatting, * Fixed fieldname length references * Removed errant setting of uiLen in adsGetValue since these are set in adsOpen now. * adsOrderInfo(DBOI_KEYVAL): fixed ntx handling of numerics Added special decoding for keys of Negative values. * adsCreate: fixed fielddefs buffer sizing * adsOpen: fixed fieldname length references set uiLen of extended types * adsInfo: reformatted, prepared for fleshing out the rest of the options. Added support for dbinfo(DBI_ISFLOCK) 2002-10-01 08:25 UTC+0300 Chen Kedem * doc/es/browse.txt * doc/es/cmdline.txt * doc/es/dbstrux.txt ! columns in
need to be at least 3 spaces apart 2002-09-30 16:46 UTC+0300 Chen Kedem * doc/en/input.txt * doc/en/lang.txt * doc/en/menu.txt * doc/en/objfunc.txt ! columns in
need to be at least 3 spaces apart 2002-09-29 12:00 UTC+0700 Andi Jahja * source/rtl/tget.prg ! fixed get (value and display) involving negative (with decimal) number whose value is less than 1. 2002-09-28 21:50 UTC-0300 Horacio Roldan * source/compiler/hbusage.c ! fixed a bug in the list of hb_compPrintCredits ;-) 2002-09-28 01:55 UTC-0300 Horacio Roldan * include/hbapirdd.h * include/hbrdddbf.h * include/hbrddcdx.h * include/hbrddntx.h * source/rdd/dbcmd.c * source/rdd/workarea.c * contrib/rdd_ads/ads1.c * contrib/rdd_ads/rddads.h + Changed fieldname max length handling, it is now a workarea property. (set by the RDD) (in ADS, this is just a patch) 2002-09-28 01:50 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx1.c ! changed key in-memory management. this fixes trimmed key problems, reported by Lorenzo Fiorini. ! fixed error reported by Gianni Santamarina. * source/rdd/dbf1.c ! fixed some typos 2002-09-26 12:30 UTC-0300 Horacio Roldan * include/hbapi.h - removed filecase() definition from Extend API * include/hbapifs.h - added filecase() definition to FS API * include/hbset.h * source/rtl/set.c * source/rtl/filesys.c ! fixed GPF, fixed MSVC typecast, changed settings from strings to numeric constants. 2002-09-25 18:47 UTC-0300 Horacio Roldan * source/rdd/rtl/file.c * source/rdd/rtl/filesys.c ! added some missing casts. 2002-09-25 17:15 UTC-0300 Horacio Roldan * source/rdd/rtl/file.c * source/rdd/rtl/filesys.c ! fixed GPF, hb_xfree must be used for hb_xgrab memory. 2002-09-25 20:00 GMT+0100 Martin Vogel * contrib/libct/color.prg ! fixed initialization bug reported by Marek Horodyski 2002-09-25 13:15 UTC-0300 Gustavo Junior Alves * source/rtl/file.c * source/rtl/filesys.c ! Allow last changes to compile under MSVC ! Change strdup to hb_strdup and rindex (BSD) to strrchr (POSIX) 2002-09-23 11:00 UTC-0300 Gustavo Junior Alves * include/hbapi.h * include/hbset.h * include/set.ch * source/pp/pptable.c * source/rtl/file.c * source/rtl/filesys.c * source/rtl/set.c ! Implement SET FILECASE, DIRCASE and DIRSEPARATOR * source/pp/ppcore.c ! Fix a core dump on HB_TR_DEBUG PrevSquare 2002-09-22 16:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed introduced in previous fix :) 2002-09-22 12:25 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in key append 2002-09-21 12:20 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, related to seeking while set deleted on is set 2002-09-20 23:55 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, related to softseek 2002-09-20 14:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in ntxZap() 2002-09-20 12:32 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * include/hbrddntx.h * Improved algorithm of record append in shared mode - that should result in better speed. * Maximum number of keys in the index page is now Clipper compatible - as I just discovered for myself, in Clipper it is already ( hm... I forgot appropriate English word - is divided by 2 ). 2002-09-19 00:35 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfcdx/dbfcdx1.c + added function hb_cdxGetTagNumber ! fixed some castings and warnings reported by Larry Sevilla, Luiz and Andy. ! fixed controlling order after ordCreate() ! fixed controlling order after ordListAdd() This fixes the controlling order after: USE name INDEX name SET INDEX TO name INDEX ON key TAG tagname * source/rdd/dbcmd.c ! fix gpf in pack, reported by Jorge Mason. * source/rdd/dbf1.c + added support for DBI_FULLPATH and DBI_SHARED, sent by Gianluca Piemonte. 2002-09-18 16:00 UTC-0400 David G. Holm * source/rdd/dbfcdx/dbfcdx1.c ! Replaced non-existent _SORTSWAPPAGE used in hb_xgrab() type override with the existing, and correct, LPSORTSWAPPAGE. 2002-09-17 21:55 UTC-01 jf lefebvre (mafact) * source/rdd/dbfcdx\dbfcdx1.c ! Added needed typecasting for M$soft C * source/vm/classes.c ! Minor cosmetic change and syncro with xHarbour 2002-09-13 23:30 UTC-0400 David G. Holm * source/rtl/dbdelim.prg ! Bug fix for fields that have an embedded delimiter. 2002-09-13 22:20 UTC-0400 David G. Holm * source/rtl/dbdelim.prg ! Bug fixes for consecutive blank fields in a record and for records that have no delimiters (either because there are no character fields or because all of the character fields are blank). 2002-09-09 16:48 UTC+0300 Chen Kedem * source/common/hbffind.c - Remove redundant line which used FILE_ATTRIBUTE_NOT_CONTENT_INDEXED from hb_fsAttToRaw(). The next line already use the explicit value 0x00002000. Now Harbour complie with Borland BCB 3.0 2002-09-09 14:25 UTC+0100 Tomaz Zupan * contrib/odbc/todbc.prg + Added recordset caching. 2002-09-07 14:38 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! GPF fixed, which appeared after pack operation if dbf became empty. 2002-09-07 00:30 UTC-0300 Luiz Rafael Culik * source/rtl/tget.prg Added missing Caption DATA and init to "" 2002-09-05 21:15 UTC-0300 Luiz Rafael Culik * contrib/rdd_ads/ads1.c ! Fixed Support for Long fields names in adscreate ! Fixed Display for the follow type of fields when ADT format is USED Autoinc -> 10 Double/Curdouble 8(Official Size of field on Database)+2*HB_SET_DECIMALS value 2002-09-05 18:46 UTC-0300 Horacio Roldan * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h + added support for creating big indexes hb_cdxSortSwapSavePage, hb_cdxSortSwapFillPage, hb_cdxSortSwapRecurseDict, hb_cdxSortSwapSendWord hb_cdxSortSwapBuildIndex, hb_cdxSortSwapGetNextKey; + added hb_cdxKeyValCompare ! fixed hb_cdxKeyGetItem for numeric keys ! fixed hb_cdxTagExtNodeWrite ! renamed some structs because td was confused * source/rdd/dbf1.c synched with 2002-08-31 20:38 UTC-0800 Ron Pinkas * source/rdd/dbf1.c ! Fixed hb_dbfLockFile() to release record locks before attempting to lock the file. 2002-08-31 15:24 UTC-0800 Ron Pinkas * source/rdd/dbf1.c ! Fixed hb_dbfLockRecord() to return success when area alread has file lock. 2002-09-04 17:56 UTC+0200 Maurilio Longo * source/rtl/tbrowse.prg ! Fixed cell padding inside ::DispCell(). Character or memo fields have to be padded right. Number fields have to be padded left. 2002-09-03 19:10 UTC+0200 Maurilio Longo * source/rtl/teditor.prg ! fixed line splitting when a character is deleted from a line and there is a word wrapping limit. Please note that lines of text are treated differently from the way clipper 5.x treats them, in particular when past EOL there is no deletion from current line * source/rtl/memoedit.prg ! fixed cursor positiong and shaping when calling an user function 2002-09-02 19:25 UTC-0400 David G. Holm * ChangeLog + Started a new ChangeLog. * source/rtl/ChangeLog.013 + Renamed old ChangeLog, due to file size. * source/rtl/dbdelim.prg ! Code fix to handle the field delimiters, provided by the APPEND FROM code author, Marco Braida . 2002-09-02 16:58 UTC+0200 Maurilio Longo * harbour/source/rtl/tbrowse.prg ! fixed columns' width calulation on ::SetColumnWidth( oCol ) method 2002-08-30 11:20 UTC-0300 Luiz Rafael Culik * source/rtl/tget.prg ! fix for DeleteAll() method when Variable is Date type Reported by Charles Kwon 2002-08-30 18:05 UTC-0400 David G. Holm * source/rtl/dbdelim.prg ! Bug fix to pass cSeparator to appendtodb() instead of cDelimArg, which can be null and isn't the right value anyway, because the appendtodb() function uses the argument as the field separator, not as the field delimiter, which is currently ignored. I have sent a detailed message to the author requesting that he fix the code to honor the field delimiter when processing fields. 2002-08-30 13:25 UTC-0400 David G. Holm * source/rtl/dbdelim.prg * Implementation of APPEND FROM SDF, submitted * by Marco Braida from Genoa Italy. 2002-08-27 21:30 UTC-0300 Luiz Rafael Culik * source/rtl/achoice.prg * Small fix to previus change * source/rtl/dummy.prg * removed __dbtotal() function + source/rdd/dbtotal.prg * Source file to __dbtotal() function * makefile.bc makefile.vc source/rdd/Makefile * Added dbtotal.prg to dependencie list 2002-08-27 17:15 UTC-0300 Horacio Roldan * include/fileio.ch * source/rtl/filesys.c * source/rtl/fstemp.c + added FO_EXCL for exclusive create + added convert_create_flags_ex ! fixed warning in hb_fsPOpen ! fixed hb_fsCreateEx(), HB_FCREATE(), hb_fsCreateTemp(), HB_FTEMPCREATE(). These functions were not working. 2002-08-25 17:40 UTC-0300 Luiz Rafael Culik * source/common/hbffind.c * fixed an problem on hb_fsFindFirst() and hb_fsFindNext() apis (Windows Section) that was making an Directory('*.*') return less files then the total amount that has on that directory. 2002-08-21 12:10 UTC-0400 David G. Holm * source/rtl/net.c ! If HB_OS_UNIX, then include . 2002-08-20 22:30 UTC-0400 David G. Holm * source/rtl/net.c + HB_OS_UNIX uses the OS/2 GCC implementation of netname(). Tested on "FreeBSD 4.6-STABLE #2". 2002-08-17 21:05 UTC+0100 Tomaz Zupan * contrib/odbc/odbc.c + Added SQLConnect function * contrib/odbc/todbc.prg + Method new() now accepts additional parameters username and password. If TODBC:new() is called with username and password, it uses SQLConnect insted of SQLDriverConnect to establish ODBC conenction. 2002-08-15 17:40 UTC-0300 Luiz Rafael Culik * source/rtl/memoedit.prg * When User function is Defined , Make ALT+W key exit the Editing windows if not redefined inside the UDF function 2002-08-14 14:55 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed some warnings 2002-08-12 23:25 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed seek bug when having an empty scope ! Memo Limit is > 64K now up to 2GB (2^31 or max(long)) ! fixed bug in ordNumber() 2002-08-08 00:40 UTC-0300 Horacio Roldan * source/rdd/dbcmd.c * source/rdd/dbf1.c ! minor change to previous fix in dbCloseArea 2002-08-07 17:58 UTC-0300 Horacio Roldan * include/hbapirdd.h * source/rdd/dbcmd.c * source/rdd/workarea.c ! fixed gpf in dbCloseArea, now relations are closed if child area is closed, reported by Brian Hays 2002-08-07 16:20 UTC-0300 Horacio Roldan * source/rdd/dbf1.c ! added os error code, for neterr() support and temporary fix for Win/DOS platforms. 2002-08-05 23:38 UTC-0300 Horacio Roldan * source/rdd/dbcmd.c ! fix GPF in dbCloseAll, reported by Jorge Mason 2002-08-05 09:33 UTC+0100 Dave Pearson * source/compiler/genc.c * Corrected misspelling of "Alpha". 2002-08-03 22:50 UTC+0100 Tomaz Zupan * contrib/odbc/odbc.c contrib/odbc/todbc.prg * Added bof(), reccount(), lastrec() and recno() functionality to ODBC library. * contrib/odbc/browodbc.prg * enabled statusline 2002-08-02 12:35 UTC-0400 David G. Holm * doc/howtobsd.txt * Changed BSD reference in heading to FreeBSD. * Removed reference to specific FreeBSD version number. 2002-08-02 12:05 UTC-0400 David G. Holm * source/rtl/set.c ! When encountering SET ALTERNATE TO, close the file. ! When encountering SET(_SET_EXTRAFILE,NIL), close the file. 2002-07-25 13:42 UTC+0100 Ignacio Ortiz * source/pp/ppcore.c * Warn about already existing #defines, even if the have the same value 2002-07-25 13:42 UTC+0100 Ignacio Ortiz * source/pp/ppcore.c * Bug fixed when an already existing #define (with no value) was redeclared 2002-07-22 01:29 UTC+0500 April White * doc/en/set.txt * source/compiler/hbusage.c * source/rtl/setkey.c * tests/setkeys.prg ; my email address, just in case you want to find me :-) 2002-07-19 09:10 UTC+0500 April White ! contrib/btree/hb_BTree.c * struct hb_btree pStrCompare function pointer changed to use the size_t type for the third param, to coincide with ChangeLog 2002-07-14 14:14 UTC+0500 2002-07-19 15:45 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Don't test for dead keys when dealing with international characters that have a negative character value. 2002-07-17 12:34 UTC-0300 Walter Negro * include/hbmath.h ! Fix multiple declaration of _LIB_VERSION_TYPE if it's declared here * source/rtl/math.c + Add declaration for _LIB_VERSION_TYPE (DJGPP compiler) * config/dos/djgpp.cf - LDFLAGS because -lm is not a flag, it's a library. + LDLIBS -lm for add math library. * contrib/libct/ctmath.h * Conditional includes of math.h for DJGPP compiler 2002-07-17 18:15 UTC+0300 Alexander Kresin * source/debug/debugger.prg ! Minor bug fixed 2002-07-17 09:08 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix initialization ::lEdit in New method. Bug and solution reported by Jose F. Gimenez 2002-07-17 12:55 UTC+0300 Alexander Kresin * source/pp/ppcore.c ! Bug fixed, related to #define f ..., #define t ... and .T., .F. 2002-07-17 12:30 UTC+0300 Alexander Kresin * source/debug/debugger.prg ! Bugs fixed with codeblocks processing 2002-07-17 11:10 UTC+0300 Alexander Kresin * source/debug/debugger.prg ! A bug fixed in commands evaluation 2002-07-17 02:42 UTC+0500 April White * source/vm/itemapi.c + add conditional code if !(__DJGPP__) around #include 2002-07-16 02:14 UTC+0500 April White * source/rtl/strings.c * include/hbapi.h * changed last param of hb_strnicmp() from ULONG to size_t 2002-07-14 13:50 UTC-0300 Walter Negro * doc/transfrm.txt + Add information about new functionalities. * doc/tracing.txt + Add information about work with DOS/WIN9x. * doc/en/var.txt + Add information about HB_ISBYREF(). * source/rtl/tget.prg ! Fix and more compliant in Untransform(), PutMask() and KillFocus() methods. Reported by Andrew Wos * include/hbmath.h * source/rtl/math.c + Extend functionalities of math error handling for DJGPP compiler. 2002-07-14 14:14 UTC+0500 April White * contrib/btree/hb_btree.api + extern "C" * rename nFlags to ulFlags + declaration for hb_BTreeDataItem() * declaration for hb_BTreeInsert() to use a PHB_ITEM vs LONG * contrib/btree/hb_btree.ch - comments from around 'inmemory' definition * contrib/btree/test/test.prg + code to test in-memory tree, including passing floats vs longs * contrib/btree/test/ctest.c ! a SEEK call that was incorrectly failing because the DATA param passed as 0 * hb_BTreeInsert() calls to use new form (PHB_ITEM vs long) * contrib/btree/hb_btree.c ; the following warnings are reported by BCC (thanks Alexander): Suspicious pointer conversion in function hb_BTreeNew & hb_BTreeOpen pBTree->pStrCompare = strncmp; Parameter 'ulFlags' is never used in function hb_BTreeOpen - defintion and use of DBG() macro + extern "C" ifdef'd - comments from around 'inmemory' definition * renamed nFlags to ulFlags, lFlags to ulFlags, position to iPosition * hb_btreenew [hi level] - when flag contains HB_BTREE_INMEMORY, first parameter is ignored * hb_btreenew [lo level] - when flag contains HB_BTREE_INMEMORY, dont try to open the file, etc, and clear necessary fields * hb_btreeclose [lo level] - close file and release file name only when necessary * only call HeaderWrite() when not in-memory tree + ioOneBufferAlloc() - allocate one ioBuffer_T block, called by ioBufferAlloc(), and Grow() when in-memory * Grow() in-memory - add a page to the link list + Prune() in-memory - added code to remove a page from the link list * (assorted) IsDirty flag is assigned the tree property IsDirtyFlagAssignment, so that in-memory trees never fire the write methods (ie. always false) * hb_BTreeGoTop(), hb_BTreeGoBottom() [lo-level] + bug fix: preserve last node found + if tree is empty, clear key/data, else retrieve selected key/data * ioBufferRead() - moved IsDirty reset within "if ( IsDirty )" block * ioBufferScan() - call ioBufferRead() when not in-memory tree - SearchNode() redundant BufferRelease() and return statement - enum ExceptionTypes (not used) - Buffer_T typedef struct, incorporating into the ioBuffer_T typedef struct * hb_KeyData_T: replaced lData with a union lData/pData + definition for hb_BTreeDataItem() * definition for hb_BTreeInsert() to use a PHB_ITEM vs LONG * hb_btreeinsert() [hi-level] accepts only number for file i/o and any data type for in-memory - macro SETKEYDATA(), placing equivalent code into hb_BTreeInsert() + Prune() - release individial items and then the page itself ! CountAdj() last param should have been SHORT not USHORT ; RecDelete() moved the inline assignment & comparision around to remove the b32 warning TODO: find a solution to the 'Suspicious pointer conversion in function hb_BTreeNew & hb_BTreeOpen' [strncmp() & hb_strncmp()] TODO: impliment ulFlags within hb_btreeopen() - see warning above - clear im-memory flag - get unique flag from file header * contrib/btree/doc/hb_btree.txt * spelling corrections * clarified use of HB_BTREE_INMEMORY flag with hb_BTreeNew() API ! corrected type of pBTree params, from 'hb_BTree *' to 'struct hb_BTree *' + definition for hb_BTreeDataItem() * clarified use of data param and data return value 2002-07-14 12:35 UTC+0100 Antonio Linares * source/debug/debugger.prg * Changes from Davor Siklic * BreakPoints status saving and restoring supported * SortVars status saving and restoring supported * Anim and Animate command supported in comand window Note: I can't stop started animation, is this work for You, Or this is problem on Linux with NextKey() ? * CallStack window switchig ON/OFF from menu Note: Modified by A.Linares * METHOD RemoveWindow() Note: Modified by A.Linares * Saving and restoring status of CallStack * Changes from A.Linares * Added Help Window mouse support * Improved cursor management on code window * source/debug/dbgmenu.prg * minor fix on View CallStack 2002-07-12 18:58 UTC+0300 Alexander Kresin * source/debug/debugger.prg ! A bug fixed in commands evaluation 2002-07-11 14:30 UTC-0400 David G. Holm * config/dos/djgpp.cf + Added the -lm option to LDFLAGS to enable math error handling. * source/rtl/gtwin/gtwin.c ! Shift Tab is now properly reported as 271. 2002-07-11 02:30 UTC-0300 Walter Negro * source/vm/itemapi.c ! Fix rounded for big numbers ( more of 16 significant numbers ). 2002-07-10 12:10 UTC-0300 Walter Negro * source/vm/itemapi.c ! Recognition of infinite numbers in DJGPP compiler. * bin/bld.bat * Add -lm in DJGPP compiler, for include libm.a (math library). This library it's necessary for new handler of math errors. * source/debug/Makefile + Add dbghelp.prg 2002-07-10 12:02 UTC+0300 Alexander Kresin * source/debug/debugger.prg * variables window works now. 2002-07-10 10:43 UTC+0300 Alexander Kresin * source/debug/debugger.prg * now it is possible to inspect local variables in debugger command window with '?' and '??' commands. 2002-07-09 11:00 UTC-0300 Luiz Rafael Culik * contrib/rdd_ads/ads1.c * Fixed bug on adsGetValue(). previus fix did not correct the problem. replaced the call to atol() , for Dval 2002-07-09 10:50 UTC+0100 Antonio Linares * source/debug/dbgtarr.prg + added lEditable parameter and data * source/debug/dbgtobj.prg + added lEditable parameter and data * fix for properly show objects datas names * source/debug/debugger.prg * Command window support for HELP and ?? (inspect) commands * Some fixes on cursor management 2002-07-08 20:45 UTC+0100 Antonio Linares * source/debug/debugger.prg * Command window support for DOS, QUIT, OUTPUT and empty commands 2002-07-08 17:30 UTC+0100 Antonio Linares + source/debug/dbghelp.prg * The debugger Help system * makefile.bc + added dbghelp.prg module * source/debug/dbgmenu.prg * source/debug/debugger.prg + added help support 2002-07-08 17:20 UTC+0100 Martin Vogel * source/rtl/math.c * #ifdef'ed matherr() definition to hide it from compilers not supporting it 2002-07-08 10:15 UTC-0300 Luiz Rafael Culik * contrib/rdd_ads/ads1.c * Fixed bug on adsGetValue() function when numeric data to be putted are more the 10 number long and no decimals(ie: 123456789124) Fix By Luiz Rafael Culik and Charles Kwon 2002-07-08 09:08 UTC+0100 Antonio Linares * harbour/source/debug/debugger.prg * Change implemented by Davor Siklic * DATA cPathForFiles used to locate files 2002-07-08 01:40 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix minor bug in PutMask() method. Reported by Luiz Rafael Culik from brazilian user 2002-07-08 00:20 UTC-0300 Luiz Rafael Culik * contrib/rdd_ads/ads1.c * Fixed bug on adsPutValue() function when numeric data to be putted are more the 10 number long and no decimals(ie: 123456789124) Fix By Luiz Rafael Culik and Charles Kwon 2002-07-07 22:40 UTC+0100 Martin Vogel * source/rtl/math.c * include/hbmath.h + include/math.ch * doc/en/math.txt * math error handling redesigned * tests/mathtest.prg * small test program to demonstrate new math error handling capabilities * source/vm/itemapi.c * bug fix: app compiled with BCC crashed if hb_itemPutNDLen was called with a "NaN" double * BCC checks for infinity added in hb_itemStr * possible bug fixed: math handler has not been switched off before using log(0) in hb_itemStr * contrib/libct/ctc.c * contrib/libct/ctmath.c * contrib/libct/ctmath.h * contrib/libct/ctflist.txt * contrib/libct/readme.txt * contrib/libct/cterror.ch * math error handling adopted to new design, function SETMATHERRMODE() removed * contrib/libct/math.c * contrib/libct/num1.c * contrib/libct/trig.c * contrib/libct/finan.c * math error handling adopted to new design, compatibility with CTIII enhanced * contrib/libct/test/Makefile * typo fixed 2002-07-07 11:05 UTC+0100 Antonio Linares * harbour/source/debug/debugger.prg * Changed constructor sequence * Alt-X support * Colors editing fix 2002-07-07 10:35 UTC+0100 Antonio Linares * harbour/source/debug/debugger.prg * Changes implemented by Davor Siklic * Now debugger properly initialize from init.cld * Private, Static, Local, Private monitoring are properly stored and read from the init.cld * OSShell work in Linux * Method InputBox get focus now 2002-07-07 01:10 UTC-0300 Walter Negro * source/rtl/transfrm.c ! Fix with numeric values and pictures with spaces and pictures with severals dot. The return values are compliant with Clipper. eg: Transform( 1234, "9 999" ) eg: Transform( 123.123456, "999.99.99.99" ) Reported by Richard Chidiak 2002-07-06 17:18 UTC+0100 Antonio Linares * harbour/source/debug/debugger.prg * Chr( 13 ) + Chr( 10 ) changed into HB_OsNewLine() 2002-07-05 16:09 UTC+0100 Antonio Linares * source/rtl/philes.c * fixed bug on previous change on FRead() 2002-07-05 12:00 UTC+0100 Antonio Linares * source/rtl/philes.c * added some missing #include 2002-07-05 11:35 UTC+0100 Antonio Linares * source/rtl/philes.c * FRead() fixed bug on constant strings use 2002-07-03 18:37 UTC-0300 Walter Negro * source/rtl/dates.c * More compliant for certain strange formats. eg: DD/MMM/YYYY * source/rtl/transfrm.c * More compliant, resolve several hbtest errors. 2002-07-02 01:14 UTC-0800 Brian Hays * contrib/rdd_ads/adsfunc.c * Fixed issues reported by Alex Schaft: Since AdsGetAOFOptLevel() did not attempt to return the NoOpt string by reference anyway, I just removed the NoOpt handling. This avoids the overflow error and removes any string buffer limitations at all. Fixed AdsGetAOF() AdsGetAOFNoOpt() to handle filters of any size that ADS may return. 2002-07-01 20:10 UTC-0300 Walter Negro * source/rtl/transfrm.c + Add @0 function. ! Fix minor bug introduce with previous changelog. See hbtest: 2044, 2052, 2054. eg: Transform( -12, "@( 99" ) Bug: "(2)" Now: "(*)" ! More compliant with Clipper. See hbtest: 1898, 1902, 1906, 1971, 2006, 2064, 2070. eg: Transform( 100.2, "@" ) Before: " 100.2" Now: " 100.2" eg: Transform(.T. ,"@R X!" ) Before: "XT" Now: "X!T" eg: Transform(1.0 ,"@B" ) Before: "1.0 " Now: "1.0 " eg: Transform("Hello","@S-1") Before: "" Now: "Hello" 2002-07-01 16:30 UTC-0400 David G. Holm * doc/howtocvs.txt * Corrected references to cvs_ssh.txt to refer to section 1.7. 2002-07-01 02:10 UTC-0300 Walter Negro * source/rtl/transfrm.c + Add @) template. ! Fix @D with numeric expressions. ! Fix bug with @D in string expressions. eg: Transform( "1", "@D" ) This example generate an GPF or strange memory errors. ! Better support for mask with initial comma, period or space. ! Better support for later mask. ! Replace comma, period or the correspondient space with an '*' when previous character is '*' too. eg: Transform( 99999, "9.999" ) -> Before: "* ***" Now: "*****" Transform( 99, "*.***" ) -> Before: "* *99" Now: "***99" * source/rtl/tgetlist.prg * Detection of modification with direct access to the var get in preval, postval and setkey functions. Point of control: GetPreValidate(), GetPostValidate(), GUIGetPreValidate(), GUIGetPostValidate(), GetDoSetKey(). * source/rtl/tget.prg + Add two protected methods. FirstEditable() and LastEditable(). Several change for use this methods. ! Fix in ParsePict method * @D function, overwrite the mask for SET DATE FORMAT * @S without lenght parameter or @S0, they don't have effect. ! Fix in Untransform method * if ::lEdit is false, return ::VarGet() without evaluate the buffer contained. * Better detection of a negative, minimizing false detections. * Improvement in the handling of mask. * More compliant in @D, @E, @X, @C, @(, @) functions. * In compliant with Clipper, the lenght of number (internal lenght) corresponds to the applied picture. ! Bug in conversion with date types and with @E function. ! Fix in Overstrike and Insert method * First it is evaluated if the input character is valid, before cleaning the var. ! Fix in Input method * The minus sign can be writed in any place. * Now work with '$' and '*' templates in numeric gets. ! Fix in PutMask method * More compliant in the handling of some get functions. * When edit a get with @B, the number is editing right-justified. ! Fix in Backspace method * Permit delete a '(' symbol in a non-editable position, when this symbol represent a negative number. ! Fix in Delete method ! When delete a negative symbol '(' or '-', turn the ::minus tu false ! Fix in IsBadDate function ! Evaluate crrectly a date with @E function. 2002-06-28 10:43 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in hb_ntxPageSplit() - the created page was not released. 2002-06-27 15:25 UTC-0400 David G. Holm * source/rtl/gtsln/gtsln.c ! HRBNATIONCHARS fix provided by Niko Mikkila 2002-06-27 22:30 UTC+0300 Alexander Kresin * source/rdd/workarea.c ! Bug fixed in hb_waSetRel(), reported by Richard Chidiak 2002-06-26 19:20 UTC-0400 David G. Holm * source/pp/ppcore.c ! Increase the loop limit used to detect cyclic #defines from 20 to 750. 2002-06-26 18:41 UTC+0100 Ignacio Ortiz * source/rtl/tget.prg !Fixed minus property value, did not work correctly 2002-06-24 24:35 UTC+0100 Ignacio Ortiz * source/rtl/tget.prg !Fixed date input when set century on and the year was typed with only two digits !Fixed minus property value, did not work correctly 2002-06-23 00:50 UTC-0300 Walter Negro * contrib/hbzlib/strcomp.c ! Fixed eliminated warning in declaration of var: const char ! Change of hb_retc() + hb_xfree() for hb_retclen_buffer() * contrib/hbzlib/zipfile2.c ! Reformating of indentation and eliminating of Tabs simbol * contrib/hbzlib/zlibapi1.c ! Reformating of indentation and eliminating of Tabs simbol * Change call to hb_fsSetDevRaw() for hb_fsSetDevMode() * contrib/hbzlib/zip.c ! Reformating of indentation and eliminating of Tabs simbol 2002-06-22 20:25 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in skipping, when both Bof and Eof are true. 2002-06-21 17:15 UTC-0300 Walter Negro * source/rtl/tgetlist.prg + Add #include tbrowse.ch for TBrowse defines. * include/button.ch - Defines defined in TBrowse.ch 2002-06-21 17:00 UTC-0300 Walter Negro * source/rtl/tbrowse.prg + Initial support for SetStyle method, compatible with Clipper 5.3. See tbrowse.ch for support values. * source/rtl/tbcolumn.prg + Initial support for SetStyle method, compatible with Clipper 5.3. See tbrowse.ch for support values. * include/tbrowse.ch + Defines for TBrowse and TBColumn Classes 2002-06-21 15:50 UTC-0300 Walter Negro * source/rtl/getsys.prg ! Fix call to SET() without setting values. ReadExit() and ReadInsert() * source/rtl/tgetlist.prg ! Fix call to SET() without setting values. METHOD ReadExit() * source/rtl/teditor.prg ! Fix call to SET() without setting values. METHOD InsertState() 2002-06-20 14:28 UTC+0100 Ignacio Ortiz * source/pp/ppcore.c - Removed warning for #Define redefinition when the new define value is exactly the same as the old value (same as Clipper) 2002-06-19 17:14 UTC+0100 Dave Pearson * doc/en/compiler.txt - Removed /10 switch. 2002-06-15 13:04 UTC-0300 Walter Negro * source/vm/hvm.c ! Fixed support for FOR_NEXT with STEP 0 2002-06-14 14:52 UTC-0300 Walter Negro * source/rtl/getsys.prg ! Fixed RETURN in Accelerator() and HitTest() 2002-06-14 13:49 UTC-0300 Walter Negro * source/rtl/getlist.prg + Add __GetListLast() for support to the functions Update() and ReadUpdate() * source/rtl/getsys.prg ! Fixed compatibility functions Update() and ReadUpdate(). Now use __GetListLast() instead of __GetListActive(). __GetListActive() reference to the active oGetList, beginning and concluding with the ReadModal. __GetListLast() reference to the last oGetList form the beginning of the ReadModal until another ReadModal begins. ! Fix bug in Accelerator(), Clipper 5.3 compatibility function. * Some cleanup. * source/rtl/tget.prg + Add support for SET DELIMITERS * source/rtl/tgetlist.prg ! Change __GetListActive() for __GetListLast() for support to Update() and ReadUpdate() 2002-06-14 20:25 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Bug fixed in rddMoveRecords() - there was a problem with Append From. 2002-06-14 14:18 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Bug fixed in hb_rddCloseAll() 2002-06-09 14:29 UTC+0300 Alexander Kresin * contrib/rddads/ads1.c ! Few fixes for "ShortDate" data type 2002-06-08 16:15 UTC-0300 Horacio Roldan * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfcdx/dbfcdx1.c + added hb_cdxOrderDestroy, hb_cdxIndexDelTag functions, ordDestroy() is working now for dbfcdx rdd. 2002-06-07 11:50 UTC-0300 Walter Negro * source/rtl/tgetlist.prg * source/rtl/getsys.prg ! Modification of work for save oGetList active. Save oGetList for recursives calls to ReadModal(). Necessary to support post-evaluation functions to the exit of the ReadModal(). eg: UPDATE() 2002-06-07 13:53 UTC+0300 Alexander Kresin * source/rdd/dbf1.c ! Bug fixed in hb_dbfLockRecord(), reported by Richard Chidiak 2002-06-06 23:21 UTC+0300 Alexander Kresin * contrib/rddads/ads1.c ! Fixed bug, related to creating databases with extended data types 2002-06-06 14:40 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Removed Clipper-incompatible change that made Shift+ESC return 641 instead of 27 in normal keyboard input mode, instead of only returning 641 in HB_INKEY_EXTENDED mode. 2002-06-06 11:12 UTC-0300 Walter Negro * source/rtl/gtwin/gtwin.c ! Fix, now Shift-ESC return the correct value. 2002-06-06 09:23 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add notes for the btree directory * doc/gmake.txt * doc/transfrm.txt * doc/es/dbstrux.txt * doc/es/harbext.txt * doc/es/idle.txt * doc/es/tracing.txt ! Replace embedded TABs with SPACEs 2002-06-05 20:52 UTC-0800 Ron Pinkas * make_b32.bat - Commented SET BISON_SIMPLE line as it causes incompatibility with current version of Bison. * source/compiler/harbour.sly * source/macro/macro.y + Added missing ; as per Bison 1.35 warnings. 2002-06-05 18:00 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Fixed Esc key translation problem that only occurred in some international versions of Windows, thanks to data provided by "Walter Negro - FOEESITRA" 2002-06-05 23:30 UTC+0300 Alexander Kresin * contrib + btree/ + btree/hb_btree.api + btree/hb_btree.c + btree/hb_btree.ch + btree/make_b32.bat + btree/Makefile + btree/makefile.bc + btree/mktest.bat + btree/tbtree.prg + btree/test/ + btree/test/ctest.c + btree/test/Makefile + btree/test/test.prg + btree/test/ttest.prg + btree/doc + btree/doc/hb_btree.txt + btree library, contributed by April White is uploaded to the contrib section. 2002-06-05 12:10 UTC-0300 Walter Negro * source/source/rtl/tget.prg ! Fixed operation of picture "@Z" Reported by Pritpal Bedi 2002-06-05 10:13 UTC-0300 Horacio Roldan * source/compiler/gencobj.c ! fixed uninitialized pointer. 2002-06-05 10:00 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c ! bug fixed in adsOpen, reported by Jorge Mason 2002-06-02 09:30 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fix in locking logic. ! fixed bug updating conditionals indexes, reported by Walter Negro ! fixed bug in dbgoto, reported by Pritpal Bedi 2002-06-02 12:02 UTC+0100 Antonio Linares * source/debug/debugger.prg ! Fixed AltD() behavior + tests/altd.prg * AltD() behavior test 2002-05-30 00:55 UTC-0300 Walter Negro * source/rtl/tbrowse.prg + Add two instance variables, nRow and nCol. Existing in Clipper 5.3. Only was modified the Hilite and SetPos method, for save in this variables, the position of cursor. 2002-05-30 00:55 UTC-0300 Walter Negro * contrib/libct/screen1.c ! Now return correctly a numeric value. * contrib/libct/color.prg ! Fix, the color string was inverted. 2002-05-25 21:36 UTC-0800 Ron Pinkas * contrib/rdd_ads/ads1.c + Added #ifdef section to support xHarbour PCODE version check. 2002-05-25 21:00 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix picture function in lower case. (eg: @s ) Reported by Luiz Rafael Culik Guimaraes 2002-05-25 13:15 UTC-0300 Luiz Rafael Culik * contrib/mysql/tmysql.prg + CreateDatabase() method in TMYSqlServer on CreateTable() method, removed type tinyint for numeric, since this type if an logical value * contrib/mysql/mysql.c + Implementation of filelength() function when __GNUC__ is defined 2002-05-24 20:30 UTC-0400 David G. Holm * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c * contrib/libnf/dispc.c * contrib/libnf/idle.c ! Fixed some problems that caused C++ compiles to fail. 2002-05-24 16:15 UTC-0300 Walter Negro * source/rtl/tgetlist.prg ! Corrected minor bug in using Len() on oGet:Buffer, where it might be NIL. By Ron Pinkas in xHarbour. * source/rtl/achoice.prg * More compliant with Cli**er. ! Fix minor bug when press CTRL_END and the quantity of items is smaller to the long of the window. This bug exist in previous versions of achoice(). Reported by Carlos Vargas. * contrib/libct/datetime.prg ! Fix, change NTOS() for STR() in EOQ() function. 2002-05-24 13:20 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix @R pictures with "-" or "(" characters Reported by somebody in sourceforge 2002-05-24 01:50 UTC-0300 Walter Negro * source/rtl/console.c ! Fix print in the same line when the new position is previus to the current one. * source/rtl/achoice.prg * More compliant with Cli**er. * Support for use acItems directly without internal copy. This permit modify acItems and reflect this changes. * Support for use xSelect directly, if its an array, without internal copy. This permit modify xSelect and reflect this changes. * No call to xUserFunc again when xUserFunc its call with nMode = AC_EXCEPT, and xUserFunc return AC_CONT * Always redraw the page when return from xUserFunc. * Support for return AC_REDRAW. 2002-05-23 12:46 UTC-0800 Ron Pinkas * source/compiler/harbour.slx ! Fixed SELF[...] // Self as Array in IF_BELONG_LEFT() ( borrowed from from xHarbour ) * source/compiler/harbour.sly ! Corrected typo in GetVar - included item belonging to GetVarArray ( borrowed from from xHarbour ) ! Fixed logic of GetA ( borrowed from from xHarbour ) 2002-05-23 14:59 UTC-0300 Horacio Roldan * contrib/mysql/tmysql.prg ! Change in CreateTable's mapping of the xBase N(dig,0) field type into mySql's tinyint, smallint, mediumint, int, bigint and real (if the number is too big to be an integer) 2002-05-23 14:53 UTC-0300 Horacio Roldan * source/vm/estack.c ! All stack hb_stackxxx API functions are now included, no matter the build options (HB_STACK_MACROS) 2002-05-22 18:26 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix, it was always written in the position 1 the first number of a numeric field although the cursor was moved to write in another position. 2002-05-22 17:40 UTC+0200 Martin Vogel * contrib/libct/datetime.prg ! corrections supplied by Marek Horodyski 2002-05-21 11:05 UTC+0100 Tomaz Zupan * doc/gmake.txt * Documented use of compiler cache with HB_CCACHE. 2002-05-21 01:20 UTC-0500 Paul Tucker * source/common/hbffind.c * substitute constant for FILE_ATTRIBUTE_NOT_CONTENT_INDEXED * since it is named differently or non-existant in earlier * windows include files. (Borland specifically, but even from MS) 2002-05-20 22:33 UTC+0100 J.lefebvre (Mafact) * contrib/htmllib * makefile.vc (Forget -p as Harbour param, creating ppo files when not needed) * source/compiler/hbusage.c * void hb_compPrintCredits( void ) Major bug fixed where my name was missing from the list ;-)))) 2002-05-20 16:20 UTC+0100 J.lefebvre (Mafact) * contrib/htmllib + make_b32.bat (not tested !!!!) + make_vc.bat (ok) + makefile.vc 2002-05-20 14:55 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c ! Bug fixed in adsSysName() for that case when file isn't opened yet in workarea 2002-05-18 10:20 UTC-0300 Luiz Rafael Culik * makefile.bc makefile.vc utils/hbmake/Makefile * Added hbmlang.c to dependencie list * utils/hbmake/hbmake.prg - Removed GETLANG() function and moved to an new file + utils/hbmake/hbmlang.c * GETLANG.c is on this file now 2002-05-18 14:55 UTC+0100 J.lefebvre (Mafact) * utils/hbmake/hbmake.prg added missing #include "windows.h" at the end (inline code) 2002-05-16 07:50 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg % Optimized The Code ! New text Formating + Support for Roberto's Minigui + Internationalization Started 2002-05-15 23:43 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * Fixed adsSeek for non-ADS filter conditions. If a filter is set that is not valid for ADS, we need to skip off of any invalid records (IOW, filter at the Harbour level if ADS can't because the filter has UDFs or PUBLICVAR references). 2002-05-15 22:25 UTC-0300 Luiz Rafael Culik * contrib/mysql/mysql.c ! Fixed an bug on SQLFETCHR() when the select command is used with an empty table 2002-05-15 19:26 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c ! fixed a bug in adsSetScope() for date scopes, changes was posted by Carlos Mora. * contrib/rdd_ads/adsmgmt.c ! UINT, which is not defined in gcc system, is changed to unsigned int, fixed one warning 2002-05-15 12:00 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c ! fixed a bug in adsSeek() for date indexes, changes was posted by Carlos Mora. 2002-05-14 16:22 UTC-0400 David G. Holm * source/rdd/dbfntx/dbfntx1.c ! Changed usage of stricmp to hb_stricmp, because stricmp is not an ANSI standard function. 2002-05-14 16:10 UTC+0100 Tomaz Zupan * contrib/mysql/makefile renamed to Makefile. Needed to build library on Linux. 2002-05-13 13:10 UTC-0300 Walter Negro * source/rtl/menuto.prg ! Fix, initial value was not used. Reported by Horacio Roldan. 2002-05-13 00:55 UTC-0300 Horacio Roldan * source\rdd\dbfcdx\dbfcdx1.c ! minor changes ! fixed preventing reopening of same cdx. 2002-05-08 12:50 UTC+0300 Alexander Kresin * source/pp/pptable.c * Inserted "ifdef HB_EXTENSION" for clause 'MEMORY' in INDEX command * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * "ifdef HB_EXTENSION" is used for memory indexes * some cleanup, tags list is used now instead of index list * contrib/rdd_ads/ads1.c * calls of strcasecmp() replaced by hb_stricmp(), functions strcasecmp() and strncasecmp() are removed, printf() removed from adsCreate() 2002-05-08 10:20 UTC+0100 Tomaz Zupan + contrib/odbc/browodbc.prg * contrib/odbc/Makefile + Added browseodbc() function for browsing ODBC data. 2002-05-08 07:15 UTC+0100 "J. lefebvre (mafact)" * source/rdd/dbf1.c * Msvc compiler need tmp to be unsigned char * at line 1605/1607 2002-05-07 22:25 UTC-0300 Luiz Rafael Culik * contrib/rdd_ads/ads1.c ! fixed problem on Seeking Dates with RDDADS 2002-05-07 08:00 UTC-0300 Luiz Rafael Culik * source/rtl/tbrowse.prg ! Bug fixed reported by Lorenzo Fiorini. 2002-05-07 14:19 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * Bug fixed in dbfCreate(), related to creating memo file 2002-05-07 11:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * OrdKeyAdd(), OrdKeyDel() support for dbfntx added. Now dbfntx supports custom indexes. 2002-05-06 21:40 UTC+0100 Tomaz Zupan -source/vm/mainlgtk.c +contrib/hgf/gtk/mainlgtk.c *contrib/hgf/gtk/Makefile Moved mainlgtk.c from source/vm to contrib/hgf/gtk and updated Makefile to include it in library. 2002-05-06 13:50 UTC-0400 David G. Holm ! source/compiler/harbour.c ! Commented out the parameter checking entries for QOUT and QQOUT, because they have no limit on the number or type of parameters. 2002-05-06 15:48 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in ntxOrderListRebuild() 2002-05-06 13:30 UTC+0300 Alexander Kresin * source/pp/pptable.c * Added new clause 'MEMORY' to INDEX command * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * New feature implemented for dbfntx - index creating in memory If you specify MEMORY clause in INDEX ON ... command ( additional, 17-th parameter is added to ordcondset() ), index will not be written to disk, but will be kept in memory, what significantly increases the performance. This may be especially helpful in case of creating temporary indexes for reporting, etc. 2002-05-05 21:05 UTC+0100 Martin Vogel * contrib/libct/range.c + contrib/libct/tests/rangerem.prg + contrib/libct/tests/rangerepl.prg * contrib/libct/tests/Makefile * fix of a bug in RANGEREPL() and RANGEREM(): return string too long, reported by Guenther Steiner 2002-05-04 17:47 UTC-0300 Horacio Roldan * source\rdd\dbcmd.c ! fixed return value of dbGoTo() + added support of 4th value of dbOrderInfo * include\hbrddcdx.h * source\rdd\dbfcdx\dbfcdx2.h * source\rdd\dbfcdx\dbfcdx1.c + fixed support for dbSeek(last) + added scope support: ordScope, dbOrderInfo(..scope..), ordKeyCount, ordKeyNo. ! fixed found() flag when last record in order must be filtered (eg: deleted), bug reported by Lorenzo Fiorini. + added dummy handler for DBOI_CUSTOM. 2002-05-04 18:40 UTC+0100 Martin Vogel + contrib/libct/color.prg + COLORTON() + NTOCOLOR() by Walter Negro STANDARD(),ENHANCED(),UNSELECTED() by Viktor Szakats pasted from CTMISC.PRG and removed there + contrib/libct/screen1.c + SCREENATTR() by Walter Negro + contrib/libct/screen2.prg SCREENMIX() by Viktor Szakats pasted from CTMISC.PRG and removed there + contrib/libct/alt/ctcolton.c original implementation of COLORTON() in C by Viktor Szakats + contrib/libct/strdiff.c + contrib/libct/tests/strdiff.prg + STRDIFF() function and small test program * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/ctflist.txt * contrib/libct/readme.txt * contrib/libct/tests/Makefile * changes according to the changes above 2002-05-04 09:08 UTC+0100 Tomaz Zupan * contrib/odbc/todbc.prg ! fixed infinite loop 2002-05-01 11:12 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx2.h ! fixed gpf reported by Lorenzo Fiorini + added helper function hb_cdxGoEof + added default tag name when not specified * source/rdd/workarea.c ! fixed bof flag in go bottom with no valid records 2002-04-30 20:49 UTC-0300 Horacio Roldan * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx2.h ! fixed sharing flags in index creation ! fixed tag order after index creation + added function hb_cdxReorderTagList + added dummies handlers for DBOI_KEYADD, DBOI_KEYDELETE. 2002-04-30 14:02 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c * Bug fixed, which caused GPF's while opening of additive index 2002-04-30 12:46 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * Some changes, needed for custom indexes support 2002-04-30 01:11 UTC-0300 Walter Negro * source/rtl/memoedit.prg ! Add support for Set Key defined Keys. From xHarbour by Luiz Culik ! Fix minor bug related with this. * source/rtl/teditor.prg ! Add support for Set Key defined Keys on Edit() and BrowseText() method From xHarbour by Luiz Culik ! Fix minor bug related with this * source/rtl/tget.prg ! Fix minor bug in PutMask( ) 2002-04-29 13:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Bug fixed in tree balancing 2002-04-28 08:50 UTC-0300 Luiz Rafael Culik * source/rtl/listbox.prg * Fixed some warnings * source/rtl/dummy.prg *Removed reference to ordkeydel() and ordkeyadd() 2002-04-27 23:50 UTC-0300 Luiz Rafael Culik * source/rtl/teditor.prg * Added Support lookup on SetKey()'s Defined functions on Edit() and BrowseText() then this are not Handle by TMemoEditor:Edit() method 2002-04-27 19:15 UTC-0300 Horacio Roldan * include/hbapirdd.h * source/rdd/dbcmd.c + added functions ordKeyAdd and ordKeyDel (need support from each RDD) ! fixed compatibility issue: ordListAdd(nil) is valid in Clipper 2002-04-27 17:40 UTC-0300 Luiz Rafael Culik * source/rtl/dbedit.prg *Fix an bug on dbedit function that was Generating an Recursive call to DBEDIT() functions if the acColumns parameter was defined like below aCol[1]:={"Name"+" "+"AddRess"+" "+"phone"} 2002-04-27 00:10 UTC-0300 Luiz Rafael Culik * source/rtl/Listbox.prg source/rtl/tbrowse.prg * Code CleanUP 2002-04-26 21:45 UTC+0100 Tomaz Zupan * bin/bld.sh ! Fix: Script didn't add screen library needed by GT lib. 2002-04-26 21:56 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c ! Little fix for VarChar data type 2002-04-26 14:08 UTC-0300 Walter Negro * source/rtl/getlist.prg ! Fix bug when release last getlist Reported by Alexander Kresin 2002-04-25 08:10 UTC-0300 Luiz Rafael Culik * source/rtl/tbrowse.prg * Method SetColumnWidth() now return the corrent Value(Clipper return the Greater value of either Heading;Data; or footer 2002-04-26 15:15 UTC+0300 Alexander Kresin * source/rdd/dbstrux.prg * contrib/rdd_ads/ads1.c * Implemented using of extended data types in RDD ADS 2002-04-25 10:55 UTC-0300 Walter Negro * source/rtl/getsys.prg ! Fix, lost the reference to the current oGetList with recursive execution of ReadModal. 2002-04-24 09:04 UTC-0300 Horacio Roldan * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h + multiple CDXs support for: hb_cdxOrderListAdd, hb_cdxOrderListFocus, hb_cdxGoCold, hb_cdxGoHot, hb_cdxGetTagByNumber, hb_cdxGetActiveTag, DBOI_ORDERCOUNT, DBOI_UNIQUE, ordName, ordBagName. ! fixed a bug in: gotop, gobbotom, skip + begin of hb_cdxZap + added support for: DBOI_ISCOND, DBOI_ISDESC, DBOI_FILEHANDLE + added index locking routines ! fixed some structures definitions for gcc/vc/... ! fixed autopen bug on Linux ! fixed recno() while indexing 2002-04-24 00:42 UTC-0300 Horacio Roldan * source/rdd/workarea.c ! fixed bug with set relation to, found by Walter Negro. 2002-04-23 20:40 UTC-0300 Walter Negro * source/rtl/devoutp.prg ! More compliant with Cli**er for certain types of data. Now only accept character, memo, numeric, date and logical types of data. Any other types of data is ignored. 2002-04-22 14:14 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbcmd.c * Implemented clauses USECURRENT and ADDITIVE of INDEX ON command for DBFNTX 2002-04-19 19:32 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Minor bug fixed in indexing empty files 2002-04-19 11:33 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbf1.c * Some fixes in locking to provide Clipper compatibility 2002-04-18 22:56 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Some improvements in keys per page calculating while indexing 2002-04-18 13:30 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Algorithm of key deleting is rewritten to keep the index tree balanced. 2002-04-18 03:55 UTC-0300 Walter Negro * contrib/libnf/ftattr.c + Initial version of FT_SAVEATT() & FT_RESTATT(). For save and restore the attribute bytes of a specified screen region. * contrib/libnf/getver.c * Diferent compilation for HB_OS_DOS_32 in _FT_TEMPFILE * contrib/libnf/tempfile.prg + New code for plataform diferent of HB_OS_DOS and HB_OS_DOS_32. The new code not use call to C function. + Add new parameter. FT_TEMPFIL( cPath, [lHidden], [@nHandle] ) if [@]nHandle is used, the function not close the temp file and return the handle by nHandle. This parameter should be passed by reference. If this parameter is not used or not passed by reference, the temp file is closed. * contrib/libnf/dispc.c + ported to Harbour of FT_DISPFILE(). See also FT_DFSETUP() and FT_DFCLOSE(). This function permit browse for a file without loading it in memory. * contrib/libnf/makefile * contrib/libnf/nanfor.bc * contrib/libnf/makefile.vc + Add reference for dispc.c, ftattr.c and dfile.prg * include/hbsetup.h + defines for compiler __DJGPP__ is HB_OS_DOS_32. 2002-04-17 13:15 UTC-0300 Luiz Rafael Culik * contrib/htmllib/ohtm.prg contrib/htmllib/oedit.prg contrib/htmllib/forms.ch * Added support for accessbility on Forms 2002-04-17 14:57 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix bug in DeleteAll method. Change DTOC() for CTOD(). * Bug fixed, reported by Lorenzo Fiorini. 2002-04-17 14:28 UTC-0300 Walter Negro * source/rtl/teditor.prg + Added of calls to IdleHook and KeyboardHook for handling of special keys when the mode edition is not used. 2002-04-15 05:00 UTC-0300 Walter Negro * source/rtl/valtype.c ! Change name of function form IS_VARBYREF() to HB_ISVARREF(). 2002-04-15 04:55 UTC-0300 Walter Negro * contrib/libnf/caplock.c * contrib/libnf/numlock.c * Add {} to avoid ambiguous if-else. * contrib/libnf/descend.c * contrib/libnf/getenvrn.c * contrib/libnf/proper.c * contrib/libnf/prtscr.c * contrib/libnf/getvid.c * Add some values for default to eliminate warnings when compiling with gcc -O2. * contrib/libnf/kspeed.c * Fix values in switch-case. * Add some values for default to eliminate warnings when compiling with gcc -O2. * contrib/libnf/mouse.c * _MGET_PAGE() now return value when HB_OS_DOS. * Add some values for default to eliminate warnings when compiling with gcc -O2. 2002-04-15 04:32 UTC-0300 Walter Negro * contrib/libct/makefile.bc * Correction in dependence of exponent.c 2002-04-14 05:15 UTC-0300 Walter Negro * contrib/libct/ctmisc.prg + Add function: CSETCENT() // Return state of SET CENTURY + Add function: UNSELECTED() // Activate UNSELECTED color * contrib/libct/bit1.c * contrib/libct/bit3.c * contrib/libct/files.c * contrib/libct/pos1.c * contrib/libct/posdiff.c * contrib/libct/strswap.c * Add some values for default to eliminate warnings when compiling with gcc -O2. * contrib/libct/ctflist.txt * state of CSETCENT() and UNSELECTED(): started. 2002-04-14 04:50 UTC-0300 Walter Negro * include/hbapiitm.h + Add definition for hb_itemUnRefOnce(). * source/vm/itemapi.c * Subdivision of the function hb_itemUnRef() in hb_itemUnRef() and hb_itemUnRefOnce(). * source/rtl/valtype.c + Add function: IS_VARBYREF(). This function allows in PRGs to know if a parameter has been passed by value or by reference. 2002-04-10 15:48 UTC+0100 Tomaz Zupan * config/linux/gcc.cf + Added support for compiler cache in linux. If you want to use compiler cache, set HB_CCACHE environment variable. (export HB_CCACHE=ccache) 2002-04-10 13:22 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Some fix for shared mode ( hb_ntxHeaderRead() function added ) 2002-04-08 19:10 UTC+0100 Martin Vogel + contrib/libct/exponent.c + EXPONENT() and MANTISSA() functions by Walter Negro + contrib/libct/tests/expomant.prg + test program for EXPONENT() and MANTISSA() 2002-04-08 21:00 UTC+0300 Alexander Kresin * include/hbrddntx.h * Cleanup * source/rdd/dbfntx/dbfntx1.c * Algorithm of updating keys is fully rewritten, now the index tree remains balanced after adding new keys. 2002-04-08 16:15 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Bug fixed, reported by Lorenzo Fiorini 2002-04-05 13:56 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Minor bug fixed, some cleanup 2002-04-04 11:17 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Two bugs fixed 2002-04-03 21:40 UTC-0500 David G. Holm * config/w32/global.cf + If no COMSPEC and running on Windows NT or 2000, use CMD.EXE. 2002-04-03 21:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Algorithm of indexing improved - it is faster now ( in some cases 5%, in some others - 10 times ). 2002-04-03 10:30 UTC+0300 Alexander Kresin * contrib/rdd_ads/ace.h * New ace.h from Extended Systems, Inc. 2002-04-02 21:12 UTC+0200 JF Lefebvre (Mafact) * include/hbclass.ch + Refined Class(y) compatibility as needed by Horacio. * source/rdd/dbfntx/dbfntx1.c * Added two type cast needed by VC++ 2002-04-02 21:46 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! bug fixed in COPY TO db, reported by Mike Romberg 2002-04-02 20:42 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * OrdKeyNo() implemented for DBFNTX, both OrdKeyNo() and OrdKeyCount() now respects scopes. * Some fixes and cleanup 2002-04-02 18:57 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/adsmgmnt.c * contrib/rdd_ads/testmg.prg * some changes for compatibility with Linux version 2002-04-02 4:44 UTC-0300 Walter Negro * source/rtl/menuto.prg ! Fix recursive executions and exit without pressing key. Now use local pointer and save static pointer. ! Fix call to HitTest 2002-03-31 14:00 UTC-0300 Luiz Rafael Culik * source/rtl/tbrowse.prg * Fixed an problem on SetColumnwidth() method that was Tbrowse not be properly show on screen 2002-03-29 14:45 UTC-0500 David G. Holm * contrib/libnf/calendar.prg * contrib/libnf/chdir.c * contrib/libnf/getver.c * contrib/libnf/getvid.c * contrib/libnf/kspeed.c * contrib/libnf/mkdir.c * contrib/libnf/mouse.c * contrib/libnf/rmdir.c ! Only include dos.h if building for a DOS platform. * contrib/libnf/diskfunc.prg * contrib/libnf/dispmsg.prg * contrib/libnf/dosver.prg * contrib/libnf/floptst.prg * contrib/libnf/isshare.prg * contrib/libnf/menuto.prg * contrib/libnf/mouse2.prg * contrib/libnf/nwlstat.prg * contrib/libnf/nwuid.prg * contrib/libnf/page.prg * contrib/libnf/popadder.prg * contrib/libnf/pvid.prg * contrib/libnf/scancode.prg * contrib/libnf/setdate.prg * contrib/libnf/settime.prg * contrib/libnf/sysmem.prg * contrib/libnf/tempfile.prg * contrib/libnf/vidcur.prg * contrib/libnf/vidmode.prg ! All include file names must be in lower case for Un*x type systems. 2002-03-29 13:15 UTC-0500 David G. Holm * libnf/descend.c * libnf/getenvrn.c * libnf/ontick.c * libnf/peek.c * libnf/poke.c ! All include file names must be lower case for Un*x type systems. 2002-03-29 13:15 UTC-0500 David G. Holm * contrib/Makefile + Added libnf and samples to all build paths. + contrib/libnf/Makefile + Added GNU make Makefile for nanforum library, but had to list ontick.c, peek.c, and poke.c under BAD_C_SOURCES, because the cpmi.h include file is missing. 2002-03-29 15:10 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Minor fix 2002-03-29 14:17 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * OrdKeyCount() implemented for DBFNTX 2002-03-28 15:57 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * Lot of code is changed to avoid using of PHB_ITEM in internal functions, some other optimizations. DBFNTX became much faster now ( still not so fast as Clipper ). 2002-03-27 02:26 UTC-0300 Horacio Roldan * include/hbset.h * source/rtl/set.c ! changed definition of HB_SET_AUTORDER from BOOL into int. 2002-03-25 21:53 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix minor bug with initial spaces in PICTURE 2002-03-25 15:33 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix bug in picture "999,999.99" and "999.999,99". ! Fix bug in picture with initial spaces. 2002-03-25 08:45 UTC+0200 Chen Kedem * doc/en/lang.txt ! Change ZH_GB --> ZHGB, ZH_BIG5 --> ZHB5 * source/lang/msgzhb5.c * source/lang/msgzhgb.c ! Added missing commas * Some text translated from English to Chinese All changes thanks to dongming 2002-03-24 16:08 UTC-0300 Walter Negro * include\hbtrace.h + Added #defines HB_TR_LEVEL_xxx * This allows to skip the limitation of DOS and WINDOWS to include the symbol '='inside an environment variable. Ex: SET CFLAGS=-DHB_TR_LEVEL_DEBUG it's equal to SET CFLAGS=-DHB_TR_LEVEL_DEBUG=5 // Not permited in DOS &WIN 2002-03-22 15:02 UTC-0300 Walter Negro * source/rtl/tget.prg ! Fix ::unTransform() for numeric Get with complex Picture. 2002-03-21 20:47 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Minor fix. 2002-03-21 19:22 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * Added virtual method ntxSysName() - now Rddname() for DBFNTX works properly. * contrib/rdd_ads/ads1.c * adsSysName() changed - it returns now "ADSNTX", "ADSCDX" or "ADSADT". 2002-03-21 15:58 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * Some cleanup * source/vm/runner.c ! Bug fixed, related to execution of separate functions with __hrbDoFu() 2002-03-20 18:57 UTC-0300 Walter Negro * source/rtl/checkbox.prg * Revert static function to NO static 2002-03-19 12:45 UTC-0500 David G. Holm * source/rtl/set.c + Implemented Dave Pearson's idea for having SET PRINTER default to "|lpr" when HB_OS_UNIX is defined. 2002-03-19 12:30 UTC-0500 David G. Holm * source/rtl/set.c ! Fixed bugs in setting the default SET PRINTER TO device up to be "PRN". 2002-03-19 11:30 UTC-0500 David G. Holm * source/rtl/set.c ! The default SET PRINTER TO device is supposed to be "PRN". 2002-03-20 14:38 UTC-0300 Walter Negro * source/rtl/tget.prg * Fix bug in PICTURE '@S' * source/rtl/tgetlist.prg * source/rtl/listbox.prg * source/rtl/checkbox.prg * Fix some bugs and formatting indentation from last changelog 2002-03-20 14:38 UTC-0300 Walter Negro * source/rtl/tget.prg * Fix bug in PICTURE '@S' * source/rtl/tgetlist.prg * source/rtl/listbox.prg * source/rtl/checkbox.prg * Fix some bugs and formatting indentation from last changelog 2002-03-19 20:59 UTC+0100 Tomaz Zupan * contrib/odbc/odbc.c * Fix for compile error under Win32 2002-03-19 13:07 UTC+0100 Antonio Linares * source/vm/memvars.c * __MVSAVE() saves all variables (publics and privates) Of course if a public variable is overriden by a private one, the private value it is saved. I have not compared the saved files with Cl*pper ones. Once this is checked, then we may remove the SAVE TO entry from the TODO file. Notice that the code borrowed from [x]Harbour for this function, has been removed, as the function has been redesigned. 2002-03-19 11:36 UTC+0000 Dave Pearson * source/rtl/tbrowse.prg * Commented out calls to TRACELOG(). * source/rtl/tgetlist.prg * Commented out calls to TRACELOG(). 2002-03-19 09:30 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Some type casts to prevent errors under MSVC and gcc * source/rdd/dbcmd.c * Reverted changes of handling second parameter in Ordscope() 2002-03-18 19:30 UTC-0300 Luiz Rafael Culik * include/getexit.ch include/buttons.ch * Minor fixes 2002-03-18 12:56 UTC-0300 Luiz Rafael Culik * source/rtl/menuto.prg * Added mouse capabilities 2002-03-17 20:25 UTC-0300 Luiz Rafael Culik * source/rtl/listbox.org source/rtl/radiobtn.prg source/rtl/radiogpr.prg source/rtl/checkbox.prg source/rtl/tget.prg source/rtl/pushbtn.prg source/rtl/tbrowse.prg source/rtl/getsys.prg source/rtl/tgetsys.prg * Added the missing Clip53 Methods and Functions % minor fix to Clip53 classes 2002-03-18 18:52 UTC+0100 Antonio Linares * source/vm/extend.c ! Now all hb_ret...() and hb_pcount() functions are always exported 2002-03-18 14:35 UTC+0100 Antonio Linares * source/vm/macro.c ! Fixed bug in Macro Compiler where Field Assignment is compiled mistakenly as a Memvar Assignment. /* Bug reported by Gerhard ? on Harbour's List. */ change borrowed from [x]Harbour 2002-03-18 13:55 UTC+0100 Antonio Linares * source/vm/hvm.c * bug fix on codeblock execution memvars management * source/vm/memvars.c * bug fix in __MVSAVE() both changes borrowed from [x]Harbour. 2002-03-18 15:12 UTC+0300 Alexander Kresin * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c + Third parameter in dbseek() - bFindLast implemented. It's new Harbour feature - in Clipper 5.3 it was absent for dbfntx. + scopes implemented - you may now use ORDSCOPE() in DBFNTX. + new items added to ntxOrderInfo: DBOI_ISCOND, DBOI_ISDESC, DBOI_UNIQUE, DBOI_SCOPETOP, DBOI_SCOPEBOTTOM, DBOI_SCOPETOPCLEAR, DBOI_SCOPEBOTTOMCLEAR. * some cleanup. * source/rtl/set.c * Changed default value of SET AUTOPEN TO TRUE. * source/pp/pptable.c + Added command SET AUTOPEN [ ON,OFF ] * source/rtl/str.c * Added checking of parameters to be Clipper compatible Added possibility to omit second parameter, while third exists: Str( number,,dec ) 2002-03-18 01:48 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c + added compatibility with Clipper 5.3 (FlexFile) memo headers bug reported by Walter Negro. 2002-03-16 19:31 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug with keys updating 2002-03-15 08:50 UTC-0800 Ron Pinkas * contrib\dot\pp.prg * contrib\dot\pp_harb.ch * contrib\dot\prgscrpt.prg > Synched with latest PP from xHarbour. 2002-03-15 10:42 UTC+0300 Alexander Kresin * source/pp/pplib.c * removed ( commented ) setjmp/longjmp logic, because it caused GPF when "DEFAULT" was pressed after getting an error. It seems to me that __PreProcess() works right without setjmp/longjmp 2002-03-14 14:00 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! bug fixed in seeking, reported by Mikhail Malyh 2002-03-14 11:12 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! bug fixed, reported by Mikhail Malyh. It was related to COPY FIELDS ... TO command 2002-03-13 14:07 UTC-0800 Ron Pinkas * source/compiler/harbour.slx + Enabled support for TEXT ... ENDTEXT utilizing new hb_ppInsideTextBlock * source/compiler/harbour.sly ! Correted minor bug in GetA 2002-03-13 18:53 UTC+0300 Alexander Kresin * source/pp/ppcomp.c * bug fixed, related to 'ENDTEXT' position 2002-03-13 13:25 UTC+0300 Alexander Kresin * source/pp/ppcomp.c * source/pp/ppcore.c * source/pp/pptable.c * TEXT/ENDTEXT implemented * todo removed implemented items 2002-03-12 19:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * bug fixed, related to seeking in filtered database 2002-03-12 11:40 UTC+0300 Alexander Kresin * source/rtl/dbsdf.prg * bug fixed, reported by Mikhail Malyh 2002-03-10 15:25 UTC-0300 Luiz Rafael Culik * source/pp/pptable.c * Fixed command for SET PRINTER TO * source/rtl/set.c * Fixed The SET_PRINTFILE 2002-03-08 18:35 UTC-0500 Phil Barnett * utils/hbmake/hbmake.prg * Minor fix for Library names on linux section 2002-03-07 14:50 UTC+0300 Alexander Kresin * source/rtl/dbsdf.prg * bug fixed, reported by Mikhail Malyh * doc/en/compiler.txt * some formatting 2002-03-07 11:00 UTC+0100 Antonio Linares * source/rtl/persist.prg * Speed improvement on loading saved objects Memoline() use has been changed into Ingacio's ExtractLine() much faster function. 2002-03-07 12:56 UTC+0300 Alexander Kresin * source/vm/runner.c * Calls of hb_vmSend() are changed to hb_vmDo ( Ron's proposal ) * make_b32.bat * Added line 'SET BISON_SIMPLE=source\compiler\harbour.simple' * doc/en/compiler.txt * added information about /g... compiler switches 2002-03-05 21:25 UTC+0100 Antonio Linares * source/debug/dbgtarr.prg * some fixes on arrays debugging * source/rtl/persist.prg * some fixes on nested arrays recovering 2002-03-05 11:24 UTC+0300 Alexander Kresin * source/rtl/dbsdf.prg * Uncommented actual code ( forget to do it last time ), some fixes 2002-03-04 11:48 UTC-0300 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug seek and set deleted on, reported by Lorenzo Fiorini also fix bug with set filter ! fixed bug with ordkeyno() and ordkeycount(), reported by Manuel Mercado Gómez 2002-03-04 22:33 UTC+0100 Antonio Linares * source/rtl/set.c * some minor fixes on hb_setFreeSetPath() reported by Mike Romberg from sourceforge bugs report 2002-03-04 12:35 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, reported by Mike Romberg 2002-03-03 17:17 UTC-0800 Brian Hays * source/rtl/persist.prg * added 254 as linelength to MLCount call in LoadFromText so it matches later call to MemoLine * source\common\hbffind.c * fixed the "Directory() can't see files with cleared archive bits" problem. 2002-03-03 16:20 GMT-3 Luiz Rafael Culik * include/hbapifs.h + prototype for hb_fsPOpen() api * source/rtl/set.c source/rtl/filesys.c * Added Code to Support SET PRINTER TO PIPE Code provided by Przemyslaw CzerPak druzus@polbox.com * utils/hbmake/hbmake.prg * Minor fix for Library create response file for ar archiver * utils/hbmake/hbmutils.prg * minor fix for linux 2002-03-03 19:35 UTC+0300 Alexander Kresin * source/rtl/dbsdf.prg * Support of APPEND FROM ... SDF ... added 2002-03-03 12:26 UTC+0300 Alexander Kresin * source/pp/ppcore.c * bug fixed, reported by Walter Negro 2002-03-02 20:00 UTC-0300 Walter Negro * source\rtl\tget.prg * METHOD _Delete() * modification to be more Clip*r compliant and behaviour. * changes in the logic of the function. before, the function only erased the character under the cursor. now it drags the other characters. dragging is limited by the non editable characters. * METHOD Insert() * modification to be more Clip*r compliant and behaviour. * changes in the logic of the function. now insert a character and displaces to the right the rest of the characters until the first non editable character. * source\rtl\tgetlist.prg * METHOD GetPostValidate() * modification to be more Clip*r compliant and behaviour. - eliminate call to SetFocus() when BadDate = .T., this fix makes that the buffer is not erased if the date is incorrect. 2002-03-02 13:40 UTC-0300 Walter Negro * source\vm\classes.c * __objClone() * comment this line pDstObject->item.asArray.value->puiClsTree = NULL; because it's redundant with arrayClone(). see Changelog below. 2002-03-02 13:25 UTC-0300 Walter Negro * source\vm\arrays.c * Fixed hb_arrayClone() + Add line 777, was token from __objClone() and xHarbour. Thanks, Ron. 2002-03-01 15:00 UTC-0500 Jorge A. Giraldo * contrib\delphi\hbdll\bld_sdll.bat * -b option ommited, people expect a DLL without DOS debugger docs with some indications will explain this * some absolute paths changed to relative paths + contrib\delphi\hbdll\main.dfm + Delphi's main form, as a binary file, because it's a D3 form it will be compatible with newer Delphis ; Changes thanks to Alexander's feedback 2002-02-26 17:20 UTC-0500 David G. Holm * .cvsignore + Added freebsd and freebsd/* to the CVS ignore list. 2002-02-27 16:30 UTC-0500 David G. Holm * contrib/Makefile - Removed apollo from the w32 build path, because it now requires the use of third-party (Apollo) include files. 2002-02-27 01:27 UTC+0100 Maurilio Longo * harbour/source/rtl/tbrowse.prg ! fixed columns' width calc (quick and not very much tested) 2002-02-26 21:50 UTC+0100 Tomaz Zupan * include/hbapi.h * Added newline at the end to clear gcc warning 2002-02-26 14:15 UTC-0500 David G. Holm * source/common/hbstr.c ! Fix bug in hb_strAt when the source string matches more than one character (but less than all) in the search string. As reported by Sergej Linnik, "22345" $ "012223456789" was failing, but it now succeeds. Note: This also affects compiler optimizations, so be sure to rebuild the compiler before testing. 2002-02-26 15:40 UTC+0300 Alexander Kresin * source/pp/ppcore.c * bug fixed, reported by Lorenzo Fiorini 2002-02-26 11:53 UTC+0300 Alexander Kresin * source/pp/ppcore.c * bug fixed, reported by Walter Negro 2002-02-24 09:36 UTC+0100 Antonio Linares * source/debug/debugger.prg * Fixed bug when browsing vars reported by Jorge A. Giraldo 2002-02-24 09:34 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add two lines about the Delphi directory 2002-02-23 15:48 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! bug fixed in unique indexes creating, reported by Mikhail Malyh 2002-02-23 09:55 UTC+0100 Antonio Linares * source/debug/debugger.prg * Fixed bug when browsing vars reported by Jorge A. Giraldo 2002-02-21 18:10 UTC-0500 Jorge A. Giraldo * contrib\delphi\hbdll\start.bat * a small typo * contrib\delphi\hbdll\errorsys.prg * For a DLL there is not main procedure, there seems to be something to be fixed to avoid and invalid "+" operation when showing the called stack. A specific workaround is provided to fix the problem. * contrib\delphi\hbdll\EasyPath.dpr * Id included * contrib\delphi\hbdll\Main.pas * Id included + In case of an error, the QUIT from the DLL has been moved to Delphi. + Other small changes * contrib\delphi\hbdll\MyProg.prg * small changes 2002-02-21 06:00 UTC-0300 Walter Negro * source/rtl/tget.prg * METHOD ::ParsePict() - The change is because if ::Original it is not numeric, it would generate an error. - METHOD ::Undo() - Delete assignment to ::buffer because ::VarPut( ::Original, .t. ) makes this assignment. - METHOD ::VarPut() - Delete ::nDispLen := NIL line, because ::Picture() makes this assignment. - Revert changes of Ignacio Ortiz because the problem was with ::nDispLen and not with empty cPicture. - METHOD ::Block() - Delete ::nDispLen := NIL line, because ::Picture() makes this assignment. * METHOD ::Picture() - Add ::nDispLen := NIL line, reset the variable. Only ::ParsePict() can load a value that can differ of nMaxLen. ! METHOD ::KillFocus() - Change position of lines, hasfocus should be before the call to Putmask. This makes that in numeric fields, points or comas are not shown before the numbers. 2002-02-20 20:10 UTC-0500 David G. Holm * doc/howtocvs.txt ! I updated my "How I got SSH and CVS to work together" procedure based on information that was provided by "Jorge A. Giraldo" 2002-02-19 21:55 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Fixed remaining bug as reported by Chen 2002-02-19 17:45 UTC+0100 Ignacio Ortiz * source/rtl/Tget.prg * Fixed bug reported by Lorenzo Fiorini 2002-02-19 10:40 UTC+0100 Ignacio Ortiz * source/rtl/Tget.prg * source/rtl/Tgetlist.prg * Minor modifications proposed by Walter Negro * Fixed bug on numeric fields with picture clause 2002-02-19 10:22 UTC+0100 Antonio Linares * source/pp/ppcore.c * minor fix borrowed from [x]Harbour Many thanks to Ron It fixes this kind of code: #xcommand INIT[] ; =>; ::New( ) function Main() INIT["test"] return nil 2002-02-18 23:41 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg utils/hbmake/hbmtuils.prg * Fixed minor bugs reported bu Chen 2002-02-19 00:05 UTC+0100 Martin Vogel + contrib/libct/ftoc.c + FTOC() and CTOF() functions, implemented by Walter + contrib/libct/misc1.c + XTOC() function, implemented by Walter + contrib/libct/tab.c + contrib/libct/tests/tab.prg + TABPACK() and TABEXPAND() functions * contrib/libct/charonly.c * contrib/libct/charrepl.c * contrib/libct/remove.c * bug fixes, functions crashed when zero-length-strings were passed as parameters 2002-02-18 15:35 UTC-0500 David G. Holm * source\common\hbgete.c ! Type fix for IBM OS/2 C++ compiler (works with GCC also). 2002-02-18 14:01 UTC+0100 Maurilio Longo * source/rtl/tbrowse.prg ! fixed columns footing handling * source/rtl/tbcolumn.prg ! fixed columns footing handling 2002-02-18 10:42 UTC+0200 Chen Kedem * doc/en/string.txt + AT() : Add note about Harbour extension in the $COMPLIANCE$ section ! Minor samples corrections * Line formating * doc/en/dir.txt * doc/en/file.txt * doc/en/misc.txt * doc/en/rdddb.txt * doc/en/terminal.txt * doc/en/tlabel.txt * doc/en/treport.txt * Mostly line formating 2002-02-17 20:30 UTC-0300 Walter Negro * source/vm/itemapi.c ! hb_itemStr() - Eliminated the limit of 9 decimals if not SET FIXED ON ! hb_itemStr() - Rounded starting from 17th less significant number. This is the behavior of Clipper. Ex: Before ? str( 1191.63, 20, 15 ) -> 1191.629999999999882 Now ? str( 1191.63, 20, 15 ) -> 1191.630000000000000 * source/rtl/val.c ! hb_strVal() - Change dValue from double to long double. This allows that the string-number conversions are same for program and for compilation. ? ( val("1191.63") == 1191.63 ) -> TRUE 2002-02-17 20:20 UTC+0100 Tomaz Zupan *include/hbpcode.h *Added newline at the end to clear gcc warning 2002-02-16 20:25 UTC-0500 Jorge A. Giraldo Harbour to Delphi integration + Added contrib\delphi dir + Added contrib\delphi\hbdll dir + Added contrib\delphi\hbdll\start.bat + Added contrib\delphi\hbdll\bld_sdll.bat + Added contrib\delphi\hbdll\myprog.prg + Added contrib\delphi\hbdll\macrcall.c + Added contrib\delphi\hbdll\errorsys.prg + Added contrib\delphi\hbdll\easypath.dpr + Added contrib\delphi\hbdll\main.pas 2002-02-14 20:50 UTC+0300 Alexander Kresin * source/vm/arrayshb.c ! Adel() fixed - second parameter = 1 by default 2002-02-11 12:15 UTC+0100 Ignacio Ortiz * source/rtl/Tget.prg * Minor modifications proposed by Walter Negro 2002-02-11 05:30 UTC+0100 Antonio Linares * contrib/hgf/win32/make_b32.bat * contrib/hgf/win32/makefile.bc * contrib/hgf/win32/makefile.vc * some minor fixes 2002-02-10 18:50 UTC+0300 Alexander Kresin * source/vm/runner.c * source/vm/dynlibhb.c ! Fixed problems with hb_strupr( ( hb_parc(1) ) by using hb_strdup() * source/rdd/workarea.c ! Fixed a bug in hb_waAddField() 2002-02-10 16:00 UTC+0100 Antonio Linares * include/hbapi.h * source/vm/debug.c * source/vm/hvm.c * source/vm/itemapi.c * struct hb_struString bPcode member renamed as bStatic Thanks to Ron for this name, which is more appropiate 2002-02-10 12:08 UTC+0100 Antonio Linares * source/rtl/dbedit.prg * Bug fixed reported by Bill Smith 2002-02-09 14:12 UTC-0800 Ron Pinkas * source/compiler/hbgenerr.c ! Fixed incorrect position of "4Suspicious operand type: \'unknown\' expected: \'%s\'". 2002-02-09 20:10 UTC+0300 Alexander Kresin * source/vm/runner.c * Few bugs fixed, related to errors handling 2002-02-09 16:04 UTC+0100 Maurilio Longo * source/rtl/dbedit.prg ! fixed acColumns handling 2002-02-09 11:24 UTC+0100 Antonio Linares * source/vm/runner.c * Some MSVC castings required added 2002-02-09 11:03 UTC+0100 Antonio Linares * source/vm/hvm.c ! hb_strUpper() call for pcode strings bug fixed 2002-02-08 22:45 UTC+0300 Alexander Kresin * source/vm/runner.c * Bug fixed, which caused GPF in case of using a call of undefined function * include/hbextern.ch * added definitions of new __hrb... functions for providing possibility to call them from .hrb . 2002-02-07 20:48 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Some cleanup. 2002-02-06 22:42 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Bug fixed, reported by jhncon 2002-02-06 08:34 UTC+0100 Maurilio Longo * source/rtl/tbrowse.prg ! fixed ::aRedraw handling inside ::Stabilize() 2002-02-05 21:22 UTC+0100 Tomaz Zupan * contrib/odbc/Makefile * contrib/odbc/odbc.c * contrib/odbc/todbc.prg * Aded support for linux to odbc library 2002-02-05 15:13 UTC+0100 Maurilio Longo * source/rtl/tbrowse.prg ! fixed columns width handling when there are frozen columns + columns' width get evaluated just before first TBrowse ::Stabilize() + little changes to optimize speed * source/rtl/tbcolumn.prg ! more clipper compatible (cannot set column width to nil) 2002-02-05 13:39 UTC+0000 Dave Pearson * include/hbapi.h * include/hbapiitm.h * Added final EOLs to file. GCC warns if they're not there. 2002-02-05 02:04 UTC-0300 Horacio Roldan * source/rdd/dbf1.c ! reverted changes to hb_dbfGoTo * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug with bof flag 2002-02-04 22:20 UTC-0300 Luiz Rafael Culik * source/vm/hvm.c * source/vm/classes.c ! fixed bug where object overloading was using modulus in place of power for "**" expression * source/vm/runner.c ! added mscv needed type casting to lines 515 & 516 2002-02-01 17:14 UTC-0300 Horacio Roldan * source/rdd/dbf1.c ! fixed bof bug in hb_dbfGoTo and hb_dbfSkipRaw 2002-02-04 22:20 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c * Bug fixed, reported by Lorenzo Fiorini 2002-02-04 20:15 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * Fix for hb_dbfGoTo(), posted by Horacio Roldan 2002-02-04 16:45 UTC+0100 Ignacio Ortiz * source/rtl/Tget.prg * source/rtl/Tgetlist.prg * Minor modifications proposed by Walter Negro 2002-02-04 13:50 UTC+0100 Ignacio Ortiz * source/rtl/memoline.c * source/rtl/mlcount.c * Disable limitation of string length to 254 when no HB_C52_STRICT used. * source/rtl/at.c * source/source/compiler/Hbfuncchk.c * doc/en/string.txt * Two new parameters nStart & nEnd of At() function when no HB_C52_STRICT used. * source/rtl/Tget.prg * Minor modification on VarPut() method proposed by Walter Negro 2002-02-04 13:12 UTC+0300 Alexander Kresin * source/vm/runner.c * warnings and bug fixed 2002-02-02 11:40 UTC+0300 Alexander Kresin * source/compiler/genhrb.c * source/vm/runner.c * Creating/checking signature and version number for .hrb file. It is: \192 + 'H' + 'R' + 'B' then 2 byte version number, currently - 2 * include/hbrddntx.h * source/rdd/dbfntx/dbfntx1.c * some fixes and additions - DESCENDING clause works now. 2002-02-01 08:57 UTC-0300 Horacio Roldan * source/rdd/dbf1.c ! fixed bug with flags in hb_dbfGoTo 2002-02-01 19:35 UTC+0300 Alexander Kresin * source/vm/runner.c * some of TODO items implemented. New functions added: __HRBLOAD(), __HRBDO(), __HRBUNLOAD(), __HRBGETFU(), HRBDOFU() Now it became possible to use hrb files like pcode DLLs: hrbLib := __hrbLoad( "Mylib.hrb" ) hFu1 := __hrbGetFu( hrbLib,"fu1" ) __hrbDoFu( hFu1 ) ... __hrbUnload( hrbLib ) 2002-02-01 10:30 UTC-0300 Horacio Roldán * utils/hbmake/hbmake.prg utils/hbmake/hbmutils.prg * Better support for big project(Read and Generations) From Luiz Rafael Culik 2002-02-01 12:10 UTC+0100 Ignacio Ortiz * source/rtl/transfrm.c * Memory buffer overflow reported by Lorenzo Fiorini 2002-02-01 12:00 UTC+0100 Antonio Linares * include/hbexpra.c * Temporary workaround for the "EVAL" bug 2002-02-01 09:32 UTC+0100 Antonio Linares * source/vm/extend.c * some minor fixes on HB_TRACE() supplied params * source/rtl/strings.c * source/rtl/strings.c ! hb_strnicmp() fixed, now it's compatible with strnicmp(). This fixes the previous fix in hvm.c which uses hb_strnicmp() And it also fixes a few functions which also used this: ISPRINTER(), HB_ARGCHECK(), HB_ARGSTRING() This fix has been implemented by Viktor 2002-02-01 07:43 UTC+0100 Antonio Linares * source/vm/codebloc.c * Some minor fixes implemented by Ron 2002-02-01 07:05 UTC+0100 Antonio Linares * source/rtl/strcase.c * Faster Upper() and Lower() as they use now hb_retclen_buffer() * source/rtl/hardcr.c * Faster HardCR() as it uses now hb_retclen_buffer() These changes have been implemented by Viktor 2002-02-01 06:50 UTC+0100 Antonio Linares * source/vm/hvm.c * some minor fix in hb_vmPushAliasedVar() from Viktor CVS, but reverted as it seems it is wrong. 2002-01-31 17:35 UTC+0100 Antonio Linares * source/vm/arrays.c * bug fixed from HB_GARBAGE_FUNC( hb_arrayReleaseGarbage ) when releasing string items 2002-01-31 13:50 UTC+0100 Ignacio Ortiz * source/rtl/descend.c * source/rtl/memoline.c * source/rtl/saverest.c * source/rtl/mouseapi.c * hb_xgrab( ulLen + 1 ) ! This bug was generating a memory buffer overflows error 2002-01-31 12:55 UTC+0100 Antonio Linares * source/rtl/descend.c * zero ended string added ! This bug was generating a memory buffer overflows error 2002-01-31 08:40 UTC-0300 Horacio Roldan * source/rdd/dbfcdx1.c ! fixed bug with append and empty keys 2002-01-31 12:21 UTC+0100 Antonio Linares * source/rtl/memoline.c * zero ended string added ! This bug was generating a memory buffer overflows error 2002-01-31 08:00 UTC+0100 Antonio Linares * source/vm/hvm.c - removed two uneeded calls to hb_itemClear() from hb_vmOperatorCall() and hb_vmOperatorCallUnary() Notice: hb_itemCopy( pDest, pOrigin ) already performs a hb_itemClear( pDest ), so there is no need to do this: hb_itemClear( pDest ); <<< This is not needed hb_itemCopy( pDest, pOrigin ); 2002-01-30 22:40 UTC+0100 Antonio Linares * include/hbexprc.c * some minor fixes regarding strings sharing implementation 2002-01-30 16:25 UTC+0100 Antonio Linares * include/hbexprb.c * macros using "." bug fixed (reported by Matteo Bacan) 2002-01-30 11:30 UTC+0100 Antonio Linares * include/hbpcode.h * source/compiler/genc.c * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/vm/hvm.c * source/vm/macro.c + Added support for HB_P_MPUSHSTR Notice: These changes have been borrowed from xHarbour, as they fix the bug that xHarbour strings sharing introduced in Harbour (for macro strings). Copyright of this xHarbour bug and bug fix: Ron Pinkas. * source/vm/classes.c * source change re-implemented, that was lost cause using Viktor classes.c 2002-01-30 12:30 UTC+0200 Chen Kedem * source/vm/arrayshb.c * HB_AEXPRESSIONS() - The reported error code was 1123 (which belong to AADD()), since this function is an Harbour extension it should use error code > 3000. Changed into 9999 * source/vm/extend.c * source/vm/itemapi.c + Add EOL to the last line * source/vm/macro.c ! hb_macroCheckParam() - Wrong error code 1080 is used, changed into 1065 * source/vm/memvars.c + Add comment to __MVSAVE(), __MVRESTORE() that error code 2008 is undocumented in 5.2e and 5.3 2002-01-30 09:30 UTC+0100 Antonio Linares Notice: All these changes have been done by Viktor Implemented here with his permission * source/rtl/strzero.c * source/rtl/str.c * source/rtl/valtostr.c % Calling hb_retc*_buffer() to speed up things. * source/rtl/gete.c % Calling hb_retc*_buffer() to speed up things. % Calling hb_retc( NULL ) * source/rtl/oldbox.c * source/rtl/mpostolc.c * source/rtl/mlpos.c * source/rtl/mlctopos.c * source/rtl/mlcount.c * source/rtl/memoline.c % "ISCHAR( 1 ) ? hb_parc( 1 ) : """ optimized to plain hb_parc( 1 ) since in Harbour it automatically returns "" when !ISCHAR(1). * source/pp/pplib.c * source/rdd/dbcmd.c * source/rtl/colorind.c * source/rtl/datec.c * source/rtl/descend.c * source/rtl/fkmax.c * source/rtl/gete.c * source/rtl/hardcr.c * source/rtl/memofile.c * source/rtl/memoline.c * source/rtl/mtran.c * source/rtl/natmsg.c * source/rtl/net.c * source/rtl/oemansi.c * source/rtl/padc.c * source/rtl/padl.c * source/rtl/padr.c * source/rtl/philes.c * source/rtl/replic.c * source/rtl/right.c * source/rtl/set.c * source/rtl/space.c * source/rtl/str.c * source/rtl/strtran.c * source/rtl/strzero.c * source/rtl/stuff.c * source/rtl/substr.c * source/rtl/transfrm.c * source/rtl/trim.c * source/vm/classes.c * source/vm/cmdarg.c * source/vm/dynsym.c * source/vm/proc.c % hb_retc( "" ) calls optimized to hb_retc( NULL ) which will have the same effect, but it will generate a constant string item, instead allocating a memory buffer for the empty string, thus saving a hb_grab() call, some memory, and lessen the memort fragmentation. ; Note that CA-Cl*pper will also accept NULL as a parameter for _retc(), and it will be also a bit faster. This fact is undocumented though. * source/vm/itemapi.c * include/hbapiitm.h % hb_itemPutC*() functions optimized, so that they will assign a constant buffer when receiving a NULL string and thus storing an empty string ("") to the string item. Callers are encouraged to call this function (and hb_retc(), too) with a NULL instead of "" to allow this optimization for Harbour. + hb_itemPutCConst() API function added, which can set a string to a const buffer, which doesn't need to be freed, just like if it would point to a string stored in the pcode. The caller must make sure that the buffer is terminated with zero byte. * source/vm/extend.c * include/hbapi.h + hb_retc_buffer() + hb_retc_const() + hb_retclen_buffer() Three new functions, which can optimize out some memory allocations/deallocations in frequently called Harbour RTL functions, in this situation: --------------------------- char * buffer = hb_xgrab(); ... hb_retclen( buffer, len ); hb_xfree( buffer ); --------------------------- the above becomes: --------------------------- char * buffer = hb_xgrab(); ... hb_retclen_buffer( buffer, len ); --------------------------- and one pair of mem function calls is ruled out. * source/rtl/ampm.c * source/rtl/descend.c * source/rtl/langapi.c * source/rtl/memofile.c * source/rtl/memoline.c * source/rtl/mouseapi.c * source/rtl/mtran.c * source/rtl/oemansi.c * source/rtl/padc.c * source/rtl/padl.c * source/rtl/padr.c * source/rtl/philes.c * source/rtl/replic.c * source/rtl/saverest.c * source/rtl/space.c * source/rtl/strtran.c * source/rtl/stuff.c * source/rtl/transfrm.c * source/rtl/version.c * The above optimization implemented in Harbour. AMPM(), DESCEND(), LANGNAME(), MEMOREAD(), MEMOLINE() MSAVESTATE(), HB_ANSITOOEM(), HB_OEMTOANSI(), PADC(), PADR(), PADL(), FREADSTR(), REPLICATE(), SAVESCREEN(), SPACE(), STRTRAN(), STUFF(), TRANSFORM(), OS(), HB_COMPILER(), VERSION() are now faster. 2002-01-29 20:15 UTC+0100 Antonio Linares * include/hbapi.h * source/vm/extend.c * hb_retcconst() and hb_retcbuffer() renamed into hb_retc_const() and hb_retc_buffer() as per Viktor's instructions. 2002-01-29 10:00 UTC+0100 Antonio Linares * source/vm/extend.c + New functions hb_retcbuffer() and hb_retcconst() added * source/vm/itemapi.c + New function hb_itemPutCConst() added * include/hbapi.h + Added prototypes for hb_retcbuffer() and hb_retcconst() * include/hbapiitm.h + New hb_itemPutCConst() prototype added 2002-01-29 08:48 UTC+0000 Dave Pearson * source/vm/hvm.c * Removed unused szTemp variable from hb_vmPushStringPcode. 2002-01-28 22:52 UTC-0800 Brian Hays * contrib/hbzlib/makefile2.bc * minor cleanup of paths. * source/rtl/persist.prg * added 254 as linelength arg for memoline parsing in LoadFromText() 2002-01-28 21:30 UTC+0100 Patrick Mast * contrib/mysql/tmysql + Added DateTime field * Added more info on Alert message for Unknown type * Modified ClipValue2SQL() to process empty strings 2002-01-28 20:43 UTC+0100 Patrick Mast * contrib/mysql + Added CLEAN to make_b32.bat 2002-01-28 17:00 UTC+0100 Ignacio Ortiz * source/vm/hvm.c * New define (HB_GUI) to avoid the call to hb_InkeyPoll() on GUI apps. 2002-01-28 12:36 UTC+0100 Ignacio Ortiz * source/rtl/tget.prg * Bug fixed in VarPut() method, reported by Lorenzo Fiorini 2002-01-28 14:21 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * Bug fixed in dbfGetMemo(), reported by Jos© Luis Capel 2002-01-28 13:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in ntxGoBottom(), reported by Lorenzo Fiorini 2002-01-27 22:55 UTC+0300 Alexander Kresin * source/vm/hvm1.c * Bug fixed in hb_vmSend() - thanks to Ron Pinkas * source/rdd/dbfntx/dbfntx1.c * hb_vmDo() calls are replaced by hb_vmSend() 2002-01-27 18:30 UTC+0100 Antonio Linares * include/hbapi.h * some minor fixes to use C compiler define -DHB_API_MACROS Notice: Using -DHB_API_MACROS C compiler define, results in a faster application execution! 2002-01-27 19:35 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, reported by Lorenzo Fiorini * UNIQUE indexes creation implemented 2002-01-27 10:30 UTC+0100 Antonio Linares ! Strings sharing and strings pcode based implementation * harbour/include/hbapi.h + Two new members added to struct hb_struString * harbour/include/hbexprb.c * Compiler expressions optimizer modified to return a final zero for pcode strings. * harbour/include/hbvm.h + Added hb_vmPushStringPcode() prototype * harbour/source/vm/arrays.c * harbour/source/vm/debug.c * minor fixes related to strings sharing * harbour/source/vm/hvm.c + hb_vmPushStringPcode() implementation and use since HB_P_PUSHSTR and HB_P_PUSHSTRSHORT. * hb_vmPlus() and hb_vmMinus() adapted to strings sharing * hb_vmPushString() adapted to strings sharing * harbour/source/vm/itemapi.c * hb_itemPutC(), hb_itemPutCL(), hb_itemPutCPtr(), hb_itemCopy(), hb_itemClear() adapted to strings sharing and strings pcode based Based on an original idea from Ron Pinkas. Some little portions are borrowed from xHarbour. 2002-01-26 13:03 UTC+0100 Patrick Mast * Changed enttry in Changelog 2002-01-25 22:30 from Alexander to Luiz 2002-01-25 22:30 UTC-0300 Luiz Rafael Culik +contrib/hbzlib added source code for ziparchive.lib File names bellow stdafx.cpp ziparchive.cpp zipautobuffer.cpp zipcentraldir.cpp zipcollections.cpp zipcompatibility.cpp zipexception.cpp zipfile.cpp zipfileheader.cpp zipinternalinfo.cpp zipmemfile.cpp zippathcomponent.cpp zipplatform.cpp zipplatformcomm.cpp zipstorage.cpp stdafx.h zipabstractfile.h ziparchive.h zipautobuffer.h zipbaseexception.h zipcentraldir.h zipcollections.h zipcompatibility.h zipexception.h zipfile.h zipfileheader.h zipfilemapping.h zipinternalinfo.h zipmemfile.h zippathcomponent.h zipplatform.h zipstorage.h zipstring.h clickout adler32.c compress.c crc32.c deflate.c gvmat32c.c infblock.c infcodes.c inffast.c inflate.c inftrees.c infutil.c maketree.c trees.c uncompr.c zutil.c gzio.c deflate.h infblock.h infcodes.h inffast.h inffixed.h inftrees.h infutil.h trees.h zlib.h zutil.h zconf.h ziparchivemt.mak ziparchive2.mak +contrib/hbzlib/ziparchivemt.mak +contrib/hbzlib/ziparchive2.mak *makefile file for ziparchive.lib(MT and standartone *contrib/hbzlib/zipnew.cpp * All calls to hb_itemArrayPut() replaced with hb_arraySet() 2002-01-25 21:35 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Few type casts for MSVC 2002-01-25 19:00 UTC+0100 Antonio Linares * source/vm/eval.c + New function HB_ForNext() added Syntax: HB_ForNext( nStart, nEnd | bEnd, bCode [, nStep ] ) * bCode receives the nIndex of the For...Next loop as a parameter: { | nIndex | ...code... } 2002-01-25 18:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Few bugs fixed * Implemented indexing of a very big files, which keys aren't fit in memory. 2002-01-25 14:25 UTC+0000 Dave Pearson * tests/testpers.prg - Removed the use of cName, it hasn't been supported for a long time and it was stopping this test from working. 2002-01-25 14:35 UTC+0100 Antonio Linares * include/hbexprb.c * include/hbexprc.c * proper generation (placement) of HB_P_SEND opcode * include/hbvm.h - hb_vmMessage() prototype removed * source/vm/classes.c - hb_vmMessage() use removed * source/vm/hvm.c * HB_P_SEND now invokes hb_vmPushSymbol() - function hb_vmMessage() completely removed 2002-01-25 00:40 UTC-0800 Brian Hays * source/rtl/persist.prg * added arg to StrTran in LoadFromText() to limit conversion of "=" to ":=" to only the first instance, so data containing a "=" doesn't get changed * fixed ValToText() so data containing embedded quotes doesn't blow up (because it gets wrapped in quotes to save it). Tests if the string contains a " and uses single quotes instead, or use [] if it contains both. Future enhancement should cover if contains all 3.... * contrib/rdd_ads/adsfunc.c * Added wrapper for AdsDisconnect( ) (from Charles Kwon) 2002-01-24 17:53 UTC+0000 Dave Pearson * include/hbpcode.h * Fixed some spelling errors in the pcode comments. 2002-01-24 10:27 UTC+0000 Dave Pearson * source/rtl/profiler.prg * HBProfileLowLevel:gatherOPCodes() wasn't making a call to HBProfile:ignoreSymbol() to allow for opcode filtering in sub classes. Fixed. * Improved the formatting of OPCODE names so that they sort properly. 2002-01-24 10:03 UTC+0000 Dave Pearson * source/rtl/profiler.prg + Added class HBProfileOPCode. + Added class HBProfileLowLevel. It inherits from HBProfile and adds OPCODE usage entries. 2002-01-19 06:11 UTC-0800 Ron Pinkas * contrib/dot/pp_harb.ch + #ifdef __XHARBOUR__ to protect xHarbour fastitem reliance. 2002-01-23 23:00 UTC+0100 Antonio Linares * source/vm/hvm.c + Added support for opcodes profiling + New functions __OPCOUNT() and __OPGETPRF() Syntax: __OpCount() --> __OpGetPrf( ) --> { , } 2002-01-23 09:40 UTC-0500 Paul Tucker * source\common\hbffind.c * Since I had used an undocumented 0x04000 as an attribute check. * it was causing trouble. Fixed. 2002-01-23 09:10 UTC-0500 Paul Tucker * source\common\hbffind.c * removed extra comment marker. 2002-01-22 22:30 UTC-0500 Paul Tucker * source\common\hbffind.c * It seems that at some point prior to the release of Win2k, MS * changed the definition of FILE_ATTRIBUTE_ENCRYPTED from * 0x00004000 to 0x00000040 * If you installed the Release Win2k over a beta or RC version of * the O/S, then Harbour's directory() will show an attribute of * 'I' for Encrypted files. Otherwise, it will show 'E'. It seems * that the only way to corect this is to reinstall the OS fresh. * (This text is subject to correction if anyone has a better description) 2002-01-22 20:30 UTC-0300 Luiz Rafael Culik * source/common/hbffind.c * Fixes for linux + doc\es\idle.txt + doc\es\codebloc.txt + doc\es\dbstrux.txt + doc\es\hbpplib.txt + doc\es\clipper.txt + doc\es\pcode.txt + doc\es\pragma.txt + doc\es\statics.txt + doc\es\tracing.txt + doc\es\vm.txt + doc\es\howtobsd.txt + doc\es\harbext.txt + doc\es\cmdline.txt + doc\es\simplex.txt + doc\es\dirstruc.txt + doc\es\readme.txt + doc\es\strotype.txt + doc\es\dbdelim.txt + doc\es\dbsdf.txt * Doc translation to spanish provided by Alejandro de Garate 2002-01-22 10:37 UTC+0100 Antonio Linares * source/vm/hvm.c * Fixed a minor error on hb_vmPopDate() caused by yesterday changes 2002-01-22 10:20 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * bug fixed, reported by Jorge A. Giraldo 2002-01-21 00:19 UTC+0100 Maurilio Longo * include/hbstack.h ! fixed a few errors inside macro definition of stack operations -DHB_STACK_MACROS defined ed 2002-01-21 17:25 UTC-0300 Horacio Roldan * source/common/hbfhnd.c ! was not working for bcc32 since last change. fixed Reported by Lorenzo Fiorini 2002-01-21 17:00 UTC-0500 David G. Holm * config/dos/bcc16.cf ! Force a minimum symbol length of 48 characters, due to the length of some the class member function names in source/rtl/profiler.prg. ! Added the library name conversion to remove the LIB prefix in one spot that I had missed the first time around. ! LINKLIB contents were being replaced instead of accumulating, with the result that no CONTRIBS libraries were included. * contrib/libgt/make_b32.bat * contrib/libgt/make_vc.bat ! Corrected batch files to move the library using the corrected name. 2002-01-21 23:24 UTC+0300 Alexander Kresin * include/hbextern.ch * minor fix, hbrun now works better ( thanks to Viktor Szakats ). 2002-01-21 17:51 UTC+0100 Antonio Linares * source/vm/hvm.c * hb_stackTopItem() use execution speed optimizations on: HB_P_TRUE HB_P_FALSE HB_P_ONE HB_P_ZERO HB_P_PUSHBYTE HB_P_PUSHINT hb_vmPushLogical() hb_vmPushInteger() hb_vmPushLong() hb_vmPushLongConst() hb_vmPushDouble() hb_vmPushDoubleConst() hb_vmPushDate() hb_vmPushPointer() hb_vmPushBlock() hb_vmPushBlockShort() hb_vmPushMacroBlock() hb_vmPushAlias() hb_vmPopDate() hb_vmPopLocal() 2002-01-21 15:34 UTC+0100 Antonio Linares * source/vm/hvm.c * Improved hb_vmPushString() for execution speed 2002-01-21 14:54 UTC+0100 Antonio Linares * source/vm/hvm.c * Improved hb_vmPushSymbol() for execution speed and some minor fixes 2002-01-21 14:36 UTC+0100 Antonio Linares * source/vm/hvm.c * Improved HB_P_SENDSHORT for execution speed. 2002-01-21 14:06 UTC+0100 Antonio Linares * source/vm/hvm.c * Improved HB_P_SEND for execution speed. 2002-01-21 13:52 UTC+0100 Antonio Linares * source/vm/hvm.c * if() used at HB_P_FUNCTIONSHORT to avoid a hb_itemClear() call when not needed to improve execution speed. 2002-01-21 13:42 UTC+0100 Antonio Linares * source/vm/hvm.c * if() used at HB_P_FUNCTION to avoid a hb_itemClear() call when not needed to improve execution speed. 2002-01-21 13:12 UTC+0100 Antonio Linares * source/vm/hvm.c * Improved hb_vmMessage() for execution speed. 2002-01-21 12:39 UTC+0100 Antonio Linares * source/vm/hvm.c + New hb_vmIncDouble() and hb_DecDouble() used from hb_vmInc() and hb_vmDec(), as proposed by Matteo Baccan, to improve execution speed. 2002-01-21 11:48 UTC+0100 Antonio Linares * source/vm/classes.c * hb_arraySet() used instead of hb_itemArrayPut() to improve execution speed. 2002-01-21 10:10 UTC+0300 Alexander Kresin * source/vm/hvm.c * source/vm/memvars.c * Added resetting of HB_IT_MEMOFLAG in functions: hb_vmArrayPop(), hb_vmPopLocal(), hb_vmPopStatic(), hb_memvarSetValue() * source/rdd/dbfntx/dbfntx1.c * Added support of DBOI_POSITION and DBOI_KEYCOUNT to ntxOrderInfo() and empty prototypes of hb_ntxTagKeyNo(), hb_ntxTagKeyCount() 2002-01-20 13:29 UTC+0100 Patrick Mast + Added ChangeLog to the /contrib/apollo dir + contrib/apollo/test/apollo.ch + defines for function sx_SysProp * contrib/apollo/test/apollo.prg Added define "Apollo.ch" * contrib/apollo/apollo1.prg + Added function sx_GetVal() * contrib/apollo/apollo.c + Added function sx_SetOrder() + Added function sx_Select() + Added function sx_SysProp() 2002-01-20 08:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * contrib/dot/pp.txt * contrib/dot/pp_harb.ch * Synched with source of RC-2 of xBaseScript ( http://SourceForge.net/Projects/xBase-Script ) 2002-01-19 06:11 UTC-0800 Ron Pinkas * source/compiler/harbour.slx ! Minor bug correction. 2002-01-20 13:00 UTC+0100 Martin Vogel + contrib/libct/bit1.c + number and bit manipulation functions NUMAND(), NUMOR(), NUMXOR() NUMNOT(), NUMROL(), NUMMIRR() equivalents to original CT3 + contrib/libct/bit3.c + number and bit manipulation functions NUMANDX(), NUMORX(), NUMXORX() NUMNOTX(), NUMROLX(), NUMMIRRX() enhanced functions, working on any bit range from 1 to 32 all provided by Walter Negro - FOEESITRA * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/ctflist.txt * changes according to the above 2002-01-19 17:55 UTC-0300 Horacio Roldan * source/rdd/dbfcdx1.c ! speed boost for ordKeyNo() and ordKeyCount() 2002-01-19 13:39 UTC-0300 Horacio Roldan * source/rdd/dbfcdx1.c ! fixed a bug in descending skipping + added support for ordKeyNo() and ordKeyCount() 2002-01-19 08:00 UTC+0700 Andi Jahja * source/rtl/typefile.prg * modification to be more Clip*r compliant and behaviour. 2002-01-19 05:00 UTC+0700 Andi Jahja * include/hbexpra.c * source/vm/hvm.c * Optimized Eval() processing, and added support for bBlock:Eval(). * tests/speed.prg * Test program for bBlock:Eval(). Time consumed, previously: 11.59 secs now : 5.06 secs Environment: 1 GHz, 128 MB, BCC 5.5.1, SimpLex and -DHB_FM_STATISTICS_OFF 2002-01-18 17:45 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * support of EVAL and EVERY clauses of INDEX ON command implemented 2002-01-18 13:42 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * WHILE, etc, conditions support implemented (DBFNTX ) 2002-01-17 14:15 UTC-0500 David G. Holm * contrib/Makefile + Added platform checks to determine which libraries to build. * include/hbver.h * Identify what my OS/2 38.1 builds are based on. 2002-01-17 21:50 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbcmd.c ! a bug fixed, related to conditional indexing 2002-01-17 15:32 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * include/hbrddntx.h * FOR condition support implemented ( DBFNTX ) 2002-01-16 00:14 UTC+0100 Maurilio Longo * common/hbgete.c ! fixed warning on DosScanEnv() call 2002-01-16 17:21 UTC-0300 Horacio Roldan * source/rdd/dbfcdx1.c * fixed some simple warnings by bcc32 (with -w) * fixed 3 bugs with index not updating the tree 2002-01-16 11:10 UTC-0500 David G. Holm * contrib/libct/charsort.c ! OS/2 IBM C++ fix. 2002-01-16 05:00 UTC+0700 Andi Jahja * source/rtl/typefile.prg * cBuffer not initialized, fixed. 2002-01-16 00:44 UTC+0100 Maurilio Longo * common/hbffind.c ! DosFindFirst() call on OS/2 section of file was wrong (parameter findcount was not set to any correct value) NOTE: OS/2 builds of Alpha 38 _are broken_ because of this bug 2002-01-15 22:30 UTC+0300 Alexander Kresin * contrib/rdd_ads/ads1.c * Added virtual method adsExit() with a call of AdsApplicationExit() 2002-01-15 20:40 UTC+0300 Alexander Kresin * source/pp/ppcore.c ! bug fixed, reported by Juan Agustin Barriga 2002-01-15 11:25 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! bug fixed, reported by Wilson 'W' Gamboa A ( indexing of an empty dbf ) 2002-01-14 21:53 UTC-0500 Paul Tucker * source\common\hbffind.c * replaced 3 literals with proper defines * minor formatting. 2002-01-14 21:32 UTC-0500 Paul Tucker * source\rtl\direct.c * updated default flags to include ReadOnly 2002-01-14 19:15 UTC-0500 David G. Holm * contrib/libct/files.c ! RSXNT fixes. * contrib/libct/keyset.c ! DOS BCC fixes. * contrib/libgt/Makefile * contrib/libgt/makefile.bc * contrib/libgt/makefile.vc ! Renamed the GT library file from libgt to gt in order to match the library file renaming for the libct and libmisc libraries. * source/common/hbffind.c ! DOS BCC fixes. * source/common/hbfhnd.c ! DOS BCC fixes. * source/common/hbgete.c ! OS/2 IBM C++ fix. * source/rtl/filehb.c ! OS/2 IBM C++ fix. 2002-01-14 15:05 UTC-0500 Paul Tucker * source\common\hbffind.c * Added missed Attribute check (thanks Victor) 2002-01-14 14:30 UTC-0500 Paul Tucker * source\rtl\direct.c * updated notes and TODO's 2002-01-14 10:40 UTC-0500 Paul Tucker * source\common\hbffind.c * source\rtl\direct.c * modified for correct operation under NT * including addition of extended file attributes 2002-01-12 19:00 UTC+0500 Phil Barnett * tagged cvs with build38 and lifted cvs freeze 2002-01-12 14:20 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! bug fixed, reported by Ramon F. Jaquez 2002-01-11 08:10 GMT-3 Luiz Rafael Culik * source/rdd/dbf1.c ! Fixed problem with numeric field. From Horacio Roldán 2002-01-10 22:10 GMT-3 Luiz Rafael Culik * source/common/hbffind.c * Now works properly on linux * utils/hbmake/hbmake.prg utils/hbmake/hbmutils.prg * Some fixes for linux * source/rtl/listbox.prg * Some formatting 2002-01-10 14:30 UTC-0500 David G. Holm * source/rtl/spfiles.c ! Fix to remove spurious ISCHAR(1) tests from C routines. From Horacio Roldán 2002-01-10 17:20 UTC+0300 Alexander Kresin * source/pp/pptable.c + SET OPTIMIZE ON/OFF/expression command added 2002-01-09 11:00 UTC+0100 Ignacio Ortiz * source/rtl/tget.prg * Picture "@Z" fixed 2002-01-09 17:30 UTC-0500 David G. Holm * include/hbsetup.h * source/rtl/console.c + Added HB_EOL_CRLF to allow the EOL string to be forced to CRLF. Defaults to commented out, so that the EOL string that is used will be detected based on platform considerations. To force CRLF, just include -DHB_EOL_CRLF in the C_USR environment variable and rebuild Harbour. 2002-01-08 17:10 UTC-0500 David G. Holm * source/rtl/isprint.c ! Added a missing __RSXNT__ guard on an HB_OS_WIN_32 check. 2002-01-08 09:52 UTC+0100 Patrick Mast * source/compiler/genc.c * source/compiler/genjava.c * source/compiler/genobj32.c * source/compiler/hbusage.c * source/common/hbver.c * changed decimal build nr in "Alpha build .." 2002-01-08 12:31 UTC+0700 Andi Jahja * source/rdd/dbfcdx/dbfcdx1.c ! remove spurious type casts 2002-01-07 19:40 UTC-0300 Luiz Rafael Culik * source/common/hbffind.c * Minor fix to Win32 branch * include/hbapifs.h * Added HB_FA_NORMAL 2002-01-07 17:30 UTC-0300 Luiz Rafael Culik * source/rtl/direct.c * Now Directory finds files with out attribute set. This fix the problem reported by Jorge Manson With the Adir function 2002-01-07 09:20 UTC-0300 Luiz Rafael Culik * source/rtl/isprint.c * Fixed an small typo 2002-01-07 00:45 UTC-0300 Luiz Rafael Culik * source/lang/msgpt.c * Translated the new error message to Portuguese * include/hbapifs.h source/common/hbffind.c * Now it find files with out attributes set 2002-01-06 14:30 UTC+0100 Antonio Linares * source/vm/fm.c * Checking of allocating zero bytes for hb_xalloc(), hb_xgrab() and hb_xrealloc(), no matter how HB_FM_STATISTICS state may be * include/error.ch * source/lang/*.c + Added one new internal error: HB_EI_XALLOCNULLSIZE NOTE to translators or language file maintainers: The new string should be translated to the proper languages from English. 2002-01-06 19:40 UTC+0700 Andi Jahja * source/compiler/genc.c * change definition of INIT/EXIT PROCEDURE from HB_FUNC_STATIC() to HB_FUNC_INIT()/HB_FUNC_EXIT() to avoid ambiguity * include/hbdefs.h * added back definitions of HB_FUNC_INIT() and HB_FUNC_EXIT() 2002-01-06 09:55 UTC-0300 Luiz Rafael Culik * source/rtl/isprint.c * Fixed an small typo * utils/hbmake/hbmake.prg * Updated the date 2002-01-06 09:05 UTC-0300 Luiz Rafael Culik * source/lang/msgpt.c * translated the two new error to Portuguese * source/rtl/isprint.c * Change IsPrinter() logic for Win32;If no Printer is passed, it check the default instaled printer.If an Printer name is passed, the name should match the one listed on the Printer folders 2002-01-06 10:00 UTC+0100 Viktor Szakats * source/vm/fm.c + Added checking of ulSize == 0, only when HB_FM_STATISTICS is _ON_ * include/error.ch * include/hbapilng.h * source/lang/*.c + Added two new internal errors. NOTE to translators or language file maintainers: The two new strings should be translated to the proper languages from English. * Updated copyright headers to the new one in some language files, where I either hold copyright, or the holder is unknown. * source/rtl/isprint.c ! Made more multiplatform by passing the complete printer name to the fsOpen() function. * Platform specific uiPort moved to DOS branch. + Added support for PRN under DOS. + Added a C callable interface hb_printerIsReady() (not yet prototyped in the central headers). + Win32 version reworked so that it checks for the printer name passed to the function. This also made the program simpler. * source/rtl/descend.c * source/rtl/transfrm.c * Small changes in last fix. - source/lang/msgnl.c - Old style language removed. 2002-01-05 16:20 UTC+0700 Andi Jahja * source/rtl/transform.c ! Transform("","@" ) -> memory allocation error, fixed by adding 1 byte to hb_xgrab() * source/rtl/descend.c ! Descend("" ) -> memory allocation error, fixed by adding 1 byte to hb_xgrab() 2002-01-03 23:26 UTC+0100 Viktor Szakats * source/rtl/filesys.c ! Fix to previous change. * source/compiler/harbour.y * source/macro/macro.y ! Removed the explicit declaration of __yy_memcpy(), since it made BCC551 fail with Bison 1.30, even even with the supplied harbour.simple file, which makes Bison 1.30 blow. Now we again have the usual warning, but at least it compiles under every Bison/.simple combinations again. 2002-01-03 23:11 UTC+0100 Viktor Szakats * include/hbapifs.h * source/rtl/filesys.c - Removed two wrapper functions to hb_fsSetDevMode which were there to maintain supposed compatibility with _tdevraw, but that turned to be unneeded. * include/hbundoc.api ! Fixed _tdevraw * source/rtl/filesys.c ! Re-disabled native Win32 file handling system. ! hb_fsCommit() fixed Win32 branch, and put it in the right place multiplatform #define-wise. * source/rtl/profiler.prg * Formatting change. * source/vm/memvars.c ! Fixed warnings in __MVEXIST() 2002-01-03 17:00 UTC+0700 Andi Jahja * source/vm/fm.c ! restore original copy as it caused memory leak in Windows OS as reported by Sid 'Saylor'. Now hb_xgrab() problem when running hbtest.exe which compiled with -DHB_FMSTATISTICS_OFF ( harbour.exe and libraries were also compiled with the same switch ) remains open :( 2002-01-03 00:40 UTC-0300 Luiz Rafael Culik * include/hbfsapi.h * under Win32 FHANDLE is typedef to long * source/rtl/filesys.c * Replaced all X__WIN32__ with __WIN32__ * hb_fscommit() now used true Win32 Api calls * No more file limit on Win32 2002-01-02 09:40 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add description for newly added directories 2002-01-02 10:03 UTC+0700 Andi Jahja * source/compiler/cmdcheck.c ! harbour did not obey "set clippercmd=/n" -> fixed ( my fault, sorry ) 2002-01-02 09:06 UTC+0700 Andi Jahja * source\vm\fm.c * function hb_xalloc() - Prevention for same symptom as noted on hb_xgrab(): (see ChangeLog : 2002-01-01 11:15 UTC+0700 Andi Jahja ) modify memory allocation by adding extra bytes to be allocated in line with byte alignment. * include/hbcomp.h + BOOL hb_comp_bNoStartUp, public variable for generating C-source with for no_startup option. TRUE = no_startup. FALSE = with_startup - remove definition of HB_COMPGENC_NO_STARTUP * source/compiler/cmdcheck.c - remove /gc3 switch ! add additional arguments to switch /n : /n or /n0 = no implicit proc but with startup proc /n1 = no implicit proc and no startup proc /n- = generates implicit procedure Note: Previously, Harbour did not create (implicit )starting procedure when we did not supply /n, fixed. Now compiling prg without /n creates (implicit) starting procedure. * source/compiler/genc.c ! Change routine for embedding HB_FS_FIRST to generated C-codes to conform with the new startup generation routines * source/compiler/harbour.c + BOOL hb_comp_bNoStartUp = FALSE, initialization for option to create C-source with startup. * source/compiler/hbusage.c + description of /n switch - remove description of /gc3 2002-01-01 12:30 UTC+0700 Andi Jahja * source/compiler/hbusage.c * bump Copyright year to 2002 2002-01-01 11:15 UTC+0700 Andi Jahja * source/vm/fm.c Memory allocation error was transparently noticed when running hbtest.exe with -DHB_FM_STATISTICS_OFF, fixed. * function hb_xgrab() fix memory allocation on function hb_xgrab() by adding extra bytes to be allocated in line with byte alignment. 2001-12-31 13:22 UTC+0100 Viktor Szakats * source/compiler/genc.c * include/hbdefs.h * Cleaned up the INIT/EXIT code generation ! Fixed function header generation for INLINE C. % Optimized a bit of code related to the generation of INLINE C declarations. * include/hbtypes.h ! Fixed CVS header and self guard. 2001-12-31 18:00 UTC+0700 Andi Jahja * source/vm/maindllp.c ! commented unused iReturn variables ! BOOL WINAPI HB_EXPORT => BOOL HB_EXPORT WINAPI * include/hbapi.h ! extern * HB_EXPORT => extern HB_EXPORT * 2001-12-30 14:35 UTC-0300 Luiz Rafael Culik * source/vm/maindllp.c * Added FM api functions hb_xyy() % added somes cast to quite Borland * include/hbtypes.h * Added declaration for FM api functons * source/vm/fm.c include/hbapi.h * FM api functions marked as exported 2001-12-30 13:47 UTC+0100 Patrick Mast * contrib/apollo/apollo.c + Added function sx_GetDateJulian() + Added function sx_GetVariant() + Added function sx_SetCentury() + Added function sx_SetDateFormat() + Added function sx_GetLogical() * modified function sx_Replace() Note: Replace a logical value with sx_Replace() does not work yet. * contrib/apollo/test/apollo.prg * Added added functions in the test application. * enhanced code * Added and changed defines 2001-12-30 18:00 UTC+0700 Andi Jahja * utils/hbmake/hbmake.prg * replace filedate() => hbmake_filedate() * replace filetime() => hbmake_filetime() 2001-12-30 16:45 UTC+0700 Andi Jahja * source/vm/dynlibhb.c - remove function hb_StartApp() and related _hInstance * source/vm/hvm.c - remove reference to hb_StartApp() * source/compiler/hbusage.c + add documentation of -gc3 switch 2001-12-30 08:00 UTC+0700 Andi Jahja * source/compiler/cmdcheck.c + switch -gc3 => produce modiule with NO_START_UP * source/vm/genc.c + switch -gc3 now produce NO_START_UP codes. * source/vm/hvm.c - commented the use of hb_StartApp() * include/hbcomp.h + definition of HB_COMPGENC_NO_STARTUP 2001-12-28 22:53 UTC+0100 Patrick Mast * contrib/apollo + Added function sx_GoBottom() + Added function sx_Go() + Added function sx_Seek() + Added function sx_SetSoftSeek() + Added function sx_RLock() + Added function sx_Reindex() + Added function sx_RecCount() + Added function sx_SetMemoBlockSize() + Added function sx_CreateNew() + Added function sx_CreateField() + Added function sx_CreateExec() * contrib/apollo/test * Added added functions in the test application. 2001-12-30 04:40 UTC+0700 Andi Jahja * include/hbapi.h * declaration of exported functions in source/vm/extend.c and source/vm/arrays.c synchronized ( MSVC requirement ) 2001-12-29 19:00 UTC-0300 Luiz Rafael Culik * source/vm/maindllp.c * All extended function api implemented and started the array api + include/hbtypes.h * Header file for maindllp.c. Contain the typedef needed by maindllp.c * contrib/hbzlib/zipcomp.cpp * fixed an small error * utils/hbmake/hbmake.prg * some enhecements to select library code * source/vm/extend.c source/vm/arrays.c * All functions marked as exported 2001-12-28 20:39 UTC+0100 Patrick Mast * contrib/apollo + Added function sx_AppendBlank() + Added function sx_Close() + Added function sx_Commit() + Added function sx_CreateField() + Added function sx_Eof() + Added function sx_GetString() + Added function sx_GoTop() + Added function sx_IndexTag() + Added function sx_RecNo() + Added function sx_Replace() + Added function sx_Skip() + Added function sx_Use() + Added function sx_Zap() * contrib/apollo/test * Added functions in a test application. 2001-12-29 20:35 UTC+0100 Viktor Szakats * include/extend.api ! Same fix applied to extend.api. 2001-12-29 19:44 UTC+0100 Viktor Szakats * include/clipdefs.h ! Changed #ifndef HB_OS_WIN_32 to #ifdef !(defined(HB_OS_WIN_32) && defined(HB_OS_WIN_32_USED)) Because the previous method was breaking legacy code. IMPORTANT: For those who get duplicate defines when compiling Win32 code, the #define HB_OS_WIN_32_USED should be defined somewhere before including clipdefs.h. 2001-12-28 18:54 UTC+0100 Patrick Mast * contrib/apollo + added readme.txt * contrib/apollo/test + bld.bat + bld_b32.bat * updated apollo.prg 2001-12-28 13:28 UTC+0100 Patrick Mast + contrib/apollo * Started Apollo SDE60.DLL connection for accessing SIXNSX database files Note: This is only the start. 2001-12-29 05:10 UTC+0700 Andi Jahja Export declaration to meet MSVC syntax ( also work with BCC ) * include/hbapi.h * declaration of hb_parc() synchronized with that in extend.c * source/vm/extend.c * char * HB_EXPORT => char HB_EXPORT * * source/vm/maindll.c * BOOL WINAPI HB_EXPORT => BOOL HB_EXPORT WINAPI * LONG PASCAL HB_EXPORT => LONG HB_EXPORT PASCAL * source/vm/maindllh.c * BOOL WINAPI HB_EXPORT => BOOL HB_EXPORT WINAPI * source/vm/maindllp.c * BOOL WINAPI HB_EXPORT => BOOL HB_EXPORT WINAPI 2001-12-28 18:36 UTC+0100 Antonio Linares * source/vm/extend.c + New function hb_extIsArray() added function to be called from pcode DLLs to detect if the extend system is going to use an array item * source/vm/maindllp.c + extend system for pcode DLLs implementation started 2001-12-28 23:30 UTC+0700 Andi Jahja * hrbdll.bc * hrbdll.vc * Change maindll.* to maindllh.* 2001-12-28 12:30 UTC+0700 Andi Jahja * source/vm/hvm.c ! MSVC cannot find start procedure => hb_StartApp() now only applied to Borland C++ 2001-12-28 05:15 UTC+0700 Andi Jahja * utils/hbmake/hbmutils.prg ! function renaming: filedate() => hbmake_filedate() ! function renaming: filetime() => hbmake_filetime() * utils/hbmake/ft_funcs.prg ! function renaming: filebase() => hbmake_filebase() * utils/hbmake/ffile1.prg ! function renaming: filebase() => hbmake_filebase() 2001-12-28 05:15 UTC+0700 Andi Jahja * utils/hbmake/hbmake.prg ! enhancement in parameter passing 2001-12-27 13:25 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c * Calls of hb_fsOpen() and hb_fsCreate() replaced by hb_spOpen() and hb_spCreate() to allow SET PATH and SET DEFAULT settings 2001-12-26 22:20 GMT-3 Luiz Rafael Culik * utils/hbmake/hbmake.prg utils/hbmake/hbmutils.prg * Added code that allows the user select the 3rd party libraries they want * source/compiler/gencobj.c * Fixed an problem on the extension of object file(Borland and MSVC user .obj/Gcc uses .o) 2001-12-26 16:20 UTC-0500 David G. Holm * config/bsd/gcc.cf * config/dos/bcc16.cf * config/dos/djgpp.cf * config/dos/rsx32.cf * config/dos/watcom.cf * config/linux/gcc.cf * config/os2/gcc.cf * config/os2/icc.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/mingw32.cf * config/w32/msvc.cf * config/w32/rsxnt.cf * Fix for the contrib library renames that broke the GNU Make System's usage of CONTRIBS= for some contrib libraries. Note: If a contrib lib directory name includes the lib prefix, then you have to include it (e.g. CONTRIBS=libmisc), but the actual library name listed in the library's Makefile must not (e.g., LIBNAME=misc). * contrib/libmisc/Makefile + contrib/libmisc/tests/Makefile + contrib/libmisc/tests/readfile.prg * tests/Makefile - tests/readfile.prg * Moved tests/readfile.prg to contrib/libmisc/tests/readfile.prg (hence the need to fix the GNU Make System). * source/vm/dynlibhb.c ! Only include extern declaration from _hInstance if using Borland. 2001-12-26 09:08 UTC+0000 Dave Pearson * source/vm/Makefile * Added dynlibhb.c. * include/hbvmpub.h * Added final EOL. 2001-12-26 04:30 UTC+0700 Andi Jahja makefile for creating harbour.dll with BCC & MsVC This is an initial template subject to further modification to make it more flexible for any environment. Tweak might have to be done on some files for: . function rename-ing since some files bear public functions with the same name. Example : filebase() in samples/environ.c, utils/hbdoc/ffile1.prg and contrib/htmllib/ofile.prg . phisically extract public functions to a separate file since they are written in the body of the main function but required by other functions. Example: WRITE_ERROR in utils/hbdoc/hbdoc.prg which is required by utils/hbdoc/genasc.prg. Consequently, I have locally created docfunc.prg which contains WRITE_ERROR(), StripFiles() and StripNgControls() extracted from utils/hbdoc/hbdoc.prg. + hrbdll.bc + hrbdll.vc * include/hbdefs.h ! Add argument to HB_EXPORT definition so that public functions will be exported upon explicit request only. Examples: BCC : makefile.bc => C_USR = __EXPORT__ MsVC : makefile.vc => --ditto-- 2001-12-25 14:40 UTC-0300 Luiz Rafael Culik * contrib/libct/Makefile * Removed the Lib prefix from library name * contrib/libmisc/Makefile * Removed the Lib prefix from library name * contrib/libgt/Makefile.bc contrib/libgt/Makefile.vc contrib/libgt/Make_vc.bat contrib/libgt/Make_b32.bat * Added the Lib prefix from library name + contrib/htmllib/*.prg contrib/htmllib/*.ch contrib/htmllib/Makefile.bc contrib/htmllib/Makefile * Sources and neccessary files to build htmllib-harbour cgi library 2001-12-25 11:45 UTC+0700 Andi Jahja + source/compiler/harbour.simple add a derivative copy of bison.simple v 1.28 which will be used as the standard bison skeleton output parser for the purpose of Harbour project in order to have a uniform parser code. Developers are expected to use this code and make revision to harbour.y if so required. 2001-12-24 21:35 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Some minor fixes to both edit mode 2001-12-23 10:18 UTC+0100 Viktor Szakats * source/rtl/filesys.c ! Fixed all return value checking for the Win32 API calls. * include/hbapi.h * include/hbundoc.api * Some compatibility #defines moved to its place. 2001-12-22 11:30 UTC+0100 Antonio Linares * source/vm/dynlibhb.c + New function hb_StartApp() added * source/vm/hvm.c * Function hb_StartApp() used from hb_vmProcessSymbols() 2001-12-22 07:50 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Some alingment of the text on edit mode. * utils/hbmake/hbmutils.prg * Getsourcefiles() function speed optimized(thanks Victor) 2001-12-22 03:30 UTC+0700 Andi Jahja * source/rtl/filesys.c * add required C casts * include/hbinit.h * inconsistent hb_vmProcessSymbols() declaration corrected 2001-12-21 17:58 UTC+0100 Viktor Szakats * source/rtl/filesys.c * source/rtl/philes.c * include/hbapifs.h ! Fixed hb_fsRename() and hb_fsDelete() to return BOOL instead of platform specific error codes. ! All low-level functions returning BOOL now check for valid API call return value inside the platform spcific branches. ! hb_fsLock() fixed to not return TRUE when the mode parameter was invalid. 2001-12-21 16:31 UTC+0100 Viktor Szakats + source/rtl/filehb.c * source/rtl/direct.c * source/rtl/Makefile * makefile.bc * makefile.vc * Some fixes for FILE(). 2001-12-21 16:08 UTC+0100 Viktor Szakats + source/rtl/file.c + source/rtl/direct.c * source/rtl/Makefile * makefile.bc * makefile.vc + New implementation of the DIRECTORY() function, faster smaller, much more clean version. Please test this as extensively as possible, with special regards to attribute filtering. + New implementation of FILE() function, now it supports wildcards just like CA-Cl*pper. ; They are noth using the new multiplatform File Find API. Note that it may require some work/testing on some platforms. * source/rtl/filesys.c * source/rtl/philes.c - Removed old FILE() and hb_fsFile(). * source/common/hbffind.c ! Fixed date handling. The null terminating char was missing. 2001-12-21 14:37 UTC+0100 Viktor Szakats * source/common/hbffind.c ! Some fixes. * source/rtl/filesys.c ! Fixed write and read operations returning -1 on bad file handle and access erros from either low and Harbour level functions. * Cleaned up the new Win32 API branches. 2001-12-21 12:54 UTC+0100 Antonio Linares * source/pp/pragma.c * contrib/dot/pp_harb.ch * tests/inline_c.prg * STOPDUMP renamed as ENDDUMP (with Ron permission) 2001-12-21 08:40 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg * small fix 2001-12-21 07:50 UTC-0300 Luiz Rafael Culik * source/rtl/filesys.c * hb_fsmkdir,hb_fsChdir,hb_fsRmdir,hb_fsDelete,hb_fsRename,hb_fsCurdirBuff() now use Win32 API calls * utils/hbmake/hbmake.prg ! Disabled profile * utils/hbmake/hbmutils.prg * An small clean up * ChangeLog * Renamed to ChangeLog.012 and started an new one 2001-12-21 08:46 UTC+0000 Dave Pearson * ERRATA * Added a note about and a pointer to harbour's bug reporting page. 2001-12-21 00:48 UTC-0800 Brian Hays * source/rtl/persist.prg * added type test to SaveToText() to avoid errors on non-initialized Properties 2001-12-20 15:40 UTC-0500 David G. Holm * include/hbdefs.h ! RSXNT doesn't support any type of inline export declaration. 2001-12-20 13:14 UTC+0000 Dave Pearson * include/hbdefs.h * Added "&& defined( HB_OS_WIN_32 )" to the #elif that tests for __GNUC__ when deciding how to #define HB_EXPORT. 2001-12-20 13:53 UTC+0100 Antonio Linares * include/hbdefs.h * HB_EXPORT definition for Borland C 2001-12-20 20:00 UTC+0700 Andi Jahja * source/compiler/genc.c ! add comments for easy reference in case this function needs to be revised. 2001-12-20 12:00 UTC+0100 Antonio Linares * include/hbvm.h * hb_vmInit(), hb_vmQuit(), hb_vmProcessSymbols(), hb_vmExecute() declared as HB_EXPORT * include/hbvmpub.h * hb_vmProcessSymbols(), hb_vmExecute() declared as HB_EXPORT * source/vm/hvm.c * hb_vmInit(), hb_vmQuit(), hb_vmProcessSymbols(), hb_vmExecute() declared as HB_EXPORT - hb_vmDllExecute() removed as hb_vmExecute() is HB_EXPORT * source/vm/maindllp.c * hb_vmExecute() used instead hb_vmDllExecute() 2001-12-20 11:35 UTC+0100 Antonio Linares * source/vm/maindll.c * source/vm/maindllh.c * source/vm/maindllp.c * HB_EXPORT used * include/hbapi.h * source/vm/cmdarg.c * hb_cmdargInit() declared as HB_EXPORT 2001-12-20 11:20 UTC+0100 Antonio Linares * include/hbdefs.h + HB_EXPORT definition added. All public functions are HB_EXPORT now 2001-12-20 09:43 UTC+0000 Dave Pearson * doc/howtocvs.txt + Updated the footnote about the files which are an exception to the "everything lowercase please" rule. Added COPYING, ERRATA and TODO. 2001-12-20 09:36 UTC+0000 Dave Pearson + ERRATA + Added the ERRATA list. 2001-12-19 20:00 UTC+0700 Andi Jahja * source/compiler/genc.c ! Change C Outputs so one can freely export the public function without interferring the above three kind of functions. static function ( funcname ) => HB_FUNC_STATIC( funcname ) init procedure funcname => HB_FUNC_INIT( funcname ) exit procedure funcname => HB_FUNC_EXIT( funcname ) * include/hbdefs.h + definition of HB_FUNC_STATIC() + definition of HB_FUNC_INIT() + definition of HB_FUNC_EXIT() 2001-12-19 15:18 UTC+0300 Alexander Kresin * tests/db_brows.prg Few warnings fixed 2001-12-18 21:47 UTC+0100 Viktor Szakats * include/hbapi.h * include/hbsetup.ch + include/hbcommon.ch * include/Makefile + Added HB_FILE_VER( id ) for Harbour and C sources. Note that in order to work in .prg files, HB_FILE_VER() should come after the #includes and the file should #include "hbcommon.ch" which will automatically include "hbsetup.ch" too. + Added HB_FILE_VER_STATIC define which will enable the inclusion of HB_FILE_VER info. * source/common/hbffind.c * source/rtl/dbdelim.prg * source/rtl/dbsdf.prg + Added experimental HB_FILE_VER() lines. * doc/genhtm.rsp + doc/en/dbdelim.txt + doc/en/dbsdf.txt % Some small optimization for speed. * Separated documentation from the source. 2001-12-18 20:15 UTC+0300 Alexander Kresin * tests/db_brows.prg Some changes to eliminate using of functions from libmisc. 2001-12-18 19:00 UTC+0700 Andi Jahja Revision by Ron Pinkas * source/vm/hvm.c Replaced the call to hb_gcCollectAll() in hvm.c line 389 with new hb_gcReleaseAll() will increase cleanup speed (on app termination), and will result in a more complete cleanup in certain situations. 2001-12-18 10:03 UTC+0100 Viktor Szakats * source/common/hbffind.c ! Some fix (MSVC). 2001-12-18 07:44 UTC+0000 Dave Pearson * doc/howtocvs.txt * Updated the pointer to details about harbour's mailing lists. 2001-12-18 07:21 UTC+0100 JFL (Mafact) * source/vm/garbage.c ! RON Further Fix for forever loop when GC try to free first item in the arrayclone cloned list. + RON Added hb_gcReleaseAll() it will increase cleanup speed (on app termination), and will result in a more complete cleanup in certain situations * include/hbapi.h + RON Added hb_gcReleaseAll() 2001-12-18 06:44 UTC+0100 Antonio Linares * source/vm/maindll.c * source/vm/maindllh.c changed the definition of those files 2001-12-18 06:36 UTC+0100 Antonio Linares + source/vm/maindllh.c Windows Harbour DLL entry point 2001-12-18 01:03 UTC+0100 Viktor Szakats * source/common/hbffind.c * include/hbapifs.h ! Some fixes (MSVC, Win32, misc). * source/rtl/Makefile ! Fixed indentation in Makefile. * source/compiler/gencobj.c ! Fix provided by Jose Lalin bDelTemp was initialized to TRUE by default and this was causing that MAKE utilities rebuilds all the files in a project since the intermediate C file was deleted. * source/rtl/gt_tpl/gt_tpl.c ! Minor change. 2001-12-17 17:02 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg ! Fix added again for displaying logical field in a 100% CA-Cl*pper compatible way. * source/rtl/tget.prg ! Fixes by Walter Negro (GET single color colorspec and picture modifying on-the-fly) * source/common/hbffind.c * include/hbapifs.h ! DJGPP warning fixed. ! Fixed for Linux by Luiz ! AttrFromHarbour() fix for Unix + Added some new helper funcions. hb_fsAttrDecode( USHORT uiAttr, char * szAttr ) hb_fsAttrEncode( char * szAttr ) * Some type cleanups around the attribs. * source/vm/estack.c ! Small corrections to the #ifdefs. 2001-12-17 14:57 UTC+0100 Viktor Szakats * include/hbver.h * source/common/hbver.c * source/compiler/genc.c * source/compiler/genjava.c * source/compiler/genobj32.c * source/compiler/hbusage.c * utils/hbpp/hbpp.c - Build number removed, since it was the same as the version number, and it doesn stands for something which doesn't have too much meaning in an open-source project anyway. - Removed the date/month/day of the version number, since it was only yet another version-number duplicate. + Added #defines for last ChangeLog entry, ChangeLog CVS version string, optional C, PRG and linker option. As of now these should be manually edited whenever doing a build, but the goal is make this step completely automated. One can retrieve these new version details by running Harbour compiler with the -build switch, or any Harbour applications by running it with //BUILD switch. Optional switches are only displayed when not empty. + -build and -credits undocumented options now put into the command-line help screen. 2001-12-17 14:13 UTC+0100 Maurilio Longo * source/rtl/tbrowse.prg * ::DispCell() a little change on Logical values display 2001-12-17 13:02 UTC+0100 Viktor Szakats * makefile.vc * makefile.bc * source/common/Makefile * include/hbapifs.h + source/common/hbffind.c + Harbour File Find API added. hb_fsFindFirst() hb_fsFindNext() hb_fsFindClose() Note that currently only Win32 and DOS/DJGPP has been tested, all the other platform will require some more work. Also note that the attribute mask filtering may need more work and tweaking. + New generic file attributes added, they are named HB_FA_*, they are almost the same as the FA_ ones in dir.c, just a bit more Clipper like. 2001-12-17 12:33 UTC+0100 Viktor Szakats * Makefile * tests/Makefile - Inclusion of contrib in the core Harbour removed, because this made it impossible to build Harbour on some platforms (Linux). 2001-12-17 10:31 UTC+0100 Viktor Szakats * source/rtl/gtapi.c ! Modified hb_gtSetCursor() to allow cursor setting when the cursor position is off by one from the screen. This fixes the disappearing cursor in TBROWSE() Since I don't know why the bounds checking is there, I can't tell if this is the correct fix. If you have some idea, please tell. * TODO + Added a few things. 2001-12-17 07:20 UTC+0100 JFL (Mafact) * source/vm/garbage.c ! RON Fix for forever loop when GC try to free first item in the arrayclone cloned list. 2001-12-16 21:28 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg ! Fixed cursor positioning when Autolite == .F. 2001-12-16 14:53 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg ! DispCell() - Fixed displaying of logical fields. * source/vm/estack.c + Added language markers HB_I_() 2001-12-16 14:20 UTC+0200 Chen Kedem * doc/en/lang.txt * HB_LANGSELECT() - Sort table according to language + HB_LANGSELECT() - Add missing languages: CSWIN, EO, HR852, HRISO ! Wrong comment Romanian --> Spanish * doc/en/var.txt * __ISMV() renamed to __MVEXIST() (to reflect ChangeLog 2001-12-15 23:05 UTC+0100 Viktor Szakats) * source/lang/msghewin.c * Comment changed: Code Page 1255 is now Windows-1255 * source/lang/msgko.c ! Comment changed: KR --> KO 2001-12-16 12:07 UTC+0100 Viktor Szakats * source/common/hbgete.c * source/common/hbtrace.c * source/compiler/cmdcheck.c * source/compiler/gencobj.c * source/rtl/gete.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtcrs/kbdcrs.c * source/rtl/gtsln/gtsln.c * source/rtl/gtsln/kbsln.c * source/vm/cmdarg.c * source/vm/hvm.c * hb_getenv() now may return a NULL if the env.var getting process failed for some reason. ! Reviewed, cleaned up and fixed all the hb_getenv() calls, considering that it now may return NULL, all caller now consistently check for env[ 0 ] != '\0' ! Fixed one leak in gtcrs.c ; I'd ask everybody to test the new code, with special attention to the CLIPPER/HARBOUR/CLIPPERCMD/HARBOURCMD, Linux environment variables, HB_TRACE_* variables. 2001-12-15 23:13 UTC+0100 Viktor Szakats * source/debug/dbgwa.prg ! Missing CVS header. * TODO + Added some new items. * include/Makefile * include/hbexprb.c * include/hbexprc.c * include/hbmacro.h + include/hbmacro.ch - include/hbmsetup.h * include/set.ch * source/compiler/genc.c * source/vm/hvm.c * hbmsetup.h renamed to hbmacro.ch ! Fixed the inclusion of .h files from .ch files. + Added CVS header, copyright header, other stuff. % Removed some unneeded #includes. * include/hbgetcmt.ch * include/ord.ch * source/rtl/radiogrp.prg * Small corrections. 2001-12-15 23:05 UTC+0100 Viktor Szakats * source/rtl/memvars.c * source/rtl/tgetint.prg * include/hbextern.ch * __ISMV() renamed to __MVEXIST() + __MVEXIST() added to hbextern.ch 2001-12-16 02:15 UTC+0700 Andi Jahja Revision by Ron Pinkas * source/compiler/harbour.sly * source/vm/mamvars.c ! __ISMV() in memvars was incorrectly returning TRUE for *any* dynamic symbol, instead of only MEMVARs. 2001-12-15 16:04 UTC+0100 Viktor Szakats * source/common/hbver.c ! Displays Windows XP properly ! Displays Windows ME properly (well, hopefully because I couldn't test this, if anyone has ME, please test it.) 2001-12-15 15:53 UTC+0100 Viktor Szakats * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h * Some formatting. * TODO + Readded one item. 2001-12-15 14:43 UTC+0100 Viktor Szakats * TODO - Some more updates. 2001-12-15 14:08 UTC+0100 Viktor Szakats * source/rtl/filesys.c ! Fixed missing #define for Cygwin (for setmode() prototype) 2001-12-15 13:58 UTC+0100 Viktor Szakats * source/rtl/dir.c ! Fix for BCC by Luiz. 2001-12-15 13:43 UTC+0100 Viktor Szakats * contrib/libct/Makefile ! Fixed tabs, EOF * contrib/libgt/Makefile ! Fixed LIBNAME * source/vm/classes.c ! missing "static" keyword 2001-12-15 12:32 UTC+0100 Viktor Szakats * TODO * Updated * source/rtl/dummy.prg - Removed commented line. 2001-12-15 12:24 UTC+0100 Viktor Szakats * include/hbver.h + Jumped the version number and date. * doc/whatsnew.doc + Added new version (no items yet) * source/vm/dynlibhb.c ! Fixed for non Win32 platform to return compatible values. * doc/howtomak.txt - Removed TASM as a requirement. 2001-12-15 12:11 UTC+0100 Viktor Szakats * include/hbinkey.ch * source/compiler/cmdcheck.c * source/compiler/harbour.c * source/compiler/hbpcode.c (I couldn't complete this one, since it's far too messy) * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/dbgtobj.prg * source/debug/dbgtwin.prg * source/debug/dbgwa.prg * source/debug/debugger.prg * source/rtl/perfuncs.prg * source/rtl/persist.prg * source/rtl/profiler.prg * source/rtl/gtsln/gtsln.c * source/rtl/gtstd/gtstd.c ! Basic cleanups "s_" prefix, tabs, = -> := 2001-12-15 11:37 UTC+0100 Viktor Szakats * source/rtl/isprint.c ! Fixed DJGPP warning for DOS branch. * source/rtl/fstemp.c ! One unused #include added. Well, it was used. 2001-12-15 10:53 UTC+0100 Viktor Szakats * source/rtl/tbcolumn.prg ! Fixed case when heading parameter was NIL in TBColumnNew() or TBColumn():New() * source/rtl/fstemp.c - One unused #include removed. 2001-12-15 10:05 UTC+0100 Antonio Linares + source/vm/dynlibhb.c + HB_LIBLOAD() + HB_LIBFREE() + HB_LIBDO() Dynamic link libraries management functions * source/vm/eval.c - HB_DLLDO() Removed and included in dynlibhb.c as HB_LIBDO() * makefile.bc + added dynlibhb.c module 2001-12-14 10:17 UTC+0100 Viktor Szakats * include/hbapifs.h * source/common/hbfhnd.c * source/common/hbfsapi.c * source/rtl/spfiles.c * include/hbset.h * include/hbcomp.h * include/hbpp.h * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/harbour.sly * source/rtl/set.c * source/pp/pplib.c * source/pp/ppcore.c * utils/hbpp/hbpp.c * source/vm/hvm.c * source/vm/classes.c * Some cleanups. * PATHNAMES -> HB_PATHNAMES ! Removed some warnings. * include/Makefile * include/hbapi.h + include/hblang.ch + Added HB_I_() define for translatable strings. In Harbour sources which contains translatable strings #include "hblang.ch" must be added. 2001-12-13 16:40 UTC+0100 Antonio Linares * source/vm/eval.c + New function HB_DLLDO() added Executes a Harbour pcode dynamically loaded DLL function or procedure Syntax: HB_DllDo( [,] ) --> [] 2001-12-13 15:09 UTC+0100 Maurilio Longo * include/hbexprb.c + changed lastest version with the one posted by Ron 2001-12-13 03:50 UTC+0100 Antonio Linares * source/vm/maindllp.c * First VM/RTL functions added * source/vm/hvm.c * hvm support for pcode DLLs 2001-12-12 18:49 UTC+0100 Antonio Linares + source/vm/maindllp.c * Windows pcode DLL entry point and VM/RTL routing functions 2001-12-12 15:09 UTC+0100 Antonio Linares * source/common/hbfsapi.c * source/common/hbfhnd.c * some minor changes 2001-12-11 23:40 UTC+0100 JFL (Mafact) * makefile.vc added missing hbgete.c to LIB * source/pp/ppcore.c * Modif to Workmarkers() so as expression like test{,,3} are correctly (x)translated to test():new(,,3) as clipper does. 2001-12-11 19:20 UTC-0300 Luiz Rafael Culik * contrib/hbzlib/zipnew.cpp contrib/hbzlib/zipcomp.cpp * Fixed some unreleased block reported by Sid Saylors + contrib/hbzlib/strcomp.c * CompressString() and UncompressString Functions * contrib/hbzlib/doc/zipnew.txt * Added the docs for the two new functions * utils/hbmake/hbmake.prg % Some cleanup * Common items moved to functions + WriteMakeFileHeader(),ProcessParameters(),ShowHelp(),ConvertParams(cParam) functions for task that was double coded for some parts * The Main Functions is now cleaner * Fixed the problem on checkbox that the user down know on witch one he is 2001-12-11 18:57 UTC+0100 Viktor Szakats * source/common/hbgete.c % Made it more fail-safe and compact. 2001-12-11 15:09 UTC+0100 Maurilio Longo * source/common/hbgete.c ! fixed problems with memory allocation for OS/2 end general case, please look at Win32 code section 2001-12-11 14:30 UTC+0100 Maurilio Longo * source/common/Makefile + added hbgete.c entry * source/common/hbgete.c + added OS/2 specific code 2001-12-11 00:02 UTC+0100 Viktor Szakats + ChangeLog + Added CVS ID + Added comment about the standard entry header. - source/vm/borinit.c - source/vm/borsym.asm - source/vm/startup.asm - source/vm/symbols.asm * source/vm/hvm.c * makefile.bc * makefile.vc ! Removed assembler parts. TASM is no longer required to build Harbour. - source/common/hash.c + source/common/hbhash.c * source/common/Makefile * makefile.vc * makefile.bc * File hash.c renamed to hbhash.c. + source/common/hbfhnd.c * source/common/hbfsapi.c * source/common/Makefile * makefile.vc * makefile.bc ! File handle tweaking functions moved to a separate source file. * source/common/hbgete.c * Some tweaks. * source/vm/hvm.c - Removed some line not needed anymore, related to Windows exception handler. * source/vm/estack.c - Removed a faulty #define. * makefile.bc * makefile.vc + Added note to not modify these files to add optional command line switches. * makefile.bc - Removed explicit debug switches from on PDF related file and from the 16 bit branch. 2001-12-10 19:55 GMT+1 Antonio Linares * harbour/source/common/hbgete.c * some fixes 2001-12-10 17:43 GMT+1 Antonio Linares * harbour/source/vm/maindll.c * some enhancements 2001-12-10 12:00 GMT+1 Antonio Linares * harbour/makefile.bc * removed -v -y flags, letf there by mistake * harbour/source/common/hbgete.c * type cast required 2001-12-09 21:06 GMT+1 Antonio Linares * harbour/source/vm/maindll.c * HBENTRY() generic DLLs entry point implemented 2001-12-09 20:11 GMT+1 Antonio Linares * harbour/source/common/hbtrace.c * harbour/source/compiler/cmdcheck.c * harbour/source/compiler/gencobj.c * harbour/source/rtl/gete.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/vm/cmdarg.c ! hb_getenv() used instead of getenv() 2001-12-09 19:46 GMT+1 Antonio Linares * source/vm/hvm.c * A minor fix required for Harbour DLLs 2001-12-09 19:31 GMT+1 Antonio Linares * makefile.bc + added hbgete.c file 2001-12-09 19:18 GMT+1 Antonio Linares + source/common/hbgete.c * environment variables access * include/hbapi.h * Added hb_getenv() definition 2001-12-09 14:50 GMT+1 JFL (mafact) * harbour/makefile.vc e.vc * Checked and corrected when used for SIMPLEX compilation 2001-12-09 12:30 GMT+1 JFL (mafact) * harbour/source/rtl/checkbox.prg * Small typo corrected where nR became nT 001-12-08 22:10 GMT-3 Luiz Rafael Culik * source/rtl/checkbox.prg * Readded checkbox() function. (I've forget to redefine in previus commit 2001-12-08 06:15 GMT+0700 Andi Jahja * makefile.bc - removed borinit.obj dependency - removed symbols.obj dependency - removed borsym.obj dependency - remed startup.obj Notes: Have made quite a number of tests and it seems that these modules are not needed. * makefile.vc - removed symbols.obj dependency Notes: Have made quite a number of tests and it seems that this module is not needed. * contrib/libct/files.c ! dir.h not used when _MSC_VER ( MsVC has no dir.h ) 2001-12-08 16:20 GMT-3 Luiz Rafael Culik * source/rtl/checkbox.prg * fixed an smallbug on isdefcolor() function * source/rtl/radiobtn.prg source/rtl/radiogrp.prg * minor fixes * contrib/libct/files.c * Added code to support unix for the follow functions:FileSize(),FileDate(),FileTime() 2001-12-08 08:40 GMT-3 Luiz Rafael Culik * source/rtl/checkbox.prg * fixed an smallbug on __guicolor() function * source/rtl/listbox.prg * fixed an smallbug the class constructor 2001-12-07 22:20 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Added support for Deleted() function in index adn condition expressions 2001-12-06 22:40 GMT-3 Luiz Rafael Culik * utils/hbmake/hbmake.prg ! fixed an small bug when using multiple -D switch * doc/hbmake.txt * updated the file * contrib/hbzlib/zipnew.cpp contrib/hbzlib/zipcomp.cpp * Fixed an bug reported by Sid Saylors. 2001-12-06 23:30 GTM+1 Antonio Linares * source/vm/eval.c ! hb_evalBlock() function added 2001-12-06 22:20 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Bug fixed, reported by Horacio Roldan 2001-12-06 21:15 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Bug fixed, reported by Walter Negro 2001-12-05 21:20 UTC-0500 David G. Holm * source/rtl/seconds.c ! Bug fix for FreeBSD 4.4 port, which has microsecond time. 2001-12-05 20:00 UTC-0500 David G. Holm * source/rtl/seconds.c ! Bug fix for FreeBSD 4.4 port. 2001-12-05 16:00 UTC-0500 David G. Holm * doc/gmake.txt + doc/howtobsd.txt + FreeBSD 4.4 port 2001-12-05 15:30 UTC-0500 David G. Holm + config/bsd + config/bsd/dir.cf + config/bsd/gcc.cf + config/bsd/global.cf + config/bsd/install.cf * source/rtl/disksphb.c * source/rtl/seconds.c * source/rtl/gtstd/gtstd.c + FreeBSD 4.4 port 2001-12-05 19:44 UTC+0100 Viktor Szakats * include/hbmath.h * source/rtl/math.c * contrib/libct/ctmath.c * Renamed math handler C level functions to match the naming system of Harbour: hb_getMathError -> hb_mathGetError hb_resetMathError -> hb_mathResetError hb_isMathHandler -> hb_mathIsHandler hb_installMathHandler -> hb_mathInstallHandler hb_deinstallMathHandler -> hb_mathDeinstallHandler hb_setMathHandlerStatus -> hb_mathSetHandlerStatus hb_getMathHandlerStatus -> hb_mathGetHandlerStatus HB_MATHERR* -> HB_MATH_ERR* * source/rtl/mlctopos.c * source/rtl/mpostolc.c ! Missing CVS headers added. * include/hbextern.ch * source/rtl/defpath.c * source/rtl/natmsg.c * source/rtl/oemansi.c * source/rtl/seconds.c * source/rtl/setcolor.c * source/rtl/setposbs.c * source/rtl/shadow.c * source/rtl/trim.c ! Functions, features marked as extensions or as undocumented. * Functions reordered by category in hbextern.ch It's now smaller, faster, and it's much more meaningful for the eye. ! Fixed faulty defines in hbextern.ch which excluded the complete GETSYS function list, when C53 compatibility was turned off. ! Some missing symbols added to hbextern.ch ! Removed doubly defined items from hbextern.ch * source/rtl/getsys.prg * source/rtl/tgetlist.prg * Some formatting. 2001-12-05 14:08 GTM+1 Antonio Linares * source/vm/eval.c ! hb_evalBlock0() and hb_evalBlock1() functions added * include/hbundoc.api ! hb_evalBlock0() and hb_evalBlock1() defines added 2001-12-05 12:31 UTC+0100 Viktor Szakats + source/vm/evalhb.c * source/vm/eval.c * source/vm/itemapi.c * source/vm/Makefile * makefile.bc * makefile.vc * EVAL() moved to evalhb.c * hb_eval*() and hb_do*() functions moved to eval.c. * source/vm/extend.c * Some vars renamed, type and indentation corrected. 2001-12-04 03:35 GMT+0700 Andi Jahja * contrib/mysql/mysql.c ! type casts needed by MsVC 2001-12-03 15:00 GTM+1 Antonio Linares * harbour/include/clipdefs.h #ifndef HB_OS_WIN_32 used instead of __HARBOUR__ * harbour/include/extend.api #ifndef HB_OS_WIN_32 used instead of __HARBOUR__ 2001-12-03 11:20 GTM+1 Antonio Linares * harbour/include/clipdefs.h #ifndef used to avoid Windows.h collisions * harbour/include/extend.api #ifndef used to avoid Windows.h collisions 2001-12-02 23:15 GMT-3 Luiz Rafael Culik * contrib/mysql/mysql.c + DatatoSql() and FILETOSQLBINARY() functions.First to format characters to mysql format, Second to read an file and return it content as an mysql character string format * contrib/mysql/tmysql.prg * New Enhacemets + Added support to mediumint and mediumblob type on the follow classes + TMySqlRow:FieldType() will Return an "B" for mediumblob and an "I" Mediumint field + TMySQLServer:CreateTable(cTable, aStruct,cPrimaryKey,cUniqueKey,cAuto) Added tree new parameters * contrib/mysql/readme.txt * Updated file to reflect the changes 2001-12-01 18:10 GMT+1 JFL (mafact) * harbour/source/vm/arrays.c * Last version from RON. No change in logic. 2001-11-30 22:05 GMT+1 JFL (mafact) * harbour/source/vm/arrays.c * Corrected an error I added while creating null item when not needed * removed unneded itemrelease at the end of treatment 2001-11-30 00:10 GMT+1 JFL (mafact) * harbour/source/vm/arrays.c * simplified hb_arrayClone() while keeping logic next step is to check it is working 2001-11-30 05:30 GMT+0700 Andi Jahja * source/rtl/spfiles.c * Added C Casts for MsVC 2001-11-29 22:05 GMT+1 JFL (mafact) * harbour/source/vm/classes.c * Forgot one printf(..) within hb_clsisclassref() 2001-11-29 12:15 UTC-0800 Brian Hays * makefile.bc + added dependencies for spfiles * contrib/rdd_ads/ads1.c * added possible error msg to a comment 2001-11-29 14:45 UTC-0500 David G. Holm * makefile.vc + Added spfiles.obj 2001-11-29 20:33 GMT+1 Antonio Linares * source/rtl/philes.c ! msvc required type cast added 2001-11-28 20:15 UTC-0500 David G. Holm * doc/funclist.txt ! Corrected the status of FILE() from Ready to Started, because it is missing the Clipper wild card (a.k.a., skeleton) support. * doc/en/file.txt ! Corrected the FILE() documentation. 2001-11-28 19:45 UTC-0500 David G. Holm * include/hbapifs.h + Moved PATHNAMES support from include/hbpp.h. * include/hbpp.h - Moved PATHNAMES support into include/hbapifs.h * include/hbset.h + Added PATHNAMES support for SET PATH. * source/common/hbfsapi.c + Moved PATHNAMES support from source/compiler/cmdcheck.c * source/compiler/cmdcheck.c - Moved PATHNAMES support into source/common/hbfsapi.c * source/rtl/Makefile + Added spfiles.c * source/rtl/philes.c ! FILES uses the new search path file API. * source/rtl/set.c + Added PATHNAMES support for SET PATH. + source/rtl/spfiles.c + New search path file API functions. 2001-11-28 22:45 GMT+1 JFL (mafact) * harbour/source/vm/classes.c * Now releasing Classes from the last one to check Bryan GPF * harbour/include/hbclass.ch * Changed a bit some PP define to avoid unusued var warning from mscv 2001-11-28 12:57 GMT-3 Horacio Roldan * include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c * begin support of pack 2001-11-26 22:55 GMT+1 JFL (mafact) * harbour/source/vm/classes.c * Freezed ('remed') scoping due to a small bug wich could always create a false scoping error ... * harbour/source/vm/hvm.c * Changed the way a super call is done so now Super:Init(::nX) is allowed and ::nX is correctly seen befor ethat it was see as ::Super:nX ... 2001-11-23 17:57 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed gpf with autoopen ! fixed dbSeek for padded strings 2001-11-22 23:55 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * quieted warnings in adsSetScope 2001-11-22 15:11 GMT+1 Maurilio Longo * contrib/mysql/readme.txt * little changes 2001-11-22 19:55 GMT+0700 Andi Jahja * include/hbapi.h + add declaration char * hb_strncpyUpperTrim() 2001-11-21 17:45 UTC-0800 Brian Hays * source/rtl/strcase.c + added hb_strncpyUpperTrim to both upperize and trim * contrib/rdd_ads/ads1.c * removed bad pointer initialization * source/rdd/dbcmd.c * fieldpos() now calls hb_strncpyUpperTrim so padded field names don't fail * contrib/rdd_ads/adsfunc.c * fixed AdsGetAOFOptLevel to return correct value if there's no AOF active 2001-11-22 04:45 GMT+0700 Andi Jahja * contrib/libnf/getvid.c ! HB_FUNC(_V_SETVPG), use int iPage only if HB_OS_DOS is defined * source/common/hbfsapi.c ! undefine _NFILE_ before redefining (was defined in BCC's _nfile.h) 2001-11-21 16:40 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed eof() bug 2001-11-21 12:31 GMT Dave Pearson * source/rdd/dbcmd.c - Removed (using "#if 0...") hb_waNull(). 2001-11-21 09:15 GMT -3 Luiz Rafael Culik * source/debug/debugger.prg * sorce/debug/dbgtarr.prg * Fixed an small bug that was forget to fix on previus upload 2001-11-21 06:35 GMT -3 Luiz Rafael Culik * source/debug/debugger.prg * Some enhacements, now you can use the Pgup/pgdown keys. * source/common/hbfspai.c * Added code to make harbour apps compiler with borland compiler open mode then 50 files * source/rtl/tbrowse.prg * reverted back to version 1.69 of maurilio 2001-11-20 22:45 UTC-0500 David G. Holm * source/compiler/harbour.y * source/macro/macro.y ! Exclude IBM C++ from the declaration of __yy_memcpy. 2001-11-20 23:59 GMT+1 Maurilio Longo * source/debug/debugger.prg ! ::ShowCode() was using At( ":", cModuleName ) to divide procedure name from module name, but this does not work if you have a source file on a different disk (at least on those systems which use a letter and a colon to name volumes). 2001-11-20 21:02 UTC+0100 Viktor Szakats * source/lang/Makefile + Added missing language. * source/lang/msgruwin.c * source/lang/msgzhb5.c * source/lang/msgzhgb.c * Small changes. 2001-11-20 16:36 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c + added support for AUTO OPEN ! fixed ordListAdd() if the index has no path, try first the path of the dbf. ! fixed ordBagName(), now returns full pathname 2001-11-20 20:11 UTC+0100 Viktor Szakats * doc/howtomak.txt * Changed the requirement to Bison 1.28 * source/common/hbver.c + Displays the HB_FM_STATISTICS setting in the /BUILD or //BUILD switches. 2001-11-20 08:18 GMT Dave Pearson * source/rtl/gtsln/Makefile * source/rtl/gtsln/gtsln.c * source/rtl/gtsln/kbsln.c * Applied fixes from Marek Paliwoda that lets the slang GT driver code build on different GNU/Linux distributions (and possibly other flavours of Un*x). 2001-11-20 05:20 GMT+0700 Andi Jahja * source/compiler/harbour.y ! declare function prototype __yy_memcpy() to satisfy Borland * source/macro/macro.y ! declare function prototype __yy_memcpy() to satisfy Borland 2001-11-19 16:00 UTC-0500 David G. Holm * source/rdd/dbfcdx/dbfcdx1.c ! Removed spurious (BYTE) overrides on dual assignments. 2001-11-19 17:20 GMT+1 Martin Vogel + contrib/libct/bit2.c + number and bit manipulation functions CLEARBIT, SETBIT, ISBIT all provided by Walter Negro - FOEESITRA * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/ctflist.txt * changes according to the above 2001-11-19 18:30 GMT+0700 Andi Jahja * source/compiler/harbour.y ! add type casts for MsVC * makefile.vc / makefile.bc ! add flag "--no-line" to bison to kill MsVC warnings, so now macroy.c and harboury.c will be cleanly compiled ! change compiler flag: -w => -W3 ( no longer cause eye irritation ) 2001-11-18 22:15 GMT+1 JFL (mafact) * harbour/source/vm/classes.c * change CLSADDMSG() to intercept Operator overloading and use standardised symbol in place of operator itself (like "-" => "__OpLess" ) * harbour/source/vm/hvm.c * Modif done to send correct message to object as newly defined * harbour/include/hbclass.ch + added an OPERATOR command for Inline use now we can define an OPERATOR using inline only like ; OPERATOR "-" ARG xARg INLINE ::cValue - xArg see new test overload.prg * harbour/tests/overload.prg adapted to command mode and use of the new OPERATOR INLINE command 2001-11-17 15:40 GMT+0700 Andi Jahja * source/lang/msgzhbig.c - remove msgzhbig.c as it was replaced by msgzhb5.c 2001-11-17 08:20 GMT+0700 Andi Jahja Non-ANSI comments fixed. * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/adsmgmnt.c 2001-11-16 21:31 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug opening empty files with set delete on 2001-11-16 17:35 GMT+1 Antonio Linares * source/vm/hvm.c + Added new function __VMVARSLEN() --> nStatics It returns the total amount of used statics variables 2001-11-16 05:15 GMT+0700 Andi Jahja * contrib/libnf/getver.c ! HB_FUNC(_FT_TEMPFIL), initialize cPath #if !defined(HB_OS_DOS) * source/lang/msgru866.c ! function renamed: hb_lang_Init_TPL => hb_lang_Init_RU866 * source/lang/msgruwin.c ! function renamed: hb_lang_Init_TPL => hb_lang_Init_RUWIN * source/lang ( ) + add msgzhb5.c ( Chinese Traditional ) ! revised msgzhgb.c ( Chinese Traditional ) * doc/en/lang.txt + add documentation of RU866 and RUWIN (Russian) + add documentation of ZH_GB and ZH_BIG5 (Chinese) * makefile.bc ( lang.lib section ) ! add file dependency - msgzhb5.obj ( Chinese Traditional ) ! add file dependency - msgzhgb.obj ( Chinese Simplified ) * makefile.vc ( lang.lib section ) ! add file dependency - msgzhb5.obj ( Chinese Traditional ) ! add file dependency - msgzhgb.obj ( Chinese Simplified ) * source/compiler/genobj32.c ! add type casts for MsVC * source/compiler/genc.c ! add type casts for MsVC 2001-11-16 08:44 GMT Dave Pearson * source/compiler/gencobj.c * Fixed core dump when using -o switch. 2001-11-16 07:19 GMT Dave Pearson * contrib/libct/print.c * Marked uiPort as HB_SYMBOL_UNUSED for unsupported platforms in PRINTSTAT() and PRINTREADY(). This removes a couple of warnings when building the library on unsupported platforms. 2001-11-16 00:13 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug with filters and set delete on 2001-11-15 21:00 GMT -3 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Now it only delete test.out if no error occurs 2001-11-16 05:15 GMT+0700 Andi Jahja * contrib/samples/gauge.c ! correct typo on formating %, \% => %% 2001-11-15 14:06 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug: value of empty memo was NIL instead of "" reported by Andi Jahja 2001-11-15 13:55 GMT+1 Antonio Linares * include/hbapi.h Enhanced HB_IS_OBJECT( PHB_ITEM ) 2001-11-15 04:00 GMT+7 Walter Nergo ( CVSed by Andi Jahja ) * contrib/libct/numconv.prg ! Fixed some bugs in CTON(), NTOC() and recursive function. + Add BITTOC() and CTOBIT() functions. 2001-11-13 21:26 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed: on index creation last byte of key was lost ! fixed: on index creation GPF with empty keys ! changed comments from // o /**/ 2001-11-13 15:40 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed eof() bug in hb_cdxGoTo 2001-11-12 21:25 GMT -3 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Fixed an small bug that remain in previus update The fixed Bellow was provided by Matteo Baccan *source/rtl/hvm.c * fixed problem in the way of variable search on harbour *contrib/libct/make_b32.bat contrib/libct/make_vc.bat * Fixed the name of the library +contrib/libnf/make_b32.bat *contrib/libnf/nanfor.bc * Fixed the name of the library 2001-13-11 04:45 GMT+0700 Andi Jahja * contrib/libnf/descend.c ! added type casts for MsVC * contrib/libnf/mouse.c ! some clean-ups 2001-12-11 20:00 GMT+0700 Andi Jahja * contrib/rdd_ads/ads1.c ! added type casts for MsVC (but still got warning on line 2086) * contrib/samples + add contrib/samples/makefile.vc + add contrib/samples/makevc.bat * contrib/samples/status.c ! added type casts for MsVC * contrib/samples/num.c ! added type casts for MsVC * contrib/samples/gauge.c ! added type casts for MsVC * contrib/libct/trig.c ! HB_FUNC( ASIN ), replaced abs() with fabs() ! HB_FUNC( ACOS ), replaced abs() with fabs() 2001-11-11 15:40 GMT+0700 Andi Jahja * contrib/hgf/win32 + add makefile.vc + add makevc.bat * contrib/hgf/win32/win32.c ! add type casts for MsVC 2001-11-11 23:35 UTC-0800 Brian Hays * include/hbapirdd.h * DBORDSCOPEINFO.scopeValue was changed from BYTE* to PHB_ITEM * source/rdd/dbcmd.c * ordScope(): changed to pass an item pointer to rdd * contrib/rdd_ads/ads1.c * adsScopeInfo and adsSetScope: fixed to handle all indexkey types This is a work in progress. Character and Numeric scopes should work fine. Some more needs to be done for Date and Logical 2001-11-11 20:10 GMT -3 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Fixed an small bug on FileisNewer() function 2001-11-11 08:00 GMT+0700 Andi Jahja * source/rdd/dbfcdx/dbfcdx1.c ! add type casts as required by MsVC 2001-11-10 20:54 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed hb_cdxKeyCompare, inverted sorting if high bit set (positives were before negatives) 2001-11-10 04:20 GMT +0700 Andi Jahja * source/rdd/dbf1.c ! comment unused var ULONG ulRecNo * source/rdd/dbfntx/dbfntx1.c ! add type cast for MsVC 2001-11-09 10:30 UTC-0800 Brian Hays * harbour/source/rtl/persist.prg * fixed error handling for LoadFromText() Both it and LoadFromFile() now return lSuccess 2001-11-09 14:41 GMT Dave Pearson * source/compiler/gencobj.c * Further fixes to remove core dumps regarding missing config files or missing information in the config file. 2001-11-08 23:42 GMT-3 Horacio Roldan * source/rtl/dummy.prg - removed dummy ordKeyVal() * source/rdd/dbcmd.c + added ordKeyVal() (need support by specifics RDDs) * source/rdd/dbfcdx/dbfcdx1.c + added support for ordBagName() + added support for ordKeyVal() ! fixed hb_cdxSorttoND, numeric key conversion ! fixed hb_cdxKeyGetItem(), for numeric & date keys * source/rdd/dbfcdx/dbfcdx2.h + added declaration for hb_cdxKeyGetItem 2001-11-08 22:40 GMT -3 Luiz Rafael Culik * utils/hbmake/hbmake.prg utils/hbmake/hbmake.prg * Fix some small problem with hbmake under linux 2001-11-09 05:20 GMT +7 Andi Jahja * utils/hbmake/hbmutils.prg ! add Copyright header 2001-11-09 03:00 GMT +7 Andi Jahja * utils/hbmake/hbmutils.prg ! some clean ups to enable compilation under MsVC To Luiz: Please use the standard " for include rather than ' eg. #include "foo.ch" instead of #include 'foo.ch' 2001-11-08 14:53 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c + added support for ordFor() 2001-11-07 23:00 GMT -3 Luiz Rafael Culik * utils/hbmake/hbmake.prg utils/hbmake/hbmake.prg * Fix some small problem with hbmake under linux 2001-11-07 11:30 UTC-0500 David G. Holm * contrib/libct/files.c ! Exclude Cygwin from the WIN32 build paths. 2001-11-07 14:55 UTC+0100 Viktor Szakats * source/lang/Makefile * makefile.bc * makefile.vc * Updated with new lang modules. Now only Chinese and Dutch modules are not converted, if anyone feel like doing, please do. * make_vc.bat - Removed the call to create libmisc. If you need this, please make a batch file and set it locally. * source/rtl/oldbox.c * Some indentation. 2001-11-07 16:10 GMT+3 Alexander Kresin * source/lang/msgru866.c * source/lang/msgruwin.c * format changed 2001-11-07 03:55 UTC-0500 Paul Tucker * bin\bld.bat * corrected typo 2001-11-07 03:05 UTC-0500 Paul Tucker * makefile.vc * Correct new definitions * source/rtl/fstemp.c * added cast for msvc 2001-11-07 01:45 UTC+0100 Viktor Szakats * include/hbextern.ch * include/hbapifs.h * source/rtl/fstemp.c - Removed (made static) hb_fsTempName() low-level function, since it's unsafe, and will be incorporated into hb_fsCreateTemp(). - Removed HB_FTEMPNAME function, since it's unsafe. ! Fixed some recent HB_FTEMPCREATE bugs. + HB_FTEMPCREATE() now will store the generated filename in the fourth parameter if it's passed by reference. * makefile.bc ! Fixed a bug introduced in the prev. session. 2001-11-07 01:17 UTC+0100 Viktor Szakats - b16_slex.bat - b32_slex.bat - vc_slex.bat - hb_slex.vc * makefile.vc - Removed the batch files which initated a Simplex based Harbour. from now on you can simply set the environment variable HB_LEX=SIMPLEX and get the same result using the standard make files. So if you're a Simplex user, please don't forget to put the following line into your configuration files: set HB_LEX=SIMPLEX * The Simplex specific parallel MSVC make file has been consolidated into the standard MSVC make file. Note that I couldn't test it, so please report any errors you find. * make_b32.bat ! Doesn't override the HB_LEX variable, so that it can be set by the caller. * makefile.bc * makefile.vc * PDF environment variable changed to HB_DOC_PDF. Please change your settings according to this, if needed. + Documented this switch. - todo.txt + TODO * Standardized file name. 2001-11-07 00:11 UTC+0100 Viktor Szakats * include/hbapifs.h * source/rtl/filesys.c + Added hb_fsCreateEx() function which is similar to hb_fsCreate() with the plus that the opening mode can be also specified. * include/hbextern.ch * source/rtl/philes.c + Added HB_FCREATE() where you can specifiy the opening mode using the FO_* contants. * source/lang/Makefile * makefile.bc * makefile.vc + Added some new language files. * include/Makefile ! Synced with the actual list of header files. This fixes the installation with the GNU-make system. * source/rtl/fstemp.c * include/hbapifs.h * Changed to make use of hb_fsCreateEx(), and open the temp file in exclusive mode. * source/rdd/hbdbsort.c * Now uses hb_fsCreateTemp() * make_gnu.bat * bin/bld.bat ! MinGW name change. * include/hbapigt.h + Added some functions which have incompatible prototypes with CA-Clipper Extend System. * source/vm/extend.c * Some formatting. * source/vm/mainlgtk.c ! Fixed CVS header. 2001-11-06 19:28 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfcdx/dbfcdx1.c ! fixed bug in OrdListAdd from previous change (now should work!) + added hb_cdxGetTagByNumber helper function 2001-11-06 09:50 GMT Dave Pearson * tests/Makefile * testprof.prg was missing. Added. 2001-11-06 06:20 GMT -3 Luiz Rafael Culik * source/debug/dbgtarr.prg * Some enhacementes . Now you can use Page up/Page Down keys for movement * source/rtl/gtwin/gtwin.c * Applied Matteo Patch for screen size * source/rtl/tbrowse.prg * Now hilite/dehilite methods take in account the value of tbcolumn:defblock 2001-11-05 22:35 UTC-0800 Brian Hays * harbour/source/vm/dynsym.c * added "trimming" to new symbols, should fix bugs related to dbUseArea called with space-padded alias 2001-11-05 19:25 UTC-0500 David G. Holm * config/w32/gcc.cf * source/rtl/isprint.c ! Cygwin fixes. 2001-11-05 20:35 GMT+0700 Andi Jahja * source/rdd/workarea.c ! function hb_waRelEval(), remove unused local variable int iChildArea 2001-11-05 15:38 GMT+3 Alexander Kresin * source/rdd/workarea.c * hb_waEval() method fixed ( NEXT n clause implementation ) 2001-11-05 03:59 UTC+0100 Viktor Szakats * utils/hbtest/hbtest.prg + Enhanced the display of errors, now the correct and incorrect results are below each other, so it's much easier to spot the difference. * source/common/hbver.c * "Mingw32" -> "MinGW" name of the compiler changed. * source/rtl/filesys.c * 0L -> 0, where the former was superfluous. * include/hbsetup.h ! Fixed WIN32 platform detection under Cygwin 1.3.3 * config/w32/mingw32.cf ! Added winspool lib... * makefile.bc - Removed -M switch from hbmake. Please use set CFLAGS= to add optional switches. * source/rtl/gtwin/gtwin.c * source/vm/arrays.c * source/vm/pvalue.c * Minor changes in formatting. 2001-11-04 18:34 UTC+0100 Viktor Szakats * source/compiler/cmdcheck.c * source/compiler/gencobj.c * source/compiler/hbpcode.c * source/rtl/filesys.c * source/rtl/idle.c * source/vm/classes.c * source/vm/hvm.c ! Non-ansi comments fixed. Note that RDD files has lots of // comments, if you're the author of some those files and seeing this, please check your code. Thx. 2001-11-04 18:14 UTC+0100 Viktor Szakats * include/hbexpra.c * include/hbexprc.c * source/rtl/set.c * source/rtl/isprint.c * source/vm/classes.c * source/vm/hvm.c ! Fixed BCC551 warnings. (One more warning is left, due to some define messes) ! Non-ansi comments fixed. 2001-11-04 17:25 GMT+1 Antonio Linares * source/vm/classes.c __ClsAddMsg() case HB_OO_MSG_ONERROR modifed to use hb_parnl( 3 ) * source/rtl/tclass.prg __ClsAddMsg() call, for ON ERROR clause, modified suplied parameters 2001-11-04 15:54 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! ::Hilite() cursor positioning was wrong for TBrowsers without heading 2001-11-04 13:56 UTC+0100 Viktor Szakats * bin/bld.bat * bin/bld_b16.bat * bin/bld_b32.bat * bin/bld_vc.bat * make_gnu.bat ! Removed the LIBMISC.LIB requirement for BCC and VC platforms. + Added note to not modify these files as they are templates. 2001-11-03 14:00 GMT+7 Andi Jahja * contrib/rdd_ads/ads1.c ! some clean ups * contrib/rdd_ads/adsmgmnt.c ! add type cast to quite MsVC 2001-11-02 22:50 GMT+1 Martin Vogel + contrib/libct/keyset.c + key switch functions KSETINS, KSETCAPS, KSETNUM, KSETSCROLL + contrib/libct/print.c + printer functions PRINTSTAT, PRINTREADY + contrib/libct/numconv.prg + number manipulation functions NTOC, CTON all provided by Walter Negro - FOEESITRA * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/ctflist.txt * changes according to the above 2001-11-01 05:10 UTC-0800 Brian Hays * harbour/include/hbsetup.h * Wrapped HB_FM_STATISTICS in #ifndef test so it can be turned off by defining HB_FM_STATISTICS_OFF in your make or bat files. * harbour/source/rtl/trace.c + added HB_TRACESTRING() which lets prg code trace a string into same trace file/window as C traces * harbour/source/vm/hvm.c + added __TRACEPRGCALLS( ) --> Turns on | off tracing of PRG-level function and method calls. Dumps symbol name just before it's called. Implementation follows example of the Profiler; all actions are wrapped in an "if" of a BOOL so there should be no performance hit if it's turned off. This is very useful when debugging GPFs as it will trace all PRG-level calls up until the crash. Uses HB_TRACE so traces are in line with any C-level traces. 2001-11-01 18:30 GMT+1 Martin Vogel + contrib/libct/datetime.prg + some date functions (bom,eom,boq,eoq,boy,eoy,stod) provided by Marek Horodyski * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/ctflist.txt * changes according to the above * contrib/libct/token2.c * some typos corrected 2001-11-01 17:05 GMT+1 Antonio Linares * contrib/rdd_ads/ads1.c type cast required for msvc 2001-11-01 21:40 GMT+7 Andi Jahja * include/hbdefs.h ! add argument to __HARBOUR__ definition => define if not defined yet since in some cases __HARBOUR__ is defined in command line 2001-11-01 15:15 GMT+1 Antonio Linares * source/vm/classes.c type cast to avoid a msvc error * source/vm/itemapi.c some type casts to avoid some msvc errors and warnings 2001-11-01 08:16 GMT Dave Pearson * tests/multiarg.prg * __PValue() --> HB_PValue(). 2001-10-30 00:20 GMT +0700 Andi Jahja * include/hbexpra.c ! rename __PVALUE to HB_PVALUE => Need clean rebuild * utils/hbmake/hbmutils.prg ! fix typo "(" 2001-10-31 11:48 GMT+3 Alexander Kresin * source/rdd/dbcmd.c ! fixed alias name checking in dbUseArea() 2001-10-30 21:15 GMT -3 Luiz Rafael Culik * bin/bld.bat * Added Required winspool.lib for msvc builds * source/vm/pvalue.c include/hbextern.ch * Renamed __pvalue to hb_pvalue * utils/hbmake/hbmake.prg utils/hbmake/hbmake.prg * Fix some small problem with hbmake under linux 2001-10-30 20:05 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * Added support for creating custom indexes * contrib/rdd_ads/adsfunc.c * Two functions added: AdsAddCustomKey( [ cOrder | nPosition ] ) AdsDeleteCustomKey( [ cOrder | nPosition ] ) 2001-10-30 11:01 GMT Dave Pearson * source/rtl/filesys.c * Fixed the Un*x oriented code in hb_fsMkDir so that it sets S_IXUSR as well as S_IWUSR and S_IRUSR when making the directory. Without it the directory can't be entered or used. 2001-10-29 14:14 GMT+1 Maurilio Longo * contrib/mysql/readme.txt * updated - contrib/mysql/mysql.h - contrib/mysql/mysql_com.h - contrib/mysql/mysql_version.h - removed OS/2 only include files 2001-10-27 22:40 GMT -3 Luiz Rafael Culik * contrib/mysql/mysql.c * Fixed an small bug on SQLCONNECT *utils/hbmake/hbmutils.prg * Fixed an small bug, on GetSourceFiles() and GetMacrosDir() with was not returning the valid files names/directory names under linux 2001-10-27 20:15 GMT+3 Alexander Kresin * source/rdd/dbfntx1.c * logical index support added ( code posted by Matteo Baccan ) ! source/pp/pplib.c ! bug fixed in __pp_free() function 2001-10-27 06:50 GMT -3 Luiz Rafael Culik * hb_slex.vc * Make file sincronized with makefile.vc thanks to Ron Pinkas forn this file update * contrib/hbzlib/zipnew.cpp contrib/hbzlib/zip.c * Fixed an small bug when uncompressing File that has the drive letter 2001-10-26 15:21 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c * OrderListAdd now reorder the Tag List of the opened CDX by its position in the CDX instead of its tag name. (for Clipper compatibility) 2001-10-26 13:15 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c * Re-disabled temporally SUPER call to ignore unsupported ordinfo items 2001-10-26 00:10 GMT Dave Pearson * source/compiler/harbour.c * Tidied up the indentation of the functions towards the end of the file. The indentation had somehow got lost at some point in the past. 2001-10-24 20:08 GMT+7 Andi Jahja * source/rdd/dbcmd.c ! Add casts to quite MsVC 2001-10-24 09:50 GMT+3 Alexander Kresin ! source/rdd/dbfntx1.c ! bug fixed in ntxZap 2001-10-23 22:03 UTC-0500 Paul Tucker * makefile.vc * add missing $(OBJ_DIR)\hbmutils.c per 2001-10-23 20:08 GMT-3 Horacio Roldan * source/rdd/dbcmd.c ! Fixed bug in dbCreate, that affected DBF RDD derived (ntx & cdx) with memo files. 2001-10-23 14:10 GMT+3 Alexander Kresin ! source/rdd/dbfntx1.c ! fixed support of numeric indexes for negative numbers 2001-10-22 07:20 GMT -3 Luiz Rafael Culik *makefile.bc * removed -b option from hbmake 2001-10-22 13:42 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c + added support for DBOI_NUMBER, for indexord() support + added support for DBOI_ORDERCOUNT, for ordlistadd() support 2001-10-22 01:28 UTC-0500 Paul Tucker * utils\hbmake\hbmake.prg * corrected a couple of typos. 2001-10-22 01:10 UTC-0500 Paul Tucker * makefile.vc * corrected ECHO and PDF definition. 2001-10-21 19:10 GMT -3 Luiz Rafael Culik * source/compiler/harbour.c * Fixed alingment on the _DECL section * utils/hbmake/hbmake.prg utils/hbmake/hbmutils.prg * Small Fixes *Removed call to the Harbour profiler * todo.txt *Removed the hbmake entry 2001-10-21 08:05 GMT Dave Pearson * source/hbmake/Makefile * Added missing continuation character to line 14. * utils/hbmake/hbmutils.prg * Adding missing ")" to `if' in line 21. 2001-10-20 20:00 GMT -3 Luiz Rafael Culik * source/compiler/harbour.c * Changed some function parameters in the _DECL section * utils/hbmake/hbmake.prg % removed unused variables + New parameter -r: recurse sub directories on editor mode % enhaced -e and -el: the enhaced parameters has an x on the end. using the -ex or -elx tells hbmake to use harbour .obj generation capabilities % many For/Next Loop replaced for an fastern Aeval() function call * Support for generating output files in other dir + utils/hbmake/hbmutils.prg * All utilities function inside hbmake.prg was moved to this module * utils/hbmake/pickfile.prg *added pickafile() function + doc/hbmake.txt * some info about hbmake. Linux users should read to see how to set harbour.cfg. * makefile.bc makefile.vc hb_slex.vc utils/hbmake/Makefile * Added hbmutils.prg to dependencie List 2001-10-20 07:30 GMT -3 Luiz Rafael Culik *contrib/hbzlib/zipnew.cpp contrib/hbzlib/zipcomp.cpp contrib/hbzlib/zip.c contrib/hbzlib/hbzip2.h * Fixed an small bug on hb_setzipcommet() 2001-10-20 07:30 GMT -3 Luiz Rafael Culik *source/compiler/harbour.c *Fixed some warings reported by Dave Person 2001-10-19 01:35 UTC-0500 Paul Tucker * source/contrib/libct * justify.c pos2.c range.c relation.c replace.c strswap.c wordtoch.c pad.c * added casts to xgrab calls. 2001-10-19 18:42 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed ordSetFocus related, if the previos order was 0, it did nothing ! fixed ordSetFocus related, was comparing case sensitive 2001-10-19 07:50 GMT -3 Luiz Rafael Culik *source/compiler/harbour.c *Fixed some warings reported by Dave Person 2001-10-18 22:10 GMT -3 Luiz Rafael Culik *source/rtl/profiler.prg * fixed an small bug: Is was looking for an internel class start with HB_ but the class was defined without the _ *source/compiler/harbour.c *added 37 functions in the _DECL section for the strong type support 2001-10-15 09:15 GMT+3 Alexander Kresin ! source/pp/pptable.c * Warning fixed 2001-10-12 12:44 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.c ! fixed updating keys with trailing spaces * added support for conditional indexes (creation and updating) 2001-10-11 23:05 GMT+1 JFL (mafact) * harbour/source/vm/classes.c * harbour/source/vm/hvm.c * Changed the way I allocate/reallocate and xfree 'puiClstree' pointer to solve unreleased memory blocks ... 2001-10-11 21:45 GMT+3 Alexander Kresin ! source/pp/pptable.c * Rule corrected 2001-10-10 23:50 GMT+1 JFL (mafact) * harbour/source/vm/classes.c Fixed hb_clsIsParent for same class as parent ... (xBase++ compatibility) 2001-10-10 10:07 GMT Dave Pearson * source/rtl/tbrowse.prg * Fixed bug in :insColumn() as reported by Andreas Moroder in . 2001-10-08 21:30 GMT -3 Luiz Rafael Culik *source/rtl/isprint.c contrib/libct/files.c ! Cygwin fixes. *contrib/hbzlib/zipnew.cpp contrib/hbzlib/zipcomp.cpp contrib/hbzlib/zip.c contrib/hbzlib/hbzip2.h * Added new functions * Now is possible to create zipfiles in memory *contrib/libct/makefile.bc * added files.c to makefile 2001-10-08 23:12 GMT+3 Alexander Kresin ! source/rdd/dbf1.c ! source/rdd/workarea.c * relations implemented for RDD's, inherited from DBF ( DBFNTX AND DBFCDX ) 2001-10-06 15:28 GMT+3 Alexander Kresin ! source/rdd/dbfntx/dbfntx1.c ! Few fixes 2001-10-05 23:12 GMT+3 Alexander Kresin ! source/rdd/dbf1.c ! hb_dbfRecall() fixed 2001-10-04 17:10 UTC-0400 David G. Holm * doc/gmake.txt * source/rtl/filesys.c * source/rtl/idle.c ! Cygwin fixes. 2001-10-03 17:30 UTC-0400 David G. Holm * source/rtl/isprint.c - The Windows version doesn't work with RSXNT, due to link time errors, so exclude __RSXNT__ from the HB_OS_WIN_32 branches. 2001-09-30 17:20 GMT -3 Luiz Rafael Culik *source/rtl/filesys.c * Some minor changes to the Win32 section(Verify the return code of the function before make the call to GetLastError()) 2001-09-30 08:20 GMT -3 Luiz Rafael Culik *contrib/hbzlib/zipnew.cpp contrib/hbzlib/zipcomp.cpp contrib/hbzlib/zip.c contrib/hbzlib/hbzip2.h * Added an second code block to all Compress/extraction function * Added some guard com specific platform *contrib/hbzlib/doc/zipnew.txt * Updated the docs to reflect the library changes 2001-09-27 14:33 UTC+0100 Viktor Szakats * source/rtl/memofile.c ! MEMOWRIT() - Restored CA-Cl*pper compatibility. * source/rtl/dbedit.prg ! DBEDIT() - Restored CA-Cl*pper compatibility. * source/rtl/tbrowse.prg ! Fixed AutoLite/Hilite/DeHilite() support. Now DBEDIT() works as expected. 2001-09-27 01:52 GMT-3 Horacio Roldan * source/rtl/memofile.c * Fixed: MemoWrit added an EOF (0x1A) everytime (under Windows), Reported by Brian Hays. * Fixed: MemoRead didn't strip the EOF char (under Windows). 2001-09-26 18:38 GMT-3 Horacio Roldan * source/rtl/dbedit.prg * Fixed no-hilighting problem, sent by Wilson Velazquez 2001-09-24 08:45 GMT+1 Antonio Linares - contrib/hgf/gtk/tform.prg + contrib/hgf/gtk/form.prg * tform.prg module renamed as form.prg - contrib/hgf/gtk/tmenu.prg + contrib/hgf/gtk/menu.prg * tmenu.prg module renamed as menu.prg + contrib/hgf/gtk/dispatch.c * GTK c level to PRG level dispatcher + contrib/hgf/gtk/msginfo.c * GTK MsgInfo() implementation + contrib/hgf/gtk/creabutt.c * pushbuttons low level creation. + contrib/hgf/gtk/winctrl.prg * Class HBWinControl + contrib/hgf/gtk/general.prg * some low level functions + contrib/hgf/gtk/button.prg * Class HBButton * harbour/contrib/hgf/gtk/Makefile * harbour/contrib/hgf/gtk/creamenu.c * harbour/contrib/hgf/gtk/creawin.c * harbour/contrib/hgf/gtk/harbgtk.ch * harbour/contrib/hgf/gtk/harbgtk.h * harbour/contrib/hgf/gtk/menuitem.prg * harbour/contrib/hgf/gtk/shared.ch * some changes 2001-09-21 11:30 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c ! Uploaded a fix, posted by Brian Hays * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/ads.ch * SET PATH TO added * contrib/rdd_ads/doc/rddads.rsp * adsfuncs.txt item added * contrib/rdd_ads/doc/en/adsfuncs.txt ! minor formatting bug fixed 2001-09-18 02:06 UTC+0100 Viktor Szakats * source/vm/arrayshb.c ! HB_APARAMS() trace call removed. Thanks to Brian Hays. 2001-09-17 02:21 UTC+0100 Viktor Szakats * source/compiler/hbfunchk.c ! QSELF() compile time checking for the number of arguments. Thanks to Jose Lalin. 2001-09-16 20:40 GMT -3 Luiz Rafael Culik *contrib/libct/files.c * fixed compiler problem for MINGW 2001-09-13 06:02 UTC+0100 Viktor Szakats * source/vm/arrays.c ! hb_arraySize() fixed. Now it will do nothing if the passed size equals with the size of passed array. Caused mem. alloc. error with empty arrays. Reported by Brian Hays. 2001-09-11 10:37 GMT Dave Pearson * source/rtl/profiler.prg * Renamed classes from HB_* to HB*. * tests/testprof.prg * Updated the code to use the new class names. 2001-09-11 12:11 UTC+0100 Viktor Szakats * source/vm/classes.c ! Changed one (hopefully) last occurence of TClass to HBClass * make_b16.bat make_b32.bat make_vc.bat makefile.bc makefile.vc * Some cleanups. * doc/en/command.txt doc/en/harbext.txt doc/en/objfunc.txt doc/en/tclass.txt doc/es/command.txt ! Classname changes applied to docs. 2001-09-10 23:53 UTC+0100 Viktor Szakats * source/rtl/dummy.prg - Removed commented out functions. ! Added CRLF to EOF * source/vm/classes.c ! Small correction to CVS header. * contrib/libmisc/fileread.prg contrib/odbc/todbc.prg include/hbclass.ch include/hbextern.ch samples/guestbk/inifiles.prg samples/guestbk/testcgi.prg source/debug/debugger.prg source/debug/tbrwtext.prg source/rtl/checkbox.prg source/rtl/dummy.prg source/rtl/getlist.prg source/rtl/getsys.prg source/rtl/listbox.prg source/rtl/memoedit.prg source/rtl/pushbtn.prg source/rtl/radiobtn.prg source/rtl/radiogrp.prg source/rtl/scrollbr.prg source/rtl/strings.c source/rtl/tclass.prg source/rtl/teditor.prg source/rtl/terror.prg source/rtl/tget.prg source/rtl/tgetlist.prg source/rtl/tlabel.prg source/rtl/tmenuitm.prg source/rtl/tobject.prg source/rtl/tpopup.prg source/rtl/treport.prg source/rtl/ttextlin.prg source/rtl/ttopbar.prg tests/clasinit.prg tests/classes.prg tests/clsdata.prg tests/debugtst.prg tests/dynobj.prg tests/inherit.prg tests/inifiles.prg tests/inline.prg tests/objarr.prg tests/objasign.prg tests/objects.prg tests/overload.prg tests/rtfclass.prg tests/stripem.prg tests/testcgi.prg tests/testhtml.prg tests/tstmacro.prg utils/hbtest/rt_misc.prg * Changed class names to avoid possible namespace collisions. TClass -> HBClass TObject -> HBObject TGetList -> HBGetList TEditor -> HBEditor TTextLine -> HBTextLine TLabelForm -> HBLabelForm TReportForm -> HBReportForm TGet -> removed (If someone used it anywhere please change it to "Get") TRadioGroup -> HBRadioGroup TScrollBar -> HBScrollBar TRadioBtn -> HBRadioButton TListBox -> HBListBox TPushButton -> HBPushButton The debugger classes were not renamed this time. * contrib/libct/makefile.bc ! Corrected typo in make file (could not compile). * source/rtl/radiobtn.prg ! Fixed class name. * source/rtl/listbox.prg ! Fixed two errors in class declaration ! Fixed one syntax error * source/rtl/scrollbr.prg ! Fixed incorrect #include "class.ch". ! Public variable (is it really needed ?) prefixed with "hb_p_" and MEMVAR declaration added. * source/rtl/strings.c * Updated copyright since all copyright was held by the one (me;) in the partial copyright section. * source/rtl/gtstd/gtstd.c ! C compiler warning fixed. * source/compiler/hbusage.c ! Typo fixed. 2001-09-09 17:30 GMT -3 Luiz Rafael Culik *makefile.bc makefile.vc source/rtl/Makefile + Scrollbr.prg and Listbox.prg to dependecie list +source/rtl/listbox.prg * Ca-Clipper 5.3 compatible listbox Class +source/rtl/scrollbr.prg * Ca-Clipper 5.3 compatible scroll bar Class *source/rtl/checkbox.prg *small change to isdefcolor function * Todo.txt Remove the Ca-clipper 5.3 classes entried 2001-09-09 21:00 MEST Martin Vogel + contrib/libct/token2.c + Incremental tokenizer: TOKENINIT(), TOKENEXIT(), TOKENNEXT() TOKENNUM(), TOKENAT(), SAVETOKEN() RESTTOKEN(), TOKENEND() with some enhanced functionality + contrib/libct/tests/token2.prg + test program for incremental tokenizer - contrib/libct/ct.c + contrib/libct/ctc.c ! file renamed from ct.c to ctc.c, contains now C part of lib init/exit code + contrib/libct/ct.prg ! contains PRG part of lib init/exit code - contrib/libct/temper.c ! file removed since CELSIUS() and FAHRENHEIT() functions have already been implemted in num1.c * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/cterror.ch * contrib/libct/ctflist.txt * contrib/libct/readme.txt * changes according to the above 2001-09-09 15:48 GMT+2 Maurilio Longo + contrib/hgf/os2pm/winctrl.prg + added + contrib/hgf/os2pm/button.prg + added + contrib/hgf/os2pm/edit.prg + added * contrib/hgf/os2pm/Makefile + added new files * contrib/hgf/os2pm/os2pm.c * modified and added new functions already added to win32.c * contrib/hgf/os2pm/os2pm.ch - removed all defines which are not currently needed, this makes os2pm.ch smaller and faster to compile. 2001-09-08 12:01 UTC-0800 Brian Hays - hb_slex.bc Removed unneeded file since Simplex uses makefile.bc now 2001-09-08 17:00 UTC+0100 Ryszard Glab *source/vm/macro.c * fixed "memory not released" bug during object's variable assignment 2001-09-08 11:32 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg extern HB_STOD added * harbour/contrib/hgf/win32/win32.ch some defines added * harbour/contrib/hgf/win32/makefile.bc module edit.prg added * harbour/contrib/hgf/win32/button.prg Some defines moved to win32.ch * harbour/contrib/hgf/win32/edit.prg Class HBEdit * harbour/contrib/hgf/tests/testctrl.prg HBEdit control test added 2001-09-08 00:01 UTC-0800 Brian Hays * hb_slex.bat * make_b32.bat * makefile.bc * integrated simplex instructions into makefile.bc 2001-09-07 13:06 GMT+1 Antonio Linares - harbour/contrib/hgf/win32/tform.prg + harbour/contrib/hgf/win32/form.prg tform.prg renamed as form.prg - harbour/contrib/hgf/win32/tmenu.prg + harbour/contrib/hgf/win32/menu.prg tmenu.prg renamed as menu.prg + harbour/contrib/hgf/win32/win32.ch Win32.ch constants definitions header file + harbour/contrib/hgf/win32/winctrl.prg Class HBWinControl + harbour/contrib/hgf/win32/button.prg Class HBButton * harbour/contrib/hgf/win32/makefile.bc updated + harbour/contrib/hgf/tests/testctrl.prg Testing Harbour GUI framework controls * harbour/contrib/hgf/win32/win32.c Some fixes and a new function ShowWindow() added * harbour/contrib/hgf/win32/menuitem.prg "T" Classes prefix changed into "HB" * harbour/contrib/hgf/tests/testform.prg * harbour/contrib/hgf/tests/formtext.prg * harbour/contrib/hgf/tests/form3res.prg * harbour/contrib/hgf/tests/form3.prg * harbour/contrib/hgf/tests/form2.prg "T" Classes prefix changed into "HB" * harbour/contrib/hgf/tests/form.hbf some minor changes * harbour/contrib/hgf/tests/build_b32.bat some minor fixes 2001-09-07 09:13 GMT Dave Pearson * doc/readme.txt * Updated the pointer to dirstruc.txt (I'd committed the wrong version of the file last time, Doh!). 2001-09-07 08:40 GMT Dave Pearson * doc/readme.txt * Added a pointer to dirstruc.txt. * doc/dirstruc.txt * Minor additions and corrections. 2001-09-06 21:20 GMT -3 Luiz Rafael Culik *makefile.vc hb_slex.vc * Renable build of hbrun by adding winspool.lib to LIB2 macro 2001-09-06 22:55 GMT +1 JFL (mafact) * harbour/source/vm/classes.c __ObjSendMsg( Object, Message, xpar1, xparN ) Now generates a MessageNotfound error in case of unknow message sended 2001-09-06 22:20 GMT +1 JFL (mafact) * harbour/hb_slex.vc synch. with hb_slex.bc * harbour/makefile.vc synch. with makefile.bc * harbour/source/rtl/isprint.c alloc.h => malloc.h LPSTR => LPBYTE 2001-09-06 14:50 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg added methods LoadFromText() and LoadFromFile() * harbour/contrib/hgf/tests/form3.prg Added OnClick assignment test * harbour/contrib/hgf/tests/form3.hbf Added saved form OnClick property * harbour/contrib/hgf/tests/form3res.prg Loading persistence files at runtime sample 2001-09-06 14:39 UTC+0300 Chen Kedem + doc/dirstruc.txt * add a document which list Harbour directory structure 2001-09-06 09:34 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg Method CreateNew() added 2001-09-05 22:45 UTC-0800 Brian Hays * makefile.bc * hb_slex.bc * added defaults for ECHO and DEL macros so the make files are not dependent upon definitions in make_b32.bat and/or b32_slex.bat. 2001-09-05 11:25 UTC-0800 Brian Hays * b32_slex.bat * make_b32.bat + Added default setting for $(DEL) and $(ECHO). * makefile.bc + Added macros $(DEL) and $(ECHO) to allow needed redefinition under Win2K/Xp * hb_slex.bc * Synched with makefile.bc * source/compiler/harbour.slx * Removed unused piece of code in * source/compiler/simplex.c * changed two HB_SYMBOL_UNUSED() to (void) (to not use external macros in core simplex). 2001-09-05 12:24 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg TPersistent renamed as HBPersistent * harbour/contrib/hgf/win32/tform.prg TPersistent changed for HBPersistent * harbour/contrib/hgf/win32/tmenu.prg TPersistent changed for HBPersistent * harbour/contrib/hgf/win32/menuitem.prg TPersistent changed for HBPersistent 2001-09-05 11:53 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg Some changes as per Dave's proposal. * harbour/contrib/hgf/tests/testform.prg Some minor changes * harbour/contrib/hgf/tests/formtext.prg Some minor changes 2001-09-05 07:53 GMT Dave Pearson * source/rtl/Makefile * Added perfuncs.prg to PRG_SOURCES. 2001-09-05 09:00 GMT+1 Antonio Linares + harbour/include/hbpers.ch Harbour persistence commands + harbour/source/rtl/perfuncs.prg Harbour persistence commands support functions * harbour/source/rtl/persist.prg HB_DToS() replaced by DToS() * harbour/makefile.bc perfuncs.prg module added + harbour/contrib/hgf/tests/form3.prg Sample of use of persistence files to build a form + harbour/contrib/hgf/tests/form3.hbf HGF form persistence file sample 2001-09-05 07:37 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg HB_STOD() and HB_DTOS() use for dates management 2001-09-05 07:00 GMT+1 Antonio Linares * harbour/contrib/hgf/win32/tform.prg Property OnClick added and WM_LBUTTONDOWN msgs properly routed * harbour/contrib/hgf/tests/formtext.prg form OnClick property tested ok 2001-09-05 06:42 GMT+1 Antonio Linares * harbour/contrib/hgf/win32/tform.prg Added new properties Top, Left, Height and Width. * harbour/contrib/hgf/win32/win32.c Added new functions WinGetTop(), WinSetTop(), WinGetLeft(), WinSetLeft(), WinGetHeight(), WinSetHeight(), WinGetWidth(), WinSetWidth(). HB_PM_SHOWMODAL renamed as HB_FORMSHOWMODAL. 2001-09-02 16:15 GMT -3 Luiz Rafael Culik * source/rtl/isprint.c * Replaced HB_OS_WIN_32_USED with HB_OS_WIN_32 2001-09-04 22:50 GMT +1 JFL (mafact) * harbour\include\hbclass.ch Improved support for PERSISTENT keyword (ACCESS and SETGET) * harbour\source\rtl\tobject.prg added two methods ... (xBase++) ISDERIVEDFROM (Class(y)) ISKINDOF 2001-09-04 16:06 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg oNew use fixed. Some formating fixes implemented also. 2001-09-04 11:50 GMT+1 Antonio Linares * harbour/contrib/hgf/win32/win32.c events routing implemented * harbour/contrib/hgf/win32/tmenu.prg inheritance from TPersistent implemented * harbour/contrib/hgf/win32/tform.prg events routing implemented. Inheritance from TPersistent implemented. * harbour/contrib/hgf/tests/form2.prg some little changes to test events routing + harbour/contrib/hgf/tests/formtext.prg testing forms view as text based on persistence 2001-09-04 11:30 GMT+1 Antonio Linares * harbour/source/rtl/persist.prg some improvements for arrays * harbour/tests/testpers.prg some improvements for testing nested arrays 2001-09-04 08:41 GMT+2 Maurilio Longo * contrib/hgf/os2pm/* ! fixed menu items handling under OS/2 where you cannot change a MIS_TEXT into a MIS_SUBMENU without first deleting MIS_TEXT and then inserting MIS_SUBMENU 2001-09-03 17:19 GMT Dave Pearson * source/rtl/Makefile * Added persist.prg to PRG_SOURCES. 2001-09-03 16:56 GMT Dave Pearson * source/rtl/isprint.c * Added missing comment close. 2001-09-03 11:30 GMT+1 Antonio Linares + harbour/contrib/hgf/gtk/makefile + harbour/contrib/hgf/gtk/creamenu.c + harbour/contrib/hgf/gtk/creawin.c + harbour/contrib/hgf/gtk/harbgtk.ch + harbour/contrib/hgf/gtk/shared.ch + harbour/contrib/hgf/gtk/harbgtk.h + harbour/contrib/hgf/gtk/menuitem.prg + harbour/contrib/hgf/gtk/tform.prg + harbour/contrib/hgf/gtk/tmenu.prg HGF GTK support by Marek Paliwoda 2001-09-02 21:30 GMT+1 Antonio Linares + harbour/source/rtl/persist.prg arrays support started 2001-09-02 19:30 GMT+1 Antonio Linares + harbour/source/rtl/persist.prg Class TPersistent to implement objects persistence + harbour/tests/testpers.prg objects persistence sample using Class TPersistent objects * harbour/makefile.bc persist.prg module added to Borland makefile. Notice that other makefiles should be updated 2001-09-02 18:32 GMT+1 Antonio Linares * harbour/source/vm/classes.c New function __ClsGetProperties() added. Syntax: __ClsGetProperties( ) --> 2001-09-02 13:10 GMT -3 Luiz Rafael Culik * source/rtl/isprint.c * Added code for win32 platform 2001-09-02 14:20 GMT+1 Antonio Linares * harbour/source/vm/classes.c Added BOOL bIsPersistent to the METHOD structure (notice that both datas and methods use that structure) * harbour/source/rtl/tclass.prg Added lPersistent parameter to AddMultiData, AddData and AddInline methods. * harbour/include/hboo.ch Added new defines HB_OO_DATA_PERSISTENT and HB_OO_MTHD_PERSISTENT * harbour/include/hbclass.ch Added new clause PERSISTENT or PROPERTY to both datas and methods. 2001-09-01 19:00 GMT+1 Antonio Linares * harbour/contrib/hgf/win32/tmenu.prg METHOD FindItem( nId ) added * harbour/contrib/hgf/win32/tmenuitm.prg METHOD FindItem( nId ) added 2001-09-01 09:00 GMT+1 Antonio Linares + harbour/contrib/hgf/win32/tests/form2.prg Harbour Class TForm inheritance sample 2001-09-01 08:35 GMT+1 Antonio Linares + harbour/contrib/hgf/win32/make_b32.bat batch file to invoke the makefile for Harbour GUI framework Win32 using Borland C compiler + harbour/contrib/hgf/win32/makefile.bc makefile for Harbour GUI framework Win32 using Borland C compiler * harbour/contrib/hgf/win32/win32.c * harbour/contrib/hgf/win32/tform.prg * harbour/contrib/hgf/win32/tmenu.prg * harbour/contrib/hgf/win32/tmenuitm.prg some minor fixes + harbour/contrib/hgf/win32/tests/build_b32.bc batch file to build Harbour GUI framework for Win32 tests + harbour/contrib/hgf/win32/tests/testform.prg Harbour GUI framework for Win32 TestForm.prg sample 2001-08-31 14:30 UTC-0400 David G. Holm * config/os2/icc.cf * source/vm/Makefile * Build and use mainstd.c for OS/2 instead of main.c in order to avoid the main.c build dependencies. Note to builders of OS/2 binary distributions: Please be sure to include both the mainstd and mainpm object files! 2001-08-31 12:15 GMT+1 Ignacio Ortiz * source/bin/bld.bat * source/include/extend.api * source/include/clipdefs.h * source/tests/testget.prg * Return to previous revision due a mistake in last CVS process 2001-08-31 11:32 GMT+1 Antonio Linares + harbour/source/vm/mainlgtk.c Added Marek Paliwoda's Linux GTK application entry point 2001-08-28 21:10 GMT -3 Luiz Rafael Culik * added #include "dir.h" inside platform tags 2001-08-30 16:30 UTC-0400 David G. Holm * config/os2/gcc.cf * config/os2/icc.cf + Automatically deal with different linker requirements for Presentation Manager programs and VIO programs. * contrib/hgf/os2/os2pm.c ! Removed hWndFrame variable from HB_FUNC( WINCREATESTDWINDOW ), because it isn't needed and causes problems in C++ mode. * doc/gmake.txt + Added mention of w32/bcc32. + Added mention of os2/gcc and os2/icc with the new os2pm. * source/vm/Makefile ! Always build both main and mainpm for OS/2 builds, because the choice of which to use is a program link-time choice, not a Harbour build-time choice. 2001-08-30 19:00 GMT+1 Ignacio Ortiz * source/rtl/memoline.c * source/rtl/mlcount.c * source/rtl/tget.prg * source/rtl/transfrm.c * Return to previous revision due a mistake in last CVS process 2001-08-30 15:38 GMT Dave Pearson * source/rtl/Makefile * Added mlctopos.c and mpostolc.c to C_SOURCES. 2001-08-30 15:03 GMT+2 Maurilio Longo * contrib/hgf/os2pm/* * changed to add client window repainting capabilities. 2001-08-30 13:15 GMT+1 Ignacio Ortiz + source/rtl/mlctopos.c + source/rtl/mpostolc.c * The last two memo Standard Clipper functions missing * makefile.bc * To include the two files. Please someone check other make files * source/rtl/dummy.prg * removed mlctopos and mpostolc dummy functions * doc/funclist.txt * change state to ready for mpostolc and mlctopos 2001-08-30 09:31 GMT+2 Maurilio Longo * contrib/hgf/os2pm/Makefile * Corrected because now subdir is one level deeper than it was before 2001-08-30 09:31 GMT+2 Maurilio Longo * contrib/os2pm/*.* - removed all files + contrib/hgf/os2pm + contrib/hgf/os2pm/os2pm.c + contrib/hgf/os2pm/tform.prg + contrib/hgf/os2pm/os2pm.ch + contrib/hgf/os2pm/tmenu.prg + contrib/hgf/os2pm/tmenuitm.prg + contrib/hgf/os2pm/Makefile + added all files for IBM OS/2 version of HGF 2001-08-28 21:10 GMT -3 Luiz Rafael Culik + contrib/libct/files.c * CT3 compatible functions for Fileattr,fileseek,filedate,filetime,setfattr + contrib/libct/temper.c * CT3 compatible functions Celcius e Fahrenheit *contrib/libct/Makefile Added temper.c and files.c 2001-08-28 19:21 GMT+2 Maurilio Longo * contrib/os2pm/*.* * changes to every file to add menu creation capabilities 2001-08-27 20:50 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg * Fixes related to path finding to Apps(C compiler and harbour.exe) * Small fix for hbmake library mode for linux(the generated make file) 2001-08-27 18:10 GMT+3 Alexander Kresin + contrib/hgf/win32 * New directory added + contrib/hgf/win32/win32.c * Win32 GUI layer + contrib/hgf/win32/tform.prg + contrib/hgf/win32/tmenu.prg + contrib/hgf/win32/tmenuitm.prg * copied from contrib/os2pm with minor changes 2001-08-25 03:05 UTC-0800 Brian Hays * contrib/dot/pp.prg * added note: This is being expanded independently from Harbour at this Sourceforge project: http://sourceforge.net/projects/xbase-script * source/compiler/harbour.sly * copied Ryszard's last fix to harbour.y 2001-08-24 22:15 GMT -3 Luiz Rafael Culik +source/rtl/pushbtn.prg *Push Button Class Compatible with Ca-Clipper 5.3 *hb_slex.bc makefile.bc hb_slex.vc makefile.vc source/rtl/makefile *Added pushbtn.prg to dependencie list *include/hbgetcmt.ch *Added Command for creating push buttons 2001-08-24 23:40 GMT+2 Maurilio Longo + contrib/os2pm/tmenu.prg + contrib/os2pm/tmenuitm.prg + added * contrib/os2pm/tform.prg * contrib/os2pm/os2pm.c + added harbour licence and new methods and support functions 2001-08-24 16:40 GMT+2 Maurilio Longo * contrib/os2pm/os2pm.c * moved here functions from mainpm.c * * contrib/os2pm/tform.prg + added new methods * source/vm/mainpm.c - removed a couple of helper functions which belong to os2pm.c 2001-08-24 16:03 GMT+2 Maurilio Longo + contrib/os2pm + contrib/os2pm/os2pm.c + contrib/os2pm/tform.prg + contrib/os2pm/os2pm.ch + contrib/os2pm/Makefile + added files of an early implementation of a generic GUI framework for harbour. At present time they work only under OS/2 PM 2001-08-23 23:18 GMT Dave Pearson * source/rtl/profiler.prg * Minor tidy-up of a couple of comments. * tests/testprof.org * Updated to test the various reporting classes. 2001-08-23 22:51 GMT Dave Pearson * doc/readme.txt * Cut down to a bare minimum. Most of the information in there was out of date. The document now simply states the aim of harbour, points the reader at the web site and the FAQ and reminds them that they'll find copious documentation in the same place that they found the README file. 2001-08-23 23:13 GMT+2 Maurilio Longo * source/vm/Makefile + if HB_GT_LIB == os2pm then compiles mainpm.c instead of main.c * source/vm/mainpm.c * little changes to make it work. NOTE: after gcc creates an executable file you need to issue an: emxbind -ep filename.exe to mark it as a PM executable, failing to do so the executable file is a VIO one and all calls to WinXxx() functions will fail 2001-08-23 16:43 GMT+2 Maurilio Longo + source/vm/mainpm.c + added mainpm.c entry point for OS/2 Presentation Manager applications based on FiveWin GUI library 2001-08-23 14:22 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg * changed/optimized ::DispCell() and ::RedrawHeaders() methods. A little faster now. 2001-08-22 17:01 GMT Dave Pearson * source/rtl/gtcrs/gtcrs.c * Fixed incorrectly named variable (uRow -> Row) in hb_gt_VertLine(). 2001-08-22 12:45 UTC-0400 David G. Holm * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtpca/gtpca.c * source/rtl/gtsln/gtsln.c * source/rtl/gtstd/gtstd.c * source/rtl/gtwin/gtwin.c ! I forgot the comment style rule and had used two // style comments in each GT module. They now use the /* */ style. (I also converted a couple of other // style comments in gtstd to the /* */ style). 2001-08-22 01:42 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg * now that DispBox() works as expected I can use it even for 1 line headers/ footers inside ::RedrawHeaders() 2001-08-22 01:25 GMT+2 Maurilio Longo * source/rtl/gtos2.c + Driver tries to set codepage 437 on startup. Needed by box drawing functions * hb_gt_isColor(), hb_gt_GetScreenWidth(), hb_gt_GetScreenHeight(), hb_gt_GetCellSize() now are faster since use a static VIDEOMODEINFO variable and this variable should be tilable. ! hb_gt_xPutch(), hb_gt_Replicate() and hb_gt_Box() were simply broken NOTE: Never call hb_gt_DispBegin()/hb_gt_DispEnd() from inside gtos2.c if you do you'll slow down everything and you will not respect harbour level DispBegin()/DispEnd() calls. 2001-08-21 16:45 UTC-0400 David G. Holm * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtpca/gtpca.c * source/rtl/gtsln/gtsln.c * source/rtl/gtstd/gtstd.c * source/rtl/gtwin/gtwin.c ! Bug fix for box clipping at right screen edge. + Minor optimizations for detecting box clipping at right and bottom screen edges. 2001-08-21 14:35 UTC-0400 David G. Holm * source/rtl/gtcrs/gtcrs.c * Renamed uRow variable to Row in hb_gt_VertLine(), to match the name in the other GT libraries and because it is not unsigned. 2001-08-21 08:30 GMT Dave Pearson * source/compiler/gencobj.c * Fixed bugs 453424 (compiler core dumps on GNU/Linux when no harbour.cfg can be found) and 453425 (an empty harbour.cfg fails to correctly report that no compiler command has been specified. 2001-08-21 01:30 UTC-0800 Brian Hays * contrib/libgt/bitflags.c added the cvs header + todo.txt first stab at a todo list 2001-08-20 11:55 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * fixed subIndexing. * optimized DBI_GETLOCKARRAY and fixed memory leak * adsOrderListFocus() failed on space-padded strings * adsGoTo: if on same record, refresh. Fixed issues that arose from minor bugs in ADS when using relations in versions prior to 6.1 * adsAppend() added error handling * fixed file lock/unlock, and record locking to support dbrlock lock list maintenance (and memory leak when no recno was passed to dbrlock()) * contrib/rdd_ads/adsfunc.c * adssetServerType now returns any error numbers + added AdsRefreshRecord, AdsIsTableLocked, AdsIsRecordLocked * source/rdd/dbcmd.c * Set NetErr flag to True for failed dbAppend() * fixed ordCondSet parameters. See pptable.c below. + contrib/libgt/bitflags.c + Dave Pearson's bitflags.c, which I ported to Harbour. Has functions to use a Harbour string for storing On/Off bit flags. * contrib/libgt/doc/en/ht_gt.txt + added docs from Dave Pearson's bitflags.c * source/pp/pptable.c * Alexander Kresin's fix for 5.3 compatible parameters for INDEX ON and ordCondSet(). WARNING! IF you had hard-coded calls to this function, and used any parameters after the 11th one, you have to change your code! Or, if you have a header that translates INDEX ON for clauses USECURRENT, ADDITIVE, CUSTOM or NOOPTIMIZE, these parameters are shifted back now. The parameter list was incorrectly handled before because of the 12th parameter that is always NIL. See Harbour Archives, subject "XINDEX warning" for details 2001-08-21 06:47 GMT Dave Pearson * source/rtl/gtcrs/gtcrs.c * Fixed incorrectly named variable (Row -> uRow) in hb_gt_VertLine(). 2001-08-20 23:35 UTC-0400 David G. Holm * include/hbapigt.h * source/rtl/gtapi.c * source/rtl/gt_tpl/gt_tpl.c * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtpca/gtpca.c * source/rtl/gtsln/gtsln.c * source/rtl/gtstd/gtstd.c * source/rtl/gtwin/gtwin.c * Changed all row and column parameters for the box and line drawing functions from USHORT to SHORT. - Removed all box and line drawing boundary checks from gtapi.c + Added the appropriate box and line boundary checks to the various GT API library sources to properly implement clipping. 2001-08-20 23:30 UTC-0400 David G. Holm * source/rtl/set.c ! Synchronize SET CENTURY with SET DATE FORMAT. 2001-08-20 20:15 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *fixed some problem on library edit mode 2001-08-20 22:20 GMT +1 JFL (mafact) harbour/source/vm/hvm.c * reversed my previous modif till I have it working :-( harbour/source/vm/classes.c * reversed my previous modif till I have it working :-( 2001-08-20 17:45 UTC+0100 Ryszard Glab *include/hbexprb.c *source/compiler/exproptb.c *source/compiler/genc.c *source/compiler/hbpcode.c * fixed bug in "¯o" and ¯o() syntax 2001-08-20 14:02 GMT Dave Pearson * config/test.cf * Added an empty "install:" target. 2001-08-19 23:30 GMT +1 JFL (mafact) harbour/include/hbapi.h * changed structure of _HB_BASEARRAY (puiClsTree) * suppressed uiClsTree not anymore needed harbour/source/vm/arrays.c * modified ArrayRelease() to handle the release of puiClsTree pointer harbour/source/vm/classes.c * Changed the way MsgSuper() return a Super Object. Now ::Super(::nX) is allowed ::Super:Classname() return the superClassName. * Added some code to check or validate puiClsTree * improved validation of scoping harbour/source/vm/hvm.c * Changed vmdo as vmsend to handle the new SuperObject 2001-08-19 10:50 GMT -3 Luiz Rafael Culik *source/rdd/rddord.prg *Mapped functions to 10 character for ORDLISTCLE(),ORDLISTREB(),ORDSETFOCU() 2001-08-19 10:40 GMT -3 Luiz Rafael Culik +source/rdd/dbfuncs.prg * Code for Ca-Clipper MApper DB function to 10 characters The follow functions were mapped: DBCLEARFIL(),DBSETDRIVE(),DBSETRELAT(),DBRLOCKLIS(),DBCLOSEARE() RDDSETDEFA(),DBSELECTAR(),DBUNLOCKAL(),DBCLEARREL(),DBSETFILTE() DBFIELDINF(),DBORDERINF(),DBRECORDIN() *makefile.bc makefile.vc hb_slex.bc hbslex.vc source/rdd/Makefile * Added dbfuncs.prg to depedence list 2001-08-18 17:00 MEST Martin Vogel * contrib/libct/range.c * contrib/libct/wordtoch.c * small changes to remove warnings on linux/gcc. 2001-08-18 16:45 MEST Martin Vogel + contrib/libct/numat.c + NUMAT() function + contrib/libct/pad.c + PADLEFT(), PADRIGHT() functions + contrib/libct/range.c + RANGEREM(), RANGEREPL() functions + contrib/libct/remove.c + REMALL(), REMLEFT(), REMRIGHT() functions + contrib/libct/replace.c + REPLALL(), REPLLEFT(), REPLRIGHT() functions + contrib/libct/strswap.c + STRSWAP() function + contrib/libct/wordtoch.c + WORDTOCH() function * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc + numat.c, pad.c, range.c, remove.c, replace.c, strswap.c and wordtoch.c added * contrib/libct/ctflist.txt * function status updated 2001-08-17 22:15 GMT -3 Luiz Rafael Culik *source/compiler/gencobj.c *added conditional for _MSC_VER when checking if harbour -o is used 2001-08-17 18:10 UTC-0400 David G. Holm * doc/en/hb_set.txt * include/hbset.h * source/rtl/set.h + Added a primitive SET listener API. 2001-08-18 00:11 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg * source/rtl/tbcolumn.prg + Added multi-line column header/footer support to TBrowse 2001-08-17 16:10 UTC-0400 David G. Holm Update from "Fergus McDonald" : * source/rtl/gtstd/gtstd.c * tests/gtstdtst.c + Added conditional functionality for MS C compiler to use io and conio libs to map stdin in the same manner as already implemented for unix version (i.e. no blocking). That is, if stdin is coming from console, inkey() returns 0 if no key waiting, and if stdin is coming from a file, inkey() returns each char of file and then always returns 0 once EOF is reached. 2001-08-17 20:15 UTC+0100 Ryszard Glab *doc/en/compiler.txt *source/compiler/hbusage.c *updated to keep current state of compiler switches *include/hbexprc.c *fixed support for "¯o" syntax (macro was not expanded in cases: "¯o.&(macro)" *include/hbapi.h *include/hbexprb.c *source/vm/hvm.c *source/vm/macro.c *optimized support for compile time switches synchronization *source/compiler/harbour.y *fixed support for #line directive 2001-08-17 15:09 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg ! fixed ::DispCell() cursor positioning (broken with latest changes to implement picture handling) * changed ::autolite handling ! fixed ::GoBottom() method which was not repainting TBrowse correctly if available records were less than available rows. 2001-08-16 16:30 UTC-0400 David G. Holm * source/pp/pptable.c + Added a translation for SET EVENTMASK TO to SET(_SET_EVENTMASK,) 2001-08-14 23:53 GMT+1 Patrick Mast * contrib/tprepro/tprepro.prg * Bug fix in TranslateFile() method 2001-08-13 23:18 GMT+3 Alexander Kresin * source/vm/mainwin.c * added hInstance assignment to hb_hInstance 2001-08-11 22:45 GMT -3 Luiz Rafael Culik * include/hbextern.ch * removed extern declaration for ALTD() function * source/rtl/tbrowse.prg * Added support for Autolite = .f. (I hope this is the right fix) 2001-08-11 08:40 GMT -3 Luiz Rafael Culik *tests/testbrw.prg * updated to show the use of pictures with tbrowse *include/hbextern.ch * added some missing extern declaration 2001-08-10 13:30 UTC-0400 David G. Holm * source/rtl/dbdelim.prg * source/rtl/dbsdf.prg + Added a run time error (9999, Operation not supported) when trying to use APPEND FROM DELIMITED or APPEND FROM SDF, with default allowed. 2001-08-10 12:15 UTC-0400 David G. Holm * source/vm/extend.c Submitted by Ricardo Ramirez R. ! Allow hb_stor... functions to store to arrays passed by reference 2001-08-09 20:45 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Corrected logic for closing ppo output file. 2001-08-09 17:45 UTC-0800 Ron Pinkas * source/compiler/harbour.c * Minor correction to handling of HB_FS_FIRST * source/vm/hvm.c * Added extern "C" protection to hb_macroAutoSetMacro() declaration. 2001-08-08 15:30 UTC-0400 David G. Holm * tests/gtstdtst.prg Submitted by "Fergus McDonald" + New test module for GTSTD terminal driver. * source/rtl/gtstd/gtstd.c Submitted by "Fergus McDonald" ! changed some internal char * items to BYTE * to better match external functions ! Max row/col is 24/80 for unix compatible (would be better to do this for all) ! ReadKey implementation for unix compatible OS: ch value wasn't been initialised and only least-significant byte being set by fread() - upper byte of the int value was random, leading to spurious ReadKey return values ! Fixed missing/extra outputting of newline character in SetPos and Scroll functions ! Added use of backspace char to respond to leftward cursor repositioning requests ! Added output of BEL character for tone() calls, with tracking of system time to limit BEL outputs to 1 per second max I've only tested this under GNU/linux and gcc. The ReadKey is still only implemented for UNIX_COMPATIBLE_OS. Redirection of stdin/stdout still works ok. To preserve the ability to accept redirected stdin, I think maeans there should never be remapping of any keycodes in this driver. Would be nice to have a way to pass in ALT-C though. 2001-08-09 02:30 UTC-0800 Ron Pinkas * source/vm/macro.c * include/hbcomp.h * include/hbexprb.c * include/hbexprc.c * include/hbmacro.h * include/hbmsetup.h * include/set.ch * source/compiler/cmdcheck.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbpcode.c * source/rdd/dblist.prg * source/vm/hvm.c - Removed support for syncing of macro setting with main module. - Removed support for -ks which is replaced with -kr. + Added default logic to auto symchronize all macro activations with the compile time switches of each respective module. + Added -kr to disable auto synching, thus allowing Run-Time setting by means of HB_SETMACRO(). 2001-08-09 00:07 GMT+2 Maurilio Longo * source/rtl/seconds.c * changed HB_CLOKS2SECS to make it return a double (like Seconds()) this way profiler is able to show not only seconds spent inside a function but even tenths and hundredths. 2001-08-08 23:52 GMT+2 Maurilio Longo * include/hbvmpub.h * source/vm/classes.c * source/vm/hvm.c * source/vm/dynsym.c ! Fixed profiler counting of time elapsed inside recursive functions. It still has to be fixed for methods. NOTE: My knowledge of harbour VM is very poor. I hope I didn't break anything else :-)) ! Fixed a few warnings inside hb_vmDo() and hb_vmSend() * source/vm/arrayshb.c ! Fixed isalnum() call on line 359, isalnum() requires an int 2001-08-07 17:40 UTC-0800 Ron Pinkas * doc/en/clipper.txt * Minor typo correction. 2001-08-07 23:11 GMT Dave Pearson * doc/en/clipper.txt * Fixed a spelling mistake and added an ID tag. 2001-08-07 17:30 UTC-0400 David G. Holm * source/rtl.net.c ! The OS/2 version is only for GCC builds. 2001-08-07 13:45 UTC+0100 Ryszard Glab * doc/en/compiler.txt *updated to keep current compiler state * include/hbcomp.h * source/compiler/cmdcheck.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbusage.c * added a new switch -ks that request the synchronization of compile time and runtime options (enabled by default). Use -kc to disable it. * source/compiler/harbour.l * fixed bug when HB_INLINE is interpreted as an identifier (-ki option) 2001-08-07 01:10 UTC-0800 Ron Pinkas + doc/en/clipper.txt + New file describing Harbour features that are different from Clipper. * include/hbpcode.h * Corrected typo in comment /* Thanks to Dave for info. */ 2001-08-06 23:50 UTC-0800 Ron Pinkas * source/compiler/harbour.c ! Corrected assigment of HB_FS_FIRST scope, for proper execution of first non INIT/EXIT procedure in main module. * source/compiler/genc.c * source/vm/hvm.c ! Improved sync logic of HB_SETMACRO() level, to only activate once per application before any prg level code is executed. 2001-08-06 20:50 UTC-0400 David G. Holm * source/rtl/math.c ! Added missing type override for hb_xgrab return value on line 99 (type overrides are *mandatory* for hb_xgrab and hb_xrealloc, so that Harbour can be built using C++ compilers). * source/rtl/gtsln/gtsln.c * contrib/libct/ctstr.c ! Fixed typos causing compile errors with HB_TR_DEBUG and gcc. Case error in variable names in debug info calls (e.g. nstrLen instead of nStrLen). Fixed by "Fergus McDonald" 2001-08-06 20:30 GMT -3 Luiz Rafael Culik *source/rtl/tbrowse.prg * Fixed support to display pictures in TBrwose. Thanks for Manu Exposito 2001-08-06 09:15 UTC-0800 Ron Pinkas * source/compiler/genc.c ! Improved sync logic of HB_SETMACRO() level, to only activate once per module with same level used by compiler. 2001-08-06 10:33 UTC+0300 Chen Kedem * doc/funclist.txt ! Fix excessive use of global replace forcing 'n' or 'N' into 'S' * doc/en/macro.txt - Remove "" from line #19 (Copy & Paste mistake) * Small formating * doc/en/var.txt + doc for __ISMV() 2001-08-05 18:00 GMT -3 Luiz RafaelCulik * doc/en/compiler.txt * Updated provided by Fergus McDonald 2001-08-05 12:15 UTC-0800 Ron Pinkas + include/hbmsetup.h * include/hbmacro.h * Moved #defines of HB_SM_* to new file hbmsetup.h * source/compiler/harbour.c * source/vm/macro.c * source/compiler/genc.c + Added logic to automatically synchronize HB_SETMACRO() level with the -k option supplied to compiler. /* HB_SETMACRO() may still be called explictly, but now specifying any -k option to harbour will automatically provide same level of functionalty in macro compiler. Example: harbour test -kc will restrict the compiler to the Clipper level mode, and will automatically disable extended macro support in that module without requiring: HB_SETMACRO( HB_SM_HARBOUR, .F. ) HB_SETMACRO( HB_SM_XBASE, .F. ) By default all harbour extensions are enabled - you can use -kc, -kx -ki, etc., to disable any unwanted feature. We should still review the need to have -ki which I find absolutley redundant and unproductive. */ 2001-08-05 22:58 GMT+3 Alexander Kresin * source/vm/memvars.c + Two functions added: hb_memvarGetVarHandle() and hb_memvarGetValueByHandle() 2001-08-05 14:20 UTC+0100 Ryszard Glab *include/hbcomp.h *source/compiler/cmdcheck.c *source/compiler/hbusage.c * added new command line switch: -ki * added new flag: HB_COMPFLAG_HB_INLINE This switch enables support for HB_INLINE syntax (by default it is disabled) * all options used with -k switch are letter case sensitive * -kc (Clipper compatibility) clears all other switches (minimal set of features) *source/compiler/harbour.l * added support for -ki command line switch *source/compiler/harbour.sly *source/compiler/harbour.y * fixed line numer issues in generated pcode 2001-08-04 18:40 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg * Small fix to the library edit mode of hbmake 2001-08-04 13:50 UTC-0800 Ron Pinkas * source/compiler/harbour.l * source/compiler/harbour.slx * Added inline c support for hb_comp_iLanguage == LANG_OBJ_MODULE * source/compiler/harbour.sly * Added support for HB_COMP_ISSUPPORTED( HB_COMPFLAG_XBASE ) in Statement : ( MacroVar and MacroExpr ) to sync with harbour.y 2001-08-04 11:00 UTC-0800 Ron Pinkas * source/vm/macro.c ! Added missing ; in line 956 2001-08-04 15:15 UTC+0100 Ryszard Glab * doc/en/compiler.txt * include/hbapi.h * include/hbcomp.h * include/hbexpra.c * include/hbexprb.c * include/hbmacro.h * source/compiler/cmdcheck.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbfunchk.c * source/compiler/hbusage.c * added command line switch which controls a compilation compatibility level -k Currently supported modes (can be joined): -kc ==> 100% Clipper compatible (with some obvious bugs fixed) -kh ==> harbour extensions enabled (default) -kx ==> other xbase dialects extensions * new macro HB_COMP_ISSUPPORTED() to check if a feature is enabled. Currently supported modes (defined in hbcomp.h): HB_COMPFLAG_HARBOUR ==> -kh HB_COMPFLAG_XBASE ==> -kx * extended macro support for expression lists is disabled by default (latest Ron's additions) - use -kx switch to enable * include/set.ch * source/vm/macro.c * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * added HB_SETMACRO() function to control various compatibility issues at the runtime. HB_SETMACRO( , ) This controls the macro compiler's features. The feature can be either enabled (.T.) or disabled (.F.) Currently available features (defined in set.ch file) HB_SM_HARBOUR => (enabled by default) enable/disable harbour extensions HB_SM_XBASE => (disaled by default) enable/disable xbase dialects extensions HB_SM_SHORTCUTS => (enabled by default) enable/disable shortcut evaluation of logical expressions HB_SM_PREPROC => enable/disable preprocessing (if harbour is build with HB_MACRO_STATEMENTS option) * source/rdd/dblist.prg * the array of expressions is scanned for extended macro lists when xbase compatibility is enabled (see HB_SETMACRO()) * source/vm/asort.c * moved HB_ASORT_OPT_ITEMCOPY setting to hbsetup.h * include/hbsetup.h * updated/added descriptions of all #ifdef settings used in the harbour code (Please keep updated this file (and hbsetup.ch) if a new setting is used) + doc/en/macro.txt * initial documentation for macro compiler * documentation of HB_SETMACRO() function 2001-08-04 00:06 GMT Dave Pearson * doc/whatsnew.txt * Brought the document up to date. 2001-08-03 19:30 GMT -3 Luiz Rafael Culik *Changelog *renamed to Changelog.011 and started an new one *utils/hbmake/radios.prg utils/hbmake/radios.ch Small changes on this function due an change on the hbmake edit mode *utils/hbmake/hbmake.prg +gl option to tell that the compiler is gcc under linux *fixes to the edit mode to be more compatible with linux *Now Setbuild() return the command line to gcc(Linux and Os/2) insted of an response file 2001-08-03 13:23 GMT Dave Pearson * source/rtl/profiler.prg + Added HB_Profile::ignoreSymbol(). * Changed HB_Profile::gather() to use HB_Profile::ignoreSymbol() to decide if a symbol should be ignored. This will let developers modify what is and isn't ignored by subclassing HB_Profile and implementing their own version of HB_Profile::ignoreSymbol(). 2001-08-02 10:00 UTC-0800 Ron Pinkas * contrib/dot/pp.txt * Corrected typos. * include/hbpcode.h * Corrected comments for HB_P_MACROLIST and HB_P_MACROLISTEND 2001-07-31 10:10 UTC-0800 Ron Pinkas * source/vm/arrayshb.c + Added HB_FUNC( HB_AEXPRESSION ) * source/rdd/dblist.prg - Removed FUNCTION HB_aExpressions() 2001-07-30 10:15 UTC-0800 Ron Pinkas * source/rdd/dblist.prg - Removed HB_aTokens() + Added HB_aExpressions() * Changed call to HB_aTokens() to HB_aExpressions() 2001-07-30 14:54 GMT Dave Pearson * source/rtl/profiler.prg * Restored the OO based profile reporter. 2001-07-30 16:40 UTC+0300 Chen Kedem * doc/en/memvar2.txt * doc/en/sayget.txt * doc/en/strotype.txt * doc/es/array.txt * doc/es/binnum.txt * doc/es/browse.txt * doc/es/command.txt * doc/es/compiler.txt * doc/es/datetime.txt * doc/es/dir.txt * doc/es/diskspac.txt * doc/es/error.txt * doc/es/eval.txt * doc/es/garbage.txt * doc/es/lang.txt * doc/es/memo.txt + Add missing CVS ID * doc/es/license.txt + add missing CVS ID * small text formatting * source/rtl/profiler.prg ! Fix CVS ID 2001-07-26 16:21 UTC-0800 Ron Pinkas * source/vm/macro.c * Corrected typo in trace message within hb_macroExpandString() 2001-07-26 22:50 UTC+1 JFL (mafact) * MAKEFILE. VC * HB_SLEX.VC Minor typing error with genobj.c, .obj ... * include\hbapi.h hb_procname( int iLevel, char * szName, BOOL bskipBlock ); added boolean param to know if called from procname or methodname... * source/vm/proc.c Special treatment for inline method to display class:(b)methodname * source/vm/classes.c hb_msgSuper() changed behaviour, creating a fake object to be treated by hb_vmDdo() and hb_vmSend() * source/vm/hvm.c changed hb_vmDo() hb_vmSend() to work with the new fake objects Minor type casting needed by VC++ source\vm\hvm.c(1315) : 'void *' to 'struct _HB_ITEM *' source\vm\hvm.c(3359) : 'unsigned long' to 'unsigned short 2001-07-26 14:35 UTC-0400 David G. Holm * source/rtl/gtsln/gtsln.c * Fixes by Marek Paliwoda 2001-07-26 14:30 GMT Dave Pearson * source/rtl/profiler.prg * Restored Antonio's profile reporter due to copyright concerns. 2001-07-26 02:50 UTC-0800 Ron Pinkas * include/hbexpra.c + Added logic to optimize 2nd parameter of __DBLIST(). Scan it if array, and optiimize elements that are codeblocks containing macros to the core value of such macro. * source/rdd/dblist.prg + Added logic to scan abEval for Strings, parse and convert them to codeblocks. + Added HB_aTokens() /* This should complete support for: cFields := "Field1,Field2,..." LIST &cFields ... */ 2001-07-24 20:45 GMT -3 Luiz Rafael Culik +doc/es/math.txt *Math docs translated to spanish. Thanks for Ricardo Ramírez R. 2001-07-24 08:45 GMT -3 Luiz Rafael Culik /Jose Lalin * source/compiler/gencobj.c * Bugs fixed provide by Jose 2001-07-24 11:10 MEST Martin Vogel * include/hbdefs.h * added parenthesis around HB_MKLONG and HB_MKULONG definitions to avoid warning in gcc * include/hbvmpub.h * added newline at end of file (my gcc brought a warning) * contrib/libct/justify.c * removed unused variable * contrib/libct/pos.1 * fixed error and warning about mixture of pointers to signed and unsigned char 2001-07-23 20:50 UTC-0800 Ron Pinkas * source/vm/macro.c ! Corrected a compiler warning. 2001-07-23 21:10 GMT -3 Luiz Rafael Culik /Jose Lalin * include/hbcomp.h + Added LANG_OBJ_MODULE + Added prototype for hb_compGenCObj( PHB_FNAME ); * source/compiler/cmdcheck.c ! Changed -g switch: -go builds platform dependant object module from C compilers -gw builds DOS/WIN 32 bit object modules from Harbour (was -go) * source/compiler/hbusage.c ! Added -gw description + Changed -go description * source/compiler/harbour.c + Added call to hb_compGenCObj() * source/compiler/gencobj.c + void hb_compGenCObj( PHB_FNAME ) + static char * hb_searchpath() *makefile.bc hb_slex.vc makefile.vc source/compiler/makefile ! Updated 2001-07-23 22:35 UTC+0100 Lubos Janica * classes.c Fixed function __CLSNEW. Changed variable USHORT uiSize to ULONG ulSize This fix random GPFs in function hb_clsDictRealloc by creating classes. 2001-07-23 21:29 UTC+0100 Viktor Szakats * source/rtl/tbrowse.prg + TOFIX added, about missing AutoLite support (needed for dbEdit()) * source/rtl/net.c * Cleaned up platform branching. ! Fixed redefined constant for DJGPP (reported by Dave Pearson) I could not test this change, so please test it, and report any bugs, especially under OS/2 (GCC or ICC) and DJGPP. Thanks. Also note that OS/2 support with ICC is/was probably broken, so a native OS/2 solution would be better here. 2001-07-23 22:30 MEST Martin Vogel - contrib/libct/ctposupp.c ! merged into pos1.c + contrib/libct/pos1.c + POSALPHA(), POSLOWER(), POSRANGE(), POSUPPER() functions + contrib/libct/pos2.c + POSCHAR(), POSDEL(), POSINS(), POSREPL() functions + contrib/libct/posdiff.c + POSDIFF() & POSEQUAL() functions * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc + pos1.c, pos2.c and posdiff.c added - ctposupp.c removed 2001-07-23 18:24 GMT Dave Pearson * source/rtl/profiler.prg * Access method `nSeconds' in class HB_ProfileEntity now used HB_CLOCKS2SECS to calculate seconds. 2001-07-23 18:15 GMT Dave Pearson * source/rtl/seconds.c * Renamed CLOCKS2SECS() to HB_CLOCKS2SECS(). 2001-07-23 20:10 MEST Martin Vogel + contrib/libct/count.c + COUNTLEFT() & COUNTRIGHT() functions + contrib/libct/justify.c + JUSTLEFT() & JUSTRIGHT() functions + contrib/libct/relation.c + CHARRELA() & CHARRELREP() functions * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc + count.c, justify.c and relation.c added 2001-07-23 17:37 GMT Dave Pearson * source/rtl/profiler.prg * Replace old profile reporting code with an OO approach. 2001-07-23 18:40 MEST Martin Vogel + contrib/libct/finan.c + contrib/libct/math.c + contrib/libct/num1.c + contrib/libct/trig.c + contrib/libct/tests/finan.prg + contrib/libct/tests/math.prg + contrib/libct/tests/num1.prg + contrib/libct/tests/trig.prg + mathematical functions provided by Alejandro de Garate + Documentation (and some minor changes) added by me * contrib/libct/ascpos.c * contrib/libct/atadjust.c * contrib/libct/atnum.c * contrib/libct/charlist.c * contrib/libct/charswap.c * contrib/libct/ct.c * contrib/libct/ct.h * contrib/libct/cterror.ch * contrib/libct/ctmath.h * contrib/libct/token1.c * some minor changes to remove warnings reported by Maurilio Longo * changed USHORT to ULONG in variable parameter functions * fixed $SEEALSO$ bug in documentation * contrib/libct/ctflist.txt * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc * contrib/libct/tests/Makefile * changes according to new files and function stati 2001-07-23 04:20 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Various refinments in matching and outputing due to new observations about Clipper. 2001-07-23 04:15 UTC-0800 Ron Pinkas * include/hbexprop.h + Added #define HB_ET_MACRO_PARE 64 * source/vm/hvm.c * source/vm/macro.c * source/macro/macro.y * include/hbexprb.c + Added support for HB_P_MACROPUSHPARE aand HB_P_MACROPUSHINDEX * include/hbmacro.h + Added #define HB_MACRO_GEN_PARE 16 /* generate parentesized list */ * source/common/expropt1.c * source/common/expropt2.c * include/hbpcode.h * source/compiler/genc.c * source/compiler/hbfix.c * source/compiler/hbpcode.c + Added new opcode HB_P_MACROPUSHPARE /* This should complete macro list support for ( &cMacro ) and aArray[ &cMacro ] syntaxes. */ 2001-07-22 14:30 UTC-0800 Ron Pinkas * include/hbapi.h * Changed 2nd parameter to BYTE iContext in hb_macroGetValue( HB_ITEM_PTR pItem, BYTE iContext ) * include/hbexprop.h + Added #define HB_ET_MACRO_LIST 16 /* &variable used as in literal arrays or parentesised expressions. */ + Added #define HB_ET_MACRO_INDEX 32 /* &variable used as arrays index. */ * include/hbexprb.c + Added macro list support logic to hb_compExprUseArray() + Added generation of HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX in hb_compExprUseMacro() /* HB_P_MACROLIST and HB_P_MACROLISTEND are only generated as an enevelope if array contains a one or more macro element which will generate an HB_P_MACROPUSHLIST. */ * include/hbpcode.h * source/compiler/genc.c * source/compiler/hbfix.c * source/compiler/hbpcode.c + Added: new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX. * source/vm/hvm.c * source/vm/macro.c + Added: support for new opcodes HB_P_MACROLIST, HB_P_MACROPUSHLIST, HB_P_MACROLISTEND, and HB_P_MACROPUSHINDEX. /* HB_P_MACROPUSHINDEX not completed yet.*/ /* NOTE: This implements macro as literal array arguments list syntax <{ &cMacro }>. ( &Cmacro ) and Array[ &cMacro ] are not completed yet. *** All prgs must be recompiled due to new opcodes !!! */ 2001-07-22 18:00 GMT -3 Luiz Rafael Culik +source/rtl/radiobtn.prg *Added an 'LOCAL cColor' to compile without warning +source/rtl/radiogrp.prg *Added 'LOCAL nPos,nLen' to compile without warning 2001-07-22 18:00 GMT -3 Luiz Rafael Culik * utils/hbmake/hbmake.prg * Added suport for !iffile/!else/!endif and !stdout * utils/hbdoc/hbdoc.prg * Updated Copyright Date +include/hbgetcmt.ch *Include file for Ca-Clippr 5.3 Get Compatible Controls +source/rtl/radiobtn.prg *Radio Button Class Compatible with Ca-Clipper 5.3 +source/rtl/radiogrp.prg *Radio Group Class Compatible with Ca-Clipper 5.3 *tests/tstchbx.prg *Updated to demostrate the work of RadioButton/RadioGroup Classes *hb_slex.bc makefile.bc hb_slex.vc makefile.vc source/rtl/makefile *Added radiobtn.prg and radiogrp.prg to dependencie list 2001-07-22 20:15 UTC+0100 Ryszard Glab *include/hbapi.h *include/hbexprb.c *source/vm/hvm.c *source/vm/macro.c *source/compiler/exproptb.c *source/macro/macrob.c * fixed to support nested aliases in macro, eg. LOCAL cAlias cAlias := "&area" PRIVATE area area := "MyAlias" ? &cAlias->someFile ? &cAlias->( someExpr ) 2001-07-22 08:40 GMT -3 Luiz Rafael Culik *source/rtl/getsys.prg *Now if an get has an message it will display properly 2001-07-21 18:15 UTC+0100 Ryszard Glab *source/compiler/harbour.sly *fixed support for &alias->( expression ) 2001-07-21 16:15 UTC+0100 Ryszard Glab *include/hbexpra.c *include/hbexprb.c *include/hbexprc.c *include/hbexprop.h *source/common/expropt1.c *fixed support for &alias->( expression ) *removed global variables that were breaking modularity of the code *fixed support for syntax: SomeFun( ¯o + someValue ) *source/compiler/harbour.y *removed access to internal HB_EXPR structure data *source/rtl/checkbox.prg * added 'LOCAL oCheck' to compile without warnings *source/rtl/gtsln/gtsln.c *fixed to support (at least) SLang version 1.3.8 2001-07-21 09:20 GMT -3 Luiz Rafael Culik *source/rtl/checkbox.prg *lowercased the include file names 2001-07-20 20:00 GMT -3 Luiz Rafael Culik +source/rtl/checkbox.prg *CheckBox Class Compatible with Ca-Clipper 5.3 *source/rtl/getsys.prg +Added the follow function For compatibility with Ca-Clipper 5.3: GUIReader(),GuiApplyKey(),GuiGetPreValidate(),GuiGetPostValidate() *source/rtl/tget.prg +Control and Message Data *Source/rtl/tgetlist.prg +Added the follow methods GUIReader(),GUIApplyKey(),GuiPreValidate(oGui),GuiPostValidate(oGui) *utils/hbmake/hbmake.prg *Applied patch provided By Dave Person +tests/tstchbx.prg *Small Test app for checkbox Class *hb_slex.bc makefile.bc hb_slex.vc makefile.vc source/rtl/makefile +added checkbox to dependency list 2001-07-20 22:45 UTC-0800 Ron Pinkas * include/hbexpra.c % Wrapped hb_compExprSetGetBlock() unneeded with simplex build, with #ifndef SIMPLEX * include/hbexprb.c * Disabled support for HB_PUSHMACROARG within hb_compExprUseAssign() * include/hbexprc.c * Disabled support for HB_PUSHMACROARG within hb_compExprPushOperEq() 2001-07-20 15:10 GMT+2 Martin Vopgel * source/rtl/math.c * include/hbmath.h * contrib/libct/ctmath.c ! added #defines for non-matherr math libraries 2001-07-20 13:10 GMT+2 Martin Vopgel * source/rtl/math.c * include/hbmath.h ! Added typedefs for non-matherr-math libraries ! Fixed bug concerning custom math handler return values * contrib/libct/ctmath.c * contrib/libct/ctmath.h ! Changes analog to the changes in rtl/math.c ! minor bug fixes and cleanups * contrib/libct/makefile.bc ! typo fixed 2001-07-20 13:35 GMT+3 Alexander Kresin * source/rtl/memofile.c ! A bug fixed, which appeared while reading an empty file 2001-07-19 20:30 UTC-0800 Ron Pinkas * include/hbapi.h + Added #define HB_MAX_MACRO_ARGS 16 * source/vm/hvm.c * source/vm/macro.c + Added support for nested HB_P_MACROPUSHARG * contrib/dot/pp.prg - Removed bSplit in PP_PreProLine(). Instead added logic to split the line unless line is a directive. 2001-07-19 21:30 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Small changes needed to be more compatible with Gcc under OS/2 2001-07-19 12:00 UTC-0800 Ron Pinkas * source/compiler/harbour.sly * source/compiler/harbour.y + Added "$$->value.asMacro.SubType = HB_ET_MACRO_SYMBOL" to "MacroVarAlias :" because in this context macro is a symbol. 2001-07-19 02:00 UTC-0800 Ron Pinkas * source/compiler/harbour.slx * Changed storing of MACROTEXT from hb_compIdentifierNew() to hb_strdup(). * tests/tstasort.prg ! Fixed R/T Error resulting from comparing unrelated types in sorting codeblock. 2001-07-19 12:40 GMT+3 Alexander Kresin * source/rtl/transfrm.c * added some code for proper handling of numeric parameters 2001-07-18 16:10 UTC-0800 Ron Pinkas * source/vm/macro.c * source/vm/hvm.c % Simplified logic for suppoting macro lists. Removed global variables: int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated which are no longer needed. No longer using any logic in any PCODE case, other than HB_P_PUSHMACROARG. No longer using any arrays, or memory allocations. * include/hbexpra.c * include/hbexprb.c * HB_P_PUSHMACROARG will now be followed with a push symbol sequence, indicating its parrent function call. * include/hbpcode.h * Added decimal values into the description comments for readability. 2001-07-18 12:17 GMT+1 Antonio Linares * source/rtl/seconds.c + Added Clocks2Secs() function 2001-07-18 11:45 GMT+1 Antonio Linares * source/vm/hvm.c + Added (C level) hb_bProfiler (profiler activity as boolean. False by default) + Added (PRG level) __SetProfiler( On | Off ) * source/vm/classes.c + Added hb_bProfiler support. * tests\TestProf.prg + Added __SetProfiler() call sample. * source/rtl/profiler.prg - removed Patrick's copyright (profiler.prg copyright is mine ;-) 2001-07-18 09:06 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg + activated scoping * include/hbapierr.h include/hbapiitm.h include/hbvm.h source/rtl/errorapi.c source/vm/hvm.c source/vm/itemapi.c ! fixed va_start() use or, better, changed it to be compatible with OS/2 EMX GCC compiler which REQUIRES that va_start() calls use a type which cannot be promoted to something bigger. That is, this call is correct: va_start(valist, ulUnsignedLongType) while this one is not: va_start(valist, usUnsignedShortType) Using a type which can be promoted to a bigger one leads to memory corruption. I think this requirement could exist even on other ANSI C compilers. ! Removed workaround inside hb_itemDo() and hb_itemDoC() to prevent this corruption. 2001-07-17 18:25 UTC-0800 Ron Pinkas * utils/hbpp/hbpp.c * Commented an exit() call in hb_compGenError() to continue processing after an error just like Harbour does. * include/hbapi.h + Added 2nd parameter BOOL bArg to hb_macroGetValue() * include/hbexpra.c + Added global BOOL hb_exp_bArgList = FALSE; * include/hbexprb.c + Added logic to generate HB_P_MACROPUSHARG rather than HB_MACROPUSH when pushed macro is a function call argument. * include/hbpcode.h * source/compiler/genc.c * source/compiler/hbfix.c * source/compiler/hbpcode.c + Added new HB_P_MACROPUSHARG * source/macro/macro.y + Added logic to generate an error if macro expression is list, unless servicing an HB_MACROPUSHARG. * source/vm/hvm.c + Added support for new HB_P_MACROPUSHARG calling hb_macroGetValue() with TRUE for bArg. * source/vm/macro.c + Added 2nd parameter BOOL bArg to hb_macroGetValue() to signify servicing of HB_P_MACROPUSHARG. * contrib/dot/pp.prg + Added bSplit 4th paramater to PP_PreProLine() defaulting to .T.. - Calls from PP_PreProFile() set it to .F.. /* NOTE!!! All prg MUST be recompiled due to addition of NEW pcode!!! */ 2001-07-17 22:30 MEST Martin Vogel * contrib/libct/tests/Makefile + contrib/libct/tests/csetarge.prg + Test program for the new CSETARGERR() function. * contrib/libct/tests/*.prg + added calls to CTINIT() and CTEXIT() 2001-07-17 21:50 UTC+1 JFL (mafact) * source/vm/classes.c ! Fixed Scoping where a protected var could be exported to some code block evaluated within a valid method from the scoping point of view. 2001-07-17 20:00 MEST Martin Vogel * source/rtl/math.c * include/hbmath.h * memory leak fixed in hb_deinstallMathHandler() * various HB_TRACEs added * new status flag added + contrib/libct/ct.c + lib main module with functions CTINIT(), CTEXIT(), CSETARGERR() and error handling added + contrib/libct/ctmath.c + contrib/libct/ctmath.h + math main module added + functions SETMATHERR(), SETPREC(), GETPREC() added + contrib/libct/cterror.ch + error codes added * contrib/libct/ctset.c * contrib/libct/ctset.h * contrib/libct/ctstr.c * contrib/libct/ctstr.h * string switch functions moved to ctstr.c, ctset.c will be main module for switch functions * new switchable argument error handling added, see CSETARGERR() * contrib/libct/addascii.c * contrib/libct/asciisum.c * contrib/libct/ascpos.c * contrib/libct/atadjust.c * contrib/libct/atnum.c * contrib/libct/atrepl.c * contrib/libct/charevod.c * contrib/libct/charmirr.c * contrib/libct/charmix.c * contrib/libct/charone.c * contrib/libct/charonly.c * contrib/libct/charop.c * contrib/libct/charrepl.c * contrib/libct/charsort.c * contrib/libct/charswap.c * contrib/libct/token1.c * contrib/libct/wordrepl.c * new switchable argument error handling added, see CSETARGERR() * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc + ct.c + ctmath.c * contrib/libct/ctflist.c * contrib/libct/readme.txt + new functions and their (short) description added 2001-07-17 18:35 GMT+3 Alexander Kresin * source/rdd/dbfntx1.c * Fixed few bugs, reported by John M. S. Chiang, partially fixed seeking while SET DELETED ON state 2001-07-17 00:25 UTC+1 JFL (mafact) * harbour/include/hbclass.ch ! Change NO_OO_ERR to HB_CLS_NO_OO_ERR Changed one Xtranslate in case of HB_CLS_NO_OO_ERR defined to allow multiples classes not ordered. 2001-07-16 22:55 GMT+3 Alexander Kresin * source/pp/ppcore.c ! minor fix, related to using of __PreProcess() function 2001-07-16 09:45 UTC-0800 Ron Pinkas * source/vm/hvm.c * source/vm/macro.c + Wrapped macro statement support within #ifdef HB_MACRO_STATEMENTS (which is NOT defined). 2001-07-16 15:19 GMT+1 Patrick Mast * source/rtl/profiler.prg * Renamed function from Profiler() to HB_Profiler() 2001-07-16 13:00 GMT+1 Patrick Mast * source/rtl/profiler.prg - Removed parameter + Added parameter. + Added parameter + Added Cunsumed time in seconds * Replaced MemoWrit() function with more controllable f* functions + profiler() returns a array with profiler info Profiler() => Writes NO info to file, returns Array of profiler info. Array only contains USED functions/classes. Profiler(,.t.) => Writes NO info to file, returns Array of profiler info. Array only contains ALL functions/classes. Profiler("profiler.txt") => Writes profiler info to and returns Array of profiler info. Array only contains USED functions/classes. Profiler("profiler.txt", .t.) => Writes ALL profiler info to and returns Array of profiler info. Array contains ALL functions/classes. 2001-07-16 03:40 UTC-0800 Ron Pinkas * source/vm/hvm.c * source/vm/macro.c + Added missing #include "hbpp.h" to resolve strict compiler warnings. 2001-07-16 03:00 UTC-0800 Ron Pinkas * source/vm/hvm.c + Added call to hb_pp_Free() in hb_vmQuit() to release pp tables if loaded by macro evaluation. 2001-07-16 02:45 UTC-0800 Ron Pinkas * source/vm/hvm.c * Few improvements to recent support for lists in macro expansion * source/vm/macro.c + Added preprocessing support to hb_macroGetValue() * source/compiler/harbour.sly * source/compiler/harbour.y + Added rules to support MacroVar and MacroExpr as a standalone Statement. 2001-07-15 20:45 UTC-0800 Ron Pinkas * include/hbapi.h + Added member iListElements to HB_MACRO structure. * source/macro/macro.y + Added rules to support a macro of a comma seperated list. * source/vm/hvm.c + Added: int hb_vm_iFunCalls = 0, *hb_vm_aiMacroListParameters = NULL, hb_vm_iMacroListAllocated to support new logic to track number of extra parameters introduced by means of a macro expanded to a list. * source/vm/macro.c + Added logic to track number of extra parameters introduced by means of a macro expanded to a list. 2001-07-15 20:15 MEST Martin Vogel * source/rtl/math.c + added functions for custom math handlers + include/hbmath.h + created header file for Harbour Math API * doc/en/math.txt + added some documentation for Harbour Math API functions 2001-07-15 16:23 GMT+1 Patrick Mast * source/rtl/profiler.prg + Added the parameter. If profiler is used like this Profiler(.t.), the profiler.txt will only be filled with used classes and/or functions. 2001-07-14 18:55 GMT+3 Alexander Kresin * source/rtl/teditor.prg ! Minor fix for K_END key implementation 2001-07-13 19:45 UTC-0400 David G. Holm * source\rtl\gtwin\gtwin.c * Fix for extended cursor keys on international keyboards. 2001-07-12 16:45 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed bug of translating text within logical tokens (.T., .F., .OR., .AND., and .NOT.) by adding skip logic to md_strAt(). 2001-07-12 00:40 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c - Hb_ClsScope() Corrected - hb_getRrealclsName() enhanced to keep a better trace of Class tree * harbour/source/vm/hvm.c - hb_Vmdo() & hb_VmSend() enhanced to keep trace of Class tree * harbour/include/hbapi.h - Array structure modified to keep a c array of Class handle ( _HB_BASEARRAY ) 2001-07-11 13:30 GMT+3 Alexander Kresin * contrib/rdd_ads/adsfunc.c * adsExecuteSqlDirect() and adsExecuteSql() are fixed for the occasions, when query doesn't returns cursor. 2001-07-10 12:30 UTC-0400 David G. Holm * doc/en/gtslang.txt * source/rtl/gtapi.c * source/rtl/gtsln/gtsln.c * source/rtl/gtsln/kbsln.c * source/rtl/gtsln/keytrans.c * GTSLN update provided by Marek Paliwoda 2001-07-10 01:55 UTC-0800 Ron Pinkas * source/compiler/cmdcheck.c + Added missing type cast to resolve gcc warning. * source/pp/ppcore.c + Added missing type cast to resolve gcc warning. - Removed 4 redundant #includes already included by included hbcomp.h 2001-07-10 10:40 GMT+2 Maurilio Longo * source/rtl/browse.prg ! fixed status line display * contrib/mysql/mysql.c ! mysql_field_count() is not available before version 3.22 of mysql 2001-07-09 22:00 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Changed PP_Main() to STATIC Main() to have a Main procedure for build that require a MAIN yet avoid conflict if linked with a prg including a MAIN. * contrib/dot/pp_harb.ch * Wrapped a Windows specific code within #ifdef WIN. /* Thanks to input from Tomas Zupan. */ * source/pp/ppcore.c ! Added a BOOL 2nd parameter to isExpres() to flag a LIST MP. This fixes problem with matching a list exp with an empty component. 2001-07-10 01:15 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c - Hb_ClsScope() Remed :-(((((((((( Sorry not yet ready ! 2001-07-10 00:15 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c - Hb_ClsScope() Corrected and re-added - hb_getRrealclsName() enhanced to keep a better trace of Class tree - __ClsInst simplified - List of modifs simplified * harbour/include/Hbclass.ch - List of modifs simplified - Added a line of explanation for HB_CLS_ENFORCERO * harbour/utils/hbmake/hbmake.prg - added #ifndef __HARBOUR__ around Function HB_OSNEWLINE() to allow compilation with Vc++ 2001-07-09 12:58 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * adsOrderInfo() fixed - before it returned info for current order only in many cases. * Few fixes, related to adt support * contrib/rdd_ads/adsfunc.c * some fixes, related to SQL support 2001-07-06 11:40 GMT +1 Ignacio Ortiz * source/rtl/mlcount.c * fix for tab character expansion buglet 2001-07-05 22:40 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Fixed an Bug related to creation of makefile when filename and extension is all upper cased +Support for ! command and !iffile 2001-07-05 01:29 UTC-0800 Brian Hays * source/rtl/memoline.c * Ignacio's fix for tab character expansion buglet 2001-07-02 23:42 UTC+0100 Viktor Szakats * source/rtl/tget.prg ! Fixed method Reset() of TGet class, so that it sets the :TypeOut variable to .F. Fix provided by Istvan Foldi 2001-06-30 10:30 GMT+1 Antonio Linares * source/vm/dynsym.c + New profiler support functions added __DYNSISFUN( nDynSIndex ) --> .t. | .f. returns .t. if a dynamic symbol has a function/procedure pointer, given its dynamic symbol index. __DYNSGETPRF( nDynSIndex ) --> { nTimes, nTime } returns an array with a function or procedure called and consumed times, given its dynamic symbol index. * source/rtl/profiler.prg + Added support for functions and procedures. 2001-06-30 09:40 GMT+1 Antonio Linares * source/vm/hvm.c + Added profiler support for functions and procedures 2001-06-30 09:25 GMT+1 Antonio Linares * source/vm/dynsym.c + Added profiler initialization for created dynamic symbols 2001-06-30 08:45 GMT+1 Antonio Linares * include/hbvmpub.h + Added profiler support to the dynamic symbol structure 2001-06-29 18:40 UTC-0400 David G. Holm * contrib/Makefile + Build the ct3 and gt libraries along with the misc library. * include/hbver.h * Version 0.37a, dated 2001-06-29. * source/rtl/Makefile + Added the new profiler.prg file. * source/rtl/net.c ! Fix for w32.mingw32 build. 2001-06-29 17:15 GMT+1 Antonio Linares * makefile.bc + added profiler.prg support Please notice that other makefiles should be updated. 2001-06-29 17:00 GMT+1 Antonio Linares * source/vm/classes.c + Profiler support added: New function __GetMsgPrf( nClass, cMsg ) --> aMethodInfo // { nTimes, nTime } Returns a method called and consumed times, to be called from PRG level. New function void * hb_mthRequested( void ) It provides to the HVM the just requested method pointer. New function void hb_mthAddTime( void * pMethod, ULONG ulClockTicks ) It increases a called method consumed time. * source/vm/hvm.c + Profiler support added just for called methods (by now). * source/rtl/profiler.prg + New function Profiler(). It may be called any moment to generate a profiler.txt file. * tests + Added TestProf.prg sample showing how to use the profiler. 2001-06-27 01:30 UTC-0500 Paul Tucker * /contrib/libct/atadjust.c atrepl.c charevod.c charlist.c charmirr.c charmix.c charone.c charonly.c charop.c charrepl.c charsort.c charswap.c token1.c wordrepl.c * Added a number of casts to quiet down msvc. 2001-06-26 20:45 GMT+3 Alexander Kresin * /include/hbver.h * Changed build number to 0.37, build month and day 2001-06-26 08:00 GMT -3 Luiz Rafael Culik +utils/hbmake/Makefile *Readded this file after CVS repository clean up 2001-06-26 00:40 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c - Hb_ClsScope() deleted (to avoid warning) till after 0.37 - Hb_ObjGetpMethod() deleted (to avoid warning) till after 0.37 ! Misc reformating and some braces added 2001-06-25 14:51 GMT+1 Patrick Mast * contrib/tprepro/tprepro.prg * Bug fix in TranslateFile() method 2001-06-24 23:43 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg * Reverted last change to hbmake, and put the file existence test on the correct place 2001-06-24 11:15 UTC-0800 Ron Pinkas * source/vm/arrays.c ! Fixed but in hb_arrayDel() which caused a GPF by accessing an item beyond the array end. 2001-06-23 21:40 UTC-0800 Ron Pinkas * contrib/rdd_ads/ads1.c - Removed 2 sets of parentheses in type casts where it was not needed. 2001-06-23 20:35 UTC-0800 Ron Pinkas * contrib/rdd_ads/ads1.c ! Corrected 2 misplaced parentheses in type casts. 2001-06-22 11:10 UTC-0400 David G. Holm * source/vm/classes.c ! The file must be included for the toupper() prototype. 2001-06-22 07:55 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added logic for new Idenitifier Match Marker which will only match Identifiers. 2001-06-22 07:30 UTC-0800 Ron Pinkas * source/pp/ppcore.c + Added logic for new Idenitifier Match Marker which will only match Identifiers. + Added static BOOL IsIdentifier( char *szProspect ) * include/hbclass.ch ! Changed to in 3 VO OO compatibility rules, where regular match marker was TOO generic. ! Reinstated default #define HB_CLS_VO 2001-06-22 06:10 UTC-0800 Ron Pinkas * include/hbclass.ch ! Un-Commented out 3 rules used for VO OO and #undefed HB_CLS_VO instead. 2001-06-21 11:19 UTC-0800 Brian Hays * source/rtl/transfrm.c * Fixed @Z handling * source/rdd/dbcmd.c * Fixed Select("") to return 0 Note that select() returns current workarea even if unused 2001-06-21 22:20 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Added support fort '|' as a continuation token (as in Clipper). * include/hbclass.ch - Commented out 3 rules used for VO OO compatibility that are TOO generic, and match unexpected input. * source/pp/ppcore.c - Recommented out test for continuation token at the end of an Expression in isExpres() (after correcting cause for prior reinstatment). 2001-06-21 18:20 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Reinstated test for continuation token at the end of an Expression in isExpress() /* Clipper does not validate extracted expression like that, but Harbour PP has internal dependancy due to matching logic. Alexander, Clipper stops an expression when encountering the Anchor of the next NON optional Match Marker. Clipper accepts that expression even if it ends with continuation token (like '*'). */ 2001-06-21 14:55 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Commented out test for continuation token at the end of an Expression in isExpres() /* Clipper does not validate extracted expression like that. This solves problem with: SAVE ALL LIKE Patt* TO File */ 2001-06-21 14:05 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Revised explicit support for Extended expression match marker, in NextExp() to use normal logic for () expresiions. 2001-06-21 10:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Changed MatchRule() to set sNextAnchor (for NextExp()) by skipping to next NON optional Anchor. 2001-06-21 10:40 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Changed MatchRule() to set sNextAnchor (for NextExp()) ONLY for NON optional Anchor. 2001-06-21 09:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added explicit support for Extended expression match marker, in NextExp() 2001-06-21 13:20 GMT+3 Alexander Kresin * source/debug/debugger.prg * partially fixed cursor appearance on debug screen 2001-06-21 10:25 GMT+3 Alexander Kresin * source/rtl/inkey.c + added static variable s_altdPressed, which is set after pressing Alt-D + added function isAltdPressed(), which return a value of s_altdPressed and set it to FALSE * source/debug/debugger.prg * __dbgEntry() now invokes isAltdPressed() and calls debug screen, if isAltdPressed() returns TRUE * commented few lines in __dbgEntry() - debugged program works now much faster and better 2001-06-20 22:10 UTC-0800 Ron Pinkas * hb_slex.vc * makefile.vc * Synched make files. * contrib/libmisc/makefile.vc ! Corrected BIN_DIR to ../../bin/vc * source/compiler/simplex.c * Revised 1 debug message. * source/compiler/harbour.slx * Improved yytext handling. * source/compiler/harbour.sly * source/compiler/harbour.y + Added after to enable reporting of errors on consecutive lines. (only first line was reported!) 2001-06-20 14:50 UTC-0400 David G. Holm * include/hbvm.h * source/debug/debugger.prg * source/rtl/inkey.c * source/rtl/set.c * source/vm/hvm.c * tests/inkeytst.prg * Integrate the ALTD() function with SET( _SET_DEBUG ). Start at integrating the debugger with the Alt+D key. Cleanup for dealing with the Alt+C key. 2001-06-20 12:30 UTC-0400 David G. Holm * doc\license.txt * doc\en\license.txt * source\rtl\gtapi.c * source\rtl\setpos.c * Updated from the old Harbour Exception to the new Harbour Exception with permission from Bil Simser . * source\rtl\gtwin\gtwin.c + Added comment about Beep() parameters ignored on non-NT platforms. 2001-06-20 09:55 GMT+3 Alexander Kresin * source/debug/debugger.prg * added code to support PgDn, PgUp in a code window and a vars window 2001-06-19 23:39 UTC+0100 Viktor Szakats * source/lang/msgro.c * source/lang/msg_tpl.c * doc/license.txt * doc/en/license.txt * Changed two old licences of mine to the new one. Actually msg_tpl is not "mine", it's only a template. 2001-06-19 16:00 UTC-0400 David G. Holm * doc/license.txt * doc/en/license.txt * This rewrite includes the compiler license, the new exception license, and the old exception license (and a list of all files to which the old one applies). 2001-06-19 17:40 UTC-0800 Ron Pinkas ! contrib/rdd_ads/ads1.c ! contrib/rdd_ads/adsfunc.c ! contrib/rdd_ads/adsmgmnt.c + Added many missing type casting required for C++ compilers. ! contrib/rdd_ads/makefile.vc + Added missing -DWIN32 to CFLAGS /* RDDADS.lib can now be built with MSVC using the supplied contrib/rdd_ads/make_vc.bat */ 2001-06-19 14:50 UTC-0400 David G. Holm * source\rtl\browdbx.prg * source\rtl\setcolor.c * source\rtl\browdb.prg * source\rtl\xsavescr.c * source\rtl\gtwin\gtwin.c * contrib\hbclip\hbclip.ch * Updated from the old Harbour Exception to the new Harbour Exception with permission from Paul Tucker 2001-06-19 14:25 UTC-0400 David G. Holm *contrib\runjava\hbrunj.h *contrib\runjava\runjava.c * Updated from the old Harbour Exception to the new Harbour Exception with permission from Matteo Baccan. 2001-06-19 18:15 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * Some fixes in movement functions 2001-06-19 14:10 GMT+3 Alexander Kresin * source/rdd/dbcmd.c * OrdListAdd() fixed due to previous ntxOrderListFocus() correction 2001-06-18 22:50 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c * Hb_ClsScope() neutralised till after 0.37 2001-06-18 23:55 GMT+3 Alexander Kresin * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c ! Fixed bugs with record appending, reported by John M. S. Chiang ! ntxOrderListFocus() corrected 2001-06-18 14:35 UTC-0400 David G. Holm * doc/class_tp.txt * include/hbrddcdx.h * include/hbrdddel.h * source/rtl/gt_tpl/gt_tpl.c * source/rtl/gt_tpl/mousetpl.c * source/rtl/gtdos/gtdos.c * source/rtl/gtwin/mousewin.c * tests/setkeys.prg * Updated from the old Harbour Exception to the new Harbour Exception either with permission from the various copyright holders or because the author is anonymous. 2001-06-18 14:10 UTC-0400 David G. Holm * contrib/libmisc/stringp.prg * source/rtl/accept.c * source/rtl/objfunc.prg * source/rtl/run.c * source/rtl/transfrm.c * source/vm/debug.c * source/vm/pvalue.c * source/vm/runner.c * Updated from the old Harbour Exception to the new Harbour Exception with permission from Eddie Runia . 2001-06-18 14:00 UTC-0400 David G. Holm * include/hbdbf.h * include/hbdbsort.h * include/hbrdddbf.h * include/hbrddsdf.h * include/hbrddwrk.h * source/rdd/dbcmd.c * source/rdd/dbf0.prg * source/rdd/dbf1.c * source/rdd/dbsort.prg * source/rdd/delim0.prg * source/rdd/delim1.c * source/rdd/hbdbsort.c * source/rdd/rddsys.prg * source/rdd/sdf0.prg * source/rdd/sdf1.c * source/rdd/workarea.c * source/rdd/dbfcdx/dbfcdx0.prg * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbfcdx/dbfcdx2.h * source/rdd/dbfntx/dbfntx0.prg * source/rdd/dbfntx/dbfntx1.c * source/rdd/nulsys/nulsys.prg * Updated from the old Harbour Exception to the new Harbour Exception with permission from Bruno Cantero . 2001-06-18 15:50 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, related to Bof, Eof flags after seeking ! Seek "" works now as in CA-Clipper * Added processing of DBOI_NAME to ntxOrderInfo, so Ordname() works now. 2001-06-17 22:50 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg * Fixed an small bug regading the file existence 2001-06-16 20:40 GMT+3 Alexander Kresin * source/rdd/dbcmd.c ! Bug fixed in dbCreate(), which caused unreleased memory blocks. 2001-06-15 23:35 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c * Hb_ClsScope finally working :-( * harbour/include/hbsetup.ch - removed not more needed #define about Hidden (was causing a 'message not found' when heriting hidden var) * harbour/include/hbclass.ch + added the support of calling ::Super from a method 2001-06-15 14:45 UTC-0400 David G. Holm * source\rtl\dir.c * Updated from the old Harbour Exception to the new Harbour Exception. with permission from Leslee Griffith 2001-06-15 13:55 UTC-0400 David G. Holm * source/rdd/dbstrux.prg * source/rdd/rddord.prg * source/rtl/dbedit.prg * source/rtl/dircmd.prg * source/rtl/filesys.c * source/rtl/setfunc.prg * source/rtl/text.prg * source/rtl/version.c * source/vm/initsymb.c * Updated from the old Harbour Exception to the new Harbour Exception. 2001-06-15 13:40 UTC-0400 David G. Holm * source/common/hbver.c * Updated from the old Harbour Exception to the new Harbour Exception. * source/compiler/cmdcheck.c * source/compiler/hbfunchk.c * source/compiler/hbgenerr.c * source/compiler/hbident.c * source/compiler/hbpcode.c * Removed the old and new Harbour Exceptions from core compiler files. 2001-06-15 23:15 GMT-3 Horacio Roldan * source/rdd/dbfcdx/dbfcdx1.h * Added parenthesis in macro parameters to eliminate some warnings and possible bad evaluation. 2001-06-14 17:15 UTC-0400 David G. Holm * contrib/libmisc/dates2.c * contrib/samples/date.c * contrib/samples/dbf.c * contrib/samples/environ.c * contrib/samples/gauge.c * contrib/samples/num.c * contrib/samples/stack.c * contrib/samples/status.c * contrib/samples/time.c * include/hberrors.h * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * include/hbextern.ch * include/hbhash.h * include/hbmacro.h * include/hbmemvar.ch * include/hbsetup.h * source/common/expropt1.c * source/common/expropt2.c * source/common/hash.c * source/common/reserved.c * source/compiler/hbfix.c * source/compiler/hbfunchk.c * source/compiler/hbident.c * source/lang/msgca.c * source/lang/msgeo.c * source/lang/msges.c * source/lang/msggl.c * source/pp/pragma.c * source/rtl/datec.c * source/rtl/defpath.c * source/rtl/descend.c * source/rtl/do.c * source/rtl/hardcr.c * source/rtl/idle.c * source/rtl/input.prg * source/rtl/memvarbl.prg * source/rtl/mtran.c * source/rtl/natmsg.c * source/rtl/oldbox.c * source/rtl/philes53.c * source/rtl/seconds.c * source/rtl/setta.prg * source/rtl/tmenuitm.prg * source/rtl/tpopup.prg * source/rtl/ttopbar.prg * source/rtl/type.c * source/rtl/wait.prg * source/rtl/gtcrs/kbdcrs.c * source/rtl/gtdos/mousedos.c * source/vm/break.c * source/vm/codebloc.c * source/vm/eval.c * source/vm/garbage.c * source/vm/macro.c * source/vm/memvars.c * utils/hbextern/hbextern.prg * utils/hbrun/external.prg * utils/hbrun/hbrun.prg * Updated from the old Harbour Exception to the new Harbour Exception with permission from Jose Lalin and Ryszard Glab . 2001-06-14 14:00 UTC-0400 David G. Holm * source/rdd/dbfcdx/dbfcdx1.h * Added #pragma pack(1) and #pragma pack() for C++ builds to eliminate the exception c0000005 that resulted from incorrect structure layouts. 2001-06-14 13:15 UTC-0400 David G. Holm * include/hbapierr.h ! Corrected reference to extend.ch for oError:Severity codes to refer to the file that the severity codes are actually in: error.ch. * source/rtl/math.c * Added hb_getMathError() and hb_resetMathError() functions submitted by Alejandro de Garate . 2001-06-14 12:39 UTC-0800 Brian Hays * source/rtl/philes.c * changed comment re HB_FEOF TO HB_F_EOF * contrib/libmisc/hb_f.c * fixed several bugs, mostly EOF handling, and bumped record size to 4096 + added HB_FINFO and HB_FREADANDSKIP, the functions I used to test and debug. HB_FREADANDSKIP goes a bit beyond the bug-fix category, but it's well tested. For reading comma-delimited files, it does a single read to both skip a "record" and return the buffer. It also recognizes hard-returns embedded within quotes as data, not a record separator. 2001-06-12 11:59 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * fixed subIndexing. * source/rdd/dbcmd.c * Fixed __dbLocate. When it skipped to EOF, it didn't exit immediately and evaluated the FOR condition on the phantom record. If it passed that test, Found() was set to True even at EOF! 2001-06-12 19:10 UTC-0400 David G. Holm * source/rtl/net.c * Changed the OS/2 GCC gethostname() usage to generic EMX usage by replacing four includes with include , which can also be used by RSXNT. 2001-06-12 09:20 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c * OnError error corrected (Tkx Brian) 2001-06-11 12:20 UTC-0400 David G. Holm * doc/es/license.txt * Spanish translation of Version 2 of the Harbour License, with the mandatory FSF translation notice in both English and Spanish. The translation is by Alejandro de Garate . 2001-06-11 14:16 GMT+2 Maurilio Longo * source/rtl/net.c ! To compile under OS/2 EMX GCC compiler there were missing include files. NOTE: you need to link socket.a library to every program from now on or you'll get: rtl.a(net.o): Undefined symbol _gethostname referenced from text segment 2001-06-10 17:40 UTC-0800 Ron Pinkas + contrib/dot/pp.prg + Restored deleted file. + contrib/dot/pp_harb.ch + Restored deleted file. 2001-06-10 19:40 GMT -3 Luiz Rafael Culik * source/rtl/net.c *Added missing include file needed by DJGPP/GNUC 2001-06-10 08:30 GMT -3 Luiz Rafael Culik * source/rtl/net.c + Support for DJGPP/RSXNT/GNUC compilers * doc/funclist.txt * Updated some function status 2001-06-10 19:07 GMT+1 Patrick Mast * contrib/tprepro/tprepro.prg * SetIncludePath() method uses __PP_PATH now + Added AddIncludePath(cIncludePath) method to TPreProcessor class 2001-06-10 18:35 GMT+3 Alexander Kresin * source/pp/pplib.c + __PP_PATH( cPath, lClear ) added * This function sets path for following #include's and clears existing paths if lClear is passed and is TRUE 2001-06-10 15:06 GMT+2 Maurilio Longo * source/rtl/memoedit.prg ! fixed error in handling of text (EOL delimiters handling was wrong) * source/rtl/teditor.prg ! fixed error in handling of text (EOL delimiters handling was wrong) 2001-06-09 23:15 GMT-3 Horacio Roldan *source/rdd/dbf1.c ! fixed message sending that corrupted dbf (with ftp) header 2001-06-09 22:05 GMT+7 Andi Jahja * harbour/source/compiler/hbusage.c - Deleting my own name in "Credit", I do not deserve it! 2001-06-09 09:35 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c * New scoping for rel. 0.37 ! 2001-06-07 18:40 UTC-0800 Ron Pinkas * source/vm/hvm.c ! Fixed HB_P_MPOPFIELD was poping assgined value pre-maturely, causing "data type error" from RDD when replacing a field using macro. 2001-06-07 20:39 GMT+1 Patrick Mast * contrib/tprepro/tprepro.prg + Added TestPrePro tes test preprocessor output + test.scr file. This is a test script 2001-06-07 11:30 UTC-0400 David G. Holm * contrib\libct\alt\token1.prg * contrib/libmisc/hb_f.c * source/debug/dbgwa.prg * source/lang/msgid.c * source/lang/msgko.c * source/rtl/copyfile.c * source/rtl/memoline.c * source/rtl/mlcount.c * source/rtl/mlpos.c * source/rtl/setkey.c * source/rtl/tget.prg * source/rtl/tgetint.prg * Replaced the old Harbour License and Exception with the new Harbour License and Exception with permission from Andi Jahja , April White , Ignacio_Ortiz_de_Zúñiga , Kwon,OJun (Charles Kwon) , and Phil Barnett 2001-06-07 17:06 GMT+1 Patrick Mast + contrib/tprepro/tprepro.prg + Added TPreProcessor class METHOD New() METHOD End() METHOD AddRule() METHOD SetIncludepath() METHOD TranslateLine() METHOD TranslateFile() 2001-06-07 13:05 GMT+3 Alexander Kresin * source/pp/ppcore.c * source/pp/pplib.c * Sorry, last time I've uploaded wrong copy ... * Added new parameter to __PP_INIT( cPaths ) - the string with paths for #include files. 2001-06-07 10:15 GMT+3 Alexander Kresin * include/hbpp.h * source/pp/ppcore.c + hb_pp_Free() added ( separated from hb_pp_Init() ) * source/pp/pplib.c + __PP_INIT() added + __PP_FREE() added + __PPADDRULE() added * __PPADDRULE( cString ) can be called to preprocess a directive ( #include, #command, etc. ) __PP_FREE() should be called if __PPADDRULE() or __PP_INIT() was used to free memory, allocated for pp tables. * tests/testpre.prg * modified to demonstrate __ppAddRule() and __pp_Free() using * source/rdd/dbfntx/dbfntx1.c * bug fixed in ntxOrderListAdd() 2001-06-06 16:00 UTC-0400 David G. Holm * contrib/libct/charmix.c * Replaced the old Harbour License and Exception with the new Harbour License and Exception, which Viktor Szakats had previously done on 2001-05-15 15:02 UTC+0100 and is present in all of the other libct files contributed by Martin Vogel. 2001-06-06 15:35 UTC-0400 David G. Holm * utils/hbmake/fclass1.prg * utils/hbmake/ffile1.prg * utils/hbmake/ft_funcs.prg * utils/hbmake/hbdocdef.ch * utils/hbmake/hbmake.prg * utils/hbmake/radios.prg * Replaced the old Harbour License and Exception with the new Harbour License and Exception, with permission from Luiz Rafael Culik Guimaraes 2001-06-06 15:20 UTC-0400 David G. Holm * source/rtl/tobject.prg * Replaced the old Harbour License and Exception with the new Harbour License and Exception, with permission from JF Lefebvre (formerly ). 2001-06-06 14:50 UTC-0400 David G. Holm * contrib/rdd_ads/ads.ch * contrib/rdd_ads/rddads.h * include/hbpp.h * include/hbrddntx.h * source/pp/ppcore.c * Replaced the old Harbour License and Exception with the new Harbour License and Exception, with permission from Alexander S.Kresin (I somehow managed to overlook these files in my earlier update). 2001-06-04 17:45 UTC-0400 David G. Holm * contrib/libmisc/dbftools.c * contrib/rdd_ads/ads0.prg * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * source/lang/msgru866.c * source/lang/msgruwin.c * source/pp/ppcomp.c * source/pp/pptable.c * utils/hbpp/hbpp.c * Replaced the old Harbour License and Exception with the new Harbour License and Exception, with permission from Alexander S.Kresin . 2001-06-04 16:15 UTC-0400 David G. Holm * contrib/libnf/proper.c * include/hbdefs.h * samples\pe\editorlo.c * source/compiler/genc.c * source/rtl/gtapi.c ! TRUE must never be declared as anything other than !0 and boolean results must never be compared to any constant other than 0 when overriding an implicit boolean test. 2001-06-04 16:55 GMT+3 Alexander Kresin * source/pp/pplib.c * __PreProcess() works now. 2001-06-03 23:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added #ifdef WIN to support using Windows MessageBox() instead of Alert(), use BLD pp -dWIN to activate. * contrib/dot/pp_harb.ch + Minor revision in TInnterpreter() class. + Added wrapper for MessageBox() * contrib/dot/rp_run.ch + Added #ifdef #command to translate 2001-06-03 09:35 UTC+1 JFL (mafact) * harbour/source/vm/Classe.c * Temporary disabled scoping for rel. 0.37 ! 2001-06-01 10:30 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + PP_RunArray( asLines, aParams ) + PP_Exec( aProcedures, aInitExit, nProcId, aParams ) * Modified all PP_RunXXXX() to use PP_Exec() * RP_Comp_Err() now repports source line and line number with the sysntax error. * contrib/dot/pp_harb.ch + Added Tinterpreter() class METHOD New() METHOD AddLine( cLine ) METHOD SetScript( cText ) METHOD Compile() METHOD Run() METHOD RunFile( cFile, aParams, cPPOExt, bBlanks ) INLINE PP_Run( cFile, aParams, cPPOExt, bBlanks ) METHOD ClearRules() METHOD InitStdRules() METHOD LoadClass() METHOD LoadFiveWin() * contrib/dot/prgscrpt.prg * Modified to demonstrate TInterpreter() syntax. * include/hbapi.h * source/vm/arrays.c * Fixed bug, in hb_stackArrayFromParams() and modified to accept a frame base parameter. * source/vm/arrayshb.c + Added HB_APARAMS() PRG wrapper to hb_stackArrayFromParams() returning array with passed parameter of the function calling HB_APARAMS() * source/rtl/do.c * Added required frams base parameter in calls to hb_stackArrayFromParams(). This fix population of oErr:Args if error occurs. 2001-05-30 10:49 UTC-0800 Brian Hays * source/rdd/dbcmd.c * Harrier's fix to NEXT clause in COPY TO command Thanks, Harrier! * contrib/rdd_ads/ads1.c * fixed adsOrderDestroy to call DestroyIndex instead of CloseIndex * source/rtl/philes.c * changed HB_FEOF() to HB_F_EOF to avoid collision with the HB_FEOF() in libmisc/hb_f.c 2001-05-30 14:15 UTC-0400 David G. Holm * contrib/odbc/odbc.c * contrib/odbc/todbc.prg * samples/guestbk/guestbk.prg * samples/hscript/hscript.prg * source/pp/pplib.c * Corrected Felipe G. Coury's email address and/or changed to the new Harbour License, with permission from Felipe. 2001-05-30 13:30 UTC-0400 David G. Holm * source/rtl/gtsln/gtsln.c * source/rtl/gtsln/kbsln.c * source/rtl/gtsln/keytrans.c % Changed to the new Harbour License, per request from Marek Paliwoda 2001-05-30 09:05 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + PP_ResetRules() + PP_InitStd() + PP_LoadRun() + PP_LoadClass() + PP_LoadFW() 2001-05-30 08:45 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Fixed PP_PreProLine() to not generate '#line n ""' if module name is empty() 2001-05-30 01:30 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added PP_PreProText( cText [, acLines ] ) returns the pre-process text and optional file asLines with pre=processed lines. + Added PP_RunText( cText, [bPreProcess], [aParmas] ) returns the return value of executed code. bPreProcess defaults to .T. * Enhanced PP_Run( cFile [, aParams] ) to accept optioanl Array with Paramaters. ! Minor correction in NextExp(). * contrib/dot/prgscrpt.prg * Rewrote sample to demonstarte new simpler wrapper functions: 2001-05-28 19:10 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Modified PP_PreProLine() to handle multi-line lines (;) as primary line. * Improved PP_RunInit() accept aProcedure as paramater. Now it can auto handle setup of RP_Run_Err() and reset aProcedures to {} + Added loading of std.ch * contrib/dot/prgscrpt.prg * Simplified samples, and added a simpler inline form sample. /* PP_RunInit( aCompiledProcs ) // Note the return value from PP_ExecProcedure() and no Procedure declaration in this 1st. sample... Alert( PP_ExecProcedure( ; PP_CompileLine( ; PP_PreProLine( "Private cVar := 'Hi there'; ? cVar; Return 'Returned from embedded script!'" ), ; 0, aCompiledProcs, NIL, @nProcId )[1] ) ) */ 2001-05-28 14:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Renamed PP_ProcessLine() to PP_PreProLine() and PP_ProcessFile() to PP_PreProFile() to allow 10 chars uniqueness. * Changed STATIC ExecuteMethod() to PP_ExecMethod() and STATIC ExecuteProcedure() to PP_ExecProcedure() to allow call from external modules, while preserving name space, and 10 chars uniqeness. * Removed STATIC from RP_*_Err() to allow calls from external modules. * Changed PP_CompileLine() to accept array of compiled procedures, instead of using a static. This allows thread safety, and support calls from external modules. * Changed RP_Run_Err() to accept 2nd parameter the Compiled Procedures Array, and 3rd parameter Module Name. This allows thread safety, and support calls from external modules. + Added PP_RunInit() to support initialization for Interpreter mode from external modules. + Added #ifdef __HARBOUR_ #include "pp_harb.ch" to allow Clipper to compile pp.prg. * contrib/dot/rp_run.ch * Changed ExecuteMethod() calls to PP_ExecMethod() + contrib/dot/pp_harb.ch + Added external file holding Harbour specific code that Clipper could not compile. + contrib/dot/prgscrpt.prg + Added sample to demonstrate PP interpreter embeded in a small prg to run prg driven scripts. 2001-05-28 03:20 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Renamed Main() to PP_Main(), ProcessFile() to PP_ProcessFile() and ProcessLine() to PP_ProcessLine() * Qualified all "private" functions/procedures with STATIC. 2001-05-28 02:45 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Fixed support for multi-words in restricted list matching in NextExp() 2001-05-27 21:20 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Few minor corrections to NextExp() ! Fixed generation of compiled rules results to always have marker place holders, even if no results exist. + Added TraceLog() message about repeatble results for non optional markers. * Updated burned-in rules for FiveWin.ch with newly generated rules. + Added few #ifdef FW to better support compilation with \fwh\samples\buildh.bat + Added #include "fwextern.ch" (#ifdef FW) to force link most FW modules. /* PP, if built like this: BUILDH pp -dFW (note -dFW) will produce PP.exe which will run most \fwh\samples\*.prg Test like this: PP Tutor01 -R etc... :-) */ 2001-05-27 02:19 UTC-0800 Brian Hays * source/rdd/dbcmd.c * fixed ordListAdd pointer bug reported by JF * contrib/rdd_ads/ads.ch + added COMMIT command to call AdsWriteAllRecords (our dbCommitAll() loops through all workareas. AdsWriteAllRecords is an optimized single call to the server.) * contrib/rdd_ads/ads1.c * corrected commit to only flush current workarea * fixed DBOI_ORDERCOUNT parameter handling * contrib/rdd_ads/adsfunc.c + added AdsWriteAllRecords() & AdsGetNumIndexes() * contrib\rdd_ads\doc\en\readme.txt * minor edits 2001-05-26 10:25 UTC-0800 Brian Hays * source/rdd/dbcmd.c * Harrier's fix to APPEND FROM from a source file with a different structure than the target. Thanks, Harrier, it works! 2001-05-25 12:20 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Few corrections to NextToken() and CompileRule() to match Clipper behaviour regrding decimal point, and decimal numbers. * source/pp/ppcore.c - Removed unused variable as per compiler warning. * source/vm/hvm.c ! Fixed HB_P_POPFIELD and HB_P_POPVARIABLE to NOT pop top stack element pre-maturely. Item is now pop only after assignment took place. This fixes problem where the FieldPut rutine had to use the stack, thus overriding the assigned item. 2001-05-24 01:09 UTC-0800 Brian Hays * source/rdd/dbcmd.c * fixed dbSetIndex/ordListAdd to set the order and go top IF it's the first bag * contrib/rdd_ads/ads.ch + added #define ADS_LOCAL_SERVER, ADS_REMOTE_SERVER, ADS_AIS_SERVER for "ORing" options * fixed _SET_DELETED typo * contrib/rdd_ads/ads1.c * Fixed EOF flag when doing a GO 0 2001-05-23 21:15 UTC-0800 Ron Pinkas * include/hbclass.ch ! Corrected few minor typos. * source/compiler/harbour.slx * source/macro/macro.slx - Commented few unused lines. * contrib/dot/pp.prg % Rewrote NextToken() and NextExp(). + Added NextIdentifier() ! Found that Clipper PP is not processing tokens read by NextToken() and NextExp() so removed recursive support, and changed logic in ProcessLine() to linear process: #defines against all valid Identifiers - Expansion forces a resacn from top. #[x]translates against all tokens - Expansion forces a resacn from top of #defines. #[x]command agains the first token - Expansion forces a resacn from top of #defines. ! Corrected and refined many aspects of Interpreter mode. + Added ExecuteMethod() and support for OO syntax. + Added support for -I command line switch. * contrib/dot/rp_run.ch + Added support for OO syntax. * contrib/dot/pp.txt * Updated documentation. valid Identifiers - Expansion forces a resacn from top. #[x]translates against all tokens - Expansion forces a resacn from top of #defines. #[x]command agains the first token - Expansion forces a resacn from top of #defines. ! Corrected and refined many aspects of Interpreter mode. + Added ExecuteMethod() and support for OO syntax. + Added support for -I command line switch. * contrib/dot/rp_run.ch + Added support for OO syntax. * contrib/dot/pp.txt * Updated documentation. /* PP Interpreter mode, is now capable of running code like this: //---------------------------// Function Main() LOCAL o := TTest():New() o:Increment() Alert( o:nVar ) Return nil CLASS TTest VAR nVar METHOD New CONSTRUCTOR METHOD Increment() ENDCLASS METHOD New //CLASS TTest /* CLASS clause now optional */ ::nVar := 0 return Self METHOD Increment CLASS TTest // () No longer required Return (++::nVar) //---------------------------// */ 2001-05-21 21:35 UTC+1 JFL (mafact) * harbour/source/vm/Proc.c + MethodName(nLevel) ==> Same as ProcName(nLevel) * harbour/include/hbclass.ch - delete xTranslate 'MethodName' 2001-05-21 14:30 UTC-0400 David G. Holm * source/rtl/tget.prg ! In METHOD KillFocus(), don't call ::Display() until after clearing ::hasFocus. Per bug report from "Robert Haley" 2001-05-21 08:30 GMT -3 Luiz Rafael Culik * source/rtl/gtapi.c * fixed an small bug on hb_gtBoxD() reported by Jacek Kaleta 2001-05-21 07:20 UTC+1 JFL (mafact) * harbour/source/vm/classes.c * hb_objGetRealClsName(object, szmsg ) was missing in function declaration. 2001-05-20 19:15 GMT -3 Luiz Rafael Culik * contrib/hbzlib/zip.c contrib/hbzlib/zipcomp.cpp contrib/hbzlib/zipnew.cpp * Fixed some bugs reported by Patrick Mast 2001-05-20 23:15 UTC+1 JFL (mafact) * harbour/source/vm/classes.c + hb_objGetRealClsName(object, szmsg ) Return the real class name regarding the Message called So as an inherited method will return it's real class parent * harbour/source/vm/proc.c * modified PROCNAME() to call the new classes function * harbour/include/hbapi.h + added hb_objGetRealClsName * harbour/include/hbclass.ch + added xtranslate to allow MethodName as the same as ProcName (a la class(y) ) 2001-05-20 13:35 GMT -3 Luiz Rafael Culik *contrib/hbzlib/zip.c *Fixed an small bug on hb_zipfilebytdspan() contrib/hbzlib/doc/zipnew.txt *Updated the doc to reflect the change 2001-05-19 19:00 GMT -3 Luiz Rafael Culik +contrib/hbzlib/hbzip2.h *include files need by the library +contrib/hbzlib/zip.c *Harbour Level functions for hbzlib +contrib/hbzlib/zipcomp.cpp *Low level api's for hbzlib compression +contrib/hbzlib/zipnew.cpp *Low level api's for hbzlib Extraction +contrib/hbzlib/makefile2.bc *makefile to make the new hbzlib +contrib/hbzlib/doc/zipnew.txt *Docs for the new hbzlib function interface *utils/hbmake/hbmake.prg *Fixed an small bug when generating the script(possibitity fo not find the file under linux) *updated to the new license 2001-05-18 13:20 UTC-0400 David G. Holm * source/rtl/dbdelim.prg * source/rtl/dbsdf.prg ! Fixed bug where using a WHILE condition failed to test for BOF or EOF, resulting in incorrect or blank records. * tests/delimtst.prg * tests/sdf_test.prg * Added a new test (4a) to demonstrate the fix. 2001-05-18 09:50 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * indexes now are opened with FO_READWRITE regardless of readonly mode on/off to allow locking. They are opened with FO_READ mode only if exclusive and readonly are set. ( Before index file couldn't be locked while moving through it in shared readonly mode ). 2001-05-17 13:25 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * bugs fixed, reported by John M. S. Chiang, related to appending of new records 2001-05-16 22:50 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * bugs fixed, reported by John M. S. Chiang, related to seek with SOFTSEEK ON 2001-05-16 09:00 UTC-0800 Ron Pinkas * include/hbclass.ch * Refined #error messages for OO compile time inegrity checks, as per input from Antonio and Dave. 2001-05-16 08:10 GMT -3 Luiz Rafael Culik *utils/hbmake/checks.prg updated to the new licence 2001-05-16 08:00 GMT -3 Luiz Rafael Culik *make_b32.bat b32_slex.bat make_vc.bat vc_slex.bat + Added Contrib\libmisc to default build bin\bld.bat + Added libmisc.lib to command lines of BCC and MSVC to fix undefined simbols , when compiling tests that require this library 2001-05-16 10:45 GMT+3 Alexander Kresin * include/hbrddntx.h * source/rddntx/dbfntx1.c + added ntxGoHot() + added ntxGoCold() - removed ntxPutValue() * corrected index updating - now it is done with ntxGoHot() and ntxGoCold(), as it should be. 2001-05-15 20:15 UTC+1 JFL (mafact) * harbour/source/vm/classes.c * minor modif to hb___msgClsSel() as indicated by Chen 2001-05-15 20:50 GMT+3 Alexander Kresin * source/rdd/dbf1.c * bug fixed, reported by Antonio Linares, related to record locking 2001-05-15 15:02 UTC+0100 Viktor Szakats * contrib/hbclip/hbarg.c * contrib/hbclip/hbclip.h * contrib/hbclip/hbclip.prg * contrib/hbclip/hbcolind.c * contrib/hbclip/hbkeyput.prg * contrib/hbclip/hbshadow.prg * contrib/hbclip/hbstod.c * contrib/hbclip/hbstodx.c * contrib/hbclip/hbvaltoc.prg * contrib/hbclip/readme.txt * contrib/libct/charevod.c * contrib/libct/charmix.c * contrib/libct/ctchksum.c * contrib/libct/ctcolton.c * contrib/libct/ctcrypt.c * contrib/libct/ctmisc.prg * contrib/libct/ctposupp.c * contrib/libct/readme.txt * contrib/libmisc/numtxthu.prg * contrib/libmisc/strfmt.c * contrib/libmisc/doc/en/ht_str.txt * doc/cmdline.txt * doc/hdr_tpl.txt * doc/howtocvs.txt * doc/howtomak.txt * doc/en/hb_apiln.txt * doc/en/hb_compa.txt * doc/en/hb_date.txt * doc/en/terminal.txt * doc/es/lang.txt * include/clipdefs.h * include/error.api * include/extend.api * include/extend.h * include/fm.api * include/gt.api * include/hbapigt.h * include/hbapilng.h * include/hbdate.h * include/hbmemory.ch * include/hboo.ch * include/hbsetup.ch * include/hbundoc.api * include/hbvmpub.h * include/item.api * include/rdd.api * include/vm.api * source/common/hbfsapi.c * source/common/hbstr.c * source/common/hbver.c * source/compiler/cmdcheck.c * source/compiler/hbusage.c * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * source/lang/msgcs852.c * source/lang/msgcsiso.c * source/lang/msgcskam.c * source/lang/msgcswin.c * source/lang/msgen.c * source/lang/msgfr.c * source/lang/msghe862.c * source/lang/msghewin.c * source/lang/msghr852.c * source/lang/msghriso.c * source/lang/msghu852.c * source/lang/msghucwi.c * source/lang/msghuwin.c * source/lang/msgis850.c * source/lang/msgro.c * source/pp/ppcore.c * source/rdd/dbnubs.c * source/rdd/dbfntx/dbfntx0.prg * source/rtl/accept.c * source/rtl/adir.prg * source/rtl/alert.prg * source/rtl/ampm.c * source/rtl/binnumx.c * source/rtl/box.c * source/rtl/colorind.c * source/rtl/console.c * source/rtl/dates.c * source/rtl/dateshb.c * source/rtl/datesx.c * source/rtl/dirdrive.c * source/rtl/diskspac.c * source/rtl/disksphb.c * source/rtl/dummy.prg * source/rtl/errorapi.c * source/rtl/fieldbl.prg * source/rtl/filesys.c * source/rtl/fkmax.c * source/rtl/fnsplit.c * source/rtl/fssize.c * source/rtl/fstemp.c * source/rtl/gete.c * source/rtl/getlist.prg * source/rtl/gt.c * source/rtl/gtapi.c * source/rtl/gtapiu.c * source/rtl/gx.c * source/rtl/inkey.c * source/rtl/isprint.c * source/rtl/langapi.c * source/rtl/lennum.c * source/rtl/memofile.c * source/rtl/mouseapi.c * source/rtl/mousex.c * source/rtl/natmsg.c * source/rtl/net.c * source/rtl/oemansi.c * source/rtl/oldclear.c * source/rtl/pad.c * source/rtl/philes.c * source/rtl/philesx.c * source/rtl/readkey.prg * source/rtl/readvar.prg * source/rtl/samples.c * source/rtl/setposbs.c * source/rtl/soundex.c * source/rtl/strings.c * source/rtl/strmatch.c * source/rtl/strzero.c * source/rtl/type.c * source/rtl/val.c * source/rtl/version.c * source/rtl/word.c * source/rtl/xhelp.c * source/rtl/xsavescr.c * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcgi/mousecgi.c * source/rtl/gtcrs/mousecrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtpca/mousepca.c * source/rtl/gtsln/mousesln.c * source/rtl/gtstd/gtstd.c * source/rtl/gtstd/mousestd.c * source/rtl/gtwin/gtwin.c * source/vm/arrays.c * source/vm/asort.c * source/vm/classes.c * source/vm/cmdarg.c * source/vm/extend.c * source/vm/fm.c * source/vm/harbinit.prg * source/vm/hvm.c * source/vm/itemapi.c * source/vm/main.c * source/vm/memvars.c * source/vm/memvclip.c * source/vm/proc.c * tests/fortest.prg * tests/langapi.prg * tests/lnlenli1.prg * tests/lnlenli2.prg * tests/memfile.prg * tests/memory.prg * tests/statinit.prg * tests/vec1.prg * utils/hbtest/hbtest.prg * utils/hbtest/rt_array.prg * utils/hbtest/rt_date.prg * utils/hbtest/rt_file.prg * utils/hbtest/rt_hvm.prg * utils/hbtest/rt_hvma.prg * utils/hbtest/rt_init.ch * utils/hbtest/rt_main.ch * utils/hbtest/rt_math.prg * utils/hbtest/rt_misc.prg * utils/hbtest/rt_str.prg * utils/hbtest/rt_stra.prg * utils/hbtest/rt_trans.prg * utils/hbtest/rt_vars.ch ! Corrected names, copyrights, dates for Viktor Szakats. * include/Makefile ! Fixed missing hb_io.h 2001-05-15 13:46 UTC+0100 Viktor Szakats * make_gnu.bat * make_gnu.cmd * make_gnu.sh * bin/bld.bat * bin/bld.cmd * bin/bld.sh * compiler/hbusage.c * Changed e-mail address and copyright dates. * source/rtl/menuto.prg - Removed my partial copyright. First round of copyright/e-mail address update. To be continued. 2001-05-15 13:20 UTC+0300 Chen Kedem * doc/en/objfunc.txt * update the doc for __objGetMsgList() to reflect changelog 2001-05-13 22:10 UTC+1 JFL (mafact) also added a short DATA/CLASSDATA explanation by J.Lefebvre 2001-05-14 21:10 UTC-0400 David G. Holm * source/compiler/hbusage.c % Corrected copyright year and URL, per diff from Dave Pearson. 2001-05-14 02:09 UTC-0800 Brian Hays * source/rdd/dbcmd.c * replaced lpdbOrdCondInfo->fScoped with fUseCurrent to clear "USECURRENT" property for subsequent indexes * contrib/rdd_ads/make_b32.bat * added CLEAN parameter handling * include/hbapirdd.h - removed fScoped member from DBORDERCONDINFO * contrib/rdd_ads/adsfunc.c * fixed retrieval of codeblock return value for aborting indexing. 2001-05-14 21:30 UTC+1 JFL (mafact) * harbour/utils/hbmake/ffile1.prg * remed two old method wich where not anymore used nor declared from the class. 2001-05-14 22:14 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * bugs fixed, reported by John M. S. Chiang, related to indexing of an empty file and packing 2001-05-13 07:55 UTC-0800 Brian Hays * source/rdd/dbcmd.c * dbAppend: set NetErr to True if SELF_APPEND fails * contrib/rdd_ads/ads.ch * added SET EPOCH TO and SET DATE FORMAT * contrib/rdd_ads/adsfunc.c + added AdsGetTableAlias() to confirm ADS's idea of the alias + added AdsSetEpoch() and AdsSetDateFormat() Done as get/set functions (returns previous setting) + added AdsCloseAllTables() * changed ShowPercentage for Indexing CallBacks to return the value from the codeblock to the Server. Pass 0 to continue, 1 (non-zero) to abort * contrib/rdd_ads/ads1.c * Fixed adsOpen() to pass along the correct alias to ADS * added DumpArea() for debugging: call this to dump ads server settings to HB_TRACE. Currently in a quick-and-dirty state... * source/vm/arrayshb.c * added HB_ArrayID() Useful for debugging: returns the array's "address" so dual references to same array can be seen */ * source/vm/arrays.c * in hb_arrayFromStack added missing ";" needed for debug build 2001-05-13 22:10 UTC+1 JFL (mafact) * harbour/include/hboo.ch + added #define to allow a better control of __objGetMsgList() #define HB_MSGLISTALL 0 #define HB_MSGLISTCLASS 1 #define HB_MSGLISTPURE 2 * harbour/source/rtl/objfunc.prg * Modified __objGetMsgList() * harbour/source/vm/classes.c * Modified hb___msgClsSel() to be used by __objGetMsgList() 2001-05-13 09:40 UTC-0800 Ron Pinkas * include/hbclass.ch % Removed many redundant rules (recently added for OO integrity checks). /* Found the PP problem that stopped me from implementing this optimized form before. It seems the PP has a problem with "[" follwing a an identifier without a space prefix like: #command TEST[([])] It seems to work OK like this: #command TEST [([])] */ 2001-05-12 18:30 GMT+0200 Martin Vogel + contrib/libct/charmix.c - contrib/libct/ctchrmix.c ! ctchrmix.c replaced by charmix.c + contrib/libct/charone.c ! CHARONE() function ! WORDONE() function + contrib/libct/charonly.c ! CHARONLY() function ! WORDONLY() function ! CHARREM() function ! WORDREM() function !New function! + contrib/libct/charsort.c ! CHARSORT() function + contrib/libct/charswap.c ! CHARSWAP() function ! WORDSWAP() function * contrib/libct/Makefile * added charmix.c, removed ctchrmix.c + added charone.c + added charonly.c + added charsort.c + added charswap.c * contrib/libct/makefile.bc * added charmix.c, removed ctchrmix.c + added charone.c + added charonly.c + added charsort.c + added charswap.c * contrib/libct/makefile.vc * added charmix.c, removed ctchrmix.c + added charone.c + added charonly.c + added charsort.c + added charswap.c * contrib/libct/readme.txt ! enhancement list updated ! * contrib/libct/ctflist.txt ! function status list updated ! + contrib/libct/tests/charmix.prg + contrib/libct/tests/charone.prg + contrib/libct/tests/charonly.prg + contrib/libct/tests/charrem.prg + contrib/libct/tests/charsort.prg + contrib/libct/tests/charswap.prg + contrib/libct/tests/wordone.prg + contrib/libct/tests/wordonly.prg + contrib/libct/tests/wordrem.prg + contrib/libct/tests/wordswap.prg * contrib/libct/tests/Makefile + added charmix.prg + added charone.prg + added charonly.prg + added charrem.prg + added charsort.prg + added charswap.prg + added wordone.prg + added wordonly.prg + added wordrem.prg + added wordswap.prg 2001-05-11 14:15 UTC-0800 Ron Pinkas * include/hbclass.ch + Added syntax declaration support for METHOD ... OPERATOR ... 2001-05-11 09:00 UTC-0800 Ron Pinkas * include/hbclass.ch ! Fixed declaration support for OnError() METHODS ! Fixed support for Methods having space prefixing the "( ... )" in the method implementation. + Refined #error messages to report the Class Name . * source/pp/ppcore.c * Removed recently added but not required support of #define expansion in #error directive. 2001-05-10 22:10 UTC-0800 Ron Pinkas * source/rtl/tclass.prg + Added logic to dispose of posibble "(...)" suffix to Method Name in AddInline() 2001-05-10 15:30 UTC-0800 Ron Pinkas * include/hbclass.ch + Added logic for NO Checking of OO Syntax (#ifdef NO_OO_ERR) - Use /dNO_OO_ERR to disable OO Syntax Checking. * source/pp/ppcore.c * Temporarily disabled support of #define expansion in #error directive. 2001-05-10 14:40 UTC-0800 Ron Pinkas * include/hbclass.ch - Removed 1 #translate that caused conflicts with FWH. + Refined logic detecting undeclared method and improved messages. + Added logic for STRICT (#ifdef STRICT_OO) validation (all paramaters must match too) + Added logic for normal (default) validation (paramaters are ignored). * source/compiler/harbour.sly * source/compiler/harbour.y + Added support for dummy parameters to function pointer ( @SomeFun( DummyParam ) ) * source/vm/hvm.c * source/compiler/hbpcode.c ! Corrected 1 compiler warning. * source/pp/ppcore.c + Added support for #defines in #error messages. * source/debug/debugger.prg - Removed orphan method (discovered by new compiler error) CaseSensitive() which is apparantly superceded by ToggleCaseSensitive(). * utils/hbdoc/ffile1.prg - Removed orphan method (discovered by new compiler error) GetBuff() which is routed to GetBuffer() in class declaration - Removed orphan method (discovered by new compiler error) fClose() which is not declared and default to Super in class declaration. /* These were discovered with the default LOOSE mode. When using /dSTRICT_OO many more inconsistencies are discovered! */ 2001-05-10 14:30 GMT+0200 (MET DST) Martin Vogel + contrib/libct/charmirr.c + CHARMIRR() function + contrib/libct/charrepl.c + CHARREPL() function + contrib/libct/wordrepl.c + WORDREPL() function * contrib/libct/Makefile * contrib/libct/makefile.bc * contrib/libct/makefile.vc + added charmirr.c, charrepl.c, wordrepl.c + contrib/libct/tests/charmirr.prg + contrib/libct/tests/charrepl.prg + contrib/libct/tests/wordrepl.prg ! small test programs for new functions * contrib/libct/tests/Makefile + added charmirr.prg, charrepl.prg, wordrepl.prg 2001-05-10 11:30 GMT+0200 (MET DST) Martin Vogel * contrib/libct/token1.c + added some documentation for the functions in token1.c * contrib/libct/readme.txt + added some information to the "enhancements" paragraph + contrib/libct/tests/numtoken.prg + contrib/libct/tests/tokenlow.prg + contrib/libct/tests/tokenupp.prg + contrib/libct/tests/tokensep.prg ! small test programs for new functions 2001-05-10 09:46 UTC+0300 Chen Kedem * doc/en/objfunc.txt * update the doc for __objGetMsgList() to reflect changelog 2001-05-09 00:02 UTC+1 JFL (mafact) 2001-05-09 22:10 UTC+1 JFL (mafact) * include/hbclass.ch + EXPORT: same as EXPORTED: for classy compatibility 2001-05-08 21:30 UTC-0400 David G. Holm * source/rtl/dbdelim.c * source/rtl/dbsdf.c % Corrected the initial database record positioning when using only the ALL scope by itself or a FOR condition by itself to position to the top of the database instead of record number 1. 2001-05-09 00:02 UTC+1 JFL (mafact) * source/vm/classes.c * modified hb_msgclssel() to accept one logical param so as it return only ClassMsg * source/rtl/objfunc.prg * modified ObjGetMsgList() to accept one logical param so as it return only ClassMsg 2001-05-08 14:50 UTC-0800 Ron Pinkas * include/hbclass.ch % Removed numerous redundant rules. + Added logic to detect and raise #error on implementation of NON Declared method. * source/rtl/tclass.prg + Added logic to dispose of posibble "(...)" suffix to Method Name in AddVirtual(), AddMethod(), and AddClsMethod(). 2001-05-07 11:40 UTC-0800 Ron Pinkas * include/hbclass.ch ! Added missing parameter to declaration of AddMultiData() * source/compiler/harbour.c ! Corrected broken Linked-List links in hb_compDeclaredInit() * source/compiler/hbpcode.c * Minor correction in declared parameters checking. * source/vm/hvm.c + Added complete call stack display to hb_vmRequestCancel() /* Cancelling will now show the complete call stack, rather than the not very helpful just current procedure. */ 2001-05-06 20:30 CET Martin Vogel + contrib/libct/token1.c ! ATTOKEN() function ! New 4th parameter ! ! TOKEN() function ! New 5th and 6th parameter and ! ! NUMTOKEN() function ! TOKENLOWER() function ! TOKENUPPER() function ! TOKENSEP() function + contrib/libct/alt/ ! new subdirectory for alternate function implementation in pure Harbour, needed for Harbour output formats that rely on a pure byte code ! - contrib/libct/cttoken.prg ! moved to new alt/ subdir as token1.prg + contrib/libct/alt/token1.prg ! pure Harbour implementation of functions coded in ../token1.c, still some work to do ! * contrib/libct/Makefile + added token1.c - removed cttoken.prg * contrib/libct/makefile.bc + added token1.c - removed cttoken.prg * contrib/libct/makefile.vc + added token1.c - removed cttoken.prg * contrib/libct/readme.txt ! enhancement list updated ! * contrib/libct/ctflist.txt ! function status list updated ! + contrib/libct/tests/attoken.prg ! test program for the ATTOKEN() function + contrib/libct/tests/token.prg ! test program for the TOKEN() function * contrib/libct/tests/Makefile + added attoken.prg + added token.prg 2001-05-06 12:00 UTC-0500 Paul Tucker * source\rtl\inkey.c added cast in Lastkey * source\vm\debug.c(113) removed unused pItem * source\rtl\errorapi.c(815) removed unused pArg * utils\hbpp\hbpp.c(89) removed unused szDefText * source\rdd\dbcmd.c removed various unused variables 2001-05-04 17:10 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * contrib/dot/rp_run.ch ! Few corrections to Pre Processor, and Interpreter. * include/hbclass.ch + Added support for METHOD implementations without requiring the CLASS Clause. + Added support for METHOD implementations without requiring the "()" if no parameters needed. 2001-05-03 17:40 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Corrected minor bug with test for valid string prefixs + Added missing valid string prefix (.) (except macro terminator) in getExpReal() 2001-05-03 19:35 UTC+0100 Ryszard Glab *source/compiler/harbour.l *fixed support for macro expressions *tests/keywords.prg *added some code to test compilation of macro expressions *added HB_CLIPPER_COMPATIBLE to correctly report errors with Harbour(flex) 2001-05-03 07:30 UTC-0800 Ron Pinkas * source/pp/ppcore.c + Added missing valid string prefix (|) in getExpReal() 2001-05-02 21:20 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Corrected bug in getExpReal() where strings could be appended to an invalid expression. 2001-05-02 15:00 UTC-0400 David G. Holm * include/hbapigt.h % Corrected parameter declarations for hb_gt_ExtendedKeySupport() to be void instead of implied int. 2001-05-02 11:05 UTC-0800 Ron Pinkas * include/hbapi.h * Changed HB_NESTED_CLONED to record BaseArray instead of first item. * Reverted declaration of hb_arrayClone to use 2nd parameter ( pClonedList ) for futute Thread Safety. * source/vm/arrays.c * Corrected handling of nested (shared) empty array in hb_arrayClone(). * Reverted definition of hb_arrayClone() to use 2nd parameter ( pClonedList ) for future Thread Safety. * source/vm/arrayshb.c * source/vm/classes.c * source/vm/hvm.c * Added required 2nd parameter ( NULL ) to calls to hb_arrayClone() 2001-05-01 02:35 UTC-0800 Ron Pinkas * contrib/dot/rp_run.ch * contrib/dot/pp.prg % Optimozed and improved handling of IF [ELSEIF] [ELSE] ENDIF in Interpreter mode. % Optimozed and improved handling of DO CASE [CASE] [OTHERWISE] END[CASE] in Interpreter mode. + Added support for FOR [LOOP] [EXIT] NEXT to Interpreter mode. + Added support for [DO] WHILE [LOOP] [EXIT] END[DO] to Interpreter mode. + Added support for file statics to Interpreter mode. + Added supprt for Command-Line Parameters to Interpreter mode. /* PP "FileName Param1 ParamN" -r */ * tests/stripem.prg ! Resolved missing Default() and ToChar() 2001-04-30 13:00 UTC-0400 David G. Holm * include/hbinkey.ch * source/rtl/inkey.c * source/rtl/gtwin/gtwin.c % Corrected handling of enhanced keys with no key modifiers. As a result, the Key Pad Enter key is distinct from the normal Enter key when using HB_INKEY_EXTENDED mode. 2001-04-28 02:10 UTC-0800 Ron Pinkas * include/hbapi.h - Removed 2nd parameter from hb_arrayClone() declaration * source/vm/arrays.c - Removed 2nd parameter from definition of hb_arrayClone(), added a static s_pClonedList instead. * source/vm/arrayshb.c * source/vm/classes.c * source/vm/hvm.c - Removed 2nd parameter from calls to hb_arrayClone() 2001-04-28 23:15 CET Martin Vogel + contrib/libct/atrepl.c ! ATREPL() function with !new! 6th parameter + contrib/libct/charlist.c ! CHARLIST(), CHARNOLIST() function + CHARSLIST() sorted character list !New function! + CHARHIST() character histogram !New function! * contrib/libct/Makefile + added atrepl.c + added charlist.c * contrib/libct/makefile.bc + added atrepl.c + added charlist.c * contrib/libct/makefile.vc + added atrepl.c + added charlist.c * contrib/libct/readme.txt ! enhancement list updated ! * contrib/libct/ctflist.txt ! function status list updated ! + contrib/libct/tests/atrepl.prg ! test program for the ATREPL() function + contrib/libct/tests/charlist.prg ! test program for the CHARLIST() function + contrib/libct/tests/charnlst.prg ! test program for the CHARNOLIST() function + contrib/libct/tests/charslst.prg ! test program for the new CHARSLIST() function + contrib/libct/tests/charhist.prg ! test program for new CHARHIST() function * contrib/libct/tests/Makefile + added atrepl.prg + added charlist.prg + added charnlst.prg + added charslst.prg + added charhist.prg * contrib/libct/ctflist.txt ! function status list updated ! 2001-04-27 22:30 UTC-0400 David G. Holm * doc/en/input.txt * include/hbapigt.h + include/hbinkey.ch * include/inkey.ch * source/rtl/gtapi.c * source/rtl/inkey.c * source/rtl/gt_tpl/gt_tpl.c * source/rtl/gtcgi/gtcgi.c * source/rtl/gtcrs/kbdcrs.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtpca/gtpca.c * source/rtl/gtsln/kbsln.c * source/rtl/gtstd/gtstd.c * source/rtl/gtwin/gtwin.c * tests/inkeytst.prg + Added a new HB_INKEY_EXTENDED mode that extends the number of unique keys that Harbour can distinguish between. The first implementation is for gtwin only, so the gtapi has a new API function that the inkey.c module uses to determine if the GT module supports the new HB_INKEY_EXTENDED mode. This way, it is not necessary to convert all GT drivers to support the new input mode at the same time. The new GT API function is named hb_gtExtendedKeySupport() and returns zero if the new mode is not supported or non-zero if the new extended mode is supported. * The INKEY() family of functions defaults to the normal Clipper- compatible key code mode. In order to use the extended code mode, you either need to set the global input mask to include the new HB_INKEY_EXTENDED value or include it in the second parameter for INKEY() and the new optional NEXTKEY() and LASTKEY() parameter. + A GT driver that supports extended key code mode must *always* use extended key codes. A new translation function in inkey.c is used to translate between extended and normal key codes when the new HB_INKEY_EXTENDED mode is not in use. + The new hbinkey.ch module defines and documents the new extended mode key codes, which are not compatible with the normal codes (with the obvious exception of character codes 0 through 255). These manifest constants use the HB_ prefix and are also defined for many duplicate codes (such as HB_K_CTRL_A, HB_ENTER, etc.) + Extended key codes consist of the PC keyboard scan code and one or more offset values. If no keyboard modifier was used, then HB_INKEY_NONE is added. The Alt key adds HB_INKEY_ALT, the Ctrl key adds HB_INKEY_CTRL, the Shift key adds HB_INKEY_SHIFT, and enhanced keys (KeyPad+/ and CursorPad keys) add HB_INKEY_ENHANCED. For example, F1 is scan code 59, so if you just press F1, you get key code 315, but Alt+F1 gives 443, Ctrl+F1 gives 571, and Shift+ F1 gives 699. And NumPad+/ gives 1077, 1205, 1333, and 1461. At this time, the only value that can combine with other values is HB_INKEY_ENHANCED (i.e., there are no Alt+Ctl combinations, etc.) + Note: The extended key code set is larger than the normal key code set. As a result, if you switch between the normal and extended modes, you need to be aware that some codes get translated into a zero in normal mode (because there is no corresponding code in normal mode) and that these codes get removed from the keyboard input buffer in normal mode and you won't be able to go back and fetch them later in extended mode. + In order to allow testing the new extended mode, the inkeytst.prg module has been extended to interpret the second parameter. If it is not present, then normal mode is used. If it starts with an "R" (or "r"), then raw mode is used. Otherwise, extended mode is used. 2001-04-27 15:00 UTC-0400 David G. Holm * include/achoice.ch * include/assert.ch * include/box.ch * include/button.ch * include/color.ch * include/common.ch * include/dbedit.ch * include/dbstruct.ch * include/directry.ch * include/error.ch * include/getexit.ch * include/hbapigt.h * include/hbapirdd.h * include/hbdefs.h * include/inkey.ch * include/memoedit.ch * include/ord.ch * include/rddsys.ch * include/reserved.ch * include/setcurs.ch * include/simpleio.ch * include/std.ch * Changed the license in all "anonymous" include files from the old license to the new one. 2001-04-26 22:10 GMT+3 Alexander Kresin * contrib/mysql/mysql.c + added functions sqlHostInfo(), sqlSrvInfo() * source/rdd/dbfntx/dbfntx1.c * implemented seek for numeric and date indexes 2001-04-26 14:00 GMT+1 Antonio Linares * source/vm/debug.c ! __VMSTKLCOUNT( ) enhanced to accept a nProcLevel. 2001-04-26 14:00 CET Martin Vogel + contrib/libct/asciisum.c + asciisum() function + contrib/libct/ascpos.c + ascpos() and valpos() function * contrib/libct/Makefile + added contrib/libct/asciisum.c + added contrib/libct/ascpos.c * contrib/libct/makefile.bc + added contrib/libct/asciisum.c + added contrib/libct/ascpos.c * contrib/libct/makefile.vc + added contrib/libct/asciisum.c + added contrib/libct/ascpos.c * contrib/libct/ctflist.txt * changed status of functions mentioned above + contrib/libct/tests/asciisum.prg + contrib/libct/tests/ascpos.prg + contrib/libct/tests/valpos.prg ! small test programs for new functions * contrib/libct/tests/Makefile + added contrib/libct/tests/asciisum.prg + added contrib/libct/tests/ascpos.prg + added contrib/libct/tests/valpos.prg 2001-04-26 01:15 UTC-0800 Brian Hays * source/rdd/dbcmd.c * __dbLocate wasn't freeing mem blocks if dataset was empty * added ordKeyCount * formatted comments * removed HB_SYMBOL_UNUSED( bRest ); since it's used now * Fixed logic in __dbCopy for only having a For clause (it was failing to copy if first record failed test) Harrier - please review my change to bFor/pFor testing * contrib/rdd_ads/adsfunc.c + Added ADSGETFILTER() for retrieving what ADS thinks the filter is * contrib/rdd_ads/ads1.c * fixed dbOrderInfo(DBOI_KEYCOUNT) when no scope was set (was returning 0) * contrib/rdd_ads/adsmgmnt.c * removed unneeded headers * source/rtl/dummy.prg * removed ordKeyCount 2001-04-25 17:51 GMT-3 Horacio Roldan *source/rdd/workarea.c * patched GPF using valResult. 2001-04-25 20:08 GMT+1 Antonio Linares * source/vm/debug.c ! __VMPARLLIST( ) enhanced to accept a nProcLevel. 2001-04-21 22:59 GMT+2 Maurilio Longo * source/rtl/memoedit.prg ! fixed error when UserFunction is a logical value. 2001-04-20 18:15 UTC-0400 David G. Holm * source/rtl/disksphb.c % Fixed errors in EG_OPEN error generation. 2001-04-20 18:05 UTC-0400 David G. Holm + include/hb_io.h * source/common/hbtrace.c * source/rtl/console.c * source/rtl/dir.c * source/rtl/disksphb.c * source/rtl/filesys.c * source/rtl/gtapi.c + Instead of using #include and/or messy #ifdef blocks to include and/or , just use #include "hb_io.h" (based on an idea from Dave Pearson). 2001-04-20 19:00 GMT+3 Alexander Kresin * contrib/libmisc/dbftools.c * fieldtype() fixed accordingly to RDD changes * contrib/mysql/mysql.c * sqlConnect() fixed for version older than 3.22.34 + added support for mysql_affected_rows() and mysql_field_count() * tests/db_brows.ch * tests/db_brows.prg * some improvements 2001-04-20 16:30 CET Martin Vogel + contrib/libct/charop.c + charadd(), charand(), charor(), charxor(), charnot() and (NEW!) charsub(), charshl(), charshr(), charrll() and charrlr() functions * contrib/libct/Makefile + added contrib/libct/charop.c * contrib/libct/makefile.bc + added contrib/libct/charop.c * contrib/libct/makefile.vc + added contrib/libct/charop.c * contrib/libct/ctflist.txt * changed status of functions mentioned above * contrib/libct/readme.txt + added comments for new functions + contrib/libct/tests/charadd.prg + contrib/libct/tests/charand.prg + contrib/libct/tests/charor.prg + contrib/libct/tests/charnot.prg + contrib/libct/tests/charxor.prg + contrib/libct/tests/charsub.prg + contrib/libct/tests/charshl.prg + contrib/libct/tests/charshr.prg + contrib/libct/tests/charrll.prg + contrib/libct/tests/charrlr.prg ! small test programs for new functions * contrib/libct/tests/Makefile + added contrib/libct/tests/charadd.prg + added contrib/libct/tests/charand.prg + added contrib/libct/tests/charor.prg + added contrib/libct/tests/charnot.prg + added contrib/libct/tests/charxor.prg + added contrib/libct/tests/charsub.prg + added contrib/libct/tests/charshl.prg + added contrib/libct/tests/charshr.prg + added contrib/libct/tests/charrll.prg + added contrib/libct/tests/charrlr.prg 2001-04-20 15:04 GMT+2 Maurilio Longo * source/rtl/memoedit.prg * simplified handling of keys and prevented infinite recursion when a key not handled by TEditor was pressed inside a MemoEdit() window. * ME_TOGGLESCROLL is not handled since TEditor cannot handle such a kind of "movement" * K_CTRL_T (delete word right) is not handled since TEditor is not able to do it 2001-04-20 11:09 GMT+2 Maurilio Longo * source/rtl/memoedit.prg ! fixed handling of K_ALT_W 2001-04-20 10:50 CET Martin Vogel + contrib/libct/charevod.c - contrib/libct/ctchrevn.c - contrib/libct/ctchrodd.c ! CHAREVEN() & CHARODD() functions merged to one file, some corrections * contrib/libct/Makefile * changed lib name to "ct3" again (sorry !) + added contrib/libct/charevod.c - removed contrib/libct/ctchrevn.c - removed contrib/libct/ctchrodd.c * contrib/libct/makefile.bc * changed lib name to "ct3" again (sorry !) + added contrib/libct/charevod.c - removed contrib/libct/ctchrevn.c - removed contrib/libct/ctchrodd.c * contrib/libct/makefile.vc * changed lib name to "ct3" again (sorry !) + added contrib/libct/charevod.c - removed contrib/libct/ctchrevn.c - removed contrib/libct/ctchrodd.c + contrib/libct/tests/chareven.prg ! Small test program for chareven() + contrib/libct/tests/charodd.prg ! Small test program for charodd() * contrib/libct/tests/Makefile + added contrib/libct/tests/chareven.prg + added contrib/libct/tests/charodd.prg 2001-04-20 01:35 UTC-0800 Ron Pinkas * hb_slex.bc * Synched with makefile.bc * source/common/hbtrace.c + Added missing #include * include/hbapilng.h * source/rtl/langapi.c * Corrected declaration of hb_langDGetItem() (required for C++) 2001-04-19 17:10 UTC-0400 David G. Holm * hb_slex.bc * hb_slex.vc * makefile.bc * makefile.vc * doc/funclist.txt * source/rtl/Makefile * source/rtl/dbdelim.prg + source/rtl/dbsdf.prg * source/rtl/dummy.prg * tests/Makefile + tests/sdf_test.prg + Added __dbSDF() with support for COPY TO SDF. + Added dbdelim.obj to makefile.vc. * Fixed CVS ID header in dbdelim.prg. * Changed name of Export() function in dbdelim.prg to ExportVar() 2001-04-19 15:07 GMT+2 Maurilio Longo * source/rtl/teditor.prg ! regression from previous fix 2001-04-19 14:43 GMT+2 Maurilio Longo * source/rtl/teditor.prg ! fixed handling of K_ESC and K_ALT_W * source/rtl/memoedit.prg ! fixed handling of K_ESC and K_ALT_W 2001-04-19 01:30 UTC-0800 Brian Hays * source/rdd/dbcmd.c * Harrier's latest fix for __dbCopy, plus my HB_TRACE addition * contrib/rdd_ads/adsfunc.c + added AdsIsServerLoaded(), AdsApplicationExit () * source/rtl/memoline.c * fixed bug where chr(0) was returned if source was an empty string. * source/common/hbtrace.c * added support for HB_TR_FLUSH Environment variable per David's guidance. (Thanks, David!) SET HB_TR_FLUSH=1 ...Will cause all HB_TRACE calls to flush to disk (when redirecting to file) so you can trace right up to a line that gpfs and not lose buffered output. 2001-04-18 21:15 UTC-0400 David G. Holm * source/rtl/dbdelim.prg * Completed the code needed for COPY TO DELIMITED * source/rtl/errorsys.prg + Temporarily added a QOUT() ahead of displaying the error message in DEFERROR(), because unless the screen has been scrolled while the program was running, the DOS prompt will overwrite the first line of the error trace after quitting. * source/rtl/langapi.c + Added Harbour methods to get language specific error messages and language specific general messages. * tests/Makefile + tests/delimtst.prg + New module to test COPY TO DELIMITED and APPEND FROM DELIMITED. 2001-04-18 17:40 UTC-0400 David G. Holm * source/rdd/dbf1.c % Changed two (unsigned chr *) type overrides to (BYTE *), because the function called requires a BYTE * parameter when used with C++. * source/rtl/gtos2/gtos2.c % Changed two (void *) type overrides to (PPVOID), because the function called requires a PPVOID parameter when used with C++. % Added definition for KBDTRF_EXTENDED_CODE when using VAC++. 2001-04-18 22:30 CET Martin Vogel + contrib/libct/ctflist.txt ! function status list, only functions in the CVS are marked 'R' or 'S' ! + contrib/libct/atadjust.c ! ATADJUST() function * contrib/libct/Makefile + added atadjust.c * contrib/libct/makefile.bc + added atadjust.c * contrib/libct/makefile.vc + added atadjust.c + contrib/libct/tests/atadjust.prg ! added tests for ATADJUST() function * contrib/libct/tests/Makefile + added atadjust.prg 2001-04-18 15:50 CET Martin Vogel * contrib/libct/makefile.bc ! Corrected a typo 2001-04-18 01:30 UTC-0800 Ron Pinkas * source/vm/arrays.c ! Corrected a minor typo, that could cause some un-released memory on some occasions. 2001-04-17 23:55 UTC-0800 Ron Pinkas * include/hbapi.h * Removed 3rd paramater from declaration of hb_arrayClone(). * source/vm/arrays.c ! Optimized and improved hb_arrayClone(). * source/vm/arrayshb.c * source/vm/classes.c * source/vm/hvm.c * Changed calls to hb_arrayClone() to remove no longer needed, 3rd parameter. 2001-04-17 19:30 UTC-0800 Ron Pinkas * include/hbapi.h + Added typedef struct HB_NESTED_CLONED * Changed declaration of hb_arrayClone to hb_arrayClone( PHB_ITEM pArray, PHB_NESTED_CLONED pClonedList, BOOL *bCyclic ) * source/vm/arrays.c ! Fixed hb_arrayClone() to correctly clone any array including RELATIVE Ciclic Referncing of any level. * source/vm/arrayshb.c * source/vm/classes.c * source/vm/hvm.c * Changed calls to hb_arrayClone() to pass 2 additional NULLs as 2nd. and 3rd. parameters. 2001-04-17 17:15 UTC-0400 David G. Holm * hb_slex.bc * hb_slex.vc * makefile.bc * makefile.vc * doc/funclist.txt * source/rtl/Makefile + source/rtl/dbdelim.prg * source/rtl/dummy.prg + Added __dbDelim() function for use by COPY TO DELIMITED. FIELD, NEXT, FOR, and WHILE clauses are implemented, but I don't know what the first and last two parameters are for. 2001-04-17 21:30 CET Martin Vogel + contrib/libct/atnum.c + AFTERATNUM() function + BEFORATNUM() function + ATNUM() function * contrib/libct/Makefile * changed library name to libct + added atnum.c * contrib/libct/makefile.bc * changed library name to libct + added atnum.c * contrib/libct/makefile.vc * changed library name to libct + added atnum.c + contrib/libct/tests/afteratn.prg + contrib/libct/tests/atnum.prg + contrib/libct/tests/beforatn.prg * contrib/libct/tests/Makefile + added afteratn.prg + added atnum.prg + added beforatn.prg * contrib/libct/ct.ch * error correction 2001-04-17 10:35 UTC-0800 Ron Pinkas * source/vm/arrays.c ! Fixed GPF when aCloning an Array with circular refrences to itself. 2001-04-17 18:40 CET Martin Vogel * contrib/libct/readme.txt + Added paragraph for enhancements over original CT3 library + contrib/libct/addascii.c * contrib/libct/Makefile + added addascii.c * contrib/libct/makefile.vc + added addascii.c * contrib/libct/makefile.bc + added addascii.c + contrib/libct/tests + contrib/libct/tests/Makefile + contrib/libct/tests/csetref.prg + contrib/libct/tests/csetatmu.prg + contrib/libct/tests/setatlik.prg + contrib/libct/tests/addascii.prg 2001-04-17 17:55 CET Martin Vogel + contrib/libct/ct.ch + contrib/libct/ct.h + contrib/libct/ctset.c + contrib/libct/ctset.h + contrib/libct/ctstr.c + contrib/libct/ctstr.h * contrib/libct/Makefile + added ctset.c + added ctstr.c * contrib/libct/makefile.vc + added ctset.c + added ctstr.c * contrib/libct/makefile.bc + added ctset.c + added ctstr.c 2001-04-17 02:50 GMT-3 Horacio Roldan *source/rdd/dbfcdx/dbfcdx1.c * fixed some warnings * fixed bug with pathname in hb_cdxOrderCreate 2001-04-16 14:40 UTC-0800 Ron Pinkas * source/compiler/harbour.c + Added all GET Methods definitions (still need Exported Vars ) - Thanks to Luiz. + Added TBCOLUMN definitions - Thanks to Luiz. * source/rtl/tget.prg ! Correted :ToDecPos to return SELF as in Clipper (after verifying there was NO Low-Level Code conflict). 2001-04-16 11:45 UTC-0800 Brian Hays * source/rdd/dbcmd.c Uploaded Harrier's fix for COPY TO ... FIELDS * include/hbmemory.ch * source/vm/fm.c + added HB_MEM_STACK_TOP 1005 Total items currently on the stack This is useful in stack debugging; shows the actual TopOffset even after allocations have been made and items popped off. 2001-04-15 00:05 GMT -3 Luiz Rafael Culik *Changelog *Renamed to ChangeLog.010 and started an new one *util/hbdoc/*.prg utils/hbdoc/*.ch *updated to the new licence 2001-04-14 08:40 UTC-0800 Brian Hays - source/rdd/rddcopy.c removed per Harrier--code was integrated into dbcmd.c 2001-04-13 09:40 UTC-0800 Ron Pinkas * source/compiler/harbour.c + Added TODO comment. * source/rdd/dbcmd.c Posted COPY TO fix for Harrier (default to TOP if REST or WHILE not provided) 2001-04-12 10:56 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * Fixed ordName/dbOrderInfo: it returned blank for any order if in natural order when called * contrib/rdd_ads/adsmgmnt.c * contrib/rdd_ads/testmg.prg * changed licensing comment at top 2001-04-12 15:15 UTC-0400 David G. Holm * include/fileio.ch * include/filesys.api * include/hbapifs.h * include/hbset.h * include/hbver.h * include/set.ch * source/compiler/fixflex.c * source/rtl/gtpca/kbdos2.gcc * Replaced the old license with the new license in more files where I was listed as the primary or only copyright holder. * source/vm/borsym.asm * source/vm/startup.asm * source/vm/symbols.asm * Replaced the old license with the new license with permission from Antonio Linares 2001-04-12 15:00 UTC-0400 David G. Holm * source/compiler/genc.c * source/compiler/genhrb.c * source/compiler/genjava.c * source/compiler/genobj.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.sly * source/compiler/harbour.y * Replaced spurious ", with one exception:" text in source code that does not include the Harbour Exception with ".". * contrib/odbc/odbc.c * include/hbapi.h * include/hbapierr.h * include/hbapiitm.h * include/hbclass.ch * include/hbcomp.h * include/hbinit.h * include/hbpcode.h * include/hbstack.h * include/hbvm.h * source/debug/dbgmenu.prg * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * source/macro/macro.l * source/macro/macro.y * source/rtl/at.c * source/rtl/browse.prg * source/rtl/chrasc.c * source/rtl/console.c * source/rtl/dates.c * source/rtl/dateshb.c * source/rtl/empty.c * source/rtl/errorapi.c * source/rtl/errorsys.prg * source/rtl/getsys.prg * source/rtl/is.c * source/rtl/left.c * source/rtl/len.c * source/rtl/rat.c * source/rtl/replic.c * source/rtl/right.c * source/rtl/saverest.c * source/rtl/setcurs.c * source/rtl/shadow.c * source/rtl/space.c * source/rtl/str.c * source/rtl/strcase.c * source/rtl/strings.c * source/rtl/strtran.c * source/rtl/stuff.c * source/rtl/substr.c * source/rtl/tbcolumn.prg * source/rtl/tbrowse.prg * source/rtl/tclass.prg * source/rtl/terror.prg * source/rtl/tgetlist.prg * source/rtl/trim.c * source/rtl/valtype.c * source/vm/arrays.c * source/vm/arrayshb.c * source/vm/borinit.c * source/vm/classes.c * source/vm/dynsym.c * source/vm/estack.c * source/vm/extend.c * source/vm/fm.c * source/vm/hvm.c * source/vm/initexit.c * source/vm/itemapi.c * source/vm/maindll.c * source/vm/mainstd.c * source/vm/mainwin.c * source/vm/pcount.c * source/vm/proc.c * tests/testop.prg * Replaced the old license with the new license with permission from Antonio Linares 2001-04-12 14:20 UTC-0400 David G. Holm * doc/hdr_tpl.txt * Changed the year in the partial copyright template to 2001. * contrib/hbzlib/hbzip.h * contrib/hbzlib/tzipfile.prg * contrib/hbzlib/zipfile.c * contrib/hbzlib/zipfile2.c * contrib/hbzlib/zlibapi1.c * contrib/libmisc/nconvert.prg * contrib/libnf/getver.c * contrib/libnf/getvid.c * contrib/libnf/mouse.c * contrib/pdflib/pdfhbdoc.c * source/debug/dbgtarr.prg * source/debug/dbgtobj.prg * source/lang/msgpt.c * source/rdd/dblist.prg * source/rdd/dbupdat.prg * source/rtl/tlabel.prg * source/rtl/treport.prg * source/rtl/typefile.prg * Replaced the old license with the new license with permission from Luiz Rafael Culik Guimaraes * source/rtl/abs.c * source/rtl/gete.c * source/rtl/math.c * source/rtl/minmax.c * source/rtl/mod.c * source/rtl/padc.c * source/rtl/padl.c * source/rtl/padr.c * Replaced the old license with the new license with permission from Matthew "Mabster" Hamilton * contrib/hb_struc/hbstruc.prg * source/compiler/harbour.slx * source/compiler/simplex.c * source/macro/macro.slx * source/macro/maxroslx.c * Replaced the old license with the new license with permission from Ron Pinkas * include/hbtrace.c * source/common/hbtrace.c * source/rtl/trace.c * source/rtl/gtcrs/gtcrs.c * Replaced the old license with the new license with permission from Diethelm Guallar, Gonzalo * contrib/msql/dbf2msql.prg * contrib/msql/msql.c * contrib/msql/msql.ch * contrib/msql/test.prg * contrib/msql/tmsql.prg * contrib/mysql/dbf2mysql.prg * contrib/mysql/mysql.c * contrib/mysql/mysql.ch * contrib/mysql/test.prg * contrib/mysql/tmysql.prg * contrib/mysql/tsqlbrw.prg * source/debug/tbrwtext.prg * source/lang/msgit.c * source/rtl/memoedit.prg * source/rtl/teditor.prg * source/rtl/ttextlin.prg * source/rtl/gtos2/gtos2.c * Replaced the old license with the new license with permission from Maurilio Longo * source/rtl/teditorl.c * Replaced the old license with the new license with permission from Matthew "Mabster" Hamilton and Antonio Linares 2001-04-12 10:42 UTC+0300 Chen Kedem * source/rtl/tone.c * source/rtl/gtos2/mouseos2.c * source/rtl/lang/msghe862.c * source/rtl/lang/msghewin.c * Replaced the old license with a new license 2001-04-10 16:20 UTC-0800 Ron Pinkas * include/hbcomp.h * Changed order of COMDECLARED elements to be more intuitive for static initialization. * source/compiler/harbour.c * source/compiler/hbpcode.c ! Added type casting needed for C++ compilers. 2001-04-09 22:40 UTC-0800 Ron Pinkas * source/compiler/hbgenerr.c * Corrected spelling for suspicious. * source/compiler/hbpcode.c * Commented one debung printf() * include/hbcomp.h + Added extern PCOMCLASS hb_comp_pReleaseClass * source/compiler/genc.c + Added logic to release declared classes after compilation. * source/compiler/harbour.c + Added logic for standard classes declaration to hb_compDeclaredInit() + Added ERROR class declaration and started GET class declaration 2001-04-09 02:20 UTC-0800 Brian Hays * source/compiler/genc.c * Posted a fix from Ron to pDeclared handling 2001-04-09 12:30 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * added scope optimization to DBOI_KEYCOUNT 2001-04-09 11:50 UTC-0800 Ron Pinkas * include/hberrors.h * source/compiler/hbgenerr.c + Added #define HB_COMP_WARN_PARAM_SUSPECT 18 -> "4Suspicious parameter: %s expected: \'%s\'" * include/hbcomp.h + Added extern PCOMDECLARED hb_comp_pReleaseDeclared; * source/compiler/harbour.c + Added static void hb_compDeclaredInit( void ) initializes decalaration of standard functions; * source/compiler/genc.c * Changed release code from hb_comp_pFirstDeclared to hb_comp_pReleaseDeclared. * source/compiler/hbpcode.c * Many refinments. 2001-04-08 16:15 UTC-0800 Ron Pinkas * include/hberrors.h ! Corrected typo. * source/compiler/harbour.sly * source/compiler/harbour.y ! Corrected few incorrect "Unreachable code warnings". ! Corrected hb_compPushLine() in RECOVER and RECOVERUSING * source/compiler/harbour.c * source/compiler/hbpcode.c ! Improved StrongType logic. 2001-04-07 13:25 UTC-0800 Ron Pinkas * source/compiler/hbpcode.c ! Fixed some StrongType logic. * source/compiler/genc.c * source/rdd/dbf1.c * source/rtl/gtapi.c * source/vm/hvm.c ! Corrected Compiler warnings. * source/compiler/harbour.c * include/hbcomp.h * Minor formatting. 2001-07-01 21:20 GMT+3 Alexander Kresin Changes, provided by Marek Paliwoda. *doc/en/gtslang.txt *source/rtl/gtsln/gtsln.c *source/rtl/gtsln/kbsln.c *source/rtl/gtsln/keytrans.c ! Fixed a bug with processing '.' key * Added support for an Alt emulation using Meta key (which is an ESC key as in most Linux applications). 2001-04-04 01:20 UTC-0800 Brian Hays * source/vm/dynsym.c * added test for spaces to hb_dynsymFindName so padded symbols are found now. A few tests indicated NO speed loss (Thanks, Ron, I used yours when the speed test showed no difference) * contrib/rdd_ads/ads1.c * Fixed bug in GetValue where child areas returned blank fields * contrib/rdd_ads/adsfunc.c * rewrote adsGetKeyCount to walk the scope by hand 2001-04-03 21:00 UTC-0400 David G. Holm * contrib/libmisc/fileread.prg * Donated to the public domain. * doc/hdr_tpl.txt * source/rtl/devoutp.prg * source/rtl/inkey.c * source/rtl/maxrow.c * source/rtl/round.c * source/rtl/scroll.c * source/rtl/set.c * source/rtl/valtostr.c * source/rtl/gtpca/gtpca.c * Replaced the old license with a new license that is derived from the Guile 1.4 license (the old license was based on an older version of Guile) in the header template and in files where I was listed as the primary or only copyright holder. 2001-04-01 15:46 GMT+6 April White * doc/en/hb_api.txt ! removed duplicate copies of: hb_pcount(), hb_ret(), hb_retc(), hb_retclen(), hb_retds(), hb_retd(), hb_retdl(), hb_retl(), hb_retnd(), hb_retni(), hb_retnl(), hb_retnlen(), hb_retndlen(), hb_retnilen(), hb_retnllen(), hb_reta() ! added a note to the description of each of the above that explains what happens when HB_API_MACROS is defined (each is replaced with a macro expression) * hb_pcount() entry ! corrected typo, * source/compiler/genc.c: ! correct comment 'the the' ! wrapped assignment within while() loop with brackets to eliminate a warning in djgpp 2001-04-01 15:45 GMT+3 Alexander Kresin * source/rtl/gtsln/gtsln.c ! minor fix, provided by Marek Paliwoda 2001-04-01 12:20 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * ntxOrderListRebuild() mostly completed 2001-03-30 14:10 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! fixed the bug, reported by John M. S. Chiang, which appeared while indexing files with a big record length 2001-03-30 13:10 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * include/hbrddntx.h + started ntxOrderListRebuild() + added ntxPack() - will work properly after ntxOrderListRebuild() has finished + added ntxZap() 2001-03-28 00:00 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c + added ADSSetRelKeyPos for quick scrollbar guesstimates * contrib/rdd_ads/adsfunc.c * moved ADSGetRelKeyPos to ads1.c + added AdsIsExprValid() wrapper to test if an expression can be evaluated by the server + contrib/rdd_ads/adsmgmnt.c * minor edits 2001-03-27 20:05 UTC+0100 Ryszard Glab Changes from Marek Paliwoda. Thanks Marek :) *doc/en/gtslang.txt *source/rtl/gtsln/gtsln.c *source/rtl/gtsln/kbsln.c *source/rtl/gtsln/keytrans.c - added support for displaying and entering national characters (see gtslang.txt for details) - improved keyboard support for linux text console. Almost all ALT/CTRL+ SpecialKeys should work well. Note that You have to work using true /dev/tty[1-12] device. This means You can't benefit from it when You run Harbour programs from within Midnight Commander for example, because MC uses pseudoterminals. - prepared for other Unix text consoles (SCO) (not tested) - removed support for DOS. It was totally not needed due its limitations 2001-03-27 05:18 GMT-3 Horacio Roldan * harbour/source/rdd/dbcmd.c * fixed unallocated memory block in dbcreate 2001-02-26 19:10 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg +Added support yo build librarys %optimized the check if the file is newer then the object file. +added Trap for errors return from command *source/vm/estack.c *added define when source is compiled with -DHB_INCLUDE_WINEXCHANDLER 2001-03-24 23:07 GMT-3 Horacio Roldan * harbour/source/rdd/dbf1.c * fixed bug handling drive letter in opening memo file 2001-03-24 02:20 UTC-0800 Ron Pinkas * source/compiler/simplex.c * Minor fix for VC++ - Removed 2 unused defines + Added #define MAX_RULES 1024 * source/compiler/harbour.slx * Changed // to /* */ * tests/keywords.prg * Corrected 3 warnings. 2001-03-23 00:55 UTC-0800 Brian Hays * contrib/rdd_ads/testmg.prg * fixed header 2001-03-23 00:45 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * added unique index creation support * tweaked SELF_OPEN to return FAILURE only for probable sharing errors, but throw a real error for everything else. This way you get the information at runtime for things like failure to find a server or other useful ADS error#s * contrib/rdd_ads/adsfunc.c * minor error handling in ADSGETAOFOPTLEVEL * source/rdd/dbcmd.c * fixed handling of fourth IsScoped parameter in dbSetRelation + contrib/rdd_ads/adsmgmnt.c + added wrappers for most Management functions, including statistics on connections, comm success rates, # of open tables/indexes/users, etc. (( work in progress )) + contrib/rdd_ads/testmg.prg + simple test for management functions * contrib/rdd_ads/Makefile * contrib/rdd_ads/makefile.bc * contrib/rdd_ads/makefile.vc * added adsmgmnt.c to build >>> I only use Borland; someone please check the other make files! 2001-03-22 13:00 UTC-0800 Ron Pinkas * contrib/runjava/runjava.c + Added support for Argument Errors * source/rtl/len.c * source/rtl/minmax.c * source/rtl/run.c * source/vm/arrayshb.c * source/vm/memvars.c * Corrected to always use hb_paramError() when calling hb_errRT_BASE*() 2001-03-22 11:00 UTC-0800 Ron Pinkas * hb_slex.vc * Minor corrections. * include/hbapi.h + extern PHB_ITEM hb_paramError( int iParam ); /* Returns either the generic parameter or a NIL item if param not provided */ + extern PHB_ITEM hb_arrayFromStack( USHORT uiLen ); /* Creates and returns an Array of n Elements from the Eval Stack - Does NOT pop the items. */ + extern PHB_ITEM hb_arrayFromParams( void ); /* Creates and returns an Array of current Generic Parameters. */ * include/hbapierr.h * extern USHORT hb_errRT_BASE ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... ); * extern USHORT hb_errRT_BASE_Ext1 ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiOsCode, USHORT uiFlags, USHORT uiArgCount, ... ); * extern PHB_ITEM hb_errRT_BASE_Subst ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... ); * extern void hb_errRT_BASE_SubstR ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... ); + Added support for variable number of Error Arguments. * source/rtl/errorapi.c * hb_errRT_BASE ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... ); * hb_errRT_BASE_Ext1 ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiOsCode, USHORT uiFlags, USHORT uiArgCount, ... ); * hb_errRT_BASE_Subst ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... ); * hb_errRT_BASE_SubstR ( ULONG ulGenCode, ULONG ulSubCode, char * szDescription, char * szOperation, USHORT uiArgCount, ... ); + Added support for variable number of Error Arguments. * source/vm/arrays.c + PHB_ITEM hb_arrayFromStack( USHORT uiLen ) + PHB_ITEM hb_arrayFromParams( void ) * source/vm/extend.c + PHB_ITEM hb_paramError( int iParam ) * source/rdd/dbcmd.c * Added the Error Arguments as parameters to hb_errRT_BASE*(). * source/rtl/abs.c * source/rtl/at.c * source/rtl/chrasc.c * source/rtl/copyfile.c * source/rtl/datec.c * source/rtl/dateshb.c * source/rtl/diskspac.c * source/rtl/disksphb.c * source/rtl/do.c * source/rtl/left.c * source/rtl/len.c * source/rtl/math.c * source/rtl/minmax.c * source/rtl/mod.c * source/rtl/philes.c * source/rtl/philesx.c * source/rtl/replic.c * source/rtl/round.c * source/rtl/set.c * source/rtl/space.c * source/rtl/str.c * source/rtl/strcase.c * source/rtl/strtran.c * source/rtl/strzero.c * source/rtl/substr.c * source/rtl/transfrm.c * source/rtl/trim.c * source/rtl/type.c * source/rtl/val.c * source/rtl/word.c * Added the Error Arguments as parameters to hb_errRT_BASE*(). * source/vm/arrayshb.c * source/vm/eval.c * source/vm/hvm.c * source/vm/macro.c * source/vm/memvars.c * source/vm/runner.c * Added the Error Arguments as parameters to hb_errRT_BASE*(). * source/vm/classes.c + Added 0 arguments (J.F. can you please decide what should be the arguments! ) /* HBTEST now reports 173 failures ( down from 376 ) many of the failures are justified. I have tested this as much as I could, but since it invloved lots of "Cust & Pasets" more testing should be done. It would be great if someone could review each of HBTEST Reported Failures on a one-by-one basis. BTW, HBTEST reports 1 UN-RELEASED Memory Block (from before my changes)! */ 2001-21-03 23:10 GMT+1 JFL (Mafact) *source/rdd/dbcmd.c *source/rdd/dbf1.c * Fixed many type casting needed by VC++ *source/rdd/dbfcdx/dbfcdx1.c * Fixed many type casting needed by VC++ - Rem on line 168 one reference to hb_cdxWhoCares who doesn't exist from static RDDFUNCS cdxTable = { ... } 2001-03-21 21:20 UTC+0100 Ryszard Glab *include/hbapi.h *source/vm/codebloc.c *source/vm/memvars.c * fixed possible loop during a codeblock releasing called by the garbage Collector *source/rtl/errorapi.c *replaced 'static HB_ITEM' to 'static HB_ITEM_PTR' to make it the GC friendly 2001-02-17 15:50 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * added conversion code for numeric key types to support DBOI_KEYVAL * fixed RecCount() to get a refreshed count (read the header from disk) * Implemented pArea->szDataFileName = hb_xgrab( ... * Implemented new Exists and Drop methods, stubbed out Exit * contrib/rdd_ads/adsfunc.c * removed hb_gc*LockItem calls * source/rdd/dbcmd.c * added partial fix to NetErr() problem in dbUseArea 2001-03-17 21:50 GMT+3 Alexander Kresin + contrib/Makefile * Makefile * Changes to forse contrib/libmisc to be compiled while make process * tests/Makefile * added again CONTRIBS=libmisc and readfile.prg moved to PRG_SOURCES from BAD_PRG_SOURCES * utils/hbmake/pickfile.prg * names of include files changed to lower case ( to work under Unix ) * source/rdd/dbfntx/dbfntx1.c * fixed format string in printf() to be compatible with other compilers fixed determining of the length of numeric key 2001-03-16 16:10 UTC+0100 Ryszard Glab *doc/en/garbage.txt *include/hbapi.h *source/vm/garbage.c *source/vm/itemapi.c * new functions: hb_gcGripGet() and hb_gcGripDrop() for dynamic allocation/deallocation of items * added redefinition of _getGrip/_dropGrip to use hb_gcGripGet/hb_gcGripDrop * items allocated with hb_itemNew() or direct _getGrip() calls are maintained properly by the Garbage Collector - there is no need to locking/unlocking such items. * removed no longer needed hb_gcLockItem/hb_gcUnlockItem *source/rdd/dbcmd.c *source/rdd/workarea.c *source/rdd/dbfntx/dbfntx1.c *source/rtl/errorapi.c *source/rtl/idle.c *source/rtl/setkey.c * removed no longer needed calls for hb_gcLockItem/hb_gcUnlockItem NOTE: there is no hb_gcLockItem/hb_gcUnlockItem functions - please remove calls for these functions from your code. 2001-03-15 17:00 UTC-0500 David G. Holm * contrib/libmisc/Makefile * contrib/libmisc/makefile.bc * contrib/libmisc/makefile.vc + Added twirler.prg + contrib/libmisc/twirler.prg + New class provides twirler functionality with optional title and smoothing (by specifying a minimum time between updates). + Makefile + Added the new twirl.prg module to BAD_PRG_SOURCES, because it uses the LIBMISC library (to build this program, you'll have to add "CONTRIBS=LIBMISC" ahead of "LIBS=\"). + tests/twirl.prg + New module to test the twirler class using seven twirlers. 2001-03-15 20:40 GMT+3 Alexander Kresin files posted by Juan Agustin Barriga * source/rdd/dbcmd.c * source/rdd/dbf1.c * include/hbapirdd.h * include/hbrdddbf.h * include/hbrddwrk.h * Implementation of DBAPPEND and DBCOPY is finished. + Added: DBEXIT (for RDD cleanup), DBDROP (for table deleting) and DBEXISTS (for table/index verification). 2001-03-14 04:55 UTC-0800 Ron Pinkas * source/vm/classes.c ! Fixed hb_param() to hb_stackItemFromBase() (posted by José F. Giménez) 2001-03-13 03:45 UTC-0800 Ron Pinkas * contrib/dot/pp.txt * Updated status of newly added support. 2001-03-13 03:30 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * contrib/dot/rp_run.ch + Added support for initializers for PRVATE, PUBLIC, LOCAL, STATIC + Added support for Declared Parameters and PARAMETRS. + Added support for STATIC Procedures & Functions (will not be seen by modules called by DO .prg and vice-versa. + Added support for INIT and EXIT procedures. 2001-03-13 14:30 GMT+3 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c * include/hbrddntx.h + creating of indexes with numeric and date type expression ! fixed some problems with movement when key have characters with codes > 128 2001-03-13 11:50 GMT+3 Alexander Kresin * source/lang/msgeo.c ! Updated + Added harbour license ( provided by Jos© Lal­n ) 2001-03-11 21:43 UTC+0500 April * doc/en/hb_macro.txt * renamed hb_compParse() to hb_macroYYParse() ; see 2000-11-30 18:25 UTC-0800 Ron Pinkas * doc/en/hb_api.txt * merged the hb_xmemset() function and macro entries * merged the hb_xmemcpy() function and macro entries + entry for hb_idleReset ; see 2000-11-27 08:25 UTC-0800 Ron Pinkas + entry for ISOBJECT() ; see 2001-03-01 GMT+1 Antonio Linares * doc/en/hb_apigt.txt + entry for hb_gtColorToN() ; see 2001-02-09 16:44 GMT+1 Antonio Linares * doc/en/hb_apird.txt + entry for hb_rddInsertAreaNode() * include/error.api * corrected define of _errPutFileNaem to _errPutFileName ; no other detected use of this macro * doc/en/hb_apier.txt * entry for _errPutFileName() as above 2001-03-11 14:05 UTC-0800 Ron Pinkas * include/hbexpra.c ! Fixed hb_compExprSetOperand() to allow HB_ET_NONE on Right, if Left is >= HB_EO_PLUSEQ && <= HB_EO_EXPEQ 2001-03-10 22:55 GMT+3 Alexander Kresin * source/lang/msgru866.c * source/lang/msgruwin.c + Added harbour license * Messages translated to Russian 2001-03-08 15:00 UTC-0500 David G. Holm + COPYING + Added the GNU General Public License file 2001-03-08 13:00 UTC-0500 David G. Holm * tests/inkeytst.prg * tests/longdev.prg * tests/output.prg * tests/readfile.prg * tests/round.prg * tests/scroll.prg * tests/seconds.prg * Donated to the public domain. 2001-03-07 21:31 GMT-3 Horacio Roldan * harbour/source/rdd/dbfcdx1.h * harbour/source/rdd/dbfcdx2.h + Added harbour license 2001-03-07 16:15 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Corrcted typos oError -> oErr 2001-03-07 10:50 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed skipping for some special cases + hb_ntxSortKeyAdd() * Sorting of keys + hb_ntxRootPage() + hb_ntxBufferSave() * Building index from sorted keys + hb_ntxReadBuf() * read buffering * Index creating is fully rewritten. Now DBFNTX creates good balanced B-trees ( as CA-Clipper ) and works faster than before. 2001-03-04 16:40 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Completed management of Variable Scoping. * Modified rest of Error Handlers to check type of :Args (Harbour bug). * contrib/dot/test.prg + Added test of private value after function call 2001-03-02 23:00 UTC-0800 Ron Pinkas * source/macro/macroslx.c + Added copyright notice with the Harbour Exception. 2001-03-02 22:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Fixed handling of [Smart] Stringify of a period terminated macro. 2001-03-02 09:10 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed handling of [Smart] Stringify of a period terminated macro. 2001-03-01 GMT+1 Antonio Linares * harbour/include/hbapi.h + New function ISOBJECT() added. 2001-02-28 22:15 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Improved management of variable scoping. /* Appears to work correctly when compiled with Clipper, but is incorrect under Harbour, because __MXRelease() is not releasing memvars as it should. */ 2001-28-02 23:41 GMT+1 JFL (Mafact) *harbour/include/hb_class.ch * Reset :Class within the control of Class(y) define so as anyone can disable it as needed. 2001-02-28 00:05 UTC-0800 Ron Pinkas * source/rtl/filesys.c * Temporarily changed all #if defined(__WIN32__) to #if defined(X__WIN32__) to disable newly added logic, until fixed. 2001-02-27 09:09 GMT+1 Maurilio Longo * source/rtl/gtos2/gtos2.c ! fixed (sort of) changing used variables to statics so that I don't have to alloc them on every call to hb_gt_ReadKey(). Now as fast as it was. 2001-02-26 22:59 GMT+1 Maurilio Longo * source/rtl/gtos2/gtos2.c ! hb_gt_ReadKey() uses KBD subsystem of OS/2 instead of any compiler runtime function to fetch characters from keyboard this way I can be sure that used memory is tileable. 2001-02-26 22:45 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * bugs fixed in ntxOrderListFocus() and ntxSeek(), which appeared after Set Order To 0 2001-02-26 13:45 UTC-0500 David G. Holm * include/hbapigt.h * Changed '#ifdef 0' block on line 78 to a comment block in order to avoid GCC warnings about the #ifdef argument starting with a digit. 2001-02-26 13:15 UTC-0500 David G. Holm * make_gnu.cmd * Added -r to make command to match make_gnu.bat. * Added output redirection to make command to match make_gnu.bat. * include/hbapigt.h * Changed '#ifdef HB_OS_DOS' on line 78 to '#ifdef 0', so that the DBCS compatible definitions of the line draw characters are always used. * source/Makefile * When building the bcc16 version of Harbour, don't build the compiler, because the djgpp version of the compiler needs to be used, because the bcc16 version of the compiler runs out of memory while building some of the Harbour library files. 2001-02-26 03:30 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added support for UDFs, PRIVATEs, PUBLICs, LOCALs, and STATICs + contrib/dot/rp_run.ch * Command Header for PP Interpreter Mode. * contrib/dot/test.prg * Sample prg runable by PP. * contrib/dot/pp.txt * Updated documentation. 2001-02-25 13:20 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Minor optimization. + contrib/dot/pp.txt 2001-02-25 20:25 UTC+0300 Alex Shashkov * harbour/source/rdd/dbfcdx2.h * harbour/source/rdd/dbfcdx1.c ! Fixed some bugs 2001-02-25 06:00 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Fixed an small bug regarding the number of select files on editor mode *utils/hbdoc/genpdf1.prg utils/hbdoc/rtf.prg *Small enhacements 2001-02-24 19:45 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added CompileNestedBlocks() #ifdef __CLIPPER__, because Clipper's Macro Compiler can *not* compile nested blocks. /* Clipper macro compiler can't compile literal blocks which contain nested blocks. This is needed by #commands like: INDEX ON ... TO ... Now PP will pre-compile such nested blocks. This makes PP fully functional when compiled with Clipper too :-) */ * harbour/source/rdd/dbfcdx1.c ! Moved few declarations above the HB_TRACE() line, to fix compilation errors. 2001-02-24 18:10 UTC+0300 Alex Shashkov * harbour/source/rtl/console.c ! Fixed bug STDOUT(..,"",..) on Watcom C 11.0 * harbour/source/pp/ppcore.c * harbour/source/pp/pragma.c ! Fixed extern declaration for Watcom C 11.0 2001-02-24 12:45 UTC+0300 Alex Shashkov * harbour/source/vm/dynsym.c ! Fixed * harbour/include/hbrddcdx.h + Added support ORDSETFOCUS() and update keys * harbour/source/rdd/dbfcdx1.c + Added support ORDSETFOCUS(), update keys, keys any type - remove hb_cdxltoa() * harbour/source/rdd/dbfcdx1.h ! Fixed support for Watcom C 11.0 + Added support keys any type * harbour/source/rdd/dbfcdx2.h + Added some new functions * Changed the declaration of some functions Not finished yet. 2001-02-23 17:20 UTC-0800 Ron Pinkas * source/vm/hvm.c ! Added logic to clear items of extraneous parameters in hb_vmFrame(). 2001-02-23 21:40 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * bug fixed, reported by Maurilio Longo 2001-02-23 21:40 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * building of indexes optimized 2001-02-13 hh:mm GMT+1 Jose Gimenez (JFG) * source/rtl/filesys.c * hb_fsOpen * hb_fsCreate * hb_fsClose * hb_fsRead * hb_fsWrite * hb_fsReadLarge * hb_fsWriteLarge * hb_fsSeek * hb_fsTell + added logic to use Win32 API calls * tests/files.prg * tested up to 20,000 DBF files 2001-02-23 19:35 UTC+0300 Alex Shashkov * harbour/source/rtl/filesys.c * harbour/source/rtl/math.c * harbour/source/vm/item.c ! Fixed support for Watcom C 11.0 2001-02-23 08:25 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Added support for DO <>.prg * contrib/dot/rp_dot.ch + Added #command DO <>.prg (no support for WITH yet) 2001-02-22 22:25 UTC-0800 Ron Pinkas * contrib/dot/pp.prg + Started support for interpreting prg files. * contrib/dot/rp_dot.ch + Added #command for stealing END /* PP can alreay "Run" simple prgs :-). It actually support most Clipper commands. It does *not* support LOCAL/STATIC/PRIVATE/PUBLIC, but any refference to a variable will create it as PRIVATE. It does not (yet) support creation of FUNCTIONs/PROCEDUREs but will execute any built-in, or linked, prodecure/function. It does not (yet) support WHILE and FOR loops. It can execute code like this: //------------------------------// CLS Alert( "Testinf PP as Interpreter... " ) USE test IF ! File( "test" + IndexExt() ) INDEX on FIELD->First TO First ELSE SET INDEX TO First ENDIF GO TOP cName := FIELD->First + FIELD->Last IF cName == FIELD->First + FIELD->Last ? "Ok" ELSE ? "Err" ENDIF DO CASE CASE cName == First // Not exact! ? "Err" CASE cName = First // But still equal ? "Ok" OTHERWISE ? "Err" ENDCASE REPLACE First WITH "From PP" ? FIELD->First //------------------------------// To have PP execute a PRG use: PP filename -R */ 2001-02-22 17:10 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Fixed order of production in multi line result, where some of the resulting lines are re-processed + Added support for IF, ELSE, ELSEIF, ENDIF, DO CASE, CASE, OTHERWISE, ENDCASE ! Fixed cursor position in Dot prompt to simulate running program cursor position. * contrib/dot/rp_dot.ch ! Fixed literal coordinates to use MaxRow() and MaxCol() + Added #command CLS to only clean the work region. + Added #commands to "steal" handling of IF, ELSE, ELSEIF, ENDIF, DO CASE, CASE, OTHERWISE, ENDCASE 2001-02-22 15:45 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * fixed a bug while index opening, before ntxOrderListAdd have tried to open an index even index name was empty. 2001-02-22 01:10 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed NextName() to skip over .AND., .NOT. and .OR. * config/w32/mingw32.cf + Added rules to use script files for long command lines, but commented out because @scripts did not work. 2001-02-22 10:25 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * few bugs fixed, reported by Robert Haley * harbour/tests/Makefile * readfile.prg moved to BAD SOURCES, because it doesn't compiled under Linux, * testntx.prg added * harbour/tests/testntx.prg * minor fixes 2001-02-21 01:45 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Changed all extensions to lower case (.prg, .pp$, .cch ). * Changed Chr(13) + Chr(10) to CRLF which is #defined as HB_OsNewLine() if __HARBOUR__ is defined. * Changed literal size of buffer 16384 to PP_BUFFER_SIZE which is #defined as 16384 /* Could Linux users please report results... */ 2001-02-20 22:20 UTC-0800 Ron Pinkas * utils/hbpp/hbpp.c - Removed unused variables and function warnned by djgpp 2001-02-20 22:00 UTC-0800 Ron Pinkas * make_gnu.bat ! Fixed maker to make -r * Added %HARBOURDIR% and removed trailing slash from HB_BIN_INSTALL, HB_LIB_INSTALL and HB_INC_INSTALL * contrib/dot/pp.prg * Minor corrections to stringifys * utils/hbtest/hbtest.prg * Commented out RddSetDefault( "DBFCDX" ) 2001-02-20 13:10 GMT+3 Alexander Kresin * harbour/include/hbver.h * Changed release info to 0.36, etc. * harbour/source/rdd/rddsys.prg * Default RDD changed to DBFNTX 2001-02-20 01:50 GMT-3 Horacio Roldan * harbour/source/vm/asort.c * Fixed bug in optimization test that prevented sorting some arrays. 2001-02-19 11:15 GMT+3 Alexander Kresin * harbour/include/hbrddntx.h * Forgot to upload last time 2001-02-19 10:15 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * fixes and improvements 2001-02-17 16:00 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Fixed an small bug regarding the number of select files on editor mode 2001-02-16 23:40 UTC-0800 Brian Hays * source/rtl/tget.prg * added Updating of Buffer to UpdateBuffer * added 0+Value to avoid changing the display lengths of numerics * contrib/rdd_ads/ads1.c * the last final ultimate fix to numeric seeks. really. 2001-02-16 11:20 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * fixes and improvements 2001-02-15 11:10 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c * implemented the DESCENDING flag in index creation * fixed dbOrderInfo(DBOI_KEYVAL) to return "" instead of garbage at EOF DBOI_NAME and many others to return correct empty values instead of garbage if in natural order * fixed SEEK on numeric indexes + added support for dbOrderInfo(DBOI_FULLPATH) AND dbInfo(DBI_FULLPATH) * contrib/rdd_ads/ads.ch * Commented out ADS_TOP and ADS_BOTTOM with a note to use TOPSCOPE and BOTTOMSCOPE instead. * contrib\rdd_ads\doc\en\readme.txt * minor clarifications 2001-02-15 13:15 GMT+3 Alexander Kresin * harbour/include/hbrddntx.h * harbour/source/rdd/dbfntx/dbfntx1.c * Locking of index file while moving/updating in shared mode ( don't sure that it's done absolutely right, should be tested ). 2001-02-14 23:10 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed space removal within [] in strotrim() when not processing MP or RP. 2001-02-14 12:45 GMT+1 Antonio Linares * harbour/source/debug/debugger.prg ! Locals are restored when returning from a function or procedure. 2001-02-14 12:40 GMT+3 Alexander Kresin * harbour/include/hbapirdd.h * Wrong parameters of SUPER_UNLOCK fixed * harbour/include/hbrddntx.h * harbour/source/rdd/dbfntx/dbfntx1.c + ntxLock(), ntxUnLock() added * These virtual functions are for index files locking/unlocking while appropriate dbf locking/unlocking I used here locking of first 512 bytes of index file ( don't know yet, is it Clipper compatible ). 2001-02-13 17:30 UTC-0800 Ron Pinkas * harbour/source/rtl/idle.c * Changed Sleep(0) to Sleep(20) so that Harbour will properly release CPU on Win32. 2001-02-13 15:50 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * Warnings fixed; * handling of free pages pool implemented ( not tested yet ) 2001-02-13 12:21 GMT+1 Antonio Linares * harbour/source/debug/debugger.prg ! Trace support fixed 2001-02-13 11:30 GMT+1 Ignacio Ortiz * harbour/source/rtl/tget.prg + Minus support fixed 2001-02-13 13:15 GMT+3 Alexander Kresin * harbour/include/hbrddntx.h * harbour/source/rdd/dbfntx/dbfntx1.c + ntxAppend() added; * updating of opened indexex while new record adding is implemented; * few fixes; * error now is generated while opening, if index file doesn't exist. 2001-02-12 21:58 GMT+1 Antonio Linares * harbour/source/debug/dbgmenu.prg + more options implemented. * harbour/source/debug/debugger.prg + Method EditSet() and Trace() implemented. 2001-02-12 13:32 GMT+1 Antonio Linares * harbour/source/debug/dbgmenu.prg + more options implemented. * harbour/source/debug/debugger.prg + Method Animate() added. (many thanks to Ignacio for the "happy ideas" :-) 2001-02-12 09:24 GMT+1 Antonio Linares * harbour/source/debug/dbgmenu.prg + more options implemented. * harbour/source/debug/dbgtwin.prg + DATA lVisible added. * harbour/source/debug/debugger.prg + Methods Public(), Private(), Static(), Local(), All() and Sort() added (many thanks to Luiz for the suggested code). 2001-02-11 18:22 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * few bugs fixed, related to using ntx in shared mode * harbour/source/compiler/cmdcheck.c * bug fixed, which prevented using of Harbour debugger under Linux 2001-02-10 08:43 GMT+1 Antonio Linares * harbour/source/debug/dbgmenu.prg + More options implemented * harbour/source/debug/debugger.prg + methods Speed(), SaveSettings() and Restore settings implemented. Not 100% implemented yet, but you can save and restore colors! 2001-02-09 23:46 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! fixed ::Moved() method which was calling ::Dehilite() even if TBrowse was already unstable causing wrong painting of current row 2001-02-09 11:25 UTC-0800 Ron Pinkas * harbour/source/debug/debugger.prg ! Fixesd ValType( &cColor ) to Type( cColor ) * hb_slex.bc * Synched with makefile.bc 2001-02-08 12:15 UTC-0500 David G. Holm * config/dos/djgpp.cf * config/dos/rsx32.cf * config/dos/watcom.cf * config/linux/gcc.cf * config/os2/gcc.cf * config/os2/icc.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/icc.cf * config/w32/mingw32.cf * config/w32/msvc.cf * config/w32/rsxnt.cf + Added the ability to include contrib libraries by setting CONTRIBS to a list of contrib libraries in the Makefile. * tests/Makefile + Added CONTRIBS=libmisc * Moved program modules that use the contrib\libmisc library from BAD_PRG_SOURCES to PRG_SOURCES. 2001-02-09 17:01 GMT+1 Antonio Linares * harbour/source/rtl/gtapi.c + hb_gtColorToN() fixed (?). 2001-02-09 16:44 GMT+1 Antonio Linares * harbour/include/hbapigt.h + hb_gtColorToN() prototype added. * harbour/source/debug/debugger.prg * some minor fixes. * harbour/source/rtl/gtapi.c + hb_gtColorToN() function added. * harbour/source/rtl/setcolor.c + HB_COLORTON() function added. * harbour/source/rtl/shadow.c + HB_CLRAREA() function added. These functions are used by the debugger. 2001-02-09 14:44 GMT+1 Maurilio Longo * source/debug/tbrwtext.prg + fixed coloring * source/debug/debugger.prg * changed call to oBrwText:New() so pass a correct color string 2001-02-09 12:10 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * bug fixed, which have appeared after last change 2001-02-09 09:15 GMT+1 Maurilio Longo * source/debug/Makefile + added dbgwa.prg to GCC Makefile 2001-02-09 07:56 GMT+1 Antonio Linares * harbour/source/debug/debugger.prg + Colors are already editables. 2001-02-09 09:00 GMT+3 Alexander Kresin * harbour/include/hbrddntx.h + ntxPutValue declaration 2001-02-09 05:33 GMT+1 Antonio Linares * harbour/source/debug/dbgmenu.prg + Some new options added. * harbour/source/debug/dbgtarr.prg + mono display option supported. * harbour/source/debug/dbgtmenu.prg + mono display debugger colors supported. * harbour/source/debug/dbgtobj.prg + mono display debugger colors supported. * harbour/source/debug/dbgtwin.prg ! some minor fixes * harbour/source/debug/dbgwa.prg + mono display debugger colors supported. * harbour/source/debug/debugger.prg + New METHOD MonoDisplay() added. + New METHOD PathForFiles() added. + New METHOD TabWidth() added. 2001-02-08 20:57 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c + ntxPutValue() + hb_ntxPageKeyDel() Updating of opened indexes implemented ( not good yet, but works ). 2001-02-08 17:30 GMT+1 Ignacio Ortiz * harbour/source/debug/dbgtmenu.prg + Minor fix * harbour/source/debug/debugger.prg + New method ShowWorkAreas() * harbour/source/debug/dbgwa.prg + New debugger Show work areas (completally finished) * harbour/makefile.bc + Added harbour/source/debug/dbgwa.prg ! Please update other make files 2001-02-08 16:04 GMT+1 Antonio Linares * source/debug/debugger.prg ! minor fix on METHOD OSShell(). 2001-02-08 14:55 GMT+1 Maurilio Longo * source/debug/debugger.prg * changed OSShell() method to use COMSPEC environment variable 2001-02-08 11:30 GMT+1 Antonio Linares * harbour/source/compiler/genc.c ! improved support for HB_P_STATICNAME * harbour/source/compiler/harbour.c ! improved support for HB_P_STATICNAME * harbour/source/debug/dbgmenu.prg + New OSShell() action added * harbour/source/debug/dbgtmenu.prg ! some minor fixes * harbour/source/debug/dbgtobj.prg ! some minor fixes * harbour/source/debug/debugger.prg ! improved statics vars support. + New method OSShell() added * harbour/source/rtl/tget.prg ! some minor fixes to let the debugger inspect a GetNew() object * harbour/source/vm/hvm.c ! improved support for HB_P_STATICNAME ! __vmVarSGet() changed to use the entire statics array, not just the statics frame based one. + New __vmVarSSet( , ) function added to change the value of any static variable. Notice: Debugger statics vars inspection is almost finished! :-) 2001-02-07 17:15 UTC-0500 David G. Holm * source/rtl/gtwin/gtwin.c ! Improved handling of international characters and keyboards, which my earlier fix for supporting Alt+alpha-numeric broke. 2001-02-07 18:25 GMT+1 Antonio Linares * harbour/source/debug/dbgtarr.prg ! some minor fixes. 2001-02-07 18:21 GMT+1 Antonio Linares * harbour/source/debug/debugger.prg + Implementing statics variables support (not finished yet). * harbour/source/vm/hvm.c ! HB_P_STATICNAME improved support Notice: Not finished yet! 2001-02-07 13:50 GMT+3 Alexander Kresin * harbour/source/pp/ppcore.c * now pp gives error if '<' haven't matched '>' . 2001-02-07 10:30 GMT+1 Ignacio Ortiz * harbour/source/debug/dbgtmenu.prg + Accelerator keys on popup menus fixed. * harbour/source/debug/tbrwtext.prg + Wrong comment on search method. 2001-02-06 23:57 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg + added ::MGotoYX(nRow, nCol) method which hilights cell under screen coordinates nRow, nCol should help following a mouse. NOTE: hacked up and not tested. I'm very busy at the moment. * NOTE latest change to TBrowse (my previous entry in changelog) fixed a problem but created a new one :-) I'll have to rethink a little bit ::Stabilize() logic. 2001-02-06 20:30 GMT+1 Ignacio Ortiz * harbour/source/debug/dbgmenu.prg + Debugger full locate menu support. * harbour/source/debug/tbrwtext.prg + New search method * harbour/source/debug/debugger.prg + Debugger full locate menu support. 2001-02-06 17:47 GMT+1 Antonio Linares * harbour/source/debug/dbgtmenu.prg + debugger colors selection support. * harbour/source/debug/dbgmenu.prg + call to debugger SelColors() option. * harbour/source/debug/dbgtwin.prg + debugger colors selection support. * harbour/source/debug/debugger.prg + colors selection option implemented Notice: Not finished yet. 2001-02-06 12:11 GMT+1 Antonio Linares * harbour/source/debug/dbgmenu.prg + New CHECKED clause added on menuitems. * harbour/source/debug/dbgtmenu.prg + two spaces added on popup menuitems to support check mark. * harbour/source/debug/dbgtmitm.prg + New DATA lChecked and METHOD Toggle() added. 2001-02-06 12:00 GMT+3 Alexander Kresin * harbour/source/rdd/dbfntx/dbfntx1.c * fixed problem with correct movement via CA Clipper created ntx file 2001-02-05 16:15 UTC-0500 David G. Holm * source/compiler/harbour.l * source/pp/pragma.c ! Corrected hb_xalloc and hb_xrealloc type overrides for pItem->pCode to be (BYTE *). * tests/Makefile * Only program modules that fail to compile and link are supposed to be listed under BAD_PRG_SOURCES, so I've moved the following to PRG_SOURCES: clasname, lnlenli2, setkeys, testcdx, testdbf, testhtml, testid, testrdd, and teststr. * tests/testid.prg * Documented how to set /dTEST if using the GNU Make System. 2001-02-05 21:05 GMT+1 Maurilio Longo * source/debug/debugger.prg + Added LineNumbers() method * source/debug/tbrwtext.prg + Added support for inclusion/exclusion of line numbering at runtime * source/debug/dbgmenu.prg + Added Menu item to activate line numbering 2001-02-05 21:10 GMT+3 Alexander Kresin * harbour/include/hbrddntx.h * harbour/source/rdd/dbfntx/dbfntx1.c + harbour/tests/testntx.prg * Implemented SKIP for ntx. * Indexkey(), etc. returns now info about current index. * Implemented buffering of index pages ( exclusive mode ). 2001-02-05 10:23 GMT+1 Antonio Linares * harbour/include/hbpcode.h + HB_P_STATICNAME opcode added. * harbour/source/compiler/genc.c + New hb_p_staticname() function added. * Modified hb_p_statics() function. * harbour/source/compiler/harbour.c + HB_P_STATICNAME opcode support. * harbour/source/compiler/hbfix.c + hb_p_staticname support. * harbour/source/compiler/hbpcode.c + HB_P_STATICNAME support. * harbour/source/debug/debugger.prg + statics variables support (not finished yet!) * harbour/source/vm/hvm.c + New hb_vmStaticName() added. WARNING: All libraries must be rebuilt as opcodes have changed!!! 2001-02-04 22:50 GMT+1 Maurilio Longo * source/debug/debugger.prg ! fixed CommandWindowProcessKey() where a K_DOWN on an empty command list was killing debugger with an out of bounds error. + Added a begin..end sequence to K_ENTER processing to survive requests to print variables which don't exist (like mispelled ones). 2001-02-04 22:15 GMT+1 Maurilio Longo * source/debug/debugger.prg * little changes, like adding K_LEFT and K_RIGHT to CodeWindowProcessKey (but they don't work) * source/debug/tbrwtext.prg + Added support for break points (coloring of text) * source/rtl/teditor.prg + Changed ::RefreshXXX() methods to allow line coloring outside of TEditor logic. 2001-02-04 08:22 GMT+1 Antonio Linares * source/rtl/tclass.prg - METHOD ClassName() removed so we get the default expected value. 2001-02-03 08:52 GMT+1 Antonio Linares * source/debug/debugger.prg + Mouse support added to the popups. * source/debug/dbgtmenu.prg + Mouse support added to the popups. 2001-02-03 08:00 GMT+1 Antonio Linares * source/debug/debugger.prg + Mouse support added to the variables window. ( a single click selects a variable, a doble click edits it ). * source/debug/dbgtwin.prg + Added support for mouse single and doble click events. 2001-02-03 06:48 GMT+1 Antonio Linares * source/debug/dbgtobj.prg + Debugger objects datas already editables. 2001-02-03 05:21 GMT+1 Antonio Linares * source/debug/dbgtarr.prg - removed SetsUp(), SetsDown() and MyColors() not needed functions. -+ Maurilio's navigation technique implemented. * source/debug/dbgtobj.prg - removed SetsUp(), SetsDown() and MyColors() not needed functions. -+ Maurilio's navigation technique implemented. - removed the repainting of the window caption. * source/debug/debugger.prg - removed SetsUp(), SetsDown() and MyColors() not needed functions. ( Maurilio, your navigation technique is much faster! :-) 2001-02-02 22:45 GMT+1 Maurilio Longo * source/debug/debugger.prg - removed calls to oBrwText:ForceStable() method which is no more available ! SetsUp() and SetsDown() functions where calling ::RefreshAll() and movement methods without any reason causing a noticeable delay during Sets scrolling. * source/debug/tbrwtext.prg - removed empty ::ForceStable() method * source/rtl/tbrowse.prg ! when a movement happens inside available on screen rows (like a ::Down() from row 1 to row 2) I have to force repainting of target row or else this sequence (for example) fails: ::RefreshCurrent():Down():ForceStable() because to paint the row where I issued a ::RefreshCurrent() I have to move one back from ::nNewRowPos, but there I stay since ::nNewRowPos is not to redraw. I'm sure nobody uderstands what I'm clearly unable to explain :-) * source/rtl/teditor.prg - removed a TODO: comment which is no more needed. 2001-02-02 16:48 GMT+1 Antonio Linares * source/vm/debug.c + New function __vmVarLSet() added. Purpose: It sets the contents of a local variable placed at nProcLevel stack deep. Syntax: __vmVarLSet( , , ) --> nil * source/debug/debugger.prg * Improved METHOD EditVar() for local variables (it uses the new __vmVarLSet() function). * Improved GetVarInfo() static function. 2001-02-02 15:40 GMT+1 Antonio Linares * source/compiler/harbour.c * HB_P_LOCALNAME local index fixed. 2001-02-02 14:39 GMT+1 Antonio Linares * source/vm/hvm.c * function hb_vmLocalName() properly implemented. * source/debug/debugger.prg * proper support for hb_vmLocalName() ! Warning: HB_P_LOCALNAME is working wrong! It has to be revised! 2001-02-02 11:46 GMT+1 Antonio Linares * makefile.bc - removed an empty blank line (was causing a make error) * source/debug/dbgtobj.prg + Added missing function __DbgObject() * source/debug/dbgtarr.prg * fixed editing window height when reviewing just a 1 element array 2001-02-01 06:20 UTC-0800 Brian Hays * source/rtl/memoline.c * fixed nasty bug that would blow away the app if word wrap was on and the next character after filling the line length was a space. 2001-02-01 22:10 GMT -3 Luiz Rafael Culik +source/debug/dbgtarr.prg *Browse functions for view arrays on debugger +source/debug/dbgtobj.prg *Browse functions for view objects on debugger *source/debug/debugger.prg +Added support to view arrays and objects on the Variable windows *fixed browse colors to viewsets() method *makefile.bc hb_slex.bc source/debug/makefile *added dbgtarr.prg and dbgtobj.prg to dependencies list ****NOTE**** VC++ Users. please update the make files 2001-01-30 10:10 UTC-0500 David G. Holm * source/rtl/gtwin/gtwin.c * Changed code that determines whether or not a key stroke is for an extended key, so that Alt+[alpha/numeric key] works properly. 2001-01-26 16:15 UTC-0800 Ron Pinkas * hb_slex.vc + Added -DSIMPLEX to production of HARBOUR_EXE_OBJs. * source/vm/hvm.c ! Minor optimization of recent changes to hb_vmSend() 2001-01-25 12:00 UTC-0800 Ron Pinkas * source/vm/hvm.c * Modified error messages in hb_vmSend() to report class name of native types (including NIL) along with missing method name. + Added default implementation of ClassName() method of native types. /* J.F. Can you please check why hb_objGetClsName() was not working correctly when called from hb_vmSend() ? It was returning empty string ("") on my BCC55 latest build. */ * tests/clasname.prg + Added Arrays to types checked. 2001-01-24 20:50 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed compilation and parsing of #command of single and bi-char operators ! Removed prior hack in hb_pp_RdStr() related to @[&-]. * source/pp/pptable.c ! Fixed compilation of #command ?? [ ] => QQOut( ) /* This [should] finally resolve all prior issues regarding @ and many other problems, of operators as command keys. */ 2000-01-22 19:10 UTC-0800 Brian Hays * harbour/include/hbsetup.h + added #define OS_EOL_LEN /* # of bytes in End of Line marker */ * source/rtl/console.c * source/rtl/memoline.c + implemented OS_EOL_LEN 2000-01-22 18:00 UTC-0800 Brian Hays * contrib/rdd_ads/adsfunc.c + added ADSRegCallBack(cbBlock) and ADSClrCallBack() to register a callback function during index creation. 2000-01-22 18:00 UTC-0800 Brian Hays * contrib/rdd_ads/ads1.c ! integrated AOF creation into dbSetFilter if SET OPTIMIZE is on. AdsCreateIndex(): * fixed bug to set focus to the new order + added USECURRENT support for subindexing. Since ADS by default does NOT obey the scope like COMIX, I create a While expression from the index key and scope expression (if there is one). NOTE: if the new tag/file already exists AND a bagname specifies a non-structural bag, it does not subindex! All records get added to the index. The app needs to see if it's there already and delete it. (Temp tags created with USECURRENT to the structural index are always created correctly.) * contrib/rdd_ads/adsfunc.c * ADSCustomizeAOF( [] [, ] ) --> nSuccess Added support for default values (add current record to bitmap if no parameters are passed) and for an array of record numbers to be passed so up to 16,383 records can be set or cleared with one call to the server. Now returns 0 for success, otherwise the ADS error code. + added AdsIsIndexed() to quickly return if currently indexed vs. natural order I hope to remove this if we agree to make it an rdd func * harbour/contrib/rdd_ads/doc/en/adsfuncs.txt * documented ADSCustomizeAOF * harbour/include/ord.ch and hbapirdd.h + added constants for DBOI_OPTLEVEL return values #define DBOI_OPTIMIZED_NONE 0 #define DBOI_OPTIMIZED_PART 1 #define DBOI_OPTIMIZED_FULL 2 * harbour/doc/en/hb_api.txt * added text for hb_param * harbour/doc/en/hb_apiit.txt * added text for hb_itemParam 2001-01-22 13:15 UTC-0500 David G. Holm + doc/en/gtslang.txt + New file provided by Marek Paliwoda * source/rtl/gtsln/gtsln.c * Enhancements provided by Marek Paliwoda * source/rtl/gtsln/kbsln.c * Enhancements provided by Marek Paliwoda 2001-01-22 00:50 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * source/pp/ppcore.c ! Fixed processing of & with stringify. 2001-01-21 15:40 UTC-0800 Ron Pinkas * source/compiler/harbour.slx * Minor correction. 2001-01-20 17:20 UTC-0800 Ron Pinkas * hb_slex.vc + Added -DSIMPLEX to CLIBFLAGS * source/compiler/genc.c * Minor correction. * utils/hbpp/hbpp.c * source/pp/pplib.c * include/hbcomp.h * source/compiler/harbour.c + Added hb_comp_iLinePRG and hb_comp_iLineINLINE * source/compiler/harbour.l * source/compiler/harbour.slx * source/compiler/hbgenerr.c + Added logic to disallow multiple HB_INLINE() per source line. * source/pp/ppcomp.c * source/pp/ppcore.c * source/pp/pragma.c * Corrected double spacing in PPO generation, and added #pragma BEGINDUMP to PPO. 2001-01-19 22:30 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Added code to allow Old style -D switch 2001-01-19 18:30 UTC-0500 David G. Holm * source/rtl/gtcgi/Makefile ! The library is supposed to be 'gtcgi', not 'gtstd'! * source/vm/hvm.c * Moved hb_inkeyPoll() call to inside the hb_vmDo() function. 2001-01-18 22:41 GMT+1 JFL (Mafact) *harbour/hb_slex.vc * added HBMAKE harbour/makefile.vc * added HBMAKE 2001-01-18 00:18 GMT+1 JFL (Mafact) *harbour/makefile.vc * minor form adjustement *harbour/include/hbclass.ch * Clean the ::Class reference wich does'nt work *harbour/source/debug/dbgtmenu.prg * Adding a blank line at the end of file to test Simplex and VC++ *harbour/source/rtl/tclass.prg * Clean the ::Class reference wich does'nt work *harbour/source/rtl/tobject.prg * Clean the ::Class reference wich does'nt work 2001-01-17 21:45 UTC+0100 Ryszard Glab *source/vm.estack.c *fixed initialization of items during the stack reallocation *STACK_* constants can be defined using a compiler command line 2001-01-16 22:15 GMT+1 JFL (Mafact) *harbour/makefile.vc *harbour/source/compiler/genobj32.c *harbour/source/compiler/harbour.l *harbour/source/compiler/harbour.slx *harbour/source/compiler/hbfix.c *harbour/source/pp/pragma.c *All minor type casting for VC++ *harbour/source/rtl/tobject.prg *code re-aligned (no modif) 2001-01-14 15:15 UTC+0100 Ryszard Glab *include/hbapi.h *modified union in 'asRefer' structure *source/vm/codebloc.c *source/vm/hvm.c *source/vm/itemapi.c *fixed support for detached local variables passed by the reference 2001-01-13 02:25 UTC-0800 Ron Pinkas * source/compiler/genc.c * source/compiler/harbour.c * source/pp/pragma.c + Added support for #pragma BEGINDUMP ... [#pragma STOPDUMP] or EOF. /* BEGINDUMP & STOPDUMP are just a suggestion. */ * utils/hbpp/hbpp.c * source/pp/pplib.c + Added empty stub hb_compInlineAdd() (needed by pragma.c) * tests/inline_c.prg + Added code to demonstrate #pragam BEGINDUMP 2001-01-11 20:10 UTC-0800 Ron Pinkas * source/compiler/harbour.l * source/compiler/harbour.slx + Added logic to ignore, rest of line after // content of /**/ comments content of strings and char constants escape codes within strings and char constants * tests/inline_c.prg + Added sample comments and strings containing { and \". 2001-01-11 17:00 UTC-0500 David G. Holm * test/inline_c.prg + Added missing CVS ID line! 2001-01-10 18:20 UTC-0800 Ron Pinkas * include/hbcomp.h * source/compiler/harbour.c + Added members szFileName and iLine to structure INLINE, set to originating PRG name and line number. * source/compiler/genc.c + Added #line directive to INLINE generations, so C compile warnings/errors will report source file and line number in PRG. * source/compiler/harbour.l * source/compiler/harbour.slx + Added Error message if inline C is used with non C output. + Added support for {} on same line * Minor optimization * include/hberrors.h * source/compiler/hbgenerr.c + Added: "Inline C requires C output generation, use -gc[n]" 2001-01-10 22:30 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Fixed an typo on an fwh lib name +Added dinamic make file support 2001-01-09 23:10 UTC-0800 Ron Pinkas * source/pp/ppcomp.c * source/pp/ppcore.c * Disabled all processing other than \n when processing HB_INLINE. 2001-01-09 10:00 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Fixed bug with #include and INCLUDE Env Var processing. % Removed some unused vars. 2001-01-09 16:15 UTC+0100 Ryszard Glab *source/rdd/workarea.c *codeblocks used in SET LOCATE are properly locked/unlocked to prevent deallocation by the GC (thanks to shashkov@orel.ru) *source/vm/macro.c *fixed bug in hb_macroTextSubst() (result buffer reallocation) (thanks to shashkov@orel.ru) *source/vm/memvars.c *fixed access of uninitialized memvar values (thanks to shashkov@orel.ru) 2001-01-08 17:45 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed ')' as expression terminator in state STATE_ID_END 2001-01-08 14:35 UTC-0800 Ron Pinkas * source/vm/estack.c * Corrected typo _HB_ITEM => HB_ITEM in type casting. 2001-01-08 22:18 GMT+0100 JFL (mafact) * harbour/makefile.vc Added estack.obj * harbour/source/compiler/harbour.l Added Type Casting needed by VC++ * harbour/source/vm/estack.c Added Type Casting needed by VC++ * harbour/source/vm/hvm.c Added Type Casting needed by VC++ * harbour/source/vm/classes.c Temporary released the HIDDEN Check on scooping 2001-01-08 12:35 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Added support for leading and traing WS before/after #. * Extra logic for [...] within # directives in ProcessFile() * Fixed logic of // and && terminating at EOF. 2001-01-08 02:10 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Few corrections in NextExp() and MatchRule(). 2001-01-07 13:40 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Optimized cyclic detection logic. 2001-01-06 9:18 GMT+3 Alexander Kresin * source/vm/dynsym.c Fix, posted by shashkov@orel.ru 2001-01-05 09:57 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * Corrected possible case sensitive issue RP_Dot.ch -> rp_dot.ch (Thanx to Dave Pearson) * Corrected @ 24, ... -> @ MaxRow(), ... (Thanx to Dave Pearson) 2001-01-03 09:35 UTC-0800 Ron Pinkas * contrib/dot/pp.prg * source/pp/ppcore.c ! Fixed Array Index support after '.' (Macro Terminator). 2001-01-02 17:10 UTC-0800 Ron Pinkas * source/compiler/genc.c * Minor correction. 2001-01-02 10:00 UTC-0800 Ron Pinkas * source/compiler/harbour.l + Added support for inline C code. 2001-01-01 23:35 UTC-0800 Ron Pinkas * source/compiler/harbour.c * Minor correction in hb_compInlineAdd() 2001-01-01 22:40 UTC-0800 Ron Pinkas * include/hberrors.h * source/compiler/hbgenerr.c + Added: "Unterminated inline block in function: \'%s\'" and "Too many inline blocks" * include/hbcomp.h * source/compiler/harbour.c + Added hb_compInlineNew(), hb_compInlineAdd(), and hb_compInlineFind() * source/pp/ppcomp.c * source/compiler/harbour.slx * source/compiler/genc.c + Added support for inline C code blocks. + tests/inline_c.prg + Added new test to demonstrate new inline C support. 2001-01-01 22:15 GMT -3 Luiz Rafael Culik *utils/hbdoc/genpdf.prg *contrib/pdflib/pdfhbdoc.c *Fixed handling of 4 column table items 2000-12-29 01:30 UTC-0800 Brian Hays * source/rtl/memoline.c Added OS_UNIX_COMPATIBLE test for single-byte EOL markers (with apologies to Dave: This probably is not the best way to handle this, It would be better to establish some constants for the target OS EOL string and its length...) NOTE: this may not be desirable if a harbour Unix app is manipulating strings with CRLF EOL markers !!!!!!!!!!!!!! Comments? Opinions? * contrib/rdd_ads/ads1.c * tweaked return values for fields at eof/bof * added DBI_SHARED option to dbInfo * memo file creation obeys SET(_SET_MBLOCKSIZE) * NOTE from ace.hlp: For ADS_CDX, values are in the range 1-1024. If the value is in the range 1-32, then that value is multiplied by 512 to get the actual block size. * harbour/source/rdd/workarea.c * fixed dbEval to not Go Top when a While expression is passed 2000-12-28 20:50 UTC-0800 Ron Pinkas * source/vm/eval.c * Minor formatting. * source/vm/hvm.c * Added derefferncing of Block Vars in hb_vmPushLocal() /* Ryszard can you please review this change. */ 2000-12-29 9:18 GMT+3 Alexander Kresin * utils/hbpp/hbpp.c * Now it creates exactly the same .ppo as Harbour, without extra empty lines 2000-12-26 20:30 GMT -3 Luiz Rafael Culik *utils/hbmake/radios.prg utils/hbmake/checks.prg * Small Fixed *utils/hbmake/hbmake.prg + -F option added *Fixed some bug that apeared on non Case Sensitive OS 2000-12-18 16:55 GMT+1 Maurilio Longo * source/rtl/memoedit.prg + Added all missing functionalities. Should be 100% compatible (tested very little) * source/rtl/teditor.prg * little changes to make it work better with memoedit.prg. Removed cUdF parameter from ::New() method. 2000-12-15 22:10 GMT -3 Luiz Rafael Culik *utils/hbmake/radios.prg utils/hbmake/checks.prg utils/hbmake/pickarry.prg utils/hbmake/pickfile.prg utils/hbmake/prb_stak.prg utils/hbmake/fclass1.prg utils/hbmake/ft_funcs.prg utils/hbmake/ffile1.prg *lower case all include files names to be linux compatible +utils/hbmake/hbdocdef.ch *include file need by the File class engine 2000-12-15 21:40 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *fixed findmacro(),setbuild() and replacemacro() functions when a ";" is used to separate multiple macros *Fixed bug when -p switch is used 2000-12-14 17:00 UTC-0800 Ron Pinkas * source/vm/eval.c * Removed unneeded hb_stackItemFromBase(1), reverted to use pItem obtained by hb_param() 2000-12-13 22:04 GMT+1 Maurilio Longo * source/vm/estack.c + added missing semicolons (lines 374 and 416) 2000-12-12 17:35 UTC-0800 Ron Pinkas * source/vm/eval.c + Corrected support for block passed by reference. /* Ryszard, is there any reason to use hb_stackItemFromBase(1) instead of pItem? */ 2000-12-12 17:10 UTC-0800 Ron Pinkas * makefile.bc * hb_slex.bc * Changed to include new source\vm\estack.c * include/hbextern.ch * Changed HB_PVALUE() to __PVALUE() 2000-12-12 21:15 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Some clean ups *Parameter checking is faster now *Fixed some small bugs regarding to OS2 and GCC support 2000-12-12 21:25 UTC+0100 Ryszard Glab TAGged all files with 'old-eval-stack' tag before commiting changes *include/hbstack.h *source/vm/estack.c *new files with the eval stack code *include/hbapi.h *include/hbvm.h *source/rdd/dbcmd.c *source/rdd/dbfcdx/dbfcdx1.c *source/rdd/dbfntx/dbfntx1.c *source/rtl/errorapi.c *source/vm/arrays.c *source/vm/arrayshb.c *source/vm/asort.c *source/vm/classes.c *source/vm/codebloc.c *source/vm/debug.c *source/vm/eval.c *source/vm/extend.c *source/vm/fm.c *source/vm/garbage.c *source/vm/hvm.c *source/vm/itemapi.c *source/vm/macro.c *source/vm/pcount.c *source/vm/proc.c *changed to support the new eval stack code *added #include "hbstack.h" when hb_stack.Return was used NOTE! some modules still use a direct access to the eval stack internal architecture (hb_stack.pItems) - mostly in function/messages names lookup code *source/vm/Makefile *added estack.c *source/rdd/dbfntx/Makefile *added dbfntx1.c *source/vm/pvalue.c *tests/multiarg.prg *renamed HB_PVALUE to __PVALUE * __PVALUE is no longer an HB_EXTENSION - it is an internal function now *include/hbexpra.c *renamed HB_PVALUE to __PVALUE *fixed support for __GETA to be compatible with the latest Ron's changes in tgetint.prg 2000-12-12 00:50 UTC-0800 Brian Hays * source/rtl/memoline.c Fixed "" returned only when reading past the end of the source * source/rdd/dbfntx/dbfntx1.c * More fixes by Alexander 2000-12-11 21:45 GMT -3 Luiz Rafael Culik *utils/hbmake/hbmake.prg *Fixed an small bug 2000-12-11 21:45 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg - removed hidden: clause inside class definition (it doesn't work right now) * source/rtl/tclass.prg - commented out line 255 (gives infinite loop) * utils/hbmake/*.prg + hbdocdef.ch needs relative path ("..\hbdoc\") to be compiled by gcc system 2000-12-10 17:09 UTC-0800 Brian Hays * source/rdd/dbfntx/dbfntx1.c * More fixes by Alexander Now seek is added 2000-12-10 15:50 GMT -3 Luiz Rafael Culik *makefile.bc hb_slex.bc *Add hbmake to dependencies list +utils/hbmake *hbmake directoy +utils/hbmake/hbmake.prg *Harbour make utility main file +utils/hbmake/radios.prg utils/hbmake/checks.prg utils/hbmake/pickarry.prg utils/hbmake/pickfile.prg utils/hbmake/prb_stak.prg utils/hbmake/radios.ch utils/hbmake/checks.ch utils/hbmake/radiodef.ch utils/hbmake/checkdef.ch *Utilityes functions need by hbmake *utils/hbmake/fclass1.prg utils/hbmake/ft_funcs.prg utils/hbmake/ffile1.prg Hbdoc File class engine *utils/hbmake/makefile *makefile for GNu compiler utils/hbmake/checks.ch 2000-12-09 14:09 UTC-0800 Brian Hays * source/rdd/dbfntx/dbfntx1.c * include/hbrddntx.h Fixes by Alexander 2000-12-08 18:45 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! I've fixed all known (to me) issues with latest TBrowse code. ::HitTop/Bottom were set back to .F. if a ::RefreshAll() was issued. This is wrong since only movement keys can reset them. Issuing a long sequence of K_UP/K_DN (or CTRL_...) resulted on wrong movement of datasource (you could even go backward using K_DN :-O) You could get an out of bounds moving around inside tbrowse. * Note that original Clipper TBrowse caches displayed rows, so moving left or right does not require calling ::Skipblock to refresh screen. Present implementation of TBrowse has not such a cache so a lot more of skipping around is needed. 2000-12-06 16:09 UTC-0800 Brian Hays * makefile.bc + include/hbrddntx.h * source/rdd/dbfntx/dbfntx0.prg * source/rdd/dbfntx/dbfntx1.c * Fixes by Alexander * contrib/rdd_ads/doc/en/readme.txt * BH added compatibility notes 2000-12-04 19:40 UTC-0800 Ron Pinkas * source/rtl/tget.prg ! Corrected 2 bugs when New Method called without any parameters. 2000-12-04 17:54 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg * I've rewritten from scratch stabilization and movement keys handling. They were simply broken in previous TBrowse. They are now nearly 100% clipper compatible. DBU now works correctly when lastrec() + 1 is reached and leaved. ::stable state and ::HitTop or ::HitBottom were wrongly set _before_ stabilization and not during as it should. ::GoBottom() was not calling ::goBottomBlock. Movement handling methods were calling ::skipBlock and they should not, this was causing unneeded skipping being requested to data source. I hope these last changes have fixed TBrowse class. Please test it extensively. 2000-12-03 15:05 UTC-0800 Ron Pinkas * source/compiler/harbour.sly ! Optimized __GETA() support, and changed it to be implementated identical to Clipper. /* Clipper passes a bGet Block which refrences the Base Array Variable and not the Variable itself. Clipper passes NIL instead of bGet block if the Base Array is MACROVAR or MACROTEXT. Clipper does not optimize "&Macro" to Macro, but Harbour does! */ * source/rtl/tgetint.prg * __GETA() Changed 1st parameter aVar to bGetArray and logic to get the Base Array if bGetArray is NIL /* Optimized to not use macro if possible (most cases) even if the GetArray is a macro. */ * tests/testget.prg + Added additional test. 2000-12-03 10:45 UTC-0800 Ron Pinkas * source/pp/ppcore.c + Added support for whaite space between = and > in #[x]command/[x]translate rules. 2000-12-02 01:15 UTC+0500 April * source/rtl/xhelp.prg * added code to push the params passed to xhelp back onto the stack (fixes default K_F1 set key) * tests/setkeys.prg * added Help() and display contents of params received * NOTE: using hb_SetKeyCheck() with only one param [key] will not pass proper values to default Help() - it's pcount will be 3, but cProc will be [key], and nLine and cVar will be NIL use hb_SetKeyCheck( n, procname(),procline(), readvar() ) 2000-12-02 01:13 UTC+0100 jfl (mafact) * include/hbclass.ch * more work in progress about :class message * added the metaclass concept * source/rtl/tclass.prg * more work in progress about :class message + metaclass * :Create now accept the metaclass object * :instance() return an object with it's :class initiated 2000-12-01 01:50 UTC-0800 Ron Pinkas * source/compiler/harbour.sly ! Minor optimization. * source/rtl/tgetint.prg * Corrected typo 2000-11-30 18:25 UTC-0800 Ron Pinkas * include/hbmacro.h * source/macro/macro.y * source/vm/macro.c ! Renamed hb_compParse() to hb_macroYYParse(). We already have hb_macroParse() and hcompparse() * source/compiler/harbour.y * Added token GET (not used) just so that harboury.h is compatible with harbour.sly * source/rtl/tgetint.prg * Reverted to use _1 and == NIL to not break Clipper compatibility. /* Ryszard, if you want to re-introduce PCount() and HB_PVALUE(), I'll ask (since I wrote this original code) that you protect it with #ifdef FLEX etc. If you do I would suggest you further protect it with #ifdef STRICT... becuase this will defintly break strict compatability. */ 2000-11-30 15:30 UTC-0500 David G. Holm * include/hbver.h % Bumped revision code to j and set date to 2000-11-30 for a new set of interim builds that I'm going to release. 2000-11-30 15:20 UTC-0500 David G. Holm * config/dos/bcc16.cf * config/dos/djgpp.cf * config/dos/rsx32.cf * config/dos/watcom.cf * config/linux/gcc.cf * config/os2/gcc.cf * config/os2/icc.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/icc.cf * config/w32/mingw32.cf * config/w32/msvc.cf * config/w32/rsxnt.cf + Added $(A_USR) to AR_FLAGS * tests/tstmacro.prg + Added MEMVAR declarations for all PRIVATE variables, so that it will compile without warnings when using the GNU Make System. 2000-11-30 10:00 UTC-0800 Ron Pinkas * source/compiler/harbour.slx ! Commented out support for Self: as SELF, treat as any other Identifier, until we finalize SELF support. 2000-11-30 07:50 UTC-0800 Ron Pinkas * source/pp/pptable.c - Removed #ifdef SIMPLEX recently added by Ryszard, SimpLex was using same 5 paramters as Cliiper. 2000-11-30 16:00 UTC+0100 Ryszard Glab *source/rtl/tgetint.prg * restored '_1' variable because {|| ..... __MVPUT( cVar, HB_PVALUE(1) )} will not access a correct value 2000-11-30 10:55 UTC+0100 Ryszard Glab *include/hbexpra.c *include/hbexprop.h *source/common/expropt1.c *source/compiler/expropta.c *source/macro/macroa.c * _GET_ => __GET translation is now fully Clipper compatible *source/pp/pptable.c * Flex version doesn't pass a sixth argument to _GET_ function *source/rtl/tgetint.prg * replaced all internal '_1' variables with PCOUNT()/HB_PVALUE() 2000-11-29 23:30 UTC+0100 jfl (mafact) * include/hbclass.ch * some work in progress about :class message * source/rtl/tobject.prg * source/rtl/tclass.prg * some work in progress about :class message 2000-11-29 13:50 UTC-0800 Ron Pinkas * source/compiler/harbour.c * Exported: hb_compFieldGetPos() and hb_compMemvarGetPos() * source/compiler/harbour.sly ! Changed __GET() support to be parameter compatible with Clipper * include/hberrors.h * source/compiler/hbgenerr.c + Added Error: "GET contains complex macro" * source/pp/pptable.c - Removed bSetGet from rule of GET, PP output now Clipper compatible. * source/vm/memvars.c + Added HB_FUNC( __ISMV ) // Return .T. if passed string as a Memory Variable. * source/rtl/tgetint.prg ! Fixed __GET() to be 100% parameter compatible with Clipper. ! When 1st parameter (bSetGet) is NIL the bSetGet will be built internaly, not using macro in most cases, even if the Get Variable itslef is a macro :-) /* Ryszard, this will further break Flex support for GET, but makes __GET() 100% Clipper compatible as you suggested. Please note, that Clipper does *NOT* pass a bSetGet *only* when the Get Var is a *simple* *non* declared Variable. Declared Variables in this context are: MEMVAR, FIELD, LOCAL, and STATIC. For all of those, bSetGet *is* generated! Clipper also generates bSetGet for "Complex Variables", i.e. Aliased Variables, Object Data, etc.! */ 2000-11-28 17:15 UTC-0400 David G. Holm * include/hbapigt.h + Added non-DOS definitions of box drawing characters and strings. * source/rtl/oldbox.c % Changed to use same method to test and use numeric parameters as that used by source/rtl/box.c. * tests/boxtest.prg + Added display of box drawing statement used following each box draw, along with a wait for user input. Removed comment about the first __BOX() call not doing anything, because it does... 2000-11-28 11:40 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c * fixed retrieval of logical values NOTICE!! All logical fields were coming back as FALSE before! * contrib/rdd_ads/adsfunc.c * adsCopyTable respects filters now * source/rdd/dbcmd.c + added dbRelation, dbRSelect * source/rdd/workarea.c + implemented RelText, RelArea * source/rtl\disksphb.c *Changed default "" to NULL to fix "open" error * source/debug/debugger.prg * changed TGet to Get class reference 2000-11-27 18:30 UTC-0400 David G. Holm * include/set.h % Changed hb_vm_bIdleRepeat to hb_set.HB_SET_IDLEREPEAT. % Alphabetized the hb_set structure members within type. NOTE: THIS CHANGE REQUIRES A CLEAN BUILD! * source/rtl/idle.c - Removed spurious hb_inkeyNext() declaration. % Changed hb_vm_bIdleRepeat to hb_set.HB_SET_IDLEREPEAT. * source/rtl/set.c % Changed hb_vm_bIdleRepeat to hb_set.HB_SET_IDLEREPEAT. 2000-11-27 08:25 UTC-0800 Ron Pinkas * include/hbapi.h * source/rtl/idle.c + Added hb_idleReset() * source/rtl/inkey.c * Replaced direct idle flags reeset with call to hb_idleReset() * tests/testidle.prg + Added 2nd block test. + tests/testget.prg + Added test for plain gets, array gets, macro gets, and object data gets. * hb_slex.bc * include/hbver.h * source/common/hbver.c * source/compiler/genc.c * source/compiler/genjava.c * source/compiler/genobj32.c * source/compiler/hbusage.c + Added HB_VER_LEX macro and added to Build Info. * config/dos/djgpp.cf * config/linux/gcc.cf * config/w32/bcc32.cf * config/w32/gcc.cf + Added -DSIMPLEX to C[LIB]FLAGS of SimpLex build 2000-11-27 18:55 UTC+0100 Ryszard Glab *source/rtl/idle.c *source/rtl/inkey.c * Added support for CPU releasing in U*ix 2000-11-27 17:14 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg * changed ::RelativePos into ::LastRetrieved (seems more descriptive to me) 2000-11-27 17:07 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! fixed ::Stabilize() method (problems when past eof()) 2000-11-26 21:00 UTC-0800 Ron Pinkas * include/hberrors.h * source/pp/ppcomp.c * source/pp/ppcore.c + Added error support for Input buffer overflow . 2000-11-26 18:40 UTC-0800 Ron Pinkas * source/compiler/harbour.slx + Added Error message if NUMERALS_PER_LINE is exhausted, and set it to 3000 (just below apparent parser limitation) 2000-11-26 10:10 UTC-0800 Ron Pinkas * source/pp/ppcore.c + Added support for ',' within Array Index in NextParm() 2000-11-24 21:10 UTC-0800 Ron Pinkas * source/compiler/harbour.y * source/compiler/harbour.sly + Added support for MacroExpr as FunCall 2000-11-25 22:57 UTC+0100 jfl (mafact) * source/rdd/rddcpy.c * added missing explicit cast needed by VC++ 2000-11-24 12:50 UTC-0800 Ron Pinkas * include/hbset.h * include/set.ch * source/pp/pptable.c + Added _SET_IDLEREPEAT = 101 * source/rtl/set.c + Added suport for SET( _SET_IDLEREPEAT ) - Default is .T. * source/rtl/idle.c - Removed HB_IDLE_RESET() * Changed handling of Idle Process to default to REPEAT. * tests/onidle.prg - Removed call to HB_IDLE_RESET() + tests/testidle.prg + New test of Idle Blocks in default (REPEAT) mode and optional NON REPEAT mode. 2000-11-24 19:22 GMT+1 Maurilio Longo * contrib/mysql/tmysql.prg + ::FieldGet() and ::FieldPut() methods now accept a field name as field identifier and not only a field number. This makes easier setting/getting field values. ie oRow:FieldPut(oRow:FieldPos("my field"), xValue)) becomes oRow:FieldPut("my field", xValue) * contrib/mysql/tsqlbrw.prg ! small changes 2000-11-23 00:10 UTC+0100 jfl (mafact) * source/compiler/harbour.c * added missing parenthesis giving a warning error with VC++ 2000-11-23 13:15 UTC-0800 Ron Pinkas * source/rtl/idle.c + Added HB_IDLE_RESET() and logic to reset Idle Processing upon such explicit request. ! If reoccuring processing of Idle Blocks is requested, hb_releaseCPU() is execusted upon completion of each cycle. * tests/onidle.prg + Added HB_IDLE_RESET() to demonstrate explicit request for reoccuring processing of Idle Blocks. 2000-11-23 23:11 UTC+0100 jfl (mafact) * source/vm/classes.c * corrected hb___msgClsParent( void ) where some pointer was badly deallocated 2000-11-23 11:11 UTC-0800 Ron Pinkas * source/rtl/idle.c ! Added Reset Logic to HB_IDLESTATE() 2000-11-23 19:50 UTC+0100 Ryszard Glab *source/rdd/dbfcdx/dbfcdx1.h *added forward declaration of _CDXTAG structure to compile in some C++ compilers (Watcom C++) 2000-11-23 10:00 UTC-0800 Ron Pinkas * source/rtl/idle.c * source/rtl/inkey.c ! Improved granularity of Idle Processing: - GC is called only once per Wait Session. - Single Idle Task is performed for each itteration of hb_idleState() but never more than once per Wait Session. - ReleaseCPU() is guaranteed to be the only code executing for the remainder of every Wait Session. /* Maurilio, Ryszard, Victor, could you please review and comment... */ 2000-11-23 13:32 GMT+1 Maurilio Longo * source/rtl/teditor.prg ! fixed K_DEL handling * source/rtl/idle.c ! fixed / changed to release cpu only if there are no pending keys. Works ok under OS/2. Please test under win32 (linux still lacks system call to release cpu). Note: since I can enter hb_IdleState() while waiting a certain amount of time to elapse (ie. Inkey(.1)) I cannot keep calling idle tasks but I have to exit hb_IdleState() every time an idle task has ended its execution. If I have time left to wait I'll reenter hb_IdleState() immediatly (executing next idle task). 2000-11-21 18:35 UTC-0800 Ron Pinkas * source/pp/ppcomp.c * Corrected 1 compiler warning. * source/pp/ppcore.c + Added s_bArray support logic to WorkDefine() * source/rtl/idle.c * Revered order of hb_gcCollectAll() and hb_releaseCPU(); 2000-11-21 23:42 UTC-0100 JFL (mafact) * source/vm/classes.c * minor modif after the last Stack tests * :EVAL forgot to release one created item * source/vm/eval.c * One possible PHB_ITEM use after stack realloc.. fixed (thkx Antonio) * source/vm/arrayshb.c * One possible PHB_ITEM use after stack realloc.. fixed (thkx Antonio) 2000-11-21 13:40 UTC-0400 David G. Holm * source/rtl/idle.c + Added Sleep(0) for 32bit Windows mode to forfeit the remainder of the current time slice in hb_releaseCPU(). 2000-11-21 08:55 UTC-0800 Ron Pinkas * source/pp/ppcomp.c * source/compiler/harbour.c * Corrected compiler warnings. * source/compiler/harbour.slx * Small optimization in handling of s_sLastBlock * tests/tstblock.prg + Added complex early macro test. 2000-11-21 17:42 GMT+1 Maurilio Longo * source/rtl/teditor.prg + added ::LoadText() method * source/rtl/memoedit.prg ! fixed small bug with KEYBOARD statement * contrib/mysql/tsqlbrw.prg * little changes. 2000-11-20 23:11 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! ::PageDown() fixed bug introduced with previous change * ::DispCell() now faster since only one Eval(::aColumns[n]:block) is needed to decide cell type and color instead of three. * contrib/mysql/tsqlbrw.prg * small changes 2000-11-20 17:38 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! ::aRedraw[] can change its size if header/footer separators are added/removed during object life. ::Configure() can now handle this. ! ::PageDown() could set ::RowPos past ::RowCount. Fixed. * contrib/mysql/tmysql.prg ! fixed ::Skip() error when at eof(). * contrib/mysql/tsqlbrw.prg ! missing ::Configure() call 2000-11-18 11:11 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg * drawing headers and footers is not needed if columns on screen don't change, before this change they were redrawn every time first row changed. ! fixed wrong redrawing of TBrowse if a down on last row was issued followed by an horizontal movement requiring an ::Invalidate() * source/rtl/tbcolumns.prg + added missing picture ivar. 2000-11-17 20:50 UTC+0100 Ryszard Glab *source/hvm/macro.c * fixed initialization of 'status' structure member that caused random 'undefined function' error messages 2000-11-17 16:40 GMT+1 Maurilio Longo * source/rtl/tbrowse.prg ! fixed redrawing of header and footer separator (it was shorter than needed) 2000-11-16 02:35 UTC-0800 Ron Pinkas * source/compiler/harbour.c ! Fixed jump optimization for HB_P_SEQBEGIN and HB_P_SEQEND 2000-11-14 16:10 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Fix for handling of function keys with no state key modifiers. 2000-11-14 02:35 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Corrected few pre-processor bugs. ! Corrected DOT multi-line support. * contrib/dot/rp_dot.ch + Added Clipper and Harbour support for GET * source/pp/ppcore.c ! Removed redundant line in md_strAt() whiched caused bug with tanslating within [] bracket expressions. 2000-11-13 16:18 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c + adsOrderInfo: added support for most options + include/ord.ch + 5.3-level SCOPE Commands and DBOI_* constants * include/hbapirdd.h + added note that DBOI_* constants are also in ord.ch * source/rdd/dbcmd.c * dbOrderInfo tweaks * include/hbrddwrk.h * removed stub for hb_waOrderInfo * source/rdd/workarea.c * added default hb_waOrderInfo Currently this throws an error if a non-supported flag is passed NOTE !!! --> Clipper behavior was just to return NIL, but that usually creates harder to trap errors down the road. I will revert this to return NIL later after testing if the group desires 2000-11-13 20:25 UTC+0100 Ryszard Glab *include/hbexpra.c *source/compiler/expropta.c *source/compiler/harbour.y *source/compiler/harbour.sly *fixed bug when FOR/TO/STEP (expr) is used 2000-11-12 15:20 UTC+0100 Ryszard Glab *include/hbapirdd.h *include/hbrddwrk.h *source/rdd/dbf1.c *source/rdd/dbfcdx/dbfcdx1.c *contrib/rdd_ads/ads1.c *added typedef for setScope member of virtual table typedef USHORT ( * DBENTRYP_VOS )( AREAP area, LPDBORDSCOPEINFO param ); *source/rdd/rddcpy.c * replaced NULL with 0 *source/vm/asort.c *source/vm/classes.c *source/vm/hvm.c *source/vm/itemapi.c *source/vm/memvars.c *added initialization of items created on the stack 2000-11-11 23:35 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Corrected few pre-processor bugs. 2000-11-10 22:40 UTC+0100 JFL (mafact) * source/vm/classes.c Just a test with hb_parc() wich I recall just after vmPush() to be sure to have a good pointer. if it work, we should have some brain storming about hb_parxx function and the stack ! 2000-11-10 22:50 GMT+1 Maurilio Longo * source/rtl/teditor.prg ! error in cursor handling when K_CTRL_PGDN or K_CTRL_END key was pressed. 2000-11-10 11:40 UTC-0800 Ron Pinkas * source/compiler/harbour.sly + Added support for early macro expansion of declared symbol for simple macro expression within CodeBlock (Like Clipper). * source/rtl/tgetint.prg ! Corrected creation of bSetGet if uVar == NIL, to avoid compile error: "Code block contains both macro and declared symbol references". 2000-11-09 23:30 GMT -3 (for) Harrier *source/rdd/rddcpy.c *Some fix suggested by Victor 2000-11-09 11:00 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Added parameter BOOL bRule to md_strAt() to differentiate between searching a Rule Text or an Expression. /* [...] should be searched within Rule, but _not_ within an Expression. */ 2000-11-09 09:00 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Fixed typo in NextName() 2000-11-09 01:10 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Fixed STATE_QUOT3 ([]) support in getExpReal() and added STATE_QUOT3 support to NextParm() NextName() and md_strAt() /* Before this fix #define and #translate were activated within [] strings - Fixed! Now strings delimiter conversion should be complete. */ 2000-11-08 24:10 UTC-0800 Ron Pinkas * source/compiler/cmdcheck.c * utils/hbpp/hbpp.c + Added missing type case for C++ compilers. * source/compiler/simplex.c * Added 1 missing var reset. 2000-11-08 11:28 UTC+0800 Brian Hays * source\vm\arrays.c * added Victor's fix for passing the second parameter to ascan's codeblock. * contrib/rdd_ads/ads1.c * fixed adsSetScope -- SET SCOPE was busted * adsOrderInfo +added support for DBOI_ORDERCOUNT DBOI_KEYCOUNT DBOI_CUSTOM DBOI_POSITION << changed DBOI_RECNO to this! * include/hbapirdd.h TEMPORARILY added extra 5.3 DBOI_* constants * contrib/rdd_ads/adsfunc.c * minor editing * source/rtl/dummy.prg * source/rdd/dbcmd.c * moved dbOrderInfo from dummy.prg to dbcmd.c * fixed ordScope parameter checking * source/rdd/workarea.c * added commented-out OrderInfo; waiting for agreement on how to implement it 2000-11-08 18:25 UTC+0100 Ryszard Glab *source/vm/macro.c *fixed support for field variables in TYPE() function *tests/dbevalts.prg *tests/newrdd.prg *tests/testbrdb.prg *tests/testlbl.prg *tests/testrpt.prg *tests/tstalias.prg *tests/tstdbi.prg *All file names should be written in lower case NOTE: newrdd.prg still creates file in upper case since it is hardcode somwhere in the RDD code 2000-11-08 15:40 UTC+0100 Ryszard Glab *include/hbapi.h *include/hbapiitm.h *source/vm/arrays.c *source/vm/codebloc.c *source/vm/garbage.c *source/vm/itemapi.c *source/vm/memvars.c * fixed the order of memory deallocations done in the garbage collector (this will fix many random core dumps/GPF's) * removed unnecessary reference counter inc/dec operations 2000-11-07 22:50 UTC-0800 Ron Pinkas * include/hberrors.h + Added: #define HB_COMP_ERR_BLOCK 47 * source/compiler/hbgenerr.c + Added Error: "Code block contains both macro and declared symbol references" * source/compiler/harbour.c * Made public: hb_compLocalGetPos() and hb_compStaticGetPos() * source/compiler/harbour.slx + Added: char * hb_comp_SLX_LastBlock( BOOL bReset ) * source/compiler/harbour.sly + Added logic to support Early Expansions of Macro within CodeBlock unless parenthesized. + tests/tstblock.prg + New test of Early/Late expansion of Macros within CodeBlocks. 2000-11-07 16:25 UTC+0100 Ryszard Glab *include/hbexpra.c *source/compiler/expropta.c *source/macro/macroa.c *fixed internal _GET_ optimization for macro variables *source/rtl/tgetint.prg *__GET uses macro operator if no initial value is passed and there is no set/get block 2000-11-06 22:10 UTC-0800 Ron Pinkas * source/compiler/cmdcheck.c * utils/hbpp/hbpp.c + Added support for complex Command Line #defines * source/pp/ppcore.c * Renamed ParseDefine() to hb_pp_ParseDefine() and made it public. 2000-11-06 22:43 UTC+0100 JFL (mafact) * source/vm/classes.c Final check on Function directly pushing item on the stack removing every direct use of stacked PHB_ITEM after .VmPush() or accessing them by hb_stack.pBase + n. 2000-11-05 14:40 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed droped redundant spaces in [] strings, by adding STATE_QUOTE3 to strotrim(). ! Fixed conversion of string delimiters in getExpReal() 2000-11-05 19:52 GMT+1 Maurilio Longo * source/vm/hvm.c * I keep getting exceptions during class use due to harbour stack management, so, until all code is checked and made compatible with harbour stack I have increased STACK_INITHB_ITEMS to 2000 (from 100) STACK_EXPANDHB_ITEMS to 200 (20) This is only a temporary workaround. But, at least, I can use harbour for my day to day work :-| This change should not make any difference but to DOS users. 2000-11-05 18:39 GMT+1 Maurilio Longo * config/os2/gcc.cf + added support to -DSIMPLEX define required for SimpLex only code added by Ron. The same change should be applied to /linux/gcc as well, but I can't test it now, so I leave to unix users. 2000-11-05 10:00 UTC+0100 JFL (mafact) * source/vm/classes.c * strcpy( &cString , ... in place of strcpy( cString, ... :-((( 2000-11-05 10:00 UTC+0100 JFL (mafact) * source/vm/classes.c * work around due to the fact HB stack can move from address to address when stack growth. __clsinstsuper() caused GPF 2000-11-04 14:45 UTC-0800 Ron Pinkas * include/hbexpra.c * source/pp/pptable.c ! Excluded Ryszard changes using #if[n]def SIMPLEX from SimpLex version. Ryszard code remains intact for Flex version (including 3 reported bugs). * hb_slex.bc + Added -DSIMPLEX when compiling source/pp/pptable.c, source/compiler/expropta.c, and source/macro/macroa.c /* This allow conditional exclusion of Ryszard changes for SimpLex version. */ /* Todo - have to do same in GNU make */ 2000-11-04 11:17 UTC-0800 Ron Pinkas * makefile.bc Added missing dependancy of source/rtl/tgetint.prg * source/rtl/tgetint.prg ! Improved __GETA() - No longer uses slow function calls to traverse array. bSetGet much faster because it no longer traverses base array every time bSetGet is evaluated, because final array dimension is now compiled into the bSetGet :-) - Removed no longer needed __GetAValue( * tests/testread.prg + Added multi dimension GET test. 2000-11-04 13:35 UTC+0100 Ryszard Glab +source/rtl/tgetint.prg *source/rtl/tget.prg *hb_slex.bc *makefile.bc *makefile.vc *source/rtl/Makefile + tgetint.prg a new file with GetNew(), __GET() and __GETA() functions moved here from tget.prg * __GET() and __GETA() both create a set/get codeblock on the fly with no macro compilation and with no memvar variables * the first argument of __GET() have to be passed by a reference if simple variable is used and set/get codeblock is not specified *include/hbapi.h *include/hbapiitm.h * added hb_itemIncRef/hb_itemDecRef declarations * added hb_codeblockIncRef/hb_codeblockDecRef *include/hbrddcdx.h * added a few more comments * added a forward declaration of _CDXTAG structure *source/vm/codebloc.c *source/vm/itemapi.c *source/vm/memvars.c * fixed reference counting for detached local variables (This should cure many random core dumps/GPFs) *source/compiler/harbour.l *source/compiler/harbour.y *removed the latest Ron's changes *source/compiler/expropta.c *source/macro/macroa.c *include/hbexpra.c * added support for internal _GET_ -> __GET/__GETA translation NOTE: The variable name passed to __GETA can be buggy in some cases, for example: @ 0,0 GET var(other[ i ]):name[ i, 1 ] will pass "var(other" as a variable name (Clipper and Harbour bug) - the correct behaviour will require some more work - there is no simple workaround for this currently *source/pp/pptable.c * removed a hard-coded set/get codeblock from _GET_() arguments list - it is created in __GET/__GETA now NOTE: This is how Clipper works (no variable names conflicts) This will break current Simplex implementation !!! 2000-11-03 16:05 UTC-0800 Ron Pinkas * source/pp/pptable.c * Changed {|u| to {|_1| and := u to := _1 in bSetGet of _GET_(...) to avoid unexpected result with @ X,Y GET u 2000-11-03 15:50 UTC-0800 Ron Pinkas * source/compiler/harbour.sly + Added rule to accept Get and GetA as FunCall * source/compiler/harbour.l + Added support for pseudo function _GET_() * source/compiler/harbour.y + Added _GET_(...) => __GET(...)/__GETA(...) logic from harbour.sly * source/macro/macro.slx * Corrected YY_DECL #define (Thanks John) * source/rtl/tget.prg * include/hbextern.ch - Removed no longer needed _GET_() 2000-11-03 22:30 UTC+0100 (for) Charles,Kwon * source/lang/msgko.c Charles,Kwon update as requested ... 2000-11-02 20:35 UTC-0800 Ron Pinkas * contrib/dot/pp.prg ! Corrected minor bug with [] string delimiters. * contrib/dot/rp_dot.ch + Added rule for EXIT 2000-11-02 15:45 UTC-0800 Ron Pinkas * source/rtl/tget.prg * include/hbextern.ch + Re-added _GET_() until support of __GET() and __GETA() added to harbour.y 2000-11-02 15:20 UTC-0800 Ron Pinkas * source/compiler/harbour.sly + Added support for extended parameters to __GET() and __GETA() ! Corrected 2nd parameter of __GETA() to reflect only the Base Array Name. * source/rtl/tget.prg ! Added support for :SubScript in __GETA() * include/hbextern.ch - Removed _GET_ + Added __GETA 2000-11-02 19:20 GMT -3 Luiz Rafael Culik *doc/en/tbrowse.txt *added missing CVS ID *doc/en/terminal.txt *Fixed typo on MAXROW() doc *doc/en/rddord.txt *Removed 5 dumb lines *doc/en/idle.txt doc/en/garbage.txt *Changes // coments to /* */ *utils/hbdoc/rtf.prg utils/hbdoc/genrtf.prg utils/hbdoc/hbdoc.prg *Small Changes *utils/hbdoc/genrtf.prg utils/hbdoc/genrtf.prg *Small Fix to work with $CLASSDOC$ style headers *tests/testbrw.prg *small fixes 2000-11-02 00:10 GMT -3 Luiz Rafael Culik *doc/en/tbrowse.txt *Small changes *doc/en/terminal.txt +Row(),COL(),PROW(),PCOL() documentes *doc/en/rddord.txt *small changes *doc/en/rddmisc.txt *Fixed an typo on AFields Doc *doc/en/rddsdb.txt *Small fix on dbCreate() doc *utils/hbdoc/rtf.prg utils/hbdoc/genrtf.prg utils/hbdoc/hbdoc.prg *Small Changes 2000-11-01 17:25 UTC-0800 Ron Pinkas * source/compiler/harbour.sly ! Optimized _GET_ support. + Added support for GET of ObjectData and ObjectData ArrayIndex. * source/rtl/tget.prg + Added method ParsePict() and logic to support dynamic modification of the picture by altering :Picture as in Clipper. * tests/testread.prg + Added line to demonstrate GET of ObjectData and dynamic modification of a PICTURE clause. 2000-11-01 15:00 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c * contrib/rdd_ads/rddads.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrdddel.h * include/hbrddsdf.h * include/hbrddwrk.h * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/delim1.c * source/rdd/sdf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfntx/dbfntx1.c * Global replaces to fix RecAll/Recall and ReadOnly/Readonly inconsistencies. RDD AUTHORS !!!! This may break your code! I did several tests and all seems fine. 2000-11-01 04:25 UTC-0800 Ron Pinkas * source/compiler/harbour.slx + Added support for pseudo function _GET_(...) * source/compiler/harbour.sly + Added support for pseudo function _GET_(...) to be converted into appropriate __GET(...) or __GETA(...) * source/rtl/tget.prg + Added __GETA() to correctly support early binding of Array Element Index of GET * tests/testread.prg + Added code to test correct (early) binding of Array Element Index of GET 2000-10-31 20:56 GMT+1 JFL (Mafact) * source/vm/classes.c * Bug correction where __OBJHASMSG() returned True when no msg exist in some case 2000-10-30 18:51 GMT+2 Maurilio Longo * contrib/mysql/* * little changes chasing a bug :-| 2000-10-27 18:05 GMT+2 Maurilio Longo * contrib/mysql/tmysql.prg * contrib/mysql/tsqlbrw.prg * changes / fixes. 2000-10-27 08:50 UTC-0800 Ron Pinkas * source/compiler/genc.c * source/compiler/genhrb.c * source/compiler/genjava.c * source/compiler/genobj32.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.slx * source/compiler/harbour.sly * source/compiler/harbour.y - Removed License Exception from core compiler files that are not part of HVM or HRL /* Dave, could you please verify this is correct. */ 2000-10-27 10:40 UTC+0100 Ryszard Glab *include/hbrddcdx.h *some comments added *source/rdd/dbfcdx/dbfcdx1.c * result of macro evaluation (hb_macroRun()) has to be popped from the stack * added some comments 2000-10-26 22:10 GMT -3 Luiz Rafael Culik *Changelog renamed to ChangeLog.009 and started an new one *doc/genhtm.rsp +Tbrowse.txt added +doc/en/tbrowse.txt *Document for tbrowse class. please note this is still in progress *source/rtl/tbrowse.prg +Clipper 5.3 applykey() and setkey() methods added *test/testbrw.prg *Small changes to allow the use of applykey() method if is compiled with HB_COMPAT_C53 *utils/hbdoc/genhtm.prg utils/hbdoc/genrtf.prg utils/hbdoc/html.prg utils/hbdoc/rtf.prg *Small changes when the $CLASSDOC$ is used for class documenting 2000-10-26 01:08 UTC+0800 Brian Hays * source/rdd/dbcmd.c * fixed these functions to accept 0 or NIL to access current order ordKey ordFor ordBagName ordName ordNumber 2000-10-25 23:55 UTC+0800 Brian Hays * source/rdd/dbcmd.c * * contrib/rdd_ads/ads1.c * fixed skip ( >1 or < -1 ) * fixed dbCreate dupe alias error and memory leaks * contrib/rdd_ads/doc/en/readme.txt * added Maximum Tables Configuration info * workarea.c * fixed hb_waSkipFilter to limit lToSkip to 1 when passed to SkipRaw * doc\en\rdddb.txt * fixed dbCreate() 4th parameter docs 2000-10-25 15:00 UTC-0400 David G. Holm * source/pp/ppcore.c ! Neither Cygwin nor IBM VAC++ supports sys_errlist. 2000-10-25 13:45 GMT+3 Alexander Kresin * source/pp/ppcore.c * fixed problem, reported by John Skelton * utils/hbpp/hbpp.c * it was broken, table of predefined commands wasn't set. 2000-10-23 23:29 GMT+2 Maurilio Longo * contrib/mysql/*.prg * changes / fixes as needed :-) * include/hbdbf.h + added #pragma pack() for GCC under OS/2 2000-10-23 14:00 UTC-0400 David G. Holm * include/hbver.h * Bumped revision code to "i" and date to 2000-10-23 in preparation for another interim release. 2000-10-23 18:15 GMT+2 Maurilio Longo * source/rtl/teditor.prg + added KeyboardHook() and IdleHook() methods. * contrib/mysql/tsqlbrw.prg + little changes. 2000-10-22 09:05 UTC+0800 Ron Pinkas * source/compiler/simplex.c ! Corrrected bug reported by Luiz regarding menuto.prg * source/compiler/harbour.slx ! Corrected 1 debug trace message. * contrib/dot/pp.prg ! Corrected "Unbalanced '{'" warning reported by John. ! Corrected 2 typos in variable names reported by John. 2000-10-21 23:02 GMT+2 Maurilio Longo * source/vm/hvm.c + Added an exception handler to be able to print a full harbour level stack trace upon abnormal program termination. This is OS/2 only. * source/rtl/gtos2/gtos2.c ! Little change on extended chars handling. Should make no difference. * include/hbdefs.h * changed to have OS/2 exception management defines included. 2000-10-20 00:30 UTC+0800 Ron Pinkas * contrib/dot/pp.prg * Forced uppercase and trim of restricted words. 2000-10-19 23:15 UTC+0800 Ron Pinkas * contrib/dot/pp.prg * Minor corrections. 2000-10-19 22:00 UTC+0800 Ron Pinkas * contrib/dot/pp.prg ! Fixed checking of stoppers for #XCOMMAND/#XTRANSLATE /* No longer known issues - I think it's ready for serious testing ;-) */ 2000-10-19 19:40 UTC+0800 Ron Pinkas * contrib/dot/pp.prg ! Added logic to support multi-word stoppers needed by multi-word restricted list, like [ ] /* Only 1 known error remains in processing of fwh/samples/fwbrow.prg */ * include/hbclass.ch * Temprarily removed \ preceding < of not existing match markers, in nested # directive in result. /* Need to be readded once PP is fixed. */ 2000-10-19 16:25 UTC-0400 David G. Holm * source/rtl/gtwin.gtwin.c ! Fixed bug in if test for discarding accent key strokes. 2000-10-19 11:00 UTC+0800 Ron Pinkas * contrib/dot/pp.prg ! Corrected bug with #else 2000-10-19 10:35 UTC+0800 Ron Pinkas * contrib/dot/pp.prg ! Corrected bug with nested #if... ! Corrected handling of EOF. /* 2 minor bugs in PP of fwh/samples/fwbrow found, and still pending. */ 2000-10-19 01:10 UTC+0800 Ron Pinkas * contrib/dot/pp.prg * Corrected few errors in matching logic, and 1 error in compilation logic. /* Tested to correctly pre-process FiveWin code, sample used: FWBrow.prg which uses many of the FiveWin classes. */ 2000-10-18 01:30 UTC+0800 Ron Pinkas * contrib/dot/pp.prg ! More corrections and refinments in pre-processing * Improved handling of command line parameters (no longer requires -P, -CCH doesn't require -U) ! Corrected handling of file extension. * include/hbclass.ch * Corrected to \ when result marker not a match marker. * Corrected to (result marker used match marker format). 2000-10-17 21:15 UTC+0200 JFL (mafact) * include/hbclass.ch * Minor typo's corrected as John's indication 2000-10-17 11:35 UTC+0800 Ron Pinkas * contrib/dot/pp.prg ! Fixed few more associations within NextExp() + Added logic to auto create vars refernced in command line. /* Now the DOT prompt is much more functional, in both Clipper and Harbour. */ 2000-10-17 18:21 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg ! ::DispCell() was using Lef(Str(xValue)) when xValue was a Numeric one, this is wrong since ends up showing nothing if column width is less than number width (10 for Str()) * contrib/mysql/tmysql.prg * contrib/mysql/tsqlbrw.prg ! various fixes and changes. 2000-10-17 11:10 UTC+0100 Ryszard Glab *source/vm/codeblock.c * PRIVATE variables created during a codeblock evaluation have the scope of EVAL function (they are not visible after an evaluation) 2000-10-17 00:55 UTC+0800 Ron Pinkas * contrib/dot ! contrib/dot/pp.prg ! Fixed bug with processing of #include within #ifdef ! Fixed handling of unterminated strings crossing file read buffer boundaries. ! Fixed association of := and -> within NextExp() /* I'm now able to PP my largest prg without any difference from Clipper (other then minor spacing differences). */ 2000-10-16 20:22 GMT+1 Victor Szakats * source/rtl/run.c ! __RUN() fixed. 2000-10-16 04:10 UTC+0800 Ron Pinkas + contrib/dot + contrib/dot/pp.prg + contrib/dot/rp_dot.prg /* 1st. version of a self contained Clipper/Harbour Pre-Processor and a "DOT" prompt environment, written in the Clipper language. */ 2000-10-15 14:25 UTC+0100 Ryszard Glab *source/compiler/harbour.l *source/macro/macro.l *fixed some minor bugs *source/rdd/rddcpy.c *changed some NULL to 0 to stop warnings in GCC *source/rdd/dbfcdx/dbfcdx1.c *fixed handling of memo free blocks *fixed some warnings when compiled with GCC 2000-10-15 12:45 UTC+0800 Brian Hays * source/rdd/dbcmd.c * fixed ordKey (and therefore IndexKey() ) to accept a NIL parameter * contrib/rdd_ads/ads1.c * Changed SetFilter to see if the server can evaluate the filter. If not, we don't pass it to the server and let the super level filter the records locally. This means UDFs and public memvar references will still work, although you lose the benefits of having a remote server when doing this. * contrib/rdd_ads/doc/en/readme.txt + Added Compliance section ALL USERS NOTICE: ACE will always automatically open a structural index (with the same name as the data file). There is no way to turn this feature off. 2000-10-13 11:50 GMT+3 Alexander Kresin * source/rdd/dbcmd.c * source/rdd/dbfcdx/dbfcdx1.c * include/hbrddcdx.h * fixed some warnings, added few HB_TRACE_ 2000-10-13 0:33 UTC+0800 Brian Hays * source/rdd/dbcmd.c fixed ORDKEY to accept 0 as a parameter (to get current index's key) * contrib/rdd_ads/ads1.c * added to adsSkip() a check for skip -1 from EOF. ADS behavior is to go to TOP if EOF had been reached by GO LASTREC()+1. Forced to Go Bottom instead, to stay compatible with standard behavior. * source/rdd/workarea.c * added a TODO note to review questionable code in hb_waSkipFilter 2000-10-12 23:50 UTC-0400 David G. Holm * include/hbver.h % Bumped the revision code to "h" and the date to 2000-10-12 for an interim build with the latest ADS and DBFCDX fixes. 2000-10-12 20:30 GMT +0200 JFL (mafact) * source/rdd/dbfcdx/dbfcdx1.c * added casts, posted by John Skelton 2000-10-12 10:30 GMT+3 Alexander Kresin * source/rdd/rddcpy.c * added casts, posted by John Skelton * contrib/rdd_ads/ads1.c * minor bug fixed in adsSeek() 2000-10-11 3:58 UTC+0800 Brian Hays Re-posting changes that had a CVS error yesterday... * contrib/rdd_ads/ads1.c * fixed gpf when getting values at Eof * Fixed Bof problem in child areas. Alexander: I had to remove the recently added adsBof() because we have repositioned to record 1 when at Bof, so ADS no longer thinks it's Bof. The adsEof does fix the other problem, though. All my tests pass now, so I think we're finally done with Bof issues ;-) 2000-10-11 13:40 GMT -0300 Horacio D. Roldan * source/rdd/dbfcdx/dbfcdx1.c Fixed a bug in ordCreate that corrupted the dbf 2000-10-10 21:15 GMT -3 Luiz Rafael Culik *source/rtl/dummy.prg Removed __DBAPP() function 2000-10-10 16:35 UTC-0400 David G. Holm * include/hbver.h % Bumped the revision code to "g" and the date to 2000-10-10 for an interim build with the latest ADS RDD enhancements. 2000-10-10 16:30 UTC-0400 David G. Holm * include/hberrors.h * source/compiler/hbgenerr.c * source/pp/pplib.c * source/util/hbpp/hbpp.c % Changed the two char * parameters for hb_compGenError() and hb_compGenWarning() to const char *. * source/pp/ppcore.c % Removed the artificial nested include file limit test and replaced it with a test for errno == EMFILE after returning from the OpenInclude() function, which starts by clearing errno and does not try to search the path if the standard open attempt results in errno being set to EMFILE. % Added displaying the C RTL error message corresponding to errno if OpenInclude() returns an error that isn't EMFILE. 2000-10-10 16:12 GMT+3 Alexander Kresin *contrib/rdd_ads/ads1.c * fixed bug with creating compound indexes, reported by Antonio Linares 2000-10-10 14:50 GMT+3 Alexander Kresin * source/rdd/workarea.c * fixed bug, related to fields handling ( there was a bug report by David Thornley in harbourusers ) 2000-10-10 12:50 GMT+3 Alexander Kresin * contrib/mysql/mysql.c * Fix in sqlConnect() for support of versions > 3.22.00 2000-10-10 10:58 GMT+3 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.h * added #pragma pack(1) and #pragma pack() for structure alignment with GNU C compiler 2000-10-10 00:37 GMT -0300 Horacio D. Roldan * source/include/hbrddcdx.h * source/rdd/dbfcdx/dbfcdx1.c + source/rdd/dbfcdx/dbfcdx1.h + source/rdd/dbfcdx/dbfcdx2.h added support for ordlistadd, gotop/bottom/skip/seek. 2000-10-09 22:53 UTC+0200 JFL (mafact) * TGET.PRG Small improvement within :Undo() method to allow update of the var (As John Skelton remark) Also, the standart class name is now Get in place of Tget. This is for compatibility with Cl*pper code where oGet:Classname() should return Get and not Tget. To insure full compatibility with other code relying on Tget, I also maintain a TGet Subclass of Get. 2000-10-09 22:15 UTC+0200 JFL (mafact) * HBCLASS.CH corrected some tipo where accessName became accesName 2000-10-09 2:01 UTC+0800 Brian Hays * contrib/rdd_ads/adsfunc.c * fixed ADSGETRELKEYPOS to work without an index * contrib/rdd_ads/ads1.c * fixed errors with GoTo 0 in adsGoTo + added adsSysName() so rddname() works now * maintained ulRecCount in adsOpen, adsPack and adsGoTo * source/rdd/workarea.c * fixed debug trace of changed parameter name 2000-10-07 21:15 GMT -3 Luiz Rafael Culik *contrib/pdflib/pdfhbdoc.c +code to handle Tables *utils/hdboc/genpfdf1.prg *Uncommented out Table handling code *utils/hdboc/hbdoc.prg *Fixed an small bug *source/rtl/dummy.prg -__DBAPP() and __DBCOPY() functions *doc/funclist.txt *update some function status *contrib/rdd_ads/doc/en/adsfuncs.txt *small formating 2000-10-07 22:16 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * Added methods adsEof() and adsBof() for fixing problem with relations, noted by Brian Hays 2000-10-07 09:50 GMT+3 Alexander Kresin * source/rdd/dbcmd.c * added #include "rddcpy.c" to the end of file. + source/rdd/rddcpy.c + implementation of APPEND FROM and COPY TO by Harrier 2000-10-06 23:00 GMT -3 Luiz Rafael Culik +doc\es\binnum.txt doc\es\browse.txt doc\es\command.txt doc\es\compiler.txt doc\es\datetime.txt doc\es\array.txt doc\es\diskspac.txt doc\es\error.txt doc\es\eval.txt doc\es\garbage.txt doc\es\lang.txt doc\es\memo.txt doc\es\dir.txt doc\es\hb_set.txt *Spanish translations of the docs provided by Alejandro de Garate and Edison Suarez 2000-10-05 16:00 UTC-0400 David G. Holm * source/compiler/cmdcheck.c ! Corrected new bug in my earlier "fix" of handling the -g option (I left in the 'break', but should have left in the 'continue'). 2000-10-05 15:00 UTC-0400 David G. Holm * source/compiler/cmdcheck.c ! Corrected handling of 'g' option when option lead-in is '-'. 2000-10-03 231:45 UTC+0100 JFL * source/compiler/hbpcode.c * uprated kolpas limit counter from 3 to 20 to allow more neested #command to be matched * include/hbclass.ch * Added two compatibility #define allowing somebody to disable either the autoInherit of tObject (HB_CLS_NOTOBJECT) or to not auto initiate logical and Numerical var by default (HB_CLS_NOAUTOINIT) * source/rtl/tclass.prg * Added optional param to addmultidata and aadmulticlsdata to control the autoinit (see previous addons) * source/vm/classes.c * Scoping error when scoped var where used from inline 2000-10-02 13:00 UTC+0800 Ron Pinkas * source/compiler/hbpcode.c * Corrected 1 compiler warning. * source/pp/ppcomp.c * Cleaned-up and corrected bug when rules files had an #include directive. + Added CloseInclude() and moved relevant logic into it. * source/pp/ppcore.c - Removed unused s_iIncludes, and hb_pp_nEmptyStrings * utils/hbpp/hbpp.c + Added local hb_pp_nEmptyStrings to hb_pp_Parse() 2000-10-02 12:45 UTC-0400 David G. Holm * source/pp/ppcore.c ! The include file limit check now uses hb_comp_files.iFiles instead of the static variable that never got decremented. 2000-10-01 18:25 GMT+2 Maurilio Longo *source/rtl/tbrowse.prg ! PageDown() and GoBottom() methods weren't working when number of available record was lower than available display space (::RowCount). ! Presence and need to draw header and/or footers is evaluated during column insertion/deletion calling method Configure(). Method Configure() _has_ to be called when an already added TBColumn object is changed. *tests/testbrw.prg ! Added call to Configure() method tion/deletion calling method Configure(). Method Configure() _has_ to be called when an already added TBColumn object is changed. *tests/testbrw.prg ! Added call to Configure() method 2000-09-30 22:22 GMT+2 Maurilio Longo *contrib/mysql/tmysql.prg ! fixes / changes to work with tsqlbrw.prg +contrib/mysql/tsqlbrw.prg * fixes / changes - work in progress. 2000-09-30 09:50 GMT+3 Alexander Kresin * contrib/mysql/mysql.c * minor change for support of Win32 + contrib/mysql/make_b32.bat + contrib/mysql/makefile.bc + makefiles added for Borland C 2000-09-30 13:28 GMT+2 Maurilio Longo *source/rtl/tbrowse.prg * moved browse init to New() method. TBrowseNew() function is now empty and simply returns TBrowse():New(...) ! Browser wasn't able to handle columns wider than available display area. Now columns are resized (oCol:Width) if it is necessary to do so. ! PanLeft() wasn't working. 2000-09-29 00:07 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c * source/rdd/dbcmd.c * source/rtl/dummy.prg * implemented ordKeyNo() * fixed checkBofEof need to skipfilter without infinite loop * ads1.c line 492 added (int) to clear warning re comparing different types 2000-09-29 09:50 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * Fixed problem with dbCreate() ( there still remains some others ) * Fixed warnings in adsfunc.c * Fixed bug in adsExecuteSqlDirect() - cursor now is closed before calling of AdsExecuteSqlDirect() + Added functions: adsPrepareSql() adsExecuteSql() 2000-09-28 13:45 UTC-0400 David G. Holm * include/hbver.h % Bumped the revision code to "f" and the date to 2000-09-28 for an interim build with the latest ADS RDD enhancements. 2000-09-28 14:20 GMT+3 Alexander Kresin * include/hbapirdd.h * contrib/rdd_ads/rddads.h * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * Fixed handling of ADT tables + Added implementation of SQL support in ADS RDD ( beginning ) + Added functions: adsConnect() adsCreateSqlStatement() adsExecuteSqlDirect() adsCopyTable() adsConvertTable() 2000-09-27 10:15 GMT+3 Alexander Kresin * source/rdd/dbcmd.c * source/rdd/workarea.c * fixed some bugs in dbSetRelation() and hb_waClearRel() noted by Brian Hays 2000-09-26 15:00 UTC-0400 David G. Holm * include/hbver.h % Bumped the revision code to "e" and the date to 2000-09-26 for another interim build with the latest ADS RDD fixes. 2000-09-26 15:05 GMT+3 Alexander Kresin * source/rdd/dbcmd.c * Added new function rddInsertAreaNode() for following using in SQL functions of RDD ADS 2000-09-25 18:05 GMT+2 Maurilio Longo *contrib/mysql/tmysql.prg ! fixes / changes to work with tsqlbrw.prg +contrib/mysql/tsqlbrw.prg * fixes / changes - work in progress. 2000-09-24 21:24 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c ! Fixed retrieval of logical fields NOTICE!! before, logical fields returned incorrect values! 2000-09-23 10:10 UTC+0800 Ron Pinkas * source/compiler/harbour.l * Removed TODO 4 Char abbreviation (done few weeks back). 2000-09-23 10:00 UTC+0800 Ron Pinkas * include/hbclass.ch * Changed AS ... from ALL CAPS to Capitalized, to avoid conflict with FWH #defines, for those not using modified DLL.CH 2000-09-23 15:55 GMT+2 Maurilio Longo *contrib/mysql/tmysql.prg ! a couple of little fixes. +contrib/mysql/tsqlbrw.prg + a TBrowser for a query (needs a lot of extra work) *contrib/mysql/makefile + added tsqlbrw.prg to compiled files *source/rtl/tbcolumn.prg * moved column init to New() method. TBColumnNew() function is now empty and simply returns TBColumn():New(...) 2000-09-22 18:27 GMT+2 Maurilio Longo *contrib/mysql/tmysql.prg ! a couple of little fixes. 2000-09-21 19:00 GMT -3 Luiz Rafael Culik *utils/hdboc/hbdoc.prg *Fixed an small error reported by SID 2000-09-21 16:30 UTC-0400 David G. Holm * include/hbver.h % Bumped the revision code to "d" and the date to 2000-09-21 for another interim build with the latest ADS RDD fixes. * source/rtl/filesys.c ! Corrected the 2000-08-28 22:50 UTC+0100 fix for hb_fsLock() for DJGPP to exclude all other GNUC builds. 2000-09-21 16:30 GMT+3 Alexander Kresin * source/pp/pptable.c * changed rule for setrelations .... scoped 2000-09-21 15:23 GMT+3 Alexander Kresin * source/rdd/workarea.c * source/rdd/dbcmd.c * Relations now working for RDD ADS again 2000-09-21 12:59 GMT+3 Alexander Kresin * source/rdd/workarea.c * source/rdd/dbcmd.c * Some bugs fixed related to ordcondset() * contrib/rdd_ads/ads1.c * Conditional indexing implemented 2000-09-21 00:40 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c ! fixed buffer allocation and item assignment in adsOrderListFocus Bug was that a 10-byte tag name came back with an 11th garbage byte 2000-09-19 20:00 GMT -3 Luiz Rafael Culik +contrib/pdflib/pdfhbdoc.c *Wraper functions for PDF generation for HBDOC +contrib/pdflib/pdflib.h *PDflib header file *makefile.bc hb_slex.bc * Added support for PDF generation when -DPDF is used +utils/hdboc/genpfdf1.prg *PDF file generation support *utils/hdboc/hbdoc.prg +Added code to support PDF generation then compiled with -dPDF *contrib/rdd_ads/doc/en/adsfuncs.txt *small formating 2000-09-20 23:36 UTC+0200 JFL (mafact) * harbour/include/hbsetup.ch + added a #define HB_CLS_ENFORCERO to enable full ReadOnly test on DATA * harbour/source/pp/ppcore.c minor reformating whith some comment and CygWin * harbour/source/vm/classes.c + added a #define HB_CLS_ENFORCERO to enable full ReadOnly test on DATA (Now disabled by default to extend compatibility with TopClass and VO) (will be completed later) 2000-09-20 15:30 UTC-0400 David G. Holm * include/hbver.h * Bumped revision to "c" and date to 2000-09-20 for an interim release with the ADS RDD indexing fix. 2000-09-20 11:20 UTC+0800 Brian Hays * source\rdd\dbf1.c !removed reference to unknown pItem in HB_TRACE for hb_dbfUnlockAllRecords * doc/en/garbage.txt * minor grammar fixes * source/rdd/workarea.c ! added Item lock/unlock to SetFilter/Clearfilter so GC won't de-allocate the codeblock (fixes error at close of app for a bad pointer in hb_xfree) 2000-09-20 13:12 GMT+3 Alexander Kresin * source/rdd/workarea.c * include/hbrddwrk.h * added hb_waOrderCondition() function ( from old RDD ) - now indexing works in RDD ADS again 2000-09-20 10:40 GMT+3 Alexander Kresin * source/pp/ppcore.c * fixed bug, reported by J. Lefebvre 2000-09-19 10:40 UTC+0800 Ron Pinkas * source/pp/ppcore.c ! Corrected JFL previous change, which commented a fix that solved problem with code like "@&Row,...". This fix will address both the #xtranslate @@ => ... as well as the previous needed fix. 2000-09-20 00:52 UTC+0200 JFL (mafact) * source/pp/ppcore.c corrected #command @@ => ... #xtranslate = name{ ... * include/hbclass.ch supresses the (now) unneeded #xtranslate := name{ ... as = name{... is working for the two case 2000-09-19 10:40 UTC+0800 Ron Pinkas * config/dos/djgpp.cf + Added support for $(L_USR) 2000-09-19 10:30 UTC+0800 Ron Pinkas * config/c.cf * source/compiler/makefile. * Modified to use harbour.sly rather than harbour.y when using SimpLex. 2000-09-18 09:30 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * source/compiler/harbour.sly * source/compiler/harbour.y * source/compiler/simplex.c * source/macro/macro.slx ! Corrected compiler warnings. 2000-09-17 23:45 UTC+0800 Ron Pinkas * source/compiler/harbour.l ! Corrected definition of _PROCREQ_() * tests/testdecl.prg - Removed 1 line of unspported syntax. * source/macro/macro.slx * source/compiler/harbour.slx % Greatly optimized, much simplified, smaller, and faster. ! Converted all "non conventional" macros to functions. * source/compiler/simplex.c % Greatly optimized, now as fast as Flex based lexer. ! Converted all "non conventional" macros to functions. + Added support for predefind match pattern, {WS} (White Space), in KEYWORDS and WORDS. + source/compiler/harbour.sly * Same as harbour.y, excluding un-needed support for reserved words used as identifiers. /* Harbour.slx works with either harbour.y or harbour.sly, but harbour.sly creates smaller harbour.exe. */ * hb_slex.bc * Modified to use harbour.sly 2000-09-15 17:45 UTC-0400 David G. Holm * include/hbver.h * Bumped revision to "b" and date to 2000-09-15 for another interim release. * source/vm/Makefile % If compiling for the w32 hb_architecture, then compile both the mainstd.c and mainwin.c modules instead of main.c, so that the same library can be used to make both console and windows applications. 2000-09-14 10:23 UTC+0800 Brian Hays * contrib/rdd_ads/ads1.c * adsSkip(): fix for dbskip(0) * contrib/rdd_ads/doc/en/readme.txt * formatting tweaks + contrib/rdd_ads/doc/en/adsfuncs.txt + docs for exposed functions in adsfunc.c (work in progress)) * source/rdd/workarea.c * fixed some spelling in TRACE calls 2000-09-13 16:45 UTC-0400 David G. Holm * include/hbver.h * Bumped revision to "a" and date to 2000-09-13 for an interim release. * contrib/rdd_ads/ads1.c ! Added #include to avoid warning for use of tolower() in strcmpNoCase(). * source/rtl/filesys.c ! Excluded __RSXNT__ from the DOS-centric lock/unlock #elif block in hb_fsLock() 2000-09-11 13:45 UTC-0400 David G. Holm * source/rdd/dbf1.c ! Modified hb_dbfGetValue() and hb_dbfPutValue() to use double conversions instead of long conversions when the length of a numeric database field without any decimal places exceeds 9. 2000-09-08 03:50 UTC+0800 Ron Pinkas * config/dos/djgpp.cf + Added support for $(C_USER) and $(L_USER) /* Could someone please verify, that this is the correct way. */ * source/compiler/simplex.c + Added: #define SUSPEND_WORDS 8192, and minor support logic. * source/compiler/harbour.slx ! Removed 14 #defines, and 14 cases from hb_lex_CustomAction(), by taking advantage of SUSPEND_WORDS. * source/macro/macro.slx - Removed 1 unused variable. 2000-09-07 00:10 UTC+0800 Ron Pinkas * include/hbcomp.h * source/compiler/harbour.c + Added: char hb_comp_cCastType * source/compiler/harbour.y ! Optimized AsType + Added: support for type casting like: Var := FunCal() AS ... and, return Var AS ... /* Todo: add support for Array[n] := ... AS ..., and oVar:Data := ... AS ... */ * source/compiler/hbpcode.c + Added type casting support to: HB_P_POPLOCAL HB_P_POPLOCALNEAR HB_P_POPMEMVAR HB_P_POPSTATIC HB_P_RETVALUE * include/hbclass.ch + Added type casting to resolve Strong Type warnings: return s_oClass:Instance() AS CLASS _CLASS_NAME_ local Self AS CLASS := QSelf() AS CLASS /* Note: Strong Type code, and Class code, should compile with upto -w4, without [invalid] Strong Type warnings. */ 2000-09-06 12:40 UTC+0800 Ron Pinkas * source/compiler/harbour.l + Added AS CHAR[ACTER] for compatibility with FW (FW can't use #translate AS CHAR => AS STRING, because FW also uses AS CHAR in DLL calls where AS CHAR refers to *native* char type). ! Correted AS ... to allow multiple space/tab, and support abbreviations. * source/compiler/simplex.c + Added KEYWORD_ACTION() and WORD_ACTION() macros. * source/macro/macro.slx ! Optimized numerous HB_*_ID to a single HB_IDENTIFIER. * source/compiler/harbour.slx + Added AS CHAR[ACTER] for compatibility with FW (FW can't use #translate AS CHAR => AS STRING, because FW also uses AS CHAR in DLL calls where AS CHAR refers to *native* char type. ! Optimized numerous HB_*_ID to a single HB_IDENTIFIER. * include/hbclass.ch * Changed _ to in HB_MEMBER directives. + Added AS CLASS to LOCAL Self := QSelf() * tests/testdecl.prg + Added code to demonstrate missing support for class memeber RT type protection (AS ...) 2000-09-06 04:33 GMT+1 Antonio Linares * include/hbclass.ch <_MethodName> changed into _ 2000-09-05 15:30 UTC+0800 Ron Pinkas * include/hbclass.ch ! Changed AS STRING to AS String, AS NUMERIC to AS Numeric, AS OBJECT to AS Object to avoid collision with FW #defines in dll.ch. 2000-09-05 14:45 UTC-0400 David G. Holm * config/dos/bcc16.cf + Include L_USR in LDFLAGS, so that the user flags will be placed into the temporary link scripts. * config/dos/global.cf + Added support for HB_COMPILER being set to "emx". * config/os2/global.cf + Added RM support option for "del /q" when not running under OS/2, which uses "del /n". 2000-09-05 21:30 GMT+1 Bruno Cantero * contrib/rdd_ads/ads1.c * Bug fixed! 2000-09-05 14:47 GMT+1 Bruno Cantero * contrib/rdd_ads/ads1.c * contrib/rdd_ads/rddads.h * Minor correction. 2000-09-02 13:10 UTC+0800 Ron Pinkas * include/hbclass.ch ! Changed @MEthod() to @MethodName() to avoid possible conflicts with #translate METHO()... 2000-09-02 12:45 UTC+0800 Ron Pinkas * source/pp/ppcore.c + Added new kind of Result Marker - OMIT, singinfied as <-Identifier-> /* This allows for custom code based on existence of optional clause, when the value of the clause itself is not needed */ * include/hbclass.ch * Took advantage of new Omit Result Marker, changed [<.ctor.> AS CLASS _CLASS_NAME_] to [<-ctor-> AS CLASS _CLASS_NAME_] * source/compiler/harbour.y - Removed rules for DummyTrue, used in _HB_MEMBER (no longer needed) 2000-09-02 09:00 UTC+0800 Ron Pinkas * hb_slex.bc * Synchronized with makefile.bc * include/hbclass.ch + Added: [AS ] optional clause to all Methods/Messages syntax. + Added directives to generate class declaration from same class creation code. * include/hbcomp.h * source/compiler/harbour.c + Added: char hb_comp_cDataListType; * source/compiler/harbour.l + Added support for new _HB_CLASS and _HB_MEMBER alternate class declaration syntax. * source/macro/macro.slx ! Moved .T., .Y., .F., and, .N. from self contained words to words. * source/compiler/harbour.slx ! Moved .T., .Y., .F., and, .N. from self contained words to words. + Added support for new _HB_CLASS and _HB_MEMBER alternate class declaration syntax. * source/compiler/harbour.y ! Improved definition of formal and optional paramter lists. + Added support for alternate class declaration syntax: _HB_CLASS ClassName _HB_MEMBER { [AS ...] Var1, VarN } _HB_MEMBER MethodName( [ [OPTIONAL] [@]FormalParam [AS ...] | @FunPointer() ] ) [ AS ... ] /* This syntax allows the class declaration to be on multiple seperated lines (needed to allow utilization of class creation code.) Tokens _HB_CLASS & _HB_MEMBER are not final, until some discussion with Ryszard. */ * source/compiler/hbpcode.c * Completed classes strong type support for adaptive type variable. * source/rtl/tlabel.prg * source/rtl/treport.prg ! Corrected typos: AS {} -> INIT {} AS ARRAY, AS .T. -> INIT .T. AS LOGICAL etc.. * tests/testdecl.prg * Changed to demonstrate class creation used as declaration. * utils/hbtest/hbtest.prg * Changed DBFNTX -> DBFCDX (was not working because DBFNTX is disabled. 2000-09-02 11:00 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg ! fixed right most header, footer and column painting. In particular if (space available - space occupied by columns) gives an odd number a char was left "dirty" on screen. I don't know if column separators suffer from same bug. 2000-09-02 10:19 GMT+1 Bruno Cantero * include/hbset.h * source/rtl/set.c * source/rdd/dbfcdx/dbfcdx1.c ! Changed SET_AUTOSHARE, now accept three values: 0: AUTOSHARE disabled. 1: AUTOSHARE enabled. 2: force exclusive mode. 2000-09-02 09:37 GMT+1 Bruno Cantero * contrib/rdd_ads/rddads.h * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * Now RDD ADS compile (not tested). 2000-09-02 07:56 GMT+1 Bruno Cantero * source/rtl/gtcgi/gtcgi.c + Added ( BYTE * ) casting to hb_gt_AdjustPos() parameter calls. + Added ( char * ) casting to out_stdout() parameter calls. 2000-09-02 00:08 GMT+1 Bruno Cantero + include/hbdbf.h + include/hbrddcdx.h * makefile.bc * makefile.vc * source/rdd/dbfcdx/Makefile * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/rddsys.prg + Added DBFCDX files to makefiles and reactivate it. By now is the default driver (rddsys.prg). * include/hbrdddbf.h * source/rdd/dbcmd.c * source/rdd/workarea.c * source/rdd/hbdbsort.c * Fixed some warnings. * tests/newrdd.prg + Added CVS header Id. * tests/testcdx.prg * Test FPT memos. 2000-09-01 13:55 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg ! fixed hilighting and dehilighting of cells if field is logical; that is logical cells value is centered on cell width so cursor position needs to be centered too. 2000-08-30 00:19 UTC+0100 Victor Szakats * makefile.vc * makefile.bc + GTCGI added to the make process. 2000-08-30 10:48 GMT+1 Bruno Cantero * source/rdd/dbf1.c * Fixed two warning. 2000-08-30 10:40 GMT+1 Bruno Cantero * include/hbrdddbf.h * source/rdd/dbcmd.c * source/rdd/dbf1.c * tests/newrdd.prg + Added missing memo functions. 2000-08-28 22:50 UTC+0100 Victor Szakats * config/dos/global.cf * config/linux/global.cf * config/os2/global.cf * config/w32/global.cf + GTCGI added to the default list of GT drivers built for all platforms. * bin/bld.sh ! == changed to = * include/Makefile + Added new header files. * source/compiler/hbusage.c ! Made even more CA-Clipper like. * source/rdd/dbsort.prg % Minor opt. * source/rtl/filesys.c ! Fixed hb_fsLock() for DJGPP * utils/hbtest/rt_main.ch ! Fixed pp macro for FlagShip * source/rdd/dbstrux.prg * source/rtl/objfunc.prg * source/rtl/tobject.prg * Formatting. * source/rtl/console.c * Fix in one comment. * source/rtl/inkey.c % One variable optimized out. * Minor formatting. * source/rtl/run.c % Minor opt. 2000-08-29 22:00 GMT+1 Bruno Cantero * include/hbapirdd.h * Changed WORKAREA structure, 100% Clipper compatible. ! Uncommented disabled RDD methods. + include/hbrddwrk.h + source/rdd/workarea.c + Basic RDD (waNew, waOpen, ...) like Clipper. * source/rdd/dbcmd.c + Added __dbArrange(), dbInfo(), dbFieldInfo(), dbRecordInfo(), dbFileGet() and dbFilePut() functions. ! Removed default RDD functions. * source/rtl/dummy.prg ! Removed __dbArrange(), dbSort(), dbInfo(), dbFieldInfo(), dbRecordInfo(), dbFileGet() and dbFilePut() functions. + include/hbdbsort.h + source/rdd/dbsort.prg + source/rdd/hbdbsort.c + Added dbSort() function. + include/hbrdddbf.h + include/hbrdddel.h + include/hbrddsdf.h * source/rdd/dbf0.prg * source/rdd/dbf1.c * source/rdd/delim0.prg * source/rdd/delim1.c * source/rdd/sdf0.prg * source/rdd/sdf1.c * Changed and added functions, now 100% Clipper compatible. * source/rdd/dbfntx/dbfntx0.prg * Disabled RDD (broken). * source/rdd/Makefile + Added new files. * source/rdd/dbfntx/Makefile * source/rdd/dbfcdx/Makefile * Disabled DBFNTX and DBFCDX RDD's. * makefile.bc * makefile.vc * Disabled DBFNTX and DBFCDX RDD's. + Added new files. + tests/Makefile + tests/newrdd.prg + Test file for new DBF RDD. 2000-08-28 17:00 UTC+0800 Ron Pinkas * source/compiler/harbour.y - Removed 1 un-needed hb_comp_szDeclaredFun = NULL * source/compiler/hbpcode.c ! Completed declared parameter checking, for method applied to Adapted Type Variable. 2000-08-28 15:00 UTC+0800 Ron Pinkas * include/hbcomp.h + Added: extern void hb_compDeclaredParameterAdd( char * szVarName, BYTE cValueType ); * source/compiler/harbour.y ! Changed hb_compVariableAdd() to hb_compDeclaredParameterAdd() for Declaration Rules. * source/compiler/harbour.c ! Moved logic from hb_compVariableAdd() to new hb_compDeclaredParameterAdd() for "dummy" variables (Declaration Parameters). * source/compiler/hbpcode.c ! Minor corrections. 2000-08-28 12:03 UTC+0800 Brian Hays * contrib/rdd_ads/doc/en/readme.txt * small formatting changes * contrib/rdd_ads/adsfunc.c * adsKeyCount: fixed parameter checking to look at ISNIL/ISNUM instead of pcount (had a bug if called adsKeyCount(,,ADS_RESPECTFILTERS)) * adsCustomizeAOF: fixed parameter checks and retrieval of a record# as a long fixed array reference to 0 for first element in C array * doc/en/idle.txt * misc. grammar fixes * doc/en/misc.txt * removed a stray character 2000-08-28 10:35 UTC+0800 Ron Pinkas * source/compiler/harbour.c * source/compiler/harbour.y + Added support for DECLARE FunName(...) AS CLASS ClassName + Added support for DECLARE FunName( ... @SomeFun() ... ) - Function Pointer declared parameter. * source/compiler/simplex.c * Corrected some compiler warnings. * source/compiler/harbour.slx * Reenabled support for ID_ON_HOLD. * include/hberror.h + Added: #define HB_COMP_WARN_RETURN_SUSPECT 28 * source/compiler/hbgenerr.c + Added: "4Suspecious return type: \'%s\' expected: \'%s\'" * source/compiler/hbpcode.c + Completed support for Strong Typed variables as declared classes, as well as Adaptive Typed usage with declared classes. * Few other corrections and enhancements. * include/hbclass.ch + Added TClass declaration: DECLARE TClass ; New( cName AS STRING, OPTIONAL SuperParams ) AS CLASS TClass ; Create() AS OBJECT; Instance() AS OBJECT ; AddClsMthds( cName AS STRING, @Method(), nScope AS NUMERIC, n2 AS NUMERIC, n3 AS NUMERIC ); AddMultiClsData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING ); AddMultiData( cType AS STRING, uVal, nScope AS NUMERIC, aDatas AS ARRAY OF STRING ); AddMethod( cName AS STRING, @Method(), nScope AS NUMERIC ); AddInLine( cName AS STRING, bBlock AS CODEBLOCK, nScope AS NUMERIC ); AddVirtual( cName AS STRING ) + Added declaration to s_oClass AS CLASS TClass * tests/testdecl.prg * Minor refinement. 2000-08-27 20:10 UTC+0500 April White * source/rtl/setkey.c * bug in setkey() - was not adding hotkey to internal list 2000-08-22 21:10 UTC+0800 Ron Pinkas * source/compiler/simplex.c * Corrected Reset at >>>>>>> 1.2574 2000-08-22 10:40 UTC+0800 Ron Pinkas * source/compiler/simplex.c * source/compiler/harbour.slx * source/macro/macro.slx ! Removed un-needed calls to strlen(). 2000-08-21 15:45 UTC+0800 Ron Pinkas * source/compiler/simplex.c ! Optimized Keywords and Words search, Lexer is ~5% faster. * source/compiler/harbour.slx * source/macro/macro.slx ! Sorted Keywords and Words, to support optimized search, by simplex. 2000-08-21 15:18 GMT+3 Alexander Kresin *source/rdd/dbcmd.c * fixed bugs, reported by Juergen Baez 2000-08-17 12:18 UTC+0100 Victor Szakats * include/hbver.h + Version bumped * include/hbcomp.h * source/compiler/harbour.c * source/compiler/harbour.slx % Removed hb_comp_bSimplex variable, which was practically unused. * source/lang/msgid.c * source/lang/Makefile * makefile.bc * makefile.vc * Minor correction (alphabetical order). * source/compiler/harbour.l + AS USUAL added. I could not make this HB_COMPAT_VO dependent, so this is left as a TODO. 2000-08-16 18:40 UTC+0800 Brian Hays * contrib/rdd_ads/doc/en/readme.txt * added small fixes and a note about default ADSLOC32.DLL limit of 5 users (an unlimited version is available for free) * doc/en/garbage.txt * minor grammar changes; added SeeAlso for hb_idlestate 2000-08-16 12:35 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * SEEK works now for numeric indexes in RDD_ADS 2000-08-15 23:40 UTC+0800 Ron Pinkas * source/compiler/harbour.slx ! Corrected support for stringified strings to include nested string delimiters in the LITERAL. /* Please note, both lexers are subject to extreme rare incomatibility, with direct code as follow: ? [" 1st. char is a Quote, last charcter is not.] ; MoreCode := [other SB delimited str ending with quote."] I can't see that being a real problem on one hand, and I don't know that we can flag a specific LITERAL within any given line as a PP stringified, as opposed to direct code, unless PP generates a specific [inline] marker for lexer. Since Clipper PPO of stringified string does NOT compile, I tend to think that's what Clipper does. Finally, since Clipper can't compile such PPO of valid code, I would suggest that if we ever decide to correct this, we include the "marker" in PPO output too, making it valid. */ 2000-08-15 18:25 UTC+0800 Ron Pinkas * source/compiler/simplex.c + Added support for multi-charcters Stream Start and Stream End delimiters. + Added overidable MACROs STREAM_OPEN(x), STREAM_APPEND(x) ! Removed Hardcoded limits, changed to overidable #defines: MAX_STREAM, MAX_STREAM_STARTER, MAX_STREAM_TERMINATOR, MAX_STREAM_EXCLUSIONS * source/macro/macroslx.c + Added: #define MAX_STREAM 2048 /* Max length of in-line LITERAL */ #define MAX_STREAM_STARTER 2 #define MAX_STREAM_TERMINATOR 2 #define MAX_STREAM_EXCLUSIONS 2 * source/compiler/hbslex.c + Added: #define MAX_STREAM 2048 /* Max length of in-line LITERAL */ #define MAX_STREAM_STARTER 7 /* "QOUT([" */ #define MAX_STREAM_TERMINATOR 4 /* "])\n" */ #define MAX_STREAM_EXCLUSIONS 2 * source/macro/macro.slx * Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT() * source/compiler/harbour.slx + Added: #define NUMERALS_PER_LINE 512 * Replaced AND_IGNORE_DELIMITERS() with TEST_LEFT() + Added support for TEXT ENDTEXT (pending some more work in PP), nested [[]] strings and double delimiters stringified strings. + Added MACROs STREAM_OPEN( sStarter ) and STREAM_APPEND(x) 2000-08-15 21:15 GMT -3 Luiz Rafael Culik *utils/hbdoc/hbdoc.prg utils/hbdoc/genhtm.prg * A small fix that i forget to upload on previus CVS session 2000-08-15 20:40 UTC+0100 Ryszard Glab *include/hbexprc.c *source/compiler/exproptc.c *fixed unused variable warning source/compiler/harbour.l *fixed some warnings reported by BCC *some final optimization 2000-08-15 14:40 GMT -3 Luiz Rafael Culik * doc/en/cmdline.txt * Formated text added by Victor *utils/hbdoc/hbdoc.prg utils/hbdoc/genchm.prg * Generated Content file for Windows .CHM help now match Windows .HLP help 2000-08-15 22:00 UTC+0700 Andi Jahja * source/lang/msgid.c * source/lang/Makefile * makefile.bc * makefile.vc + Indonesian language module updated. 2000-08-14 18:45 UTC+0800 Ron Pinkas * doc/whatsnew.txt + Added simplex. 2000-08-15 02:48 UTC+0100 Victor Szakats ; Waiting for some minor patches before the new release. * source/common/hbver.c + QUESTION: added about bit depth detection. * doc/whatsnew.txt + Few new items added. * doc/en/cmdline.txt + Missing part added. * source/lang/msgko.c * tests/keywords.prg * samples/pe/editorhi.prg ! Tabs removed. * source/vm/mainwin.c * Some formatting. * Fixed form MSVC * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c ! Fixed for MSVC 2000-08-14 14:45 UTC-0400 David G. Holm * contrib/rdd_ads/ace.h + Added separate test for RSXNT for definition of ENTRYPOINT. * contrib/rdd_ads/ads1.c + Added #include to eliminate implicit declaration of function 'tolower' warning in function `strcmpNoCase' * contrib/rdd_ads/adsfunc.c - Eliminated unused variable 'ulRetVal' in functions HB_FUN_ADSISENCRYPTIONENABLED, HB_FUN_ADSISRECORDENCRYPTED, and HB_FUN_ADSISTABLEENCRYPTED. 2000-08-14 11:00 GMT+3 Alexander Kresin * source/rtl/gtwin/gtwin.c * fixed handling of arrow keys for international keyboards * this need to be checked for different keyboards ( now it works * for my :) ) Changelog: 2000-08-13 15:20 UTC+0500 April White * doc/en/ - removed hbapi.txt hbcompat.txt hbset.txt 2000-08-13 15:58 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * include/hbapirdd.h * source/rdd/dbcmd.c * source/pp/pptable.c Scoped relations implemented in RDD ADS. Added extra parameter to dbSetRelation() - forth, it is .T., in case of using scoped relation. Changed syntax of SET RELATION command, it is now: SET RELATION [ADDITIVE] [SCOPED] TO ... INTO ... 2000-08-13 06:55 GMT + 1 Antonio Linares * source/vm/mainwin.c Enhanced so it now process command line arguments. (bug reported by Patrick Mast) 2000-08-12 20:20 GMT -3 Luiz Rafael Culik *doc/en/compiler.txt doc/en/harbext.txt doc/en/var.txt doc/en/file.txt doc/en/hvm.txt doc/en/math.txt doc/en/subcodes.txt *Small formating Correct the case of some categories +doc/en/cmdline.txt *Formated as an hbdoc source. *doc/genhtm.rsp +added cmdline.txt to response file *utils/hbdoc/genhtm.prg utils/hbdoc/genchm.prg *Fixed an small Bug *utils/hbdoc/hbdoc.prg utils/hbdoc/genrtf.prg utils/hbdoc/rtf.prg *Added code to generate the Winhelp .cnt file dinanmicall,So every time the doc is updated , the winhelp.cnt file will also be updated. Changelog: 2000-08-12 20:00 UTC+0500 April White disregard my: 2000-07-29 03:00 UTC+0500 TODO: remove the old hb*.txt files from doc/en * doc/en/ + hb_api.txt hb_apier.txt hb_apifs.txt hb_apigt.txt hb_apiit.txt + hb_apiln.txt hb_apird.txt hb_compa.txt hb_date.txt hb_macro.txt + hb_set.txt hb_vm.txt * doc/genhtm.rsp + added references to the above 2000-08-12 15:20 UTC+0100 Ryszard Glab *source/pp/ppcode.c * fixed '\`' into '`' to stop warning in GCC *source/compiler/harbour.l * fixed handling of TEXT/ENDTEXT - it is not active now 'if( 0 )' since it requires more support from the preprocessor. The preprocessor have to set some flag when text block is processed to suppres errorneous compilation if normal (not preprocessed) code in case of: QOUT([some]) ; QOUT([string]) * added support for nested '[]' string delimiters that can be created by the preprocessor * fixed handling of 'FOR(' syntax - it is now fully Clipper compatible. *source/compiler/harbour.y * fixed handling of FOR (expression):=... TO ... syntax ( Clipper compiles: FOR (a:=1,b:=2,i):=1 TO 10 ) although it needs some more work. 2000-07-29 03:00 UTC+0500 April White + doc/en/ + (re)added hbvm.txt, hbapiitm.txt, hbapirdd.txt, hbmacro.txt, hbapigt.txt, hbapilng.txt, hbdate.txt, hbapifs.txt, hbapierr.txt * doc/en/ * replaced hbapi.txt, hbcompat.txt, hbset.txt 2000-08-11 11:25 GMT+3 Alexander Kresin * source/pp/ppcore.c * Bug fixed, noted by Victor Szel 2000-08-11 08:55 UTC+0100 Ryszard Glab *source/compiler/harbour.l * added support for code generated by the preprocessed TEXT/ENDTEXT NOTE: Since it is not implemented yet in harbour preprocessor I have followed Clipper method here. Every line of TEXT/ENDTEXT is preprocessed into QOUT("...") or QOUT([...]) with no spaces. [] string delimiters are used if any combination of "'[] are used inside a text. Notice that during preprocessing of normal code when [] string delimiters are used then Clipper uses the first closing ] character as a string terminator. 2000-08-10 14:30 UTC-0400 David G. Holm * source/rdd/dbcmd.c ! Assign szAlias in DBSETRELATION a default value of NULL in order to eliminate a compile-time warning. 2000-08-10 17:33 UTC+0100 Ryszard Glab *source/compiler/harbour.l * fixed DO DECLARE syntax 2000-08-10 11:50 UTC+0100 Ryszard Glab *source/compiler/harbour.l * fixed handling of while[] and case[] * YY_USER_ACTION placed into a comment (the resulting object file is 20kB smaller) 2000-08-09 20:00 UTC+0800 Ron Pinkas * source/compiler/simplex.c * Corrected support for BREAK ( ). 2000-08-09 17:15 UTC+0800 Ron Pinkas * source/compiler/simplex.c * Minor improvements. * source/compiler/harbour.slx - Removed un-needed cases in hb_lex_CustomAction() added by Ryszard. - Removed 1 rule each for WHILE CASE BREAK and RETURN to default trailing '[' to string delimiter. * tests/keywords.prg * Corrected few lines that had '[' as Array Index to String Delimiter after CASE, BREAK etc. /* Note keywords.prg should now be valid other than 3 (old) correct errors to do with FIELD*/ SimpLex based harbour does compile it correctly Flex reports 26 incorrect errors. 2000-08-09 15:30 UTC-0400 David G. Holm * source/pp/ppcore.c ! Reset s_iIncludes to zero in hb_pp_init(), so that the include file nesting limit will not accumulate for multiple compilation. 2000-08-09 14:15 UTC+0100 Ryszard Glab *source/compiler/harbour.slx * fixed to work with current syntax rules in harbour.y 2000-08-09 07:10 GMT-3 Luiz Rafael Culik *doc/en/sayget.txt *doc/en/file.txt *small formating *utils/hbdoc/genhtm.prg *utils/hbdoc/genrtf.prg *utils/hbdoc/hbdoc.prg *small changes 2000-08-08 12:11 GMT+2 Maurilio Longo * source/common/hbver.c ! fixed a couple of new warning from last change ;-) 2000-08-09 09:25 UTC+0100 Ryszard Glab *source/compiler/harbour.l * fixed RETURN [string] syntax 2000-08-08 17:15 UTC-0400 David G. Holm * tests/fsplit.prg + Added a MAIN() wrapper, so that the program will work with all versions of Harbour. ! Changed nbyte parameter in fsplit() to actually be numeric. ! Changed the read/write buffer size to match the split size, so that the program will actually split the input file into multiple files of the desired size, rather than using a size that is the next largest multiple of 8KB. * tests/onidle.prg ! Changed text to match program behaviour (i.e., press any key or wait 30 seconds). * tests/testwarn.prg + Changes THEMAIN() to MAIN(), so that the program will work with all versions of Harbour. 2000-08-08 18:05 UTC+0100 Ryszard Glab *include/hberrors.h *source/compiler/hbgenerr.c * added error: CASE or OTHERWISE does not match DO CASE" if CASE or OTHERWISE is used outside of DO CASE/ENDCASE *source/compiler/harbour.l * cleaned or fixed many rules * fixed support for [] string delimiters * fixed support for DO fun WITH (expr) * see changes in harbour.y *source/compiler/harbour.y *moved here rules for: | OPTIONAL | LOOP | EXIT | IN | EXTERN | ANNOUNCE | LOCAL | MEMVAR | STATIC | PRIVATE | PUBLIC | PARAMETERS | PROCREQ These keywords are treated simmilar to IDENTIFIER (they should fill yyval.string member) The generated code is much smaller and faster. NOTE: Ron, this breaks harbour.slx rules !!! 2000-08-08 12:11 GMT+2 Maurilio Longo * source/common/hbver.c ! fixed Operating System/2 version report (broken since it wasn't taking into account that from OS/2 3.x version number is inside QSV_VERSION_MINOR and that QSV_ constants need to be decremented by one to access correct values inside array. 2000-08-08 02:00 UTC+0800 Ron Pinkas * source/compiler/harbour.c * Corrected display of errors statistics to use \r so that error count doen't appear connected to the last reported compiler line number progress. * source/macro/macro.slx - Removed unused asHold * source/compiler/harbour.slx - Removed unused asHold - Optimized some rules. * source/compiler/simplex.c - Removed unused asHold * tests/keywords.prg * Uncommented all code that was commented other than few lines which I added TODO: PP ... for (problem resulting from PP) 2000-08-07 12:20 UTC+0800 Ron Pinkas * source/compiler/harbour.y + Added support for OPTIONAL Var... as first parameter[s] of declared function. * tests/testdecl.prg + Added: DECLARE SomeFunc( OPTIONAL SomeVar AS STRING ) and DECLARE SomeFunc( OPTIONAL SomeVar AS STRING, OPTIONAL OtherVar ) to test syntax of OPTIONAL as first parameter[s] of declared function. * source/compiler/harbour.slx - Removed few redundant rules. * Improved handling of INC/DEC 2000-08-07 09:05 UTC+0800 Ron Pinkas * source/compiler/harbour.l + Added rule to allow DECLARE Var AS ... (like PRIVATE Var AS ...) * source/compiler/harbour.slx + Added rule to allow DECLARE Var AS ... (like PRIVATE Var AS ...) ! Corrected typo with DECLARE IDENTIFIER := rule. ! Corrected compiler warnings reported by Maurilio * tests/testdecl.prg + Added DECLARE Var9 AS STRING to test this syntax too. 2000-08-07 16:20 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg ! lines 671..680: if tbrowse was stable current cell was not hilited again, this breaks dbu.exe which expects that a call to Stabilize() method hilites current cell even if it is already hilited. Look at dbuedit.prg 188..194 to see what I mean; in short: editing of a field value was happening at wrong screen position. 2000-08-06 18:50 UTC+0800 Ron Pinkas * source/compiler/harbour.slx ! Few more memory optimizations. 2000-08-06 01:40 UTC+0800 Ron Pinkas * source/compiler/harbour.slx ! Optimized rules, removed ~100 rules. Rules are simpler, smaller, and faster. * source/compiler/simplex.c + Added: bIgnoreWords (allows for reserve words check to be suspened). + Added: iLastToken to save last read Token + Added immediate call to CUSTOM_ACTION for Keys, Words, and Selfs, without having to reduce first (when requested). * Optimized Keys search to not check bNewLine on every iteration. 2000-08-04 23:15 GMT-3 Luiz Rafael Culik * contrib/hbzlib/zlibapi1.c * contrib/hbzlib/zipfile2.c *Fixed some bugs when compiling with OS/2 GCC 2000-08-04 13:00 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * Optimized rules for WITH 2000-08-04 19:00 UTC-0400 David G. Holm * source/rtl/run.c * Changed submitted by Marek Paliwoda 2000-08-04 13:00 UTC+0800 Ron Pinkas * source/macro/macro.slx * source/compiler/harbour.slx + Added (int) casting to isalpha() parameter calls. * source/compiler/hbslex.c * Removed extra empty line. * include/hberrors.h + Added #define HB_PP_ERR_TOO_MANY_INCLUDES 17 * source/pp/ppcore.c + Added : #define HB_PP_MAX_INCLUDES FOPEN_MAX - 5 - 1 (Victor ?) + Added : "Too many nested #includes, can\'t open: \'%s\'" + Added logic to protect against too many nested includes. * source/macro/macro.slx * source/compiler/harbour.slx + Added (int) casting to isalpha() parameter calls. * source/compiler/hbslex.c * Removed extra empty line. * include/hberrors.h + Added #define HB_PP_ERR_TOO_MANY_INCLUDES 17 * source/pp/ppcore.c + Addded: #define HB_PP_MAX_INCLUDES FOPEN_MAX - 5 - 1 (Victor ?) + Added : "Too many nested #includes, can\'t open: \'%s\'" + Added logic to protect against too many nested includes. 2000-08-04 09:20 GMT+2 Maurilio Longo * contrib/hbzlib/zlibapi1.c * contrib/hbzlib/zipfile2.c + added #include and logic to identify OS/2 GCC 2000-08-03 18:50 UTC+0800 Ron Pinkas * source/compiler/harbour.c * Added call to hb_pp_init() between multiple prg compilations. 20000803-13:13 GMT+2 Maurilio Longo * source/macro/macro.slx + added id tag * source/compiler/harbour.slx + added id tag * source/compiler/hbslex.c + added id tag 20000803-13:08 GMT+2 Maurilio Longo * config/os2/global.cf + first command of clean: tag requires a double backslash 2000-08-03 01:55 UTC+0800 Ron Pinkas * include/hberrors.h * Removed #define HB_PP_ERR_INCLUDE_CYCLIC * source/pp/ppcore.c * Removed Cyclic #include detection logic. * source/compiler/simplex.c * Removed some unneeded comments. 2000-08-02 19:50 UTC+0800 Ron Pinkas * include/hberrors.h * Changed #define HB_PP_ERR_INCLUDE_SELF to HB_PP_ERR_INCLUDE_CYCLIC * source/pp/ppcore.c * Changed "Can\'t #include self \'%s\'" to "Cyclic #include not allowed: \'%s\'" * Changed self refernce #include detection, to detect any #include of an already opened file. 2000-08-02 14:10 UTC+0800 Ron Pinkas * source/compiler/harbour.l * Changed USUAL to ANYTYPE 2000-08-02 14:05 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * Changed VARIANT to ANYTYPE as it appear to be the prefered choice. * source/compiler/hbpcode.c * Changed \[ to [ to correct compiler warnings. * Changed Usual. to AnyType. 2000-08-02 15:55 UTC-0400 David G. Holm * config/os2/global.cf ! Restored to version 1.2, because 1.3 had no tab characters, then reapplied the changes from 1.3 to the restored 1.2 and committed it as 1.4. 2000-08-02 21:10 UTC+0100 Ryszard Glab *doc/whatsnew.txt * added polish language modules *source/compiler/harbour.l * fixed support for ANNOUNCE and _PROCREQ_ * optimized some other rules 2000-08-02 14:45 UTC-0400 David G. Holm * config/c.cf ! Restored to version 1.9, because 1.10 has the same content, but has bad line endings and an EOF char. 2000-08-02 11:30 UTC+0800 Ron Pinkas * hb_slex.bc * makefile.bc + Added: -Phb_comp -C to Flex (macro.l) as per GNU make. + Added: -phb_comp to Bison (macro.y) as per GNU make. /* We might need same change in other make files (VC etc.) */ /* BTW, Do we have SimpLex support in those other make files? */ * source/macro/macro.l * source/macro/macro.y - Removed: #define yylex hb_complex * source/macro/macroslx.c - Removed un-needed comment. * source/pp/ppcore.c ! Fixed unintended side effect of UPPER-CASING #include file names. 2000-08-02 09:40 UTC+0800 Ron Pinkas * source/macro/macro.l * source/macro/macro.y + Added: #define yylex hb_complex * source/pp/ppcore.c + Added check for the file path when checking self reference of #include. + Added logic to ignore case when checing self reference of #include. 2000-08-02 15:54 UTC+0300 Chen Kedem * doc/simplex.txt + add missing id tag * re-format for 76 characters per line * doc/en/garbage.txt * doc/en/idle.txt * change // in header to /* */ 20000802-12:58 GMT+2 Maurilio Longo * source/compiler/simplex.c + added missing id tag * source/macro/macroslx.c + added #define yylex hb_complex to make it compile under OS/2 GCC. PLEASE NOTE that I DON'T KNOW why it works and why it is required here but not in hbslex.c. hbtest has one failure less than compiled with flex so I shouldn't be creating problems with this change. * source/macro/Makefile * changed while trying to make macroslx.c works. * config/c.cf * changed while trying to make macroslx.c works. 2000-08-01 20:15 UTC+0800 Ron Pinkas * include/hberrors.h + Added: #define HB_PP_ERR_INCLUDE_SELF 17 * source/pp/ppcore.c + Added Error: "Can\'t #include self \'%s\'" + Added logic to detect self referncing #include directive. 2000-08-02 03:31 UTC+0100 Victor Szakats * source/rtl/dateshb.c * source/rtl/datesx.c ! Fixed HB_SToD() and SToD() to not cause CodeGuard faults on bad parameters. Define HB_FAST_STOD macro to get the previous faster versions. * makefile.bc * Small formatting. 2000-08-02 03:14 UTC+0100 Victor Szakats * source/common/hbver.c + Better, generic detection for bits. 2000-08-01-21:20 GMT -3 Luiz Rafael Culik *contrib/hbzlib/zipfile2.c %some enhacements and fixed a bug inside hb___GetFilesNamesFromZip *contrib/hbzlib/zipfile.c contrib/hbzlib/zlibapi1.c *Fixed a Bug reported by Patrick Mast -doc/idle.txt +doc/en/idle.txt *Moved to the en/ directory *Description of IDLE stated became a topic also *doc/genhtm.rsp +en/idle.txt -en/hb*.txt Removed all api entries file names *doc/en/garbage.txt *small formating *utils/hbdoc/genng.prg *Fixed an small bug *makefile.bc hb_slex.bc + .autodepend macro added 20000801-21:55 GMT+2 Maurilio Longo * config/os2/global.cf ! fixed removing of nested subdir (HB_ARCHITECTURE/HB_COMPILER) that under OS/2 you need to remove from the bottom up and not a single DEL command * source/compiler/cmdcheck.c ! removed GCC warning since isdigit() expects an int but was called with a char 2000-08-01 12:10 UTC+0800 Ron Pinkas * source/compiler/cmdcheck.c + Added support for "new style" switches specs, for command line arguments. /* Note: */ I did *not* implement same for the Environment Variables parsing. 2000-08-01 21:10 UTC+0100 Victor Szakats + doc/cmdline.txt + Command line handling spec added. 2000-08-01 21:03 UTC+0100 Victor Szakats * source/common/hbver.c + Added CPP info to the build info page. + Added 16bit vs 32bit to the Borland compiler info. 20000801-19:28 GMT+2 Maurilio Longo * source/common/hbver.c ! fixed sprintf() warnings for OS/2 and removed revision number since it is always 0. 2000-08-01 18:20 UTC+0100 Ryszard Glab *include/hbapi.h * modified HB_MACRO structure *source/macro/macro.l * optimized support for array index *source/compiler/harbour.c *source/compiler/harbour.y *fixed some unreleased memory blocks reported by CodeGuard *source/compiler/hbident.c *changed size of hash table to 509 *source/macro/Makefile * removed CR characters NOTE: All sources HAVE TO be rebuild !!! 2000-07-31 20:25 UTC+0800 Ron Pinkas * source/compiler/cmdcheck.c + Added support for multiple switches, without seperator, like: -n-w 2000-07-31 18:20 UTC+0800 Ron Pinkas * source/compiler/harbour.slx - Removed few redundant rules. + Added logic to check for orphan LOOP, EXIT, or NEXT, and produce standard errors. + Added check to check for &', &", or &[, and produce standard error. * source/macro/macro.slx + Added logic to check for &', &", or &[, and produce standard error. * Minor formating. 2000-08-01 06:30 UTC+0700 Jose Lalin * source/compiler/hbgenerr.c Bug fixes as reported by Andi Jahja 2000-07-31 09:00 UTC+0800 Ron Pinkas * source/compiler/simplex.c * source/macro/macro.slx ! Corrected compiler warnings * tests/testwarn.prg * utils/hbdoc/ft_funcs.prg * Commented AS USUAL until votes results tabulated 2000-07-31 11:30 UTC-0400 David G. Holm * source/rtl/gtsln/gtsln.c * Changes submitted by Marek Paliwoda 2000-07-31 14:32 UTC+0100 Victor Szakats * utils/hbdoc/ft_funcs.prg ! Fixed to match changed strong typing syntax. 2000-07-31 11:23 CET Patrick Mast * contrib/hbzlib/doc/zip.txt * Changes and corrections. 20000731-09:18 GMT+2 Maurilio Longo * source/macro/macroslx.c + added missing id tag 20000731-09:00 GMT+2 Maurilio Longo * source/macro/Makefile + added macroslx.c compilation instead of flex lexer if HB_LEX is set to SIMPLEX * source/macro/macroslx.c + added relative path in include commands to let gcc find correct files 2000-07-30 22:50 UTC+0800 Ron Pinkas * source/macro/macro.slx ! Corrected unreleased memory block. * source/compiler/harbour.slx ! Corrected unreleased memory block. 2000-07-30 21:15 UTC+0800 Ron Pinkas * source/compiler/harbour.slx - Removed unneeded comment. * source/compiler/simplex.c * Changed void yy_bytes_buffer() to void *. 2000-07-31 00:10 GMT -3 Luiz Rafael Culik *contrib/hbzlib/zipfile2.c *some Enhacementes +contrib/hbzlib/zipfile.c +contrib/hbzlic/zlibapi1.c *Re added as diferent name *hb___CheckFile() bug fixed *contrib/hbzlib/makefile.bc *updated to reflect the new files names 2000-07-30 17:30 UTC+0800 Ron Pinkas + source/macro/macro.slx + source/macro/macroslx.c + Added SimpLex based macro lexer * hb_slex.bc * Modified to use SimpLex based macro support. /* Could some one please add same to GNU make system? */ * source/compiler/simplex.c * Added void yy_bytes_buffer() 2000-07-30 12:45 UTC+0800 Ron Pinkas * source/compiler/harbour.slx - Removed AS CHARACTER, AS BOOLEAN, AS OBJ, AS NUM /* Left AS VARIANT and AS USUAL until vote results tabulated. */ * utils/hbdoc/ft_funcs.prg * Changed AS CHAR -> AS STRING and AS NUM to AS NUMERIC * source/compiler/simplex.c * Changed to use YY_DECL macro in declaration of yylex() 2000-07-30 14:32 UTC+0100 Victor Szakats * source/compiler/harbour.l * source/compiler/hbpcode.c * tests/testdecl.prg * tests/testwarn.prg * contrib/hbclip/hbclip.ch * Cleanup up the Strong Typing type keywords to more-or-less match the VO syntax. Note that there's two TODOs according to this. These are the valid keywords now: AS ARRAY AS CODEBLOCK AS STRING AS CLASS AS DATE AS LOGICAL AS NUMERIC AS OBJECT AS USUAL * source/rtl/scroll.c + Two comments added to make optimized code look more clear. 2000-07-29 08:50 UTC+0800 Ron Pinkas * hb_slex.bc * Synchronized with makefile.bc 2000-07-29 17:34 UTC+0100 Victor Szakats * makefile.vc * makefile.bc * source/lang/Makefile + Polish Lang modules added. 2000-07-29 17:25 UTC+0100 Victor Szakats * utils/hbtest/* + Added check for :Arg variable of returned error objects. Note that currently Harbour doesn't support the :Arg var, so many tests will fail which looked OK until now. * source/vm/itemapi.c % Small optimizations. * source/vm/arrays.c - hb_arrayGetBool() removed, since it was the same as hb_arrayGetL(), but had no prototype in hbapi.h. % Small optimizations. * source/rtl/gtapi.c * TRACE call fix in hb_gtSetPos() ! NOTE made more clear. * One buffer size changed to 512 from 500, to be the power of 2. 2000-07-29 07:40 UTC+0800 Ron Pinkas * source/compiler/harbour.slx + Added 2 rules to support DECLARE MACROVAR and DECLARE MACRO TEXT * tests/testdecl.prg ! Fixed to allow it to be run without RT Error 2000-07-29 15:55 UTC+0100 Ryszard Glab *source/compiler/harbour.l * fixed to properly support 'DECLARE var' statement *tests/Makefile *tests/testdecl.prg * added testdecl.prg to Makefile * added some more real life examples :) 2000-07-29 09:45 UTC+0100 Ryszard Glab *include/hbcomp.h * removed declaration of hb_comp_iCompiled and hb_comp_EOL *source/compiler/harbour.c *source/compiler/harbour.l *source/compiler/harbour.y *source/compiler/hbgenerr.c * removed hb_comp_iCompiled and hb_comp_EOL * fixed generation of runtime line numbers to meets numbers maintained by the preprocessor 2000-07-28 15:30 UTC-0400 David G. Holm * source/rtl/gtstd/gtstd.c * Restored to version 1.15 with the extra tracing information from version 1.18. + source/rtl/gtcgi + source/rtl/gtcgi/gtcgi.c + source/rtl/gtcgi/Makefile + source/rtl/mousecgi.c + Formerly gtstd.c, version 1.17, and support files. 2000-07-28 18:40 UTC+0800 Ron Pinkas * hb_slex.bc * Synchronized with makefile.bc 2000-07-29 03:28 UTC+0100 Victor Szakats * include/hbcomp.h * source/compiler/hbusage.c * source/compiler/harbour.c * source/compiler/cmdcheck.c - Removed the command line option to disable jump optimizing. The reason is that this option has an internal debugging purpose, which doesn't cause any practical change to the generated code, at least from a Harbour users POV. If disabling of this pcode generation phase is needed by anyone, we could add a compile-time disabling macro for it. The only reason I can think of disabling this as a user is compiling speed, which may increase by using it, if this is important I think we should rather add a pcode optimization level option, which would be more generic solution for this. 2000-07-29 03:16 UTC+0100 Victor Szakats * source/rtl/gt*/gt*.c ! Extended TRACE call for hb_gtSetPos() with iMethod. 2000-07-29 03:08 UTC+0100 Victor Szakats * source/rtl/oldclear.c * source/rtl/setpos.c * source/rtl/console.c * source/rtl/gtapi.c % Calls to hb_gtSetPosContext(..., _BEFORE) changed to a faster call to hb_gtSetPos(). 2000-07-29 03:00 UTC+0500 April White * doc/en * remove UPPER case files, commited, added lower case files, commited 2000-07-29 02:58 UTC+0100 Victor Szakats * source/lang/msgko.c ! Some fixes (KR -> KO). * source/rdd/dbfntx/dbfntx1.c * source/rtl/dircmd.prg * source/rtl/setkey.c * Minor formatting. * source/rtl/gtapi.c % hb_gtSetPos() now duplicates the code of hb_gtSetPosContext(), instead of calling it, to execute faster. * source/rtl/console.c - Removed TOFIX from EJECT. * include/hbvm.h - Removed double declaration for hb_vmQuit() * include/hbclass.ch * The class syntax disabler macros renamed. - tests/teststru.prg - Removed. * include/hbpp.h * source/pp/ppcore.c + added prototype for ParsePragma ! Some prototypes moved from ppcore to hbpp.h, to keep the externs in the headers. * source/pp/ppcore.c - removed all pragma stuff * source/pp/pragma.c + new file with all the pragmas related stuff * source/pp/Makefile * makefile.bc * makefile.vc Thanks to Jose Lalin. 2000-07-28 14:00 UTC+0800 Ron Pinkas * source/compiler/harbour.slx + Added logic to account for HB_SYMBOL_NAME_LEN + Added 2 rules to support DECLARE SomeVar as in PRIVATE SomeVar as oppose to Strong Type DECLARE SomeClass SomeVar ... + tests/testdecl.prg + Added test program to utilize the DECLARE in its different contexts. 2000-07-28 15:00 UTC-0400 David G. Holm * include/hbapigt.h * source/rtl/gtapi.c * Changed hb_gtSetPos() to hb_gtSetPosContext(). * Restored hb_gtSetPos() with only two parameters for Clipper GT API compatibility (what it does is call hb_gtSetPosContext() with the third parameter set to HB_GT_SET_POS_BEFORE, which still calls the hb_gt_SetPos() function, so that the low-level drivers didn't need to be changed again). * source/rtl/console.c * source/rtl/gtapi.c * source/rtl/oldclear.c * source/rtl/setpos.c * source/rtl/setposbs.c * source/rtl/xsavescr.c * All calls to hb_gtSetPos() changed to hb_gtSetPosContext(). * source/rtl/gtwin/gtwin.c ! Corrected call to hb_gtSetPos() to call hb_gt_SetPos(). 2000-07-28 18:15 UTC+0100 Ryszard Glab *source/compiler/harbour.l * changed handling of array indexes - to code is now simpler, smaller and even more faster :) *source/rtl/gtsln/gtsln.c * fixed error in hb_gtSetPos call *source/rtl/gtstd/gtstd.c * fixed unused wariable warning *source/vm/classes.c * fixed unused variable and unused function warnings (reported with GCC) 2000-07-28 06:30 UTC+0800 Ron Pinkas + doc/simplex.txt + Added 1st draft of SimpLex documentation. * source/compiler/simplex.c + Added overidable macro STREAM_EXCEPTION() * source/compiler/harbour.l * Modified to return every \n to correct line numbers reporting. /* Note: removed note about . after \n, I beleive it was needed to avoid conflict with $ which is no longer used, and should be avoided, due to few other side effects. */ source/compiler/harbour.slx * Standadized un-terminated strings messages. 2000-07-28 00:18 UTC+0500 April White * include/hbapi.h * fixed comment for hb_xgrab() declaration (was 'exists' now 'exits') * doc/en + hbapi.txt + hbapierr.txt + hbapifs.txt + hbapigt.txt + hbapiitm.txt + hbapilng.txt + hbapirdd.txt + hbdate.txt + hbmacro.txt + hbset.txt + hbvm.txt + hbcompatability.txt * doc/genhtm.rsp + entries for above 2000-07-27 18:30 UTC-0400 David G. Holm * source/rtl/gtstd/gtstd.c * This has become the standard terminal library for CGI programs. * The MAXROW() and MAXCOL() values are both 32767. * The row and column positions are maintained independently from the actual device position. * If the device scrolls earlier than the GTSTD driver, this will not be reflected in the GTSTD driver cursor position. * The column position is maintained if all output is in left to right order, but will get messed up for any reverse position. * The row position is maintained if all output is in left to right and top to bottom order, but the device will only be scrolled by one line, regardless of row position change. * All console output goes to stdout and positioning works within the above limitations. * The various BOX() functions work to a limited extent (the row position is ignored, but the column position is honored). * The on-screen cursor is only set when the cursor position is being set before text has been displayed, because it is not possible to set the device cursor without changing it. * source/rtl/gtapi.c * source/rtl/gt*/gt*.c * The hb_gtSetPos() and hb_gt_SetPos functions now takes a third parameter that tells if the cursor position is changing before or after text was displayed. This feature is required by the GTSTD driver, because it can't set the device position without actually changing it. 2000-07-28 00:10 UTC+0200 JfL & RaC * source/rtl/tclass.prg * Some minor modifs I forget to identify before 2000-07-28 00:05 UTC+0200 JfL & RaC * source/vm/classes.c * No more internal message :Class * include\HBCLASS.CH +added two define to allow the use of :Class :Class:xx +added four define active by default HB_FWOCLASS HB_CSYCLASS HB_VOCLASS HB_TOPCLASS If you do not do anything, the OO engine will work as yesterday You can define One or more of those 'FLAG' before HBCLASS.CH within your program to restrict to one or two syntax. ie: Defining HB_FWOCLASS before HBCLASS.CH will solve Bryan problem as :Class and :Class: wil not exist anymore. (But also no VAR, only DATA) !!! This is work in progress !!! It must be improved, I know ! * source/rtl/tobject.prg * Some minor modifs and try * source/rtl/objfunc.prg * Some minor adjustement to allow adding DATAs and Methods dynamically ( work now on some of my Classy program :-))) ) 2000-07-27 19:50 UTC+0100 Ryszard Glab *include/hbexpra.c *source/compiler/expropta.c *fixed GPF/core dump after some syntax errors 2000-07-27 03:50 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * Removed rule for ignoring empty lines, to fix incorrect line numbers in warnigs and errors. 2000-07-27 01:45 UTC+0800 Ron Pinkas * source/compiler/harbour.c ! Corrected pVar->iDeclLine line number * source/compiler/hbgenerr.c ! Corrcted intermitent GPF when hb_compGenWarning() was called with NULL hb_comp_files.pLast 2000-07-27 10:15 UTC+0100 Ryszard Glab *include/error.ch *include/hbapilng.h *added internal error HB_MEMOVERFLOW *adjusted internal data for Lang API *source/lang/msg_tpl.c *source/lang/msgca.c *source/lang/msgcs852.c *source/lang/msgcsiso.c *source/lang/msgcskam.c *source/lang/msgcswin.c *source/lang/msgde.c *source/lang/msgen.c *source/lang/msges.c *source/lang/msgeu.c *source/lang/msgfr.c *source/lang/msggl.c *source/lang/msghe862.c *source/lang/msghewin.c *source/lang/msghr852.c *source/lang/msghriso.c *source/lang/msghu852.c *source/lang/msghucwi.c *source/lang/msghuwin.c *source/lang/msgis850.c *source/lang/msgit.c *source/lang/msgko.c *source/lang/msgpt.c *source/lang/msgro.c *source/lang/msgsr852.c *source/lang/msgsriso.c * added internal error message: "Memory buffer overflow" *source/lang/msgpl852.c *source/lang/msgpliso.c *source/lang/msgplmaz.c *updated to work with current Lang API *source/vm/fm.c * memory blocks are marked with a signature at the end of buffer to check if memory was overwritten *source/rtl/transfrm.c * fixed bug when "@(BX" picture was used (it caused that some bytes were copied after the allocated buffer) 2000-07-27 00:15 GMT -3 Luiz Rafael Culik *source/lang/msgit.c *Renamed TPL to IT *source/lang/msgko.c *Renamed TPL to KR -doc/garbage.txt +doc/en/garbage.txt *Some formating *Removed spaces between see alsos *doc/genhtm.rsp +en/garbage.txt added to hbdoc responde file 20000726-22:50 GMT+2 Maurilio Longo * contrib/mysql/makefile * changed to be harbour gnu make system compatible * contrib/mysql/mysql.c * should now compile with latest version of include files from MySQL. Not tested. * contrib/mysql/tmysql.prg * removed a couple of warnings. 2000-07-26 16:25 UTC-0400 David G. Holm * source/vm/hvm.c ! Made changes to solve problem where double values become integers in hb_vmPushNumber when SET DECIMALS is set to 0. 2000-07-25 22:35 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * Converted CUSTOM_ACTION() macro to a function (hb_lex_CustomAction()). 2000-07-25 19:00 UTC+0100 Ryszard Glab *doc/garbage.txt *doc/idle.txt * added documentation for the garbage collector and idle states *include/hbapigt.h * added declaration of hb_gtSuspend(), hb_gtResume() and hb_gt_Suspend(), hb_gt_Resume() *source/vm/classes.c *source/pp/ppcomp.c * removed unused variable warnings reported by GCC *source/rtl/run.c * added call for hb_gtSuspend() and hb_gtResume() before calling the shell *source/rtl/console.c *source/rtl/gtapi.c *source/rtl/mouseapi.c *source/rtl/gtcrs/gtcrs.c *source/rtl/gtcrs/kbdcrs.c *source/rtl/gtcrs/mousecrs.c *source/rtl/gtdos/gtdos.c *source/rtl/gtos2/gtos2.c *source/rtl/gtpca/gtpca.c *source/rtl/gtsln/gtsln.c *source/rtl/gtstd/gtstd.c *source/rtl/gtwin/gtwin.c * mouse initialization is called directly from low-level GT driver to ommit problems with initialization order using some drivers * added prototypes for hb_gt_Suspend() and hb_gt_Resume() that are called before and after spawning to the shell NOTE: Please add appopriate code for drivers that require it 2000-07-25 09:30 UTC+0800 Ron Pinkas * hb_slex.bc * Synchronized with recent changes to makefile.bc + Added ;source\compiler to $(INCLUDE) * source/compiler/harbour.slx + Added logic to support 2 immediately following identifiers as needed by: DECLARE ClassName ClassVar ... + contrib/hb_struc + contrib/hb_struc/hbstruc.ch + contrib/hb_struc/hbstruc.prg + contrib/hb_struc/teststru.prg 2000-07-25 13:47 UTC+0100 Victor Szakats * source/rtl/errorapi.c * include/hbapierr.h + hb_errRT_BASE_SubstR() added, which will automatically return the substituted value. * source/rtl/abs.c * source/rtl/at.c * source/rtl/chrasc.c * source/rtl/datec.c * source/rtl/dateshb.c * source/rtl/do.c * source/rtl/left.c * source/rtl/len.c * source/rtl/math.c * source/rtl/minmax.c * source/rtl/mod.c * source/rtl/replic.c * source/rtl/round.c * source/rtl/space.c * source/rtl/str.c * source/rtl/strcase.c * source/rtl/strtran.c * source/rtl/strzero.c * source/rtl/substr.c * source/rtl/transfrm.c * source/rtl/trim.c * source/rtl/type.c * source/rtl/val.c * source/vm/arrayshb.c * source/vm/classes.c * source/vm/eval.c * source/vm/hvm.c * source/vm/memvars.c * source/vm/runner.c % hb_errRT_BASE_Subst() -> hb_itemReturn() -> hb_itemRelease() constructs replaced with a simple call to hb_errRT_BASE_SubstR(), this way many local variables were removed, the code got smaller and a bit faster. The error handling code in the RTL functions is very simple now. * source/rtl/setkey.c * Minor formatting. 2000-07-24 18:25 UTC+0800 Ron Pinkas ! tests\test.dbf ! Recovered previous version. 2000-07-25 22:00 GMT -3 Luiz Rafael Culik -contrib/hbzlib/zipfile1.C +contrib/hbzlib/zipfile.c *Renamed to match linux -contrib/hbzlib/makefile +contrib/hbzlib/Makefile *Renamed to match linux -contrib/hbzlib/zlibapi.c +contrib/hbzlib/zlibapi.c *Renamed to match linux *contrib/hbzlib/makefile.bc +Added tzipfile.prg reference and test2.exe reference +contrib/hbzlib/test2.prg *Test file for tzipfile Class +contrib/hbzlib/tzipfile.prg *Tzipfile Class +contrib/hbzlib/tzipfile.ch *Command for tZipClass *contrib/hbzlib/zipfile2.c *some enhacements to hb___GetFilesNamesFromZip() 2000-07-25 00:53 UTC+0100 Victor Szakats * source/vm/itemapi.c + Some NOTEs added to the Eval API functions. 2000-07-25 00:33 UTC+0100 Victor Szakats * source/rtl/setkey.c * source/vm/memvars.c % Minor optimization in Item returning. 2000-07-25 00:23 UTC+0100 Victor Szakats * source/rtl/abs.c * source/rtl/at.c * source/rtl/chrasc.c * source/rtl/datec.c * source/rtl/dateshb.c * source/rtl/dir.c * source/rtl/do.c * source/rtl/idle.c * source/rtl/left.c * source/rtl/len.c * source/rtl/math.c * source/rtl/minmax.c * source/rtl/mod.c * source/rtl/replic.c * source/rtl/round.c * source/rtl/setkey.c * source/rtl/space.c * source/rtl/str.c * source/rtl/strcase.c * source/rtl/strtran.c * source/rtl/strzero.c * source/rtl/substr.c * source/rtl/transfrm.c * source/rtl/trim.c * source/rtl/type.c * source/rtl/val.c * source/vm/arrayshb.c * source/vm/classes.c * source/vm/debug.c * source/vm/eval.c * source/vm/hvm.c * source/vm/memvars.c * source/vm/runner.c % This construct: hb_itemReturn( x ); hb_itemRelease/Clear( x ); converted to this smaller and faster one: hb_itemRelease/Clear( hb_itemReturn( x ) ); Actually the speed increase and binary size decrease is almost zero, but the source code is more compact. This snippet is mostly found in runtime error branches. Some local variables could be eliminated this way. 20000724-22:45 GMT+2 Maurilio Longo + contrib/mysql + contrib/mysql/mysql.c + contrib/mysql/mysql.h + contrib/mysql/mysql_com.h + contrib/mysql/mysql_version.h + contrib/mysql/mysql.ch + contrib/mysql/tmysql.prg + contrib/mysql/dbf2mysql.prg + contrib/mysql/test.prg + contrib/mysql/readme.txt I've ported mSQL access classes to MySQL. There is a lot of work to do to finish them, but, nonetheless, in their present state I've been able to use them to port to MySQL a couple of programs written for mSQL. 2000-07-24 22:28 UTC+0100 Victor Szakats * rdd/dbcmd.c * rtl/errorapi.c * vm/classes.c * vm/fm.c * vm/garbage.c * vm/hvm.c * vm/itemapi.c * vm/memvars.c * include/error.ch * IE_* macros renamed to HB_EI_* to not pollute namespace. ! Removed // comments from error.ch, since it was used in C code. 2000-07-24 22:12 UTC+0100 Victor Szakats * include/hbextern.ch * source/rtl/errorapi.c * source/rtl/tobject.prg * source/vm/classes.c * TOBJECT_ERROR() implemented in Clipper/Harbour instead of C to keep it clean. + __errRT_SBASE() internal function added to throw a substitutable (?) runtime error. * source/lang/msgko.c * source/lang/Makefile * makefile.bc * makefile.vc + Korean language module updated. Thanks to Kwon Oh-Chul. - tests/test.frm + tests/test.frm - Readded in binary mode since it was corrupted. 2000-07-22 23:30 UTC+0800 Ron Pinkas * source/compiler/harbour.slx ! Optimized handling of Hex Numbers. + Added hash support for literal strings. * Increased aTexts[] to 1024 * source/compiler/simplex.c ! Removed todo of pair action. 2000-07-22 23:08 GMT+3 Alexander Kresin * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbgenerr.c * source/pp/ppcomp.c * source/pp/ppcore.c * Line numbering cleanups and fixes 2000-07-18 10:25 UTC+0200 JfL & RaC * source/vm/classes.c * Improvement within hb_clsinst (no more static var) * Improvement within hb_clsinst, hb_getdata(), hb_setdata() Not more indirect pointer ref. by its long value ... * Unreleased block resolved * One function added to improve class(y) compatibility with mess. :Error tObject:Error(cDesc,cClass,cMsg,nCode) +HB_FUNC( TOBJECT_ER ) * include\HBEXTERN.CH +added TOBJECT_ER * source\rtl\TObject.prg Improving Class(y) compatibility + Added :Error(...) message + added :MsgNotFound() automatically called when one msg is not found 2000-07-16-20:30 GMT -3 Luiz Rafael Culik *contrib/hbzlib/hbzip.h +Added declartration to hb___GetFilesNamesFromZip() *contrib/hbzlib/zipfile2.c +Implementation of hb___GetFilesNamesFromZip() *contrib/hbzlib/zipfile1.c +HB_GETFILESINZIP() function ( return the content of a files file in an array % All functons optimized to Speed and Size 2000-07-16 19:00 UTC+0100 Ryszard Glab *include/hbapi.h *source/vm/hvm.c *source/vm/memvars.c * memvars table is deleted in two steps: first clear all public and private variables (without the detached variables) and next free space allocated for memvars table. These two steps are separated with the garbage collector call so self referencing variables will be deallocated properly. 2000-07-16 17:40 UTC+0100 Ryszard Glab *include/hbhash.h *source/common/hash.c * added ulCount and ulUsed members of HB_HASH_TABLE structure * added hb_hashTableResize() function *source/compiler/hbident.c *increased the hash table *source/vm/garbage.c *source/vm/hvm.c * all detached variables are scanned now correctly * on exit the GC is called after cleaning all other internal data structures 2000-07-16 13:38 UTC+0100 Victor Szakats * source/rtl/binnum.c * source/rtl/binnumx.c % Optimized for size and speed. * include/hbdefs.h ! Minor fix to HB_MKUSHORT(), HB_MKSHORT(), HB_MKLONG(), HB_MKULONG() 2000-07-15 20:00 UTC+0100 Ryszard Glab *include/hbexpra.c *include/hbexprb.c *include/hbexprc.c *include/hbexprop.h *source/common/expropt1.c *source/common/expropt2.c *source/compiler/harbour.l *source/macro/macroa.c *source/macro/macrob.c *source/macro/macroc.c * literal strings are now stored in the hash table together with identifiers (only the main compiler not the macro compiler) * expression of string type (created by the exression optimier) stores info it is allowed to deallocate the memory occupied by the string (normally it stores pointer to memory allocated in the identifies table - however after optimization it can store string allocated outside *source/compiler/hbident.c * the hash table is increased to 373 items 2000-07-14 22:40 UTC+0800 Ron Pinkas * source/compiler/harbour.slx ! Removed Todo: Hex Numbers. There are no more known TODOs. 2000-07-15 01:20 UTC+0200 JfL & RaC * source/vm/classes.c * ! minor correction to allow the case where we would be in need of hb_clsdictrealloc during inheritance (no more empty bucket). 2000-07-14 20:25 UTC+0100 Ryszard Glab *source/vm/garbage.c * the garbage collector scans now hb_stack.Return values 2000-07-14 09:40 UTC+0800 Ron Pinkas * source/compiler/simplex.c ! Minor correction, to accept a match, if all rule's tokens used. 2000-07-13 19:00 UTC+0800 Ron Pinkas * source/compiler/harbour.slx ! Removed excess characters at end of #undef directives. 2000-07-13 23:24 UTC+0200 JfL & RaC * source/rtl/tClass.prg * Prepared for InitClass (Not working ) * source/rtl/tObject.prg * Now Default :New and :Init method 'a la Class(y)' * New(x,y,z) automatically call Init(x,y,z) { Very simple implementation limited to 20 params, will be changed asap } 2000-07-13 07:45 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * Corrected premature release of MACROTEXT 2000-07-12 20:45 UTC+0800 Ron Pinkas * source/compiler/harbour.slx * Corrected support for PARAMETERS + Added type casts to allow c++ mode compilation * source/compiler/simplex.c - Removed unused vars. + Added type casts to allow c++ mode compilation 20000712-22:03 GMT+2 Maurilio Longo * source/rtl/teditor.prg + Added a bunch of new methods and in particular full support for a soft cursor, teditor does not rely upon position of hardware cursor anymore. + Added color support * made a few changes to use it as a base for tbrwtext class * source/debug/tbrwtext.prg * changed to use teditor as base class and not tbrowse. This makes it possible to single step inside normal size source code files. Try to single step inside dbu using previous version and you will understand me ;-) * source/debug/debugger.prg * a few changes to accomodate for new tbrwtext class Please note that there is not (yet) support for highlighting of breakpoints. 2000-07-12 14:05 UTC-0400 David G. Holm * source/rdd/dbcmd.c ! Added missing ( AREAP ) type override on line 3529. 2000-07-12 21:41 GMT+3 Alexander Kresin *contrib/rdd_ads/ads1.c * Warning fixed, reported by David G. Holm 2000-07-12 12:30 UTC-0400 David G. Holm * config/c.cf * Changed to force flex to run before gcc, but after bison. * source/compiler/Makefile + Added test for HB_LEX being equal to SIMPLEX to compile Harbour with SimpLex. If HB_LEX is missing or is set to any value other than SIMPLEX, then Lex/Flex is used. 20000712-18:18 GMT+2 Maurilio Longo * source\compiler\Makefile + added hbslex.c and changed to remove flex usage * config\c.cf * changed to force bison to run before gcc 2000-07-12 16:08 GMT+3 Alexander Kresin * source/rdd/dbf1.c * fixed a bug in dbfUpdateRecord() which caused problems with * FieldPut(), noted by Luiz Rafael Culik 2000-07-12-06:50 Luiz Rafael Culik +doc/en/stontype.txt *information of Harbour strong type feature +doc/en/sayget.txt *documentation for @say and @get commands +doc/en/memver.txt *documentation for local,memvar and Field command *doc/en/readme.txt *small fixes 2000-07-12-06:30 Luiz Rafael Culik *contrib/hbzlib/hbzip.h *Added an missing ";" to a function declaration *contrib/hbzlib/makefile.bc *Changes to process hbzlib.dll insted of zlib.dll 2000-07-12 10:25 UTC+0100 Ryszard Glab *source/common/hash.c * items can be removed from the hash table *source/compiler/harbour.l * fixed handling of 'with()' and '( with )' syntax *tests/keywords.prg * updated with few additional tests 2000-07-12 08:46 UTC+0100 Victor Szakats * doc/whatsnew.txt + Added some new items. * source/pp/pptable.c ! .FMT -> .fmt (to be multiplatform friendly) * source/rtl/dummy.prg - DBSETRELATION(), DBCLEARRELATION() removed. * makefile.bc ! Fixed PP dependency for HARBOUR.EXE * source/pp/ppcore.c * source/rdd/dbfntx/dbfntx1.c - Removed // comments * source/rdd/dbfntx/dbfntx1.c ! Fixed some BCC warnings. * source/rdd/dbcmd.c * source/rtl/disksphb.c * source/rtl/errorapi.c * source/rtl/tget.prg * Formatting * utils/hbdoc/Makefile ! Fixed TAB * utils/hbextern/hbextern.prg * utils/hbtest/rt_misc.prg * = assigments -> := * include/hbcomp.h * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y - Removed HB_NESTED_COMPILE. - include/hbstruc.ch - source/rtl/hbstruc.prg - Removed. 2000-07-11 09:30 UTC+0800 Ron Pinkas * hb_slex.bc * Updated to match makefile.bc * source/compiler/harbour.l * source/compiler/harbour.c - Removed refrences to hb_compReleaseStrings() * source/compiler/harbour.slx * Changed identifier reuse logic to use hb_compIdentifierNew() 2000-07-11 12:00 UTC+0100 Ryszard Glab *include/hbhash.h *source/common/hash.c *include/Makefile *source/common/Makefile * new files with reusable hash table implementation *include/hbcomp.h * added #include hbhash.h *source/compiler/Makefile *source/compiler/hbident.c * new file that implements a table of reusable identifiers *source/compiler/harbour.c *source/compiler/harbour.l *source/compiler/harbour.y * changed to use a table of identifiers *makefile.bc *makefile.vc * updated to support the identifiers table 2000-07-10 20:25 UTC+0800 Ron Pinkas * include/hbcomp.h * source/compiler/harbour.y * source/compiler/hbgenerr.c - Removed hb_comp_szFile * source/compiler/harbour.slx * Reduced aStrings and YY_BUF_SIZE to 2048 * source/compiler/simplex.c + Added RTL license exception. 2000-07-10-22:20 Luiz Rafael Culik *contrib/hbzlib/zipfile2.c +hb___GetNumbersofFilestoUnzip(char *szFile) internal function that returns the number of files inside a zip file *contrib/hbzlib/hbzip.h *Added declaration of hb___GetNumbersofFilestoUnzip(char *szFile) *Contrib/hbzlib/zipfile1.c +HB_GETUNZIPFILE() function to return the number of files to extract. 2000-07-10 19:55 UTC+0100 Ryszard Glab *source/vm/garbage.c * removed some '//' coments 2000-07-10 13:05 GMT+3 Alexander Kresin * source/rdd/dbcmd.c * modified: hb_rddCloseAll() + added: virtual methods defclearRel(), defsetRel() + added: functions dbSetRelation(), dbClearRelation() * contrib/rdd_ads/ads1.c + added: virtual methods adsclearRel(), adssetRel() 2000-07-10 11:10 UTC+0100 Ryszard Glab *include/hbcomp.h * added a forward declaration to comiple with Watcom C/C++ *source/compiler/harbour.c * added missing declaration of hb_compReleaseStrings() *source/rtl/errorapi.c * error objects created during error launching called internally are locked to prevent deallocation by the GC *source/rtl/idle.c * changed to call hb_gcCollectAll() *include/hbapi.h *source/vm/arrays.c *source/vm/classes.c *source/vm/codebloc.c *source/vm/garbage.c *source/vm/hvm.c *source/vm/memvars.c * changed the implementation of the GC to use a classical mark-sweep algorithm - this means that all garbage memory blocks are released during a single hb_gcCollectAll() * the garbage collector maintains now the separate list of locked items to prevend premature deallocation of items referenced inside of locked items * during sweep phase the items are checked only once to prevent recursive loops 2000-07-09 01:02 UTC+0800 Ron Pinkas * include/hbcomp.h + Added: external BOOL hb_comp_bSimpLex * source/compiler/harbour.c + Added: BOOL hb_comp_bSimpLex + Added: if( hb_comp_bSimpLex ) tests before releasing name strings of vars, and symbols. + Added: call to hb_compReleaseStrings(), if hb_comp_SimpLes is TRUE, after code generation. * source/compiler/harbour.slx + Added: logic to resuse same allocated strings when string for identifier was perviously allocated. + Added: INIT_ACTION macro to set hb_comp_bSimpLex to TRUE. + Added: Function hb_compReleaseStrings() * source/compiler/harbour.l + Added: empty Function hb_compReleaseStrings() to avoid link error. * source/compiler/hbslex.c * source/compiler/simplex.c * Moved standard #includes from simplex to hbslex. 2000-07-08 19:50 UTC+0800 Ron Pinkas * source\compiler\simplex.c * source\compiler\harbour.slx * Short term copies dynamic memory copies of yytext are being released at . 2000-07-08-22:00 Luiz Rafael Culik *contrib/hbzlib/zipfile2.c contrib/hbzlib/zlibapi.c %more optimized *some variables made global, *some bugs fixed(unzippping functions) *contrib/hbzlib/zipfile1.c +added a new parameter to hb_unzipfile() to control the creation of stored directories *contrib/hbzlib/hbzip.h *some changes *contrib/hbzlib/makefile.bc *Removed -a from impdef command line 2000-07-08 15:10 UTC+0800 Ron Pinkas * source\compiler\simplex.c * Improved handling of WhiteSpace, NewLine, and Eof. * source\compiler\harbour.slx + Added rule to return only last CR in sequence of empty lines. 2000-07-08 10:40 UTC+0100 Ryszard Glab *source/vm/garbage.c * fixed possible endless loop during the garbage collecting (this time for real :-) 2000-07-07 17:30 UTC+0800 Ron Pinkas - include\harbour.slx - source\compiler\harbourl.c + b32_slex.bat + hb_slex.bc + source\compiler\hbslex.c + source\compiler\simplex.c + source\compiler\harbour.slx 2000-07-07 10:30 UTC+0100 Ryszard Glab *source/vm/garbage.c * fixed possible endless loop during the garbage collecting 2000-07-06 14:10 GMT+0100 Ignacio Ortiz * source/rtl/tget.prg * Fixed minor bugs in numbers with decimals and when clause @E was used with numbers 2000-07-05 23:55 UTC+0800 Ron Pinkas + source\include\harbourl.slx + source\compiler\harbourl.c This is a propoesed new Generic Lexer (SimpLex) that along with language definition file (Harbour.slx) consititue the proposed new Harbour Lexer. It is about half the size of the Flex Lexer and Harbour.exe is about 60K smaller. This might help with 16bit mode and or memory limited situations. It belive it offers few benefits over Flex: Simplicity, Readability, and Consitency of the rules. More elegant look ahead/parsing capabilities. Does not require a 3rd party tool (the Tokens & Rules table, is inserted into the Lexer by means of an #include directive. it doesn't need to be "compiled" like the Flex.exe produces harbourl.c from harbour.l. It is much smaller than the Flex generated Lexer. Please note it is not yet optimized for speed, I would love to get your input/suggestion (Ryszard, Victor, Paul, ...). In the process of resaerching the Lex phase I found many "problems" and tried to address them all. It now compiles the full build including keywords.prg (3 compiler (yacc) errors), our previous lexer didn't fully parse keywords.prg Please forward your opinions... 2000-07-04 20:36 UTC+0100 Victor Szakats * source/rtl/teditor.prg * Formatting. 2000-07-04 13:59 GMT+3 Alexander Kresin * contrib/rdd_ads/adsfunc.c * added full set of encryption/decryption functions 2000-07-04 13:59 GMT+3 Alexander Kresin * include/hbapirdd.h * uncommented relational methods in functions table * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfntx/dbfntx1.c * added relational methods definitions to func table * contrib/rdd_ads/ads1.c * added relational methods definitions to func table * fixed adsOrderCreate - now * INDEX ON expression TAG tag TO indexFileName * creates a compound CDX index, if indexFileName is the same, as * current dbf name 2000-07-04 04:05 UTC+0100 Victor Szakats * contrib/odbc/bld_b32.bat ! Fixed. * source/rtl/tget.prg ! Fix by Chen Kedem applied for __GET()/_GET_()/GetNew() not passed setget block bug. * source/rtl/filesys.c ! Fixed bug in hb_fsCurDir[Buff](), it's now stripping the leading "/" path delimiter. * source/rtl/memoline.c % Minor opt. * source/rtl/gtsln/kbsln.c * source/rtl/gtsln/keytrans.c * source/vm/classes.c * Formatting. 2000-07-03 20:00 UTC+0100 Ryszard Glab *source/vm/garbage.c * minor change *source/vm/hvm.c * changed order of the GC call on exit - it is now called before any stack and memvars table releasing *tests/onidle.prg * fixed to demonstrate the latest changes 2000-07-03 13:40 UTC+0100 Ryszard Glab *source/vm/memvars.c * the table of memvars is not checked for references from the GC after all memvars are released 2000-07-03 11:40 UTC+0100 Ryszard Glab *include/hbpp.h *source/pp/ppcore.c * fixed declaration and definition of hb_pp_SetRule() - Watcom C/C++ was recognizing it as overloading of the function *source/rtl/gtdos/gtdos.c * fixed low level processor ports access for Watcom C/C++ *source/vm/garbage.c * fixed possible endless loop in hb_gcCollectAll() *source/vm/arrays.c * arrays are no longer released recursively during the garbage collecting *source/rdd/dbfntx/dbfntx1.c * fixed warning for unused variable 2000-07-02 12:30 UTC+0100 Ryszard Glab *source/vm/garbage.c *source/vm/memvars.c * codeblocks that are self referencing (cb := {|| cb}) are correctly released by the garbage collector 2000-07-01 23:55 UTC-0500 Paul Tucker * source\rdd\dbfntx\dbfntx1.c * added a few casts 2000-06-30 08:50 UTC+0100 Ryszard Glab *source/vm/garbage.c * fixed a bug when releasing the last memory block *source/vm/hvm.c * fixed an order of subsystems shutdown and items relasing 2000-06-29 10:50 UTC+0100 Ryszard Glab *source/vm/classes.c *fixed to stop handling of the garbage collector requests (hb_clsIsClassRef()) after all classes were released *source/rtl/setkey.c *fixed to lock codeblocks stored internally to prevent deallocation by the garbage collector 2000-06-28-23:20 Luiz Rafael Culik *contrib/hbzlib/zipfile2.c -hb___MyMkdir() Functions. All Calls to this function replaced with hb_fsMkDir() *some bugs fixed *contrib/hbzlib/hbzip.h -removed hb___MyMkdir() function declaration 2000-06-27 11:10 UTC+0100 Ryszard Glab *include/hbapi.h *source/rtl/errorapi.c *source/rtl/idle.c *source/vm/classes.c *source/vm/garbage.c *the garbage collector is now aware of all items stored internally in class related structures 2000-06-27-22:45 Luiz Rafael Culik *Changelog *Renamed to ChangeLog.008 and Started a new one *contrib/hbzlib/zipfile2.c contrib/hbzlib/zlibapi.c *Added code to be used by other platforms +contrib/hbzlib/makefile *makefile for gnu compiler 2000-06-26 19:20 UTC+0100 Ryszard Glab *include/hbapi.h * added declaration of hb_gcLockItem()/hb_gcUnlockItem() *source/vm/garbage.c * added definition of hb_gcLockItem()/hb_gcUnlockItem() *source/vm/classes.c * all arrays created internally for CLASS structure are now locked to prevent premature deallocation by the garbage collector 2000-06-26 20:11 UTC-0800 Ron Pinkas * source/pp/ppcomp.c ! Fixed line number to ignore empty lines in #include files,when resuming parent file. 2000-06-26 23:05 GMT+3 Alexander Kresin * source/pp/ppcore.c *fixed some problems, appeared after last fix and reported by Andi Jahja and Patrick Mast 2000-06-26 06:22 UTC-0800 Ron Pinkas * source/compiler/harbour.l ! Fixed 3 typos that made strings to be compiled with the closing string delimiter, causing Run-Time error 9004. 2000-06-26-14:40 GMT +1 Ignacio Ortiz de Zuniga * memoline.c * fixed minor bug 2000-06-26 15:26 GMT+3 Alexander Kresin * source/pp/ppcore.c *fixed some problems, reported by Ron Pinkas 2000-06-26 08:55 UTC+0300 Chen Kedem * source/rdd/dblist.prg ! fixed to handle cToFileName that contain "." in the path * source/rtl/right.c ! typo in the header LEFT() --> RIGHT() * doc/en/terminal.txt + Documentation for OUTSTD() + Documentation for OUTERR() ! typo in ALERT() $SEEALSO$ STDOUT() --> OUTSTD() 2000-06-25 22:24 UTC+0800 Brian Hays *doc/en/command.txt *began updating OOPs commands docs; This is a work in progress until we find out if we can borrow some existing docs. 2000-06-25 22:14 UTC-0800 Ron Pinkas * source/compiler/harbour.l + Added rule for orphan "]" * Minor improvments to INDEX * source/compiler/hbgenerr.c * Minor improvements * source/pp/ppcomp.c ! Corrected line number was adding EmptyLines twice. 2000-06-25 03:35 UTC-0800 Ron Pinkas * source/compiler/hbgenerr.c ! Refined line numbers reported. * source/compiler/harbour.l ! Rewrote (again) rules for STRING1 STRING2 STRING3 INDEX. Rules for strings much simpler. /* Flex had some problem with $ that caused output of strings. */ 2000-06-25 23:58 UTC+0100 Ryszard Glab *source/vm/garbage.c *fixed deallocation of the last memory block - it should cure GPF's *source/rtl/errorapi.c *fixed call for hb_itemInit() *tests/onidle.prg *commented self-referencing codeblock since it requires some more work 2000-06-25 21:52 UTC+0100 Victor Szakats * source/lang/Makefile * makefile.vc * makefile.bc + MSGIT and MSGDE language modules added. 2000-06-25 14:53 UTC+0100 Victor Szakats * source/rtl/tget.prg ! Fixed to not depend on SET EXACT. * source/rtl/treport.prg * source/rtl/tbrowse.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * if() -> iif() * source/rtl/tclass.prg % Optimized, formatted. 2000-06-25 14:25 UTC+0100 Victor Szakats * tests/onidle.prg * source/rtl/idle.c * Renamed some idle related Harbour level functions: HB_ADDIDLE() -> HB_IDLEADD() HB_DELIDLE() -> HB_IDLEDEL() HB_IAMIDLE() -> HB_IDLESTATE() * source/rtl/objfunc.prg * source/rtl/teditor.prg % Small optimizations. * source/vm/fm.c % Some optimizations on the hb_xquery() OS/2 branch, some other cleanups and formattings made. * include/hbapigt.h - Removed hb_releaseCPU() prototype. * source/vm/itemapi.c * include/hbapiitm.h * source/rtl/errorapi.c + hb_itemInit() function added, to initialize a new HB_ITEM structure. * errorapi.c now uses hb_itemInit() instead of the low-level item access. * include/inkey.ch * include/set.ch + Some comments added related to Harbour or C53 extensions. * source/vm/hvm.c * include/simpleio.ch * Minor changes. 2000-06-25 03:35 UTC-0800 Ron Pinkas * source/compiler/hbgenerr.c ! Fixed line number when in was 1 too short. * make_b32.bat ! Removed -i (ignore erros). 2000-06-25 10:40 UTC+0100 Ryszard Glab *tests/onidle.prg *added missing demo file of idle states tasks 2000-06-25 05:30 GMT -3 Luiz Rafael Culik *contrib/hbzlib/zlibapi.c *Small change to hb___CompressMultipleFile() 2000-06-24 22:10 GMT -3 Luiz Rafael Culik +contrib/samples/makefile.bc *Makefile for samples.lib for borland compilers *contrib/hbzlib/makefile.bc *Small changes *contrib/hbzlib/zlibapi.c %some enhacements to hb___CompressMultipleFile() *contrib/hbzlib/test.prg *added test to demostrate the changes *contrib/hbzlib/doc/zip.txt *Small changes to reflect the function changes 2000-06-24 11:42 UTC-0800 Ron Pinkas * include/hbclass.ch - Uncommented the VO #xtranslate as they do work correctly. * source/pp/pplib.c - Removed int hb_comp_iIncLine * include/hbcomp.h - Removed int hb_comp_iIncLine + Added int hb_comp_iCompiled + Added char* hb_comp_szFile + Added BOOL hb_comp_bError * source/compiler/harbour.c ! Fixed Compile Time Line Numbers ! Fixed Run Time Line Numbers * source/compiler/harbour.l ! Rewrote rules for STRING1 STRING2 STRING3 INDEX, were severly broken with regard to unterminated support. /* When working on errors, I founf major problems, with unterminated Array Index and Unterminated Strings I'm surprised no one reported. This mass was a nightmere to fix. it seems to be working great now. */ * source/compiler/harbour.y ! Many fixes to support correct line numbers. * source/compiler/hbgenerr.c ! Fixed Error System to never report more than 1 error per source line. * source/pp/ppcomp.c - Removed code for hb_comp_iIncLine * source/pp/ppcore.c * Minor formating. 2000-06-24 20:10 UTC+0100 Ryszard Glab *include/hbapi.h * added declarations of garbage collector functions hb_gc*() * added declarations of idle state tasks functions hb_idle*() *source/rtl/idle.c * new module that handles harbour idle states *hb_idleState() gets called from INKEY() function - it releases CPU timeslices, calls the garbage collector and executes user defined background tasks *HB_IAMIDLE() - signals that user code is in idle state *HB_ADDIDLE(), HB_DELIDLE() - handle background tasks *tests/Makefile *tests/onidle.prg * test program that demonstrate background tasks *source/vm/garbage.c * new module with the garbage collector code *source/rtl/Makefile * added a new file idle.c *source/rtl/errorapi.c *source/rtl/inkey.c * fixed to correct support idle states and garbage collector NOTICE: static HB_ITEM structures cannot be initialized with hb_itemClear() call because the structure can occupy a memory with random bits set *source/vm/Makefile * added a new file garbage.c *source/vm/arrays.c *source/vm/codebloc.c *source/vm/memvars.c *source/vm/hvm.c * fixed to correct support idle states and the garbage collector *makefile.bc *makefile.vc *updated to support idle states and the garbage collector 2000-06-23 22:45 GMT -3 Luiz Rafael Culik *contrib/samples/gauge.c *Fixed a small bug on Gaugenew() 2000-06-23 21:11 UTC+0200 JFL & RAC *source/vm/classes.c ! Fixed CLASSDATA SHARED INIT when redefinig same CLASSDATA in subclass ! 2000-06-22 20:35 UTC-0800 Ron Pinkas * source/pp/ppcomp.c ! Fixed bug when NO CR between end of last line and EOF. Last line was duplicated when resuming parrent file. 2000-06-22 19:16 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Added bStrict parameter to getExpReal(), all calls to getExpReal() pass FALSE, other than isExpres(). So getExpReal() will now return invalid tokens like un terminated strings, unless bStrict is TRUE. 2000-06-23 01:31 UTC+0200 JFL & RAC *source/vm/classes.c ! Fixed CLASSDATA SHARED ! *include/hbclass.ch ! Recommented #xtranslate that was not pre-processing correctly, before recent fixes to ppcore.c and should now works correctly but !!! *source/rtl/tobject.prg ! Minor reformating 2000-06-22 19:30 UTC+0100 Ryszard Glab *source/vm/memvars.c *removed #if 0 2000-06-22 18:15 UTC+0100 Ryszard Glab *source/rtl/gtcrs/kbdcrs.c *source/rtl/gtsln/kbsln.c *fixed after latest changes 2000-06-22 03:30 UTC-0800 Ron Pinkas * include/hbclass.ch ! Uncommented #xtranslate that was not pre-processing correctly, before recent fixes to ppcore.c and now works correctly. * source/compiler/harbour.c ! Fixed hb_compLinePush() to generate correct Run-Time Line Numbers. * source/pp/ppcomp.c - Removed one // comment. * source/pp/ppcore.c * Increased MAX_EXP to 2048 as requested by Brian Hays. 2000-06-21 21:35 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! getExpReal() Fixed silly typo introduced this morning in previous fix, that broke the PP. 2000-06-22 03:23 UTC+0100 Victor Szakats * source/rtl/filesys.c * Some formatting and cleanups. * contrib/hbclip/hbclip.ch + Some HB_ constants added. * include/inkey.ch * K_HB_KEYCODES -> HB_K_MULTICODE 2000-06-21 10:58 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! getExpReal() to not return invalid Clipper Expression like unterminated '([{'. This will solve many PP problems. 2000-06-21 14:19 UTC+0100 Victor Szakats * include/hbextern.ch * include/fileio.ch + source/rtl/disksphb.c * source/rtl/Makefile * makefile.bc * makefile.vc * DISKSPACE() made 100% CA-Clipper compatible, so that the second optional extension parameter was removed. The UNIX support has been removed since the first parameter should always be a numeric value. + HB_DISKSPACE() extension function added, with the optional second parameter. This function will always need a string as the first parameter, you can also query space data for a specific directory on the systems where this is supported (Unix, Win32). This version will also support the Retry operation on error. Please test it on your platform. WARNING! Please update the docs. * include/fileio.ch - Removed non-Clipper compatible macros. Add these to your local headers if you need them, as I've already noted here: 20000322-16:33 GMT+1 Victor Szakats #define CD( d ) DIRCHANGE( d ) #define MD( d ) MAKEDIR( d ) #define RD( d ) DIRREMOVE( d ) #define DISKUSED( d ) HB_DISKSPACE( d, HB_DISK_USED ) #define DISKFREE( d ) HB_DISKSPACE( d, HB_DISK_FREE ) #define DISKFULL( d ) HB_DISKSPACE( d, HB_DISK_TOTAL ) (Note that this change had no trace in the ChangeLogs) * source/rtl/gt_tpl/gt_tpl.c ! Fixed several bugs. * source/rtl/filesys.c ! Rearranged the OS/2 hb_fsSeek() support, to not contain redundant code, and use the Harbour standard for multiplatform code. * source/vm/extend.c ! Fixed hb_stornl() (storing an int instead of long). ! Fixed some formatting. % Minor optimization for arrays in hb_parni(). * include/hbapigt.h * source/rtl/gtapiu.c * Minor fixes. * source/rtl/gtwin/gtwin.c * Minor formatting. * include/hbapigt.h * source/rtl/gtapi.c ! Renamed some Harbour constants to avoid name collision: _B_SINGLE_V -> HB_B_SINGLE_V _B_SINGLE_H -> HB_B_SINGLE_H _B_DOUBLE_V -> HB_B_DOUBLE_V _B_DOUBLE_H -> HB_B_DOUBLE_H * source/lang/msgit.c ! Fixed missing commas. * doc/whatsnew.txt ! Someone has overwritten the file with a previous version. Fixed. (Note that this change had no trace in the ChangeLogs) * include/hbclass.ch - Documentation copyright removed. 2000-06-20 08:45 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Removed some /* reported as nested comments 2000-06-20 11:15 GMT+1 Antonio Linares * include/hbclass.ch * small fix for SETGET methods * small fix for CLASSDATA shared attributes 2000-06-19 23:35 UTC-0800 Ron Pinkas * source/compiler/hbgenerr.c * source/pp/ppcomp.c ! Fixed reporting of line numbers on errors. * source/pp/ppcore.c * More support for [] as string delimiters. * source/compiler/harbour.l + Added support for: ELSIF [ some string ] ... DO WHILE [ some string ] ... WHILE [ some string ] ... CASE [ some string ] ... /* Strangley, Clipper chockes on elseif [...] */ 2000-06-19 23:05 GMT-3 Luiz Rafael Culik * utils/hbdoc/genhtm.prg utils/hbdoc/genchm.prg utils/hbdoc/html.pg utils/hbdoc/genng.prg * utils/hbdoc/genos2.prg utils/hbdoc/os2.prg * Small Fixes *doc/en/string.txt + Transform() function documentation *doc/en/array.txt doc/en/browse.txt doc/en/lang.txt doc/en/nation.txt *Changed the case of Category section t 20000619-23:08 GMT+2 Maurilio Longo * source/lang/msgit.c * converted new template to italian 20000619-21:44 GMT+2 Maurilio Longo * harbour/source/rtl/filesys.c % rewritten hb_fsSeek() to use native OS/2 api call (DosSetFilePtr()); This change is not needed, I've made it while hunting a bug and could (should ?, will ?) be an initial effort to move file apis from EMX/GCC or icc runtime to native system calls. * harbour/source/rtl/teditor.prg + added a couple unfinished methods, will complete them later * harbour/source/rtl/teditorl.c ! fixed a bug inside __StrTkPtr(), I really don't understand why it didn't show up before :-) 2000-06-19 10:11 UTC+0100 Victor Szakats * include/hbapigt.h * include/gt.api + source/rtl/gtapiu.c * source/rtl/Makefile * makefile.bc * makefile.vc + Added all the missing undocumented GT API calls found in CA-Clipper 5.x. The implementation is still missing, but now there's a dummy skeleton for them. * source/compiler/harbour.c ! Fixed a bug, where the status returned from hb_compCompile() was ignored. * The PP reinitialization turned on even on non-STRICT mode, to be 100% Clipper compatible. 2000-06-17 20:34 UTC-0500 April White * include/hbapi.h * forgot an end of comment tag 2000-06-17 19:43 UTC+0500 April White * include/hbapi.h * include/hbapifs.h + added descriptive comments, from source, to declarations of multiple api calls * rtl/trim.c * hb_strRTrimLen - corrected descriptive comment was "returns szText and the new length in lLen" now "return length of szText ignoring trailing white space (or true spaces)" 2000-06-18 18:38 UTC+0100 Victor Szakats * source/lang/msgde.c * Updated, Thanks to Torsten. * source/rtl/gtcrs/* * Some formatting * source/rtl/gtsln/* * Some formatting, variables renamed. ! Added CVS IDs WARNING! Please try to compile the SLANG and NCURSES GTs and report any errors, since I could not test them. 2000-06-18 20:16 GMT+3 Alexander Kresin * source/pp/ppcore.c *fixed some problems with [ ... ] in pp, reported by Brian Hays 2000-06-18 15:20 UTC+0100 Ryszard Glab *include/hbmacro.h *changed functions declarations for documentation purposes *source/pp/ppcode.c *fixed "nested /* comments" warning when compiled with GCC 2000-06-17 13:38 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed isExpress() to check last charcter of the expression and return false if it is one of these: ":/*+-%^=(<>". This fixed another problem reported by Brian Hays to do with the VO comaptibility #translates. /* We still have to find, why was isExpress() called with only partial expression, this should be fixed. */ 2000-06-17 17:10 UTC+0500 April White * hbapi.h * hbapierr.h * hbmacro.h + added param names (from source file) to declarations for multiple api calls 2000-06-17 19:37 UTC+0100 Victor Szakats * source/common/hbstr.c * source/rtl/strings.c * source/rtl/dir.c * source/rtl/transfrm.c ! Fixed unary increment/decrement operator usage in toupper()/tolower() functions, since these may be macros on some systems. * source/rtl/right.c % Some optimization. 2000-06-17 18:58 UTC+0100 Victor Szakats * source/compiler/harbour.y + One TODO readded * source/rtl/scroll.c * source/rtl/saverest.c * source/rtl/mouseapi.c % Some optimizations. * source/rtl/setcolor.c * Minor code standardization. 2000-05-07 23:30 CET Patrick Mast * tests/testhtml.prg * changed the Default() function into If(...) 2000-06-16 22:10 GMT-3 Luiz Rafael Culik * utils/hbdoc/hbdoc.prg * Some small enhacements when generating the Windows HTML HELP project * utils/hbdoc/genhtm.prg utils/hbdoc/genchm.prg utils/hbdoc/html.pg * Small enhacements * Some fixed for Errors Reported by April White * utils/hbdoc/genrtf.prg * small changes * utils/hbdoc/genos2.prg utils/hbdoc/os2.prg % Many optimizations ! Many compile error now are fixed(most was the 255 character line lenght) % Better Table support, Now it generate true Tables * Many thanks for Maurilio Longo.With out his help this changes was not possible 2000-06-16 21:28 UTC+0100 Victor Szakats * source/rtl/transfrm.c ! Fixed GCC -O2 warnings. * source/vm/classes.c ! Fixed GCC -O2 warning in __SENDER() 2000-06-16 10:55 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Removed 1 // comment. 2000-06-16 18:45 UTC+0100 Victor Szakats * source/vm/classes.c ! Formatting, warnings fixed. * hb_itemCopy( &hb_stack.return, ... ) -> hb_itemReturn( ... ) * source/rdd/dbfntx/dbfntx1.c * Some formatting. ------------------------------------------------------------------------- ; Please DON'T use non-ANSI comment (//) in the code. Use /**/ instead. I haven't corrected the new // comments this time, but I would kindly ask the original uploaders to do so. Thanks. These files contain // comments: pp\ppcore.c rdd\dbfntx\dbfntx1.c rtl\gtsln\kbsln.c vm\classes.c ------------------------------------------------------------------------- 2000-06-16 13:37 UTC+0100 Victor Szakats * include/hbapigt.h * source/rtl/gtapi.c * source/rtl/gt*/* * Renamed hb_gt_Suspend()/hb_gt_Resume() to hb_gt_Pre/PosExt() % Some cleanup on the recent additions to the GT module. ! Small fix for gt_tpl/gt_tpl.c ! Ambiguous nested if()s fixed. * source/rtl/transfrm.c ! Fixed handling of "S" picture function, now it works for every data types, and doesn't need to be the first function to work. * "0" picture function renamed to "L", some steps made towards the optional filling char support. In the meantime the filling char is always "0". % Some optimizations made (two static function calls eliminated, since parameter passing was getting messy). Comments added instead. * source/rtl/teditorl.c % Some optimizations made, many casts removed. ! Non-portable ULONG casts on pointers removed. ! Usage of compatibility (.API) header files removed. * makefile.bc % Removed some more redundant -I$(INCLUDE_DIR)s % Removed redundant -I$(LANG_DIR)s * include/hbclass.ch ! Minor cleanups (#includes moved after the self-guards, nil->NIL, oClass -> s_oClass, indentation, extern->REQUEST) * include/hbpp.h ! Minor formatting * source/pp/ppcore.c * include/hberrors.h ! HB_COMP_ERR_BAD_RULES_FILE_NAME -> HB_PP_ERR_BAD_RULES_FILE_NAME * source/rtl/Makefile * source/rdd/Makefile ! Fixed tabs for recently added files (TOBJECT, DBLIST). PLEASE pay attention to the tabs when adding new files to the GNU-make files. * source/rtl/tclass.prg * source/rtl/tobject.prg * Some minor cleanups, fixes, optimizations. + source/rdd/dbupdat.prg * source/rdd/dblist.prg * source/rdd/Makefile * makefile.vc * makefile.bc * Formatted sources. __DBUPDATE() moved to a separate file. + Comments added. Variables renamed. % Some minor optimizations. * makefile.vc ! Updated for TOBJECT and DBLIST * bin/bld.cmd * bin/bld.bat + Small modification to ease the addition of multiple source files locally. 2000-06-16 01:42 UTC-0800 Ron Pinkas * makefile.bc - Removed redundant -Iinclude from echo into make.tmp (Harbour.exe) * source/compiler/hbgenerr.c - Removed no longer needed int iLine * source/pp/ppcore.c ! Fixed bug PP was not able to parse #command/translate if no space before "=>" like: #translate CRLF=>Chr(13) + Chr(10) 2000-06-15 20:56 UTC-0800 Ron Pinkas * source/compiler/harbour.l * source/compiler/harbour.y + Added support for _ProcReq_() - compile time function used to implement SET FORMAT TO and SET PROCEDURE TO. Clipper implementation doesn't allow a run time function with this name, Harbour will only intercept it as compile time function, if used at BOL. As compile time function it only accepts a single "Literal", or "Literal + Literal". * source/compiler/hbgenerr.c * source/pp/ppcomp.c ! Fixed line numbering. Warnings and Errors, should now report correct line numbers. 2000-06-15 15:30 UTC-0400 David G. Holm + tests/mousetst.prg + Mouse tests by "Alejandro de Garate" 2000-06-15 15:00 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Added '#include ' for the tolower() prototype. 2000-06-14 22:37 UTC-0800 Ron Pinkas * source/pp/ppcomp.c ! Fixed missing CR at EOF of #include file, causing #line directive to be on same line with the next line in parrent file. ! Big Improvment of line numbering of #line directive - almost identical to Clipper - to be continued. 2000-06-14-22:10 GMT -3 Luiz Rafael Culik +doc/en/eval.txt *Documentation for Eval() function 2000-06-14 23:37 UTC+0200 JfL&RaC * source/vm/classes.c ! Temporary Fixed hb___msgsuper() to refer the good self value when accessing super ! This has some side effect on Super:classname ... (this is work in progress) * source/vm/classes.c added the ability to use the message ::Class to access classData keeping compatibility with the old method (this is work in progress) 2000-06-14 15:30 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Removed debug printf() statements. 2000-06-14 10:00 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Fixed getExpReal() to terminate on unbalanced ')' 2000-06-14 13:00 GMT+1 Ignacio Ortiz de Zuniga * memoline.c * fixed reported bug 2000-06-13 21:20 GMT-3 Luiz Rafael Culik *makefile.bc source/rdd/makefile +Added dblist to dependencie list *doc/funclist.txt *updated __dblist() and __dbupdate() entries *source/rdd/dblist.prg +Source file for __dbList() and __dbUpdate functions 2000-06-13 22:47 UTC+0200 JfL&RaC * Classes.c * Initialisation is now properly working * As with AutoInit for Logical (.F.) and Numerical (0) (previous TClass.prg) * MakeFile.bc * Restoring tasm call in place of tasm32 (sorry :-((( ) 2000-06-13 19:55 UTC+0100 Ryszard Glab *include/hbapigt.h *added declaration of hb_gt_Suspend()/hb_gt_Resume() *source/rtl/gtapi.c *hb_gtPreExt()/hb_gtPostExt() calls driver dependend functions to save/restore terminal settings *source/rtl/run.c *fixed to properly use hb_gtPreExt()/hb_gtPosExt() *source/rtl/gtcrs/gtcrs.c *added full support for suspend/resume terminal settings 2000-06-13 08:08 UTC-0800 Ron Pinkas * source/pp/ppcomp.c ! Minor correction - There should be no empty lines between #line directive any more. 2000-06-13 03:00 UTC-0800 Ron Pinkas * makefile.bc + Added ppcomp.c and ppcore.c to list of harbour.exe dependencies. * source/pp/ppcore.c * source/compiler/harbour.y ! Corrected initialization of pFile->iLine to 1 * source/pp/ppcomp.c ! Fixed redundant empty lines generation and line numbering. 2000-06-12 20:25 UTC-0400 David G. Holm * source/rtl/gtwin/gtwin.c ! Partial fix for international keyboard AltGr handling. 20000612-23:10 GMT+2 Maurilio Longo * source/rtl/tedior.prg + Added GotoLine(nRow) method and a couple fixes. 2000-06-12 21:47 UTC+0200 JfL&RaC *source\rtl\tclass.prg * Correct bug with default initialiser for Logical and Numeric * Now a logical is .F. by default and a numeric is 0 ! 2000-06-12 17:20 UTC+0200 JfL&RaC *source\rtl\tobject.prg *source\rtl\tclass.prg *source\vm\classes.prg * Many corrections regarding superobject access as inherited datas * Inherit of a method Setget work even if the same msg * is a data from one superobject. 2000-06-12 16:55 UTC+0100 Ryszard Glab *source/rtl/run.c *source/rtl/gtsln/Makefile *source/rtl/gtsln/gtsln.c *source/rtl/gtsln/kbsln.c *source/rtl/gtsln/keytrans.c *added more slang support - thanks to Marek Paliwoda *source/rtl/gtcrs/gtcrs.c *source/rtl/gtdos/gtdos.c *source/rtl/gtos2/gtos2.c *source/rtl/gtpca/gtpca.c *source/rtl/gtstd/gtstd.c *source/rtl/gtwin/gtwin.c *added dummy hb_gt_Suspend()/hb_gt_Resume() 2000-06-12 16:00 UTC+0100 Ryszard Glab *source/compiler/harbour.y *fixed bug when 'DO ¯ovar' was used 2000-06-12 15:40 UTC+0100 Ryszard Glab *source/compiler/harbour.c *fixed unused variable tmpFiles *source/vm/macro.c *fixed bug when field variable was macro-compiled 2000-06-11 23:30 UTC-0800 Ron Pinkas source/compiler/harbour.c * hb_compCompile() Added Clipper like message showing how many parse errors found. * hb_compAutoOpen() added 2nd parameter pointer to bSkipGen of caller (hb_compCompile()). Added logic to "remember" hb_comp_bAnyWarning and hb_comp_iErrorCount from previous parsings. 2000-06-11 21:30 UTC-0800 Ron Pinkas * include/hbcomp.h * Enclosed declarations of functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE source/compiler/harbour.y * Enclosed functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE * Changed rules for DO ... to add name of module to hb_comp_pAutoOpen linked list. + Added hb_compAutoOpen() - Parses the needed externals when -m not specified - Defed out hb_compYACCMAIN() (#if 0) - no longer needed, moved logic into hb_compCompile() and hb_compAutoOpen() source/compiler/harbour.l + Added #define YY_USER_ACTION ... to fix Flex problem with ^ (BOL RegExp) * Enclosed functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE source/compiler/harbour.c * Enclosed functions to support in-line nested compilation within #ifdef HB_NESTED_COMPILE * Modified hb_compCompile() to support future in-line nested compilation, and defed it out. * Changed hb_compCompile() to call hb_compAutoOpen() for modules called in DO ... that are not defined in main prg. ! Completed -m support, by default directives in external opened modules will be available to subsequent externals. this feature is defed out if strict compatibility is selected. 2000-06-08-07:50 GMT -3 Luiz Rafael Culik *utils/hbdoc/genhtm.prg utils/hbdoc/genchm.prg utils/hbdoc/genos2.prg utils/hbdoc/hbdoc.prg utils/hbdoc/genrtf.prg utils/hbdoc/genng.prg *Same changes suggested by April white 2000-06-10 17:06 UTC-0500 April White * source/rtl/makefile + added tobject.prg to PRG_SOURCES section 2000-06-10 -05:50 GMT -3 Luiz Rafael Culik * doc/en/rddord.txt *Small changes * doc/en/compiler.txt *removed not implemented line from the /m switch description *source/rtl/tclass.prg *added missing REQUEST TOBJECT in the file 2000-06-10 04:05 UTC-0500 April White * utils/hbdoc/makefile + added getchm.prg 2000-06-09 15:30 UTC-0400 David G. Holm * source/compiler/harbour.l ! Added missing cast on pBuffer assignment to YY_CURRENT_BUFFER in void hb_compSet_YY_CURRENT_BUFFER( void * pBuffer ). * source/rdd/dbfntx/dbfntx1.c ! Added several missing type casts on hb_xgrab() calls. * Converted source code from double spaced to single spaced. 2000-06-09 12:00 UTC-0800 Ron Pinkas * include/hbpp.h * source/compiler/harbour.c * source/pp/ppcore.c * Modified hb_pp_SetRules() to receive 2nd parameter BOOL hb_comp_bQuiet, since ppcore is part of PP.lib which is linked into HBRUN.exe which does not include harbour.c where hb_comp_bQuiet is defined. * source/compiler/harbour.l ! Fixed parse error on IF [...] * source/vm/classes.c Posted patch provided by JF * source/rtl/tobject.prg Posted missing file provided by JF 2000-06-09 08:15 UTC+0100 Lubos Janica * source/rdd/dbfntx1.c After this change we can create indexes. And they working with Clipper ! But this isn't optimized. * Module initialization for other then GNU compilers + static ERRCODE hb_ntxPageKeyAdd( LPPAGEINFO pPage, PHB_ITEM pKey, int level) + static ERRCODE hb_ntxPageKeyInsert( LPPAGEINFO pPage, PHB_ITEM pKey, int pos ) + static int hb_ntxItemCompare( PHB_ITEM pKey1, PHB_ITEM pKey2 ) + static ERRCODE hb_ntxPageAddPageKeyAdd( LPPAGEINFO pPage, PHB_ITEM pKey, int level, int pos ) 20000608-22:10 GMT+2 Maurilio Longo * source/rtl/teditorl.c + added __StrTkPtr() function to scan a string starting from a defined position instead of restarting every time from beginning and scanning it completely till next token. * source/rtl/tedior.prg * changed to use __StrTkPtr() instead of __StrToken(). It is a LOT faster loading big files. * contrib/msql/dbf2msql.prg ! fixed memory leak due to resources not released 2000-06-08-07:50 GMT -3 Luiz Rafael Culik *utils/hbdoc/html.prg utils/hbdoc/genhtm.prg utils/hbdoc/genchm.prg *small changes *utils/hbdoc/os2.prg utils/hbdoc/genos2.prg *Some small enhacements *utils/hbdoc/hbdoc.prg *Small changes when generating harbour.htm 2000-06-07 22:50 UTC-0800 Ron Pinkas * source/compiler/harbour.c * main() Moved calls to hb_pp_init() to hb_pp_SetRules() in ppcore.c to avoid redefinition of standard defs. * source/pp/ppcore.c * hb_pp_SetRules() Moved calls to hb_pp_init() from main() in Harbour.c to avoid redefinition of standard defs. ! Minor fixes to warnings and errors. 2000-06-07 21:40 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Changed hb_pp_SetRules() to only always default to .CH extension, if file name supplied without extension. ! Converted some printf() messages to standard warnnings and errors. * include/hberrors.h + Added: #define HB_PP_ERR_CANNOT_OPEN_RULES 15 #define HB_COMP_ERR_BAD_RULES_FILE_NAME 16 #define HB_PP_WARN_NO_DIRECTIVES 2 2000-06-07 22:42 UTC+0200 JFl&RaC , * harbour/source/vm/classes.c -Major modification regarding superobject access Now the call to a super object return really one super object instance -Major modification regarding access to inherited data (see Maurilio case) -Auto inheritance of tObject -Minors modification regarding scoping and one block not released (see Antonio's test) 2000-06-07 21:51 UTC+0100 Lubos Janica * source/rdd/dbfntx1.c Begin of implementation ntx driver. It's not working ! + static ERRCODE ntxOrderCreate( AREAP pArea, LPDBORDERCREATEINFO pOrderInfo ); + static ERRCODE ntxOrderInfo( AREAP pArea, USHORT uiIndex, LPDBORDERINFO pInfo ); + static ERRCODE ntxOrderListAdd( AREAP pArea, LPDBORDERINFO pOrderInfo ); + static ERRCODE ntxOrderListClear( AREAP pArea ); + static ERRCODE ntxClose( AREAP pArea ); + some internal funcitons 2000-06-07 16:50 UTC+0100 Ryszard Glab *include/hbcomp.c *fixed garbage data at the end of line reported by GCC Ron - please check if it is correct (YYLSP_NEEDED versus YYLSP_) 2000-06-06 20:10 UTC-0800 Ron Pinkas * source/compiler/cmdcheck.c + Implemented support for -m * include/hbcomp.h + Added structure _HARBVARS to hold Harbour Session Variables + Added structure +AUTOOPEN to hold names of external modules already compiled. * source/compiler/harbour.c + Moved the parsing/compiling logic into new hb_compCompile() + Added: static void hb_compAutoOpenAdd( char * szName ); static BOOL hb_compAutoOpenFind( char * szName ); static void hb_compSaveVars( PHARBVARS, int ); static void hb_compRestoreVars( PHARBVARS, int ); * source/compiler/harbour.l + Added: void * hb_compGet_YY_CURRENT_BUFFER() void hb_compSet_YY_CURRENT_BUFFER( void * pBuffer ) int hb_compGet_yy_init( void ) void hb_compSet_yy_init( int i ) int hb_compGet_yy_start( void ) void hb_compSet_yy_start( int i ) int hb_compGet_yy_did_buffer_switch_on_eof( void ) void hb_compSet_yy_did_buffer_switch_on_eof( int i ) * source/compiler/harbour.y + Added logic to call hb_compCompile() when DO ... or DO ... WITH + Added: void * hb_compGet_pLoops( void ) void hb_compSet_pLoops( void * pLoops ) void * hb_compGet_rtvars( void ) void hb_compSet_rtvars( void * rtvars ) * source/compiler/hbusage.c + Added display of -m compiler switch Please note: 1. Implementation is practicaly completed, but there is one known issue to be resolved: Once we open and compile an external module, the very next prg line in the parent prg is not processed, I would love to get some assistance with this - Ryszard, Antonio, Victor, Paul? as I am seriously limited with time over this week. It seems I am not saving one of Bison/Flex vars, so my restore of the previous session is not complete :-( 2. Clipper seem to have a bug, on the following code: DO WHILE WITH ... Clipper will attempt to compile external "WITH.PRG" instead of "WHILE.PRG", can any one advise if I am missing something here... In our implementation the above line will attemp to compile "WHILE.PRG" 2000-06-05 19:50 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Changed hb_pp_SetRules() to only default to .CH extension, if file name as supplied without extension was not found. ! Improved Messages to report various possible conditions. 2000-06-05 14:54 UTC+0100 Antonio Linares * source/vm/classes.c * workaround for inheritance bug as per JF. Lefebvre indications 2000-06-04 17:35 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Corrected compiler warning ! Corrected @ after ; missing trailing space. 2000-06-04 11:16 UTC-0800 Ron Pinkas * source/pp/ppcomp.c * source/pp/ppcore.c ! Corrected compiler warnings 2000-06-04 18:51 UTC+0100 Victor Szakats * utils/hbdoc/Makefile makefile.vc ! GENCHM added to MSVC make file, GNU makefile corrected. 2000-06-04 09:40 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Changed case of '@' in hb_pp_RdStr() to only add missing space when in the beginning of a new line. 2000-06-04 09:20 GMT -3 Luiz Rafael Culik *utils/hbdoc/hbdoc.prg *Added code to support .CHM source code generation *utils/hbdoc/html.prg +Newchm(),Addobject(),addparam(),Newcontent(),Endobject() method for .chm support +utils/hbdoc/genchm.prg *Source code to generate .CHM source files *makefile.bc +genchm.prg entry added to the make file 2000-06-04 17:52 UTC+0100 Victor Szakats * tests/setkeys.prg ! Changed to reflect setkey function changes. 2000-06-04 13:55 UTC+0100 Antonio Linares * include/hbclass.ch * Some minor fixes 2000-06-04 03:35 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Commented fix 2000-06-02 14:45 UTC-0800 Ron Pinkas until more complete solution 2000-06-04 03:30 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Corrected error message in SetRules() to report filename with default extension. 2000-06-04 03:25 UTC-0800 Ron Pinkas * source/pp/ppcore.c * Added \n to error message in SetRules() 2000-06-04 03:05 UTC-0800 Ron Pinkas * include/hbcomp.h + Added: extern char * hb_pp_STD_CH; * include/hbpp.h + Added: extern void hb_pp_SetRules( BOOL (*hb_compInclude)(char *, PATHNAMES * ) ); * source/compiler/hbusage.c * source/compiler/harbour.c * source/compiler/cmdcheck.c + Added support for -u[FileName] - Removed TODO for -u * source/pp/ppcomp.c + Added hb_pp_ReadRules() - Logic to process directives from user supplied command defs. * source/pp/ppcore.c + Added hb_pp_SetRules() - Logic to use predefined rules, none, or user defined. * source/pp/pptable.c + Added hb_pp_Table() - Moved predefined rules into this function, to allow for conditional use. 2000-06-03 13:36 UTC+0100 Victor Szakats * makefile.bc + Added a kludge to make it work with Borland C++ 5.3 You'll have to run make with -DBCC_NOSTARTUP. * source/common/hbver.c * hb_verBuildInfo() Changed to display the platform info after the compiler version, because on some platform/OS/combinations (RSXNT,EMX) the program crashes on platform detection. * include/hbcomp.h * Minor formatting 2000-06-03 10:53 UTC+0100 Victor Szakats * source/debug/* % Some functions converted to procedures 2000-06-03 01:13 UTC+0100 Victor Szakats * include/button.ch * source/rtl/tmenuitm.prg * Some minor namespace fixes. * include/hbsetup.h * Minor formatting * utils/hbtest/rt_misc.prg ! The filename split/merge tests changed so that they now pass for Unix systems. (there are still 4 tests which need to fixed) 2000-06-02 14:45 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Added logic to CommandStuff() to fix problem with Keyword or Match Marker are matched after non provided multiple optional patterns. 2000-06-02 19:56 UTC+0100 Victor Szakats * utils/hbtest/hbtest.prg * utils/hbtest/make_xpp.bat * utils/hbtest/make_xpp.cmd ! HBTEST was broken for Xbase++. Fixed. * source/rtl/minmax.c * source/rtl/mlpos.c * source/rtl/mod.c * source/rtl/mouseapi.c * source/rtl/strmatch.c * source/rtl/strtran.c * Minor typos, formattings, optimizations. 2000-06-02 15:39 UTC+0100 Victor Szakats * doc/whatsnew.txt ! Typo 2000-06-02 02:05 UTC-0800 Ron Pinkas * source/pp/ppcore.c ! Added logic to hb_pp_RdStr() to fix problem with Macro Terminator (.) without a macro suffix. 2000-06-01 21:15 UTC-0800 Ron Pinkas * source/pp/ppcore.c + Added case '@' to hb_pp_RdStr() to fix problem with @ not followed by a space. 2000-06-02 04:00 UTC+0100 Victor Szakats * source/rtl/filesys.c ! hb_fsEof() fixed for DJGPP. * include/Makefile - hbapiext.h removed * source/compiler/harbour.c ! Fixed GCC -O2 warning. * source/compiler/harbour.y ! Two RSXNT warnings fixed. 2000-06-02 02:54 UTC+0100 Victor Szakats * include/hbver.h * doc/whatsnew.txt * Bumped version to 0.34 and date to 2000-06-02 2000-06-01 22:18 UTC+0100 Victor Szakats * source/lang/msgcswin.c * source/lang/msghr852.c * source/lang/msghriso.c * source/lang/Makefile * makefile.bc * makefile.vc + New language modules added. * source/rtl/philes.c + HB_EXTENSION guards added to HB_FEOF() * bin/bld.cmd ! HB_LIB_... fixed to HB_INC_... * contrib/samples/date.c * contrib/samples/dbf.c % Some optimizations. 2000-06-01 15:35 UTC-0400 David G. Holm * source/rtl/dates.c - Removed sys/timeb.h, because it is not needed. * source/rtl/filesys.c + Added OS_UNIX_COMPATIBLE to the __CYGWIN__ code for hb_fsEof() * source/rtl/gtdos/gtdos.c + Added #defines to allow video modes to compile with __RSX32__ 20000601-20:40 UTC+0100 Ryszard Glab *source/rtl/dates.c * OS_UNIX_COMPATIBLE is defined in file included from hbapi.h then it cannot be checked before inclusion of hbapi.h *source/rtl/filesys.c * fixed hb_fsEof() for U*ix platforms 2000-06-01 12:15 UTC-0400 David G. Holm * doc/en/file.txt + Added documentation for HB_FEOF( nHandle ) * source/rtl/filesys.c + Added implementation of hb_fsEof() for defined(__CYGWIN__). * source/rtl/philes.c + Added Harbour wrapper HB_FEOF( nHandle ) for hb_fsEof(). * source/rtl/gtos2/gtos2.c ! Bug fix that should allow video mode changes to work in full screen mode as well as in windowed mode. 20000531-23:20 GMT -3 Luiz Rafael Culik *bin/bld.bat *changed HB_LIB_INSTALL to HB_INC_INSTALL on harbour /i command line switch +doc/en/eval.txt *Documentation for Eval() function *doc/en/set.txt +Document for SET BELL command *doc/en/string.txt +Documentation for PADR(),PADC(),PADL(),TRIM(),RTRIM(),ALLTRIM(), REPLICATE(),SPACE() *utils/hbdoc/genng.prg utils/hbdoc/genhtm.prg *Small change to allow multiple tables in a doc *contrib/hbzlib/zipfile1.c *small change to hb_unzipfile() function *contrib/hbzlib/zipfile2.c *Small changes *contrib/hbzlib/hbzip.h *some Declaration changes +contrib/hbzlib/unzip.h *missing header files required by zipfile2.c +contrib/hbzlib/doc/zip.txt +Documentation of the zip functions 2000-05-31 23:57 UTC+0100 Victor Szakats * source/vm/itemapi.c ! hb_itemNew() fixed for non NULL pNull values. Thanks go to Janica Lubos for the fix. 2000-05-31 23:43 UTC+0100 Victor Szakats * contrib/hbclip/make_clp.bat * Minor enh. * source/lang/msgpt.c ! Updated by Felipe + contrib/sample/Makefile + GNU-Makefile for samples by Jose Lalin: + contrib/sample/test*.prg + Tests added. + contrib/sample/date.c + Mdy, Dmy(), DateAsAge(), AddMonth() + DateAsArray(), ArrayAsDate(), DateIsLeap(), NToD() + contrib/sample/dbf.c + Dbf() + contrib/sample/environ.c + FilePath(), FileBase(), FileExt(), FileDrive() + contrib/sample/gauge.c + contrib/sample/stack.c + contrib/sample/status.c + contrib/sample/num.c + Ceiling(), DToR(), Floor() + NumAsLog10(), NumGetDecimals(), NumGetLen() + RToD(), Sign(), NumAsCurrency() 20000531-22:15 GMT+2 Maurilio Longo * contrib/msql/tmsql.prg * type "C" values need to be encoded before sending them to mSQL (' -> \') + contrib/msql/dbf2msql.prg + added a little utility to import a .dbf file into a mSQL table * contrib/msql/Makefile + added dbf2msql.prg target * contrib/msql/readme.txt * reformatted. * source/vm/classes.c ! patch from JFl&RaC , to fix super:X handling 2000-05-31 13:53 UTC+0100 Victor Szakats * include/hbapi.h * source/vm/extend.c + Added hb_retl() Extend API function. * HB_EXTEND_API_MACROS renamed to HB_API_MACROS * include/hbdate.h * source/rtl/dates.c * source/rtl/dateshb.c + Added hb_dateToday() and hb_dateTimeStr() functions. * source/rtl/trim.c % Some minor optimizations. * source/vm/classes.c ! Fixed warning, adjusted variable scopes. * contrib/libmisc/dates2.c % Some fixes, optimizations and copyright added. From Jose Lalin: * contrib/libmisc/dates2.c - removed all occurences of: char * szDateFormat[] sprintf( szDateFormat, "%04i%02i%02i", (int) lYear, (int) lMonth, (int) lDay ); hb_retds( szDateFormat ); + replaced with: hb_retd( lYear, lMonth, lDay ); * This will speed up things a bit. 2000-05-30 10:30 UTC+0300 Chen Kedem * doc/en/objfunc.txt + Documentation for __objDerivedFrom() 2000-05-29 21:00 GMT -3 Luiz Rafaek Culik *contrib/libmisc/doc/gendoc.bat contrib/libmisc/doc/gendoc.cmd *small changes *contrib/libmisc/doc/gendoc.rsp +dates2.txt added +contrib/libmisc/doc/en/dates2.txt *docs provided by Jose Lanin +contrib/hbzlib/zipfile2.c *interface to the unzip function *contrib/hbzlib/zipfile1.c *Added HB_UNZIPFILE() function *contrib/hbzlib/makefile.bc *added zipfile2.c to dependencies 2000-05-29 22:41 UTC+0200 JFl&RaC , *Some test prog for the new classes and accepted syntax +harbour/tests/DELEGAT.PRG +harbour/tests/FORWARD.PRG +harbour/tests/MULTINH.PRG +harbour/tests/POLYMORF.PRG +harbour/tests/SCOPING.PRG *harbour/source/vm/classes.c -Minor correction regarding HIDDEN status at compile time -__Sender() now returning the sender object when using 'delegating' 2000-05-29 22:26 UTC+0100 Victor Szakats * doc/whatsnew.txt * Updated with items from Jose 2000-05-29 03:25 UTC-0500 Paul Tucker * contrib\libct\makefile.vc * contrib\libgt\makefile.vc * contrib\libmisc\makefile.vc * contrib\libnf\makefile.vc * contrib\rdd_ads\makefile.vc * contrib\libct\make_vc.bat * contrib\libgt\make_vc.bat * contrib\libmisc\make_vc.bat * contrib\libnf\make_vc.bat * contrib\rdd_ads\make_vc.bat * proper parameters are now 'clean' and 'all' (/a can still be used as all) 2000-05-29 08:29 UTC+0100 Victor Szakats * source/rtl/xsavescr.c - Removed superfluous ";" char. * source/rtl/tbrowse.prg * source/rtl/memofile.c ! Typo * source/rtl/filesys.c % Optimized hb_fsEof(). Note that this code is not multiplatform. * source/compiler/harbour.l * source/rtl/tclass.prg - :: now again translates to Self, since QSelf() is not working well when used in a codeblock. So this change postponed after version 0.34 2000-05-28 23:00 GMT -3 Luiz Rafaek Culik *contrib/hbzlib/zlibapi.c contrib/hbzlib/zipfile1.c *Fixed unrelease memory Block *utils/hbdoc/html.prg *added WriteMetaTag() method *Enhached the New method to also accept a array contain meta Tags *utils/hbdoc/hbdoc.prg *some changes on the harbour.htm generation *utils/hbdoc/genhtm.prg utils/hbdoc/genng.prg *small Changes 2000-05-28 21:55 GMT -3 Luiz Rafaek Culik *include/hbapifs.h +hb_fsEof() declaration added *source/rtl/filesys.c +hb_fsEof() function added 2000-05-29 02:47 UTC+0100 Victor Szakats * doc/whatsnew.txt + Class features added. * source/compiler/harbour.y - One TODO removed. * source/rtl/ttopbar.prg * source/debug/dbgtmenu.prg % __AltToKey() - minor optimization (one variable removed). * include/hbclass.ch * include/hbextern.ch * include/hboo.ch * include/hbsetup.ch * source/rtl/objfunc.prg * source/rtl/tclass.prg * source/vm/classes.c * Some variables, macros and functions renamed, some types changed (unsigned -> ULONG, USHORT -> BOOL) * Formatted, non-ANSI comments fixed. * Some optimisations and fixes (szName not allocated). % Functions returning NIL converted to PROCEDURES. % LOCAL Self := QSelf() line removed. + HB_SHORTNAMEs is now defined when HB_C52_STRICT is turned on. + source/debug/dbgtmitm.prg * source/debug/dbgtmenu.prg * source/debug/Makefile + source/rtl/ttextlin.prg * source/rtl/teditor.prg * source/rtl/Makefile * makefile.bc * makefile.vc * Two classes in one file separated to two files to compile with STRICT, SHORTNAMES mode. * source/rtl/tgetlist.prg * source/rtl/tbrowse.prg * source/rtl/tbcolumn.prg * Restored the previous high level CLASS versions (the fixes where kept), since it should now work with 10 chars mode. ! Some fixes to make it work in 10 chars mode. ; Now Harbour will compile with 10 chars mode, but note that it still won't link. * source/vm/proc.c * include/hbapi.h * hb_procname() declaration moved to the central header. * source/rtl/setkey.c ! HB_SETKEYARRAY() fixed for the case when the second parameter was NIL. * contrib/hbclip/hbclip.ch + HB_SETKEYARRAY() added. 2000-05-28 21:50 GMT -3 Luiz Rafaek Culik *contrib\hbzlib\zlibapi.c *Small changes *contrib\hbzlib\test.prg *test program for the library *contrib\hbzlib\hbzip.h *small chages *doc/genhtm.rsp +added setmode.txt to response file *doc/en/lang.txt *small changes 20000529-00:01 GMT+2 Maurilio Longo * tests/testwarn.prg ! fixed missing function references (and added three more warnings :-)) 2000-05-28 22:57 UTC+0100 Victor Szakats * source/compiler/harbour.l ! Fixed the compiler to not generate reference to the "Self" variable but use the native "QSelf()" instead in the "::" operator. Note that HBCLASS.CH still declares Self, but this is no more a requirement. This way :: operator is a bit faster, and the pcode is smaller. If the "Self" variable would be removed from HBCLASS.CH, it would be even faster. 2000-05-28 22:16 UTC+0200 Jfl&RaC *harbour/include/hboo.ch *harbour/include/hbclass.ch Now support MI, scoping, fowarding and delegating Also support 10 chars limit by not prefixing the Classname when in 10 chars mode *harbour/include/hbsetup.ch Allow the configuration of Hidden message *harbour/source/rtl/objfunc.prg added function __objDerivedFrom(oSelf, oObj | cClassName) *harbour/source/rtl/tclass.prg Major modification to implement MI & scoping Added message :Super to acces frist superclass object instance Added message :IsDerivedFrom(oObj | cClassName ) (Xbase++ comp.) *harbour/source/vm/proc.c added char * hb_procname( int iLevel, char * szName ) extracted from HB_FUNC( PROCNAME ) to allow it to be called from c HB_FUNC( PROCNAME ) modified to call the previous'one *harbour/source/vm/classes.c Major modification to implement MI & Scoping Added function Sender() used by delegating to allow full polymorphism Added function __CLS_PARAM used by the preprocessor 2000-05-28 21:57 UTC+0100 Victor Szakats * source/rtl/gtdos/gtdos.c * source/compiler/hbusage.c * Some cleanups and small fixes. + Crew list updated * makefile.bc * makefile.vc * source/rtl/Makefile ! Synchronized. ! Borland makefile fixed for 16 bit compilers (STARTUP excluded) * contrib/hbclip/hbclip.ch * tests/testwarn.prg - Structure #translate removed * contrib/libgt/makefile.vc ! Minor fix * doc/howtocvs.txt - doc/cvs_ssh.txt - doc/cvs_tips.txt * Merged all CVS related info into one file. Content list added. * Updated timestamp format * doc/whatsnew.txt + Added Version 0.34 feature list * include/hbapi.h * include/hbcomp.h * include/hbextern.ch + HB_SETKEYARRAY added + 5.3 menu related stuff added * source/compiler/cmdcheck.c * Minor optimization * source/compiler/harbour.y ! Extremly long lines fixed. ! GCC -O2 warning fixed. * source/pp/pptable.c - Commented out lines removed. * source/debug/dbgmenu.prg * source/debug/dbgtmenu.prg * source/debug/debugger.prg ! AltToKey_debugger() renamed to __dbgAltToKey() ! BulidMenu() renamed to __dbgBuildMenu() * source/rtl/setkey.c ! Some variables and symbols renamed, indented with three chars ! Some bugs fixed (error situations, handling of zero keycode) % Some things made more simple (removed returns from inside the functions for example). % Variable scopes adjusted. - Removed extension guards from C level code. - Removed all the runtime error generations - Removed the extension when an array was accepted as the first parameter of SETKEY(). + HB_SETKEYARRAY() added instead of the above feature. * source/vm/borinit.c * Minor header formatting. * source/compiler/harbour.c * source/rtl/filesys.c * source/rtl/gtcrs/gtcrs.c * source/rtl/gtcrs/kbdcrs.c * source/vm/eval.c * source/vm/hvm.c * source/vm/macro.c * tests/Makefile ! Fixed TAB usage in the source. (please check your editors!) + source/rtl/tmenuitm.prg + source/rtl/tpopup.prg + source/rtl/ttopbar.prg - source/rtl/menuitem.prg - source/rtl/popup.prg - source/rtl/topbar.prg ! Renamed to conform with other class filenames (T*.PRG) + Added HB_COMPAT_C53 guards. ! AltToKey_debugger() requirement removed to link without the debugger. - doc/depend.txt - Removed since it was very outdated. Missing entries: +contrib\hbzlib\makefile.bc *makefile for zlib library +contrib\hbzlib\zipfile1.c contrib\hbzlib\zlibapi.c *Source code to the library *contrib\hbzlib\test.prg *test program for the library *contrib\hbzlib\*.h *include files need by the library 20000528-21:38 GMT+2 Maurilio Longo * contrib/msql/tmsql.prg + added a few methods to TmSQLServer * contrib/msql/msql.c * changed to support new methods in tmsql.prg 20000528-17:41 GMT+2 Maurilio Longo * doc/cvs_tips.txt ! cvs server expanded my cvs id sample :-) so I changed it a bit 20000528-13:55 GMT+2 Maurilio Longo * doc/cvs_tips.txt + added how to add a cvs ID to new files 20000528-13:45 GMT+2 Maurilio Longo + contrib/msql/readme.txt + contrib/msql/Makefile + contrib/msql/msql.c + contrib/msql/msql.h + contrib/msql/msql.ch + contrib/msql/tmsql.prg + added cvs ID to all files 20000528-13:41 GMT+2 Maurilio Longo * contrib/msql/test.prg + added cvs ID to file 20000528-13:08 GMT+2 Maurilio Longo + contrib/msql/ + added subdir msql to contrib tree + contrib/msql/readme.txt + contrib/msql/Makefile + contrib/msql/msql.c + contrib/msql/msql.h + contrib/msql/msql.ch + contrib/msql/tmsql.prg + contrib/msql/test.prg + added files making up mSQL access classes. They're work in progress, but we all believe in "release early, release often", don't we? :-) 2000-05-28 02:15 UTC-0500 Paul Tucker * makefile.bc * move eval from rtl.lib to vm.lib * (Already built that way, but the dependancy was wrong) * makefile.vc * bring up to date 2000-05-22 10:40 UTC-0800 Ron Pinkas * include/hbvmpub.h * Modified HB_FS_FIRST to ( ( HB_SYMBOLSCOPE ) 0x04 ) * source/compiler/harbour.c * Minor optimization when storing HB_FS_FIRST * source/pp/pptable.c - Removed built-in rule, for STRUCTURE support * source/vm/runner.c ! Fixed bug when there is no startup procedure * source/rtl/tclass.prg - Removed HB_Structure() * include/hbextern.ch * Moved EXTERNAL HB_STRUCTURE to separate section * tests/teststru.prg + added #INCLUDE "..\Include\HBSTRUC.CH" + include/hbstruc.ch + source/rtl/hbstruc.prg * makefile.bc + Added rules for hbstruc.prg 2000-05-25 12:45 UTC-0400 David G. Holm * source/rtl/tgetlist.prg ! Must not attempt to access any GetList array elements when instantiating an instance of the TGetList class if the GetList argument is NIL. 20000524-17:55 GMT+1 Ryszard Glab *source/vm/macro.c *fixed bug in TYPE() function (PUBLIC/PRIVATE variables were not recognized properly) 2000-05-24 10:35 GMT-4 David G. Holm * source/rtl/gtdos/gtdos.c + tests/videotst.prg + doc/en/setmode.txt + doc/es/setmode.txt Implementation, test, and documentation for GTDOS SETMODE(), supplied by "Alejandro de Garate" . 20000523-22:47 DST Paul Tucker * source/compiler/harbour.y * added cast to xgrab call 2000-05-23 16:45 GMT-4 David G. Holm * source/rtl/tgetlist.prg ! Corrected the name of the TGetList class creation function. 2000-05-23 13:40 GMT-4 David G. Holm + doc/cvs_tips.txt + New document with tips regarding CVS usage. Please feel free to add more tips to it. 2000-05-23 12:30 GMT-4 David G. Holm * include/hbver.h % Bumped version from "a" to "b" and updated date to 2000-02-22, due to release of new os2/gcc build at my iterim build web site. + include/button.ch + source/rtl/menuitem.prg + source/rtl/popup.prg + source/rtl/topbar.prg + Added for Jose Lalin . 20000522-10:40 GMT-8 Ron Pinkas * source/compiler/hbpcode.c ! Fixed ambigious else in hb_StrongType() * source/pp/pptable.c ! Fixed STRUCTURE rule to allow nesting of structures. * tests/teststru.prg * Enhanced to demonstrate Structure as element of other structure and self reference capabilities. 20000523-02:58 GMT+1 Victor Szakats ; Thanks to Jose Lalin for these: ; Now these source files work with the ten character symbol name limit. * source/rtl/tbcolumn.prg * source/rtl/tbrowse.prg * fully rewritten using the low-level class creation % changed to follow the "old" C52 contructor syntax without using wrappers. Now TBNew() is the *real* constructor - removed #include "hbclass.ch" ! Put New() between HB_EXTENSION guards % formatting and clean + added a C53 method between #ifdef HB_COMPAT_53 branchs * source/rtl/tgetlist.prg * fully rewritten using the low-level class creation - removed #include "hbclass.ch" % formatting and clean 20000523-02:06 GMT+1 Victor Szakats * makefile.bc * makefile.vc * contrib/hbclip/hbclip.ch * source/compiler/hbgenerr.c * source/lang/Makefile * source/lang/msgcs852.c * source/lang/msgcsiso.c * source/lang/msgcskam.c * source/lang/msgsr852.c * source/lang/msgsriso.c * source/rtl/Makefile * misc small corrections and fixes. * include/hbapi.h * source/rtl/console.c * source/rtl/xsavescr.c ! Fixed memory leak when no __XRESTSCREEN() was called after an __XSAVESCREEN() 2000-05-22 18:15 GMT-4 David G. Holm * source/rtl/filesys.c % The return value from _getdrive() needs to be processed differently on some platforms. * source/rtl/net.c + Added RSX32 to the list of protected mode DOS compilers that are unable to generate an INT 21h, AX=5E00h call. 20000522-10:40 GMT-8 Ron Pinkas * contrib/hbclip.ch ! Updated to reflect latest syntax. * tests/testwarn.ch ! Updated translate segment to reflect latest sysntax. 20000522-09:40 GMT-8 Ron Pinkas * include/hbextern.ch + Added HB_STRUCTURE to list of Externals 20000522-09:20 GMT-8 Ron Pinkas * source/compiler/harbour.c + Added code to main() to process symbols and look for the first symbol in the prg and give it scope HB_FS_FIRST * source/compiler/genc.c + Added check for HB_FS_FIRST in the symbol processing loop, and output to the symbol table. * source/vm/hvm.c ! Fixed bug where if first symbol was an init symbol, it got executed twice. * source/vm/runner.c + Added logic to look for first symbol, to provide correct startup. ! Fixed bug where if first symbol was an init symbol, it got executed twice. * source/rtl/tclass.prg ! Corrected minor typo in HB_Structure() * tests/teststru.prg ! Corrected minor typo. + tests/testinit.prg + Added file to test proper startup processing. 20000522-06:15 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added "as structure", "as stru", "as array of structure", "as array of stru" * source/compiler/hbpcode.c * Improved some logic in hb_StrongType() * source/vm/hvm.c ! Corrected startup symbol when having to use Main() as per Ryszard. * source/pp/pptable.c + Added the equivalent of: #COMMANDS STRUCTURE AS [, AS ] => ; STATIC __ := {|| IF( __ == NIL, , ) , HB_Structure( <"StruName">, { <"Var1"> [, <"VarN">] } )} ;; DECLARE AS [ AS ] ;; #TRANSLATE AS NEW => AS CLASS := ( Eval( __ ), HB_Structure( ) ) #TRANSLATE AS NEW => AS CLASS := ():New() * source/rtl/tclass.prg + Added Function HB_Structure() ( Fully Declared! ) This function is used internally, but may be freely called from Clipper level. It Aceepts Parameter 1 Structure Name, and optional parameter 2, as array of structure variable names. If called with 2nd parameter, returns NIL (just creates the new Structure), if called with just parameter 1, it returns new instance of defined structure. + tests\teststru.prg + Added demo for new structure syntax 20000522-01:51 DST Paul Tucker * include/hbcomp.h * adjust declaration of COMCLASS and COMDECLARE 20000521-21:50 GMT-8 Ron Pinkas * source/compiler/harbour.y - Removed few unneeded hb_strdup() from calls to hb_compClassFind() + Added auto addition of Method Declaration for the SET Function of a declared Var of a declared class. * source/compiler/harbour.c - Removed few unneeded hb_strdup() from calls to hb_compClassFind() 20000521-14:42 GMT-8 Ron Pinkas * tests/testwarn.prg ! Consolidate #translate rules, and verified that it can compile under Clipper 20000521-14:15 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added "as class" * source/compiler/harbour.y ! Fixed shift conflicts and reduce conflicts. * Modified rules for syntax "AS Object ClassName" to "As Class ClassName" * tests/testwarn.prg ! Corrected the #translate to reflect latest syntax ! Corrected syntax to use AS CLASS ClassName instead of AS OBJECT ClassName. 20000520-21:30 GMT-8 Ron Pinkas * include/hbvmpub.h + Added: #define HB_FS_FIRST ( ( HB_SYMBOLSCOPE ) 0x40 ) * source/compiler/genc.c + Added logic to add | HB_FS_FIRST to first defined symbol in a prg. * source/vm/hvm.c * Modified hb_vmProcessSymbols() to look for HB_FS_FIRST for startup procedure instead of any first symbol. * source/compiler/harbour.y * Minor consilidation in AsType *** I am aware of 6 reduce conflicts resulting from previous removal of FROM_CLASS, and am looking into it. *** * tests/testwarn.prg ! Corrected the #translate to reflect latest syntax 20000521-00:37 DST Paul Tucker * source/rtl/setkey.c + include "hbgtapi.h" - needed for proper c++ support 20000520-10:07 GMT-8 Ron Pinkas * source/compiler/harbour.l - Removed rule for "FROM CLASS" + Added "AS Obj" as an abrreviation for "AS Object" * source/compiler/harbour.y * Changed "AS Object FROM CLASS ClassName" to "As Object ClassName" * tests/testwarn.prg * Modified code to demonstrate new syntax for "As Object..." 20000520-15:25 GMT+1 Ryszard Glab *source/rtl/gtcrs/gtcrs.c * fixed hb_gt_SetAttribute() to work correctly with ncurses library (thanks to Marek Paliwoda) 20000520-14:45 GMT+1 Ryszard Glab *source/rtl/gtcrs/gtcrs.c * fixed hb_gt_SetAttribute() to work with plain curses library (thanks to Marek Paliwoda) *source/rtl/gtcrs/kbdcrs.c *source/rtl/gtcrs/mousecrs.c * fixed a module description 20000519-23:50 GMT-3 Luiz Rafael Culik *makefile.bc makefile.vc source/lang/makefile +Added new language modules +source/lang/msgcsiso.c *Language module for CZECH *source/lang/msgcs852.c source/lang/msgcskam.c *Updated 20000519-15:40 GMT-8 Ron Pinkas * source/compiler/hbpcode.c + Minor correction in hb_compStrongType() 20000519-15:28 GMT-8 Ron Pinkas * include/hbcomp.h + Added member pParamClasses to COMDECLARED * Changed hb_comp_szClass to hb_comp_szFromClass * source/compiler/harbour.y * Changed hb_comp_szClass to hb_comp_szFromClass * source/compiler/harbour.c + Added support for declared parameters of Functions/Methods AS Object FROM CLASS ... * source/compiler/hbpcode.c + Added Strong Type checking for declared parameters of Functions/Methods AS Object FROM CLASS ... * tests/testwarn.prg + Added code to demonstrate warnings for declared parameters of Functions/Methods AS Object FROM CLASS ... 20000519-10:17 GMT-8 Ron Pinkas * source/compiler/harbour.y * source/compiler/harbour.c * source/compiler/hbpcode.c + Added support for AS Array Of Objects FROM CLASS ClassName syntax and type checking. * tests/testwarn.prg + Added code to demonstrate syntax and warnings for AS Array Of Objects FROM CLASS ClassName syntax and type checking. 20000519-02:05 GMT-8 Ron Pinkas * include/hbcomp.h ! Consolidated COMDECLARED and COMMETHOD into COMDECLARED + Added member pClass to COMDECLARED + Added member pLast to COMCLASS * source/compiler/harbour.y + Added support for Methods/Datas of type Object of a declared Class. * source/compiler/harbour.c ! Fixed bug in hb_compMethodAdd() * source/compiler/hbpcode.c + Added Strong Type Checking to Objects syntax. * include/hberrors.h + Added : "HB_COMP_WARN_MESSAGE_NOT_FOUND" * source/compiler/hbgenerr.c + Added : "3Message \'%s\' not known in Class \'%s\'" * tests/testwarn.prg + Added code to demonstrate syntax and warnings for OO Strong Type Checking. 20000516-22:48 GMT+2 Maurilio Longo * source/rtl/memoedit.prg ! fixed call to StrTran passing K_TAB instead of Chr(K_TAB) 20000516-03:55 GMT+4 April White * source\rtl\makefile - setkey.prg from PRG_SOURCES section (a conflict prevented the prev update) + setkey.c to C_SOURCES section 20000515-19:45 GMT-8 Ron Pinkas * source/compiler/harbour.l ! Corrected (again) rules for OPTIONAL to not conflict with DO OPTIONAL WITH ... and FOR Counter := OPTIONAL TO ... 20000515-20:22 GMT+4 April White * source\rtl\makefile - setkey.prg from PRG_SOURCES section + setkey.c to C_SOURCES section * makefile.bc - removed setkey.prg rule (?) * changed (OBJ_DIR)\setkey.c to (RTL_DIR)\setkey.c * makefile.vc * moved the setkey.obj rule from PRG section to C section * source\rtl\console.c + added hb_setkeyInit() to hb_conInit() + added hb_setkeyExit() to hb_conRelease() * include\hbapigt.h + added declaration for hb_setkeyInit() and hb_setkeyExit() + source\rtl\setkey.prg + C implimentation of setkey * tests\setkeys.prg * added code to disable (and later restore) F8 hot key while inside it's action block - prevents recursion * changed condition block on F10 hot-key to use getactive():VarGet() vs getactive():buffer - this prevented testing non-character gets * tests\gnu_test.bat * added % to end of hb_architecture & hb_compiler where needed * include\hbextern.ch * changed 'rtl\setkey.prg' to 'rtl\setkey.c' 20000516-03:59 GMT+1 Victor Szakats * source/lang/Makefile * source/lang/msgsr852.c + source/lang/msgsriso.c * source/compiler/hbusage.c * makefile.bc * makefile.vc + Added new languages. 20000515-18:00 GMT-8 Ron Pinkas * source/compiler/harbour.c - Removed: warning of uninitialized static variable. * source/compiler/hbpcode.c - Removed: warning of uninitialized static variable. ! Minor correction to hb_compStrongType() 20000515-23:11 GMT+2 Maurilio Longo * source/rtl/teditor.prg + added soft CR handling ! fixed a bug in K_CTRL_Y handling * source/rtl/memoedit.prg * original MemoEdit() changes K_TAB chars to spaces upon loading of text 20000515-23:05 GMT+1 Victor Szakats * source/rtl/teditorl.c * source/rtl/padl.c % Minor optimizations and formatting. 20000515-22:47 GMT+1 Victor Szakats * source/compiler/hbusage.c ! Removed conditional OBJ generation branch. * source/compiler/hbfix.c ! Unused variable warnings fixed. 20000515-10:15 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added states DECLARE & OPTIONAL_ * Modified rules for "declare" and "optional" to use states, and support abbreviations. * Modified rules for "declare" to support backdated syntax DECLARE aVar[...] 20000515-17:15 GMT+1 Ryszard Glab *source/rtl/gtcrs/gtcrs.c *fixed initialization of curses library 20000514-22:25 GMT-8 Ron Pinkas * source/compiler/harbour.l - Removed: not needed states - Removed "class method" "class data" + Added rules for "declare"" * source/compiler/harbour.y * Changed rules for DECLARE FUNCTION as per Ryszard suhhestion, New Sysntax is simply: DECLARE FunName([...]) [As ...] * Changed rules for DECLARE CLASS as per Ryszard suhhestion, New Sysntax is simply: DECLARE ClassName MethodName([...]) [As ...] DataVar [As ...] * source/compiler/harbour.c ! Minor correction to allow final declaration to override previous declaration of same function. * tests/testwarn.prg * Modified code to demonstrate syntax functions, classes and objects of a declared class declarations. 20000514-19:17 GMT-8 Ron Pinkas * source/compiler/harbour.y ! Additional Correction so '@' handled correctly on any var in a Function Declaration. 20000514-18:57 GMT-8 Ron Pinkas * source/compiler/harbour.c * Remmed some debug printf() 20000514-18:57 GMT-8 Ron Pinkas * source/compiler/harbour.y ! Corrected '@' to be accepted on any var in a Function Declaration. ! Simplified rules of Function Declaration Parameter list. 20000514-12:20 GMT-8 Ron Pinkas * source/compiler/harbour.y + Seperated the DECLARE... from Function, moved into a Declare, and Added Declare as type of Source. ! Added reset of hb_comp_iVarScope to DECLARE... to fix wrong "Statement not allowed outside of procedure or function" * source/compiler/hbgenerr.c * Modified : "3Duplicate Declaration of %s \'%s\'" to accept 1st parameter type of redeclaration ( Function, Class, Method ). * source/compiler/harbour.c * Modified calls to hb_compGenWarning() to use additional parameter of redclaration type. 20000514-10:07 GMT-8 Ron Pinkas * source/compiler/harbour.l ! Fixed parse error when DO OPTIONAL WITH 1 or " or other non alpha charcaters ! Fixed parse error when FOR Var := OPTIONAL TO ... 20000514-09:45 GMT-8 Ron Pinkas * source/compiler/harbour.y ! Fixed GPF when using DECLARE CLASS and -w < 3 * source/compiler/harbour.c ! Fixed GPF when using DECLARE CLASS and -w < 3 20000514-09:10 GMT-8 Ron Pinkas * source/compiler/harbour.l ! Fixed parse error when DO OPTIONAL WITH ... * Changed FROM to FROM CLASS in AS Obect FROM CLASS ... (fixed conflict of FROM with DO FROM ...) * Changed AS ... ARRAY to AS ARRAY OF ... 20000514-14:55 GMT+1 Ryszard Glab *source/compiler/harbour.y * fixed bug in line counting that was causing no code generated for statements placed within BEGIN/END SEQUENCE 20000513-14:50 GMT+1 Ryszard Glab *include/hbcomp.h * added 'int iDeclLine' to VAR structure to hold the line number where a variable was declared *source/compiler/harbour.c *source/compiler/harbour.y * fixed generation of 'unreachable code' warnings * warnings for declared but not used variable reports the line number where this variable was declared 20000513-13:51 GMT+2 Maurilio Longo - source/rtl/stringsx.c - removed + source/rtl/teditorl.c + added * source/rtl/Makefile * Makefile.bc * Makefile.vc * changed to reflect previous changes 20000513-00:51 GMT+2 Maurilio Longo * Makefile.bc + added stringsx.c * Makefile.vc + added stringsx.c * source/rtl/Makefile ! fixed tab chars in file (I hope) 20000513-00:19 GMT+2 Maurilio Longo * source/rtl/stringsx.c * Changed StrToken() to __StrToken() - removed unused functions + added standard copyright, please note that __StrToken() is NOT my work. * source/rtl/teditor.prg * StrToken() now is __StrToken() * ChangeLog, now saved as unix file, only cr at end of line, forced my editor to save all files as unix files regardless of their actual state. 20000512-08:00 GMT-8 Ron Pinkas * source/compiler/harbour.y + Added support for END to be used with FOR loops. * include/hberrors.h + Added : #define HB_COMP_WARN_CLASS_NOT_FOUND * source/compiler/hbgenerr.c + Added: 3Class \'%s\' not known in declaration of variable \'%s\'" * source/compiler/harbour.c - Remmmed a "debug" printf() + Added warning when class not know when declaring an object FROM Class ... 20000512-13:31 GMT+2 Maurilio Longo + source/rtl/stringsx.c + added to rtl since teditor.prg needs StrToken() * source/rtl/Makefile + added stringsx.c to list of needed files * source/rtl/teditor.prg % Text2Array() is twice as fast and uses A LOT less memory. 20000510-22:01 GMT+2 Maurilio Longo * source/vm/fm.c + Added OS/2 support to Memory() function * source/compiler/harbour.c ! fixed hb_compFunctionNew() define conflicting with actual implementation 20000510-03:00 GMT-8 Ron Pinkas * include/hbcomp.h + Added new structures COMCLASS and COMMETHOD + Added new element pClass to structure VAR + Added: extern PCOMCLASS hb_compClassAdd( char * ); extern PCOMCLASS hb_compClassFind( char * ); extern PCOMMETHOD hb_compMethodAdd( PCOMCLASS pClass, char * ); extern PCOMMETHOD hb_compMethodFind( PCOMCLASS pClass, char * ); * source/compiler/harbour.c + Added: PCOMCLASS hb_compClassAdd( char * ); PCOMCLASS hb_compClassFind( char * ); PCOMMETHOD hb_compMethodAdd( PCOMCLASS pClass, char * ); PCOMMETHOD hb_compMethodFind( PCOMCLASS pClass, char * ); * Modified hb_compVariableAdd() to process params of declared class methods. * source/compiler/harbour.l + Added tokens CLASSMETHOD CLASSDATA and FROMCLASS * source/compiler/harbour.y + Added support for class declaration syntax: DECLARE CLASS ClassName HAS Method MethodName( ... ) As ... HAS Data PropertyName ... + Added support for declaration of Object of a sdeclared class sysntax: DECLARE oObjectVar AS Object FROM ClassName * source/compiler/hbpcode.c + Started support for object methods and properties type checking. * tests/testwarn.prg + Added code to demonstrate declarion of classes and objects of a declared class. 20000510-03:45 DST Paul Tucker * source/compiler/harbour.c change param 2 of hb_compFunctionNew() definition to BYTE * source/compiler/hbpcode.c Added a whole whack of (char *)'s to sprintf calls to satisfy msvc. 2000-05-09 19:20 GMT-4 David G. Holm * contrib/rdd_ads/ads1.c % Modified ADS_GETFUNCTABLE to use pointers. * doc/cvs_ssh.txt + Added explanation about your SourceForge CVS ID is all lower case, regardless of the case of your SourceForge login ID. * include/hbver.h + I bumped the revision to "a" and the date to 2000-05-05, because I released a test binary at http://www.jsd-llc.com/Harbour-Project/ 20000509-22:27 GMT+2 Maurilio Longo * source/rtl/teditor.prg + added a few methods and a new class to support (someday) soft CR * source/rtl/memoedit.prg * changed to simulate a K_CTRL_W as LastKey() after a MemoEdit() call 20000509-00:15 GMT-8 Ron Pinkas * source/compiler/hbpcode.c ! Corrcted HB_P_NOT and minor fixes. 20000508-22:50 GMT-8 Ron Pinkas * source/compiler/hbpcode.c * Modified hb_compStrongType() to accept NIL as valid parameter for all declared parameters. 20000508-22:50 GMT-8 Ron Pinkas * source/compiler/harbour.l - Removed un used token DECLARE_ * source/compiler/harbour.y ! Fixed warning about conflict ! Verified all calls to hb_compVariableAdd() to use hb_comp_cVarType (and VT_OFFSET_* constants) as 2nd parameter + Added rules to support syntax of declaration of variable by reference parameter. * include/hbcomp.h + Added : #define VT_OFFSET_BYREF 60 #define VT_OFFSET_VARIANT 90 #define VT_OFFSET_OPTIONAL 90 * source/compiler/harbour.c * Minor cleanup in hb_compVariableAdd() * source/compiler/hbpcode.c * Modified hb_compStrongType() to use VT_OFFSET_* constants. * source/compiler/hbgenerr.c * Changed "number" to "#" in HB_COMP_WARN_PARAM_TYPE message. * tests/testwarn.prg + Added code to demonstrate new "Declared Refernced Parameter" syntax: DECLARE FRead( nHandle As Num, @cBufferVar As Char, nBytes As Num ) AS Num 20000508-22:50 GMT-3 Luiz Rafael Culik *doc/genhtm.rsp +Added lang.txt to HBDOC response file *doc/en/compiler.txt +Added -w4 description +doc/en/lang.txt *Documentation for HB_LANGSELECT() and HB_LANGNAME() The follow is mission from previus session *doc/en/rddmisc.txt *some docs rewriten *doc/en/array.txt *Change Lib name entry in $FILES$ section from ASORT() function to rtl and back to vm *source/lang/msgpt.c *small changes 20000509-00:35 GMT+1 Victor Szakats * include/hbsetup.h ! Removed doubled part. 20000508-00:20 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added rules so that "optional" won't conflict with identifiers named optional. 20000507-21:20 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added token "optional" * source/compiler/harbour.y + Added token "optional", DecParam, DecParamList, OptParams. + Added support for optional parameters syntax in declared functions. * source/compiler/harbour.c + Added logic in hb_compVariableAdd() to deal with optional parameters of declared functions. * source/compiler/hbpcode.c + Added logic in hb_compStrongType() to deal with optional parameters of declared functions. * tests/testwarn.prg + Added code to demonstrate usage and warnings of optional parameters in declared functions. 20000507-23:30 CET Patrick Mast * source/compiler/cmdcheck.c + Added -? and -h option for the compiler. these options show the Harbour usage page. 20000507-13:35 GMT-8 Ron Pinkas * include/hberrors.h + Added : #define HB_COMP_WARN_VAL_NOT_USED 20 * source/compiler/harbour.c + Added logic to hb_compOptimizeFrames() to warn about invalid statics usage. * source/compiler/hbgenerr.c + Added: "3Value of Variable \'%s\' never used" * source/compiler/hbpcode.c * Enhanced support for statics * tests/testwarn.prg + Added more code to demonstrate more warnings. 20000507-05:20 GMT-8 Ron Pinkas * include/hbpcomp.c + Added pPrivates to structure FUNCTION. * source/compiler/harbour.c + Added logic to maintain linked list pPrivates of pFunc. * source/compiler/harbour.y + Added support for MEMVAR AS ... syntax. * source/compiler/hbpcode.c + Added static PVAR hb_compPrivateFind( char * szPrivateName ) + Added support for FIELD AS ... and MEMVAR AS both local and global. ! More refinments * tests/testwarn.prg + Added more code to demonstrate more warnings. 20000507-14:05 GMT+1 Ryszard Glab *include/hbapi.h *include/hbmacro.h *source/rtl/macro.c *source/rtl/memvars.c * hb_memvarScope() function has now a global scope * fixed the value returned by TYPE() function for variables not visible at runtime (now returns 'U' instead of 'UE') 20000507-09:40 GMT+1 Victor Szakats * tests/gnu_test.bat ! Fixed envvar references. 20000506-22:45 GMT-8 Ron Pinkas * include/hbcomp.h + Added #define VS_NONE 0 * source/compiler/harbour.c ! Fixed bug in hb_compVariableAdd() was never adding new var to pFunc->pMemvars because hb_comp_iVarScope was tested with == rather & VS_MEMVAR * source/compiler/harbour.y + Added hb_comp_iVarScope = VS_NONE to reset it after PRIVATE PUBLIC and PARAMETERS statements. * source/compiler/hbpcode.c + Added logic to reset type of privates (need to check publics) after calls to functions or procedures which might affect them. ! Many fixes and consolodiations 20000506-16:35 GMT-8 Ron Pinkas * source/compiler/hbpcode.c + Added logic to hb_compStrongType() to support object methods and properties. * Enhanced logic of array checks. * include/hberrors.h ! Added #define HB_COMP_WARN_ARRAY_ASSIGN_SUSPECT * source/compiler/hbgenerr.c * Added : 4Suspicious type in assignment to declared array element expected: \'%s\'" 20000506-12:10 GMT-8 Ron Pinkas * source/compiler/hbpcode.c + Added logic to allow PLUS an MINUS to accept any type as long as same. ! Fixed compiler warning about pVar * Minor optimizations 20000506-17:46 GMT+1 Victor Szakats * source/compiler/harbour.c ! hb_compGenPushDouble() buffer overflow bug fixed. Thanks to Istvan Foldi. 20000505-19:26 GMT+1 Antonio Linares * source/compiler/genobj32.c * 4 bytes alignment compatible. * source/vm/borinit.c * 4 bytes aligment compatible. * makefile.bc + borinit.c added 20000505-19:15 GMT+1 Ryszard Glab *include/hbapi.h *include/hbexprop.h *source/common/expropt1.c *source/macro/macro.y *source/vm/macro.c * added int exprType for HB_MACRO structure * TYPE( "{|| NotLinked()}" ) returns now 'B' instead of 'UI' 20000505-17:53 GMT+1 Ryszard Glab *include/hbcomp.h *source/compiler/harbour.c *moved declaration of hb_compVariableGetPos into the header file *source/compiler/harbour.c * fixed generation of line number pcode at the beginning of a function *source/compiler/hbpcode.c * fixed non-standard escape sequence "\]" (gcc warnings) * fixed incorrect number of parameters passed to sprintf 20000505-10:47 GMT+2 Maurilio Longo * source/rtl/teditor.prg ! cvs completely broke source file adding Chr(13) chars allover 20000504-23:00 GMT-8 Ron Pinkas * source/compiler/cmdcheck.c + Added -w4 option for the compiler. 20000504-22:40 GMT-8 Ron Pinkas * source/compiler/harbour.c - Removed static qualifier from hb_compVariableGetPos() so it can be called from hb_compStrongType() * source/compiler/hbpcode.c + Added logic to hb_compStrongType() to allow assigment of NIL to any type variable. + Added "Adaptive Type Checking" to control type mismatch in undeclared variables. * include/hberrors.h ! Modified #define HB_COMP_ARRAY_ASSIGN_TYPE to HB_COMP_WARN_ARRAY_ASSIGN_TYPE * source/compiler/hbgenerr.c * Moved "Suspecious ..." to level w4 * tests/testwarn.prg + Added code to demonstrate "Adaptive Type Checking". 20000505-02:03 GMT+1 Victor Szakats * make_gnu.* - Removed output redirection. * config/dos/bcc16.cf * config/dos/djgpp.cf ! echo -> echo. * contrib/hbclip/* + HB_ARGC(), HB_ARGV() added. 20000505-00:27 GMT+2 Maurilio Longo * source/rtl/teditor.prg ! fixed a few bugs 2000-05-04 18:00 GMT-4 David G. Holm * contrib/rdd_ads/ads1.c ! The adsGoBottom() function was not using the current index order. % Minor formatting changes (added missing space in front of ? and on both sides of : in several ?: expressions) 20000504-17:10 GMT+1 Ryszard Glab *include/hbvm.h *source/vm/hvm.c * added hb_vmPushPointer( void * pPointer ) function to push an item of type HB_IT_POINTER onto the eval stack *source/rdd/dbcmd.c *source/rdd/dbf1.c *source/rdd/delim1.c *source/rdd/sdf1.c *source/rdd/dbfcdx/dbfcdx1.c *source/rdd/dbfntx/dbfntx1.c * changed to access pointers via hb_vmPushPointer/hb_itemGetPtr instead of passing them using values of long type 20000504-04:05 GMT-8 Ron Pinkas * source/compiler/hbpcode.c ! Fixed GPF when Array of 0 elements created. 20000504-03:10 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added: "as bool array" { return AS_LOGICAL_ARRAY; } "as boolean array" { return AS_LOGICAL_ARRAY; } "as var" { return AS_VARIANT; } "as variant" { return AS_VARIANT; } "as num array" { return AS_NUMERIC_ARRAY; } "as numeric array" { return AS_NUMERIC_ARRAY; } "as char array" { return AS_CHARACTER_ARRAY; } "as character array" { return AS_CHARACTER_ARRAY; } "as string array" { return AS_CHARACTER_ARRAY; } "as logical array" { return AS_LOGICAL_ARRAY; } "as bool array" { return AS_LOGICAL_ARRAY; } "as boolean array" { return AS_LOGICAL_ARRAY; } "as date array" { return AS_DATE_ARRAY; } "as array array" { return AS_ARRAY_ARRAY; } "as block array" { return AS_BLOCK_ARRAY; } "as object array" { return AS_OBJECT_ARRAY; } "as var array" { return AS_VARIANT; } "as variant array" { return AS_VARIANT; } * source/compiler/harbour.y + Added AsArray + Added : %token AS_NUMERIC_ARRAY AS_CHARACTER_ARRAY AS_LOGICAL_ARRAY AS_DATE_ARRAY AS_ARRAY_ARRAY AS_BLOCK_ARRAY AS_OBJECT_ARRAY AS_VARIANT_ARRAY + Added rules to support declarion of array elements type * source/compiler/harbour.c ! Minor fix to hb_compVariableGetPos() to signify var usage if warning level lower than 3 * source/compiler/hbpcode.c + Added logic to hb_compStrongType() to support type checking of array elements declared type. * include/hberrors.h + Added #define HB_COMP_ARRAY_ASSIGN_TYPE * source/compiler/hbgenerr.c + Added : "3Incompatible type in assignment to declared array element expected: \'%s\'" * tests/testwarn.prg + Added code to demonstrate more warnings. * contrib/hbclip/hbclip.ch + Added additional strong typing compatibility translations 20000504-12:07 GMT+3 Chen Kedem * doc/en/array.txt ! Change ASORT() $COMPLIANCE$ as suggested by Victor Szakats 20000504-09:12 GMT+1 Victor Szakats * contrib/hbclip/hbclip.ch + Added strong typing compatibility translation * include/hbcomp.h * include/hberrors.h * source/compiler/harbour.c * source/compiler/hbpcode.c ! Some macros renamed ! One warning fixed. ! Minor fixes. 20000503-21:30 GMT-8 Ron Pinkas * include/hbcomp.h + Added: #define VU_NOT_USED 0 #define VU_INITIALIZED 1 #define VU_USED 2 * source/compiler/harbour.c * Modified refrences to pVar->iUsed to use new VU_* constants. * source/compiler/hbpcode.c * Enhanced hb_compStrongType() to check and set pVar->iUsed with new VU_*constants. 20000503-19:25 GMT-8 Ron Pinkas * source/compiler/harbour.c * Corrcetd pVars->iUsed = 1 to pVars->iUsed |= 1 in hb_compVariableGetPos() so it won't override -1 value from StrongType() 20000503-22:43 GMT+1 Victor Szakats * source/rtl/filesys.c ! Cast added for MSVC. 20000503-01:45 GMT-8 Ron Pinkas * include/hberrors.h + Added: #define HB_COMP_NOT_INITIALIZED * source/compiler/hbgenerr.c + Added: "3Variable \'%s\' used but never initialized" * source/compiler/hbpcode.c * Enhanced hb_compStrongType() to warn against un-initialized varaiable usage. 20000503-01:00 GMT-8 Ron Pinkas * source/compiler/hbpcode.c * Fixed hb_compStrongType() to diffrentiate between a MEMVAR and a DECLARED FUNCTION with the same name. + Added support for HB_P_ARRAYPUSH * source/compiler/hbgenerr.c * Minor correction to "Incompatibe return type" * tests/testwarn.prg + Added code to demonstrate more warnings. 20000502-23:15 GMT-8 Ron Pinkas * include/hbcomp.h - Removed members cParamTypes and iParamCount from COMSYMBOL + Added member USHORT iStackSize to FUNCTION structure * Modified member pStack of FUNCTION to not pre allocate any memory. + Added new structure COMDECLARED + Added: extern PCOMDECLARED hb_compDeclaredAdd( char * ) and extern PCOMDECLARED hb_compDeclaredFind( char * ); + Adede: extern PCOMDECLARED hb_comp_pFirstDeclared and extern PCOMDECLARED hb_comp_pLastDeclared * include/hberrors.h + Added: #define HB_COMP_DUP_DECLARATION 17 #define HB_COMP_DECLARATION_CONFLICT 18 * source/compiler/genc.c * Modified hb_compGenCCode() to free the Declared Function linked list. * source/compiler/harbour.c + Added: PCOMDECLARED hb_compDeclaredAdd( char * ) and PCOMDECLARED hb_compDeclaredFind( char * ); + Adede: PCOMDECLARED hb_comp_pFirstDeclared and PCOMDECLARED hb_comp_pLastDeclared * source/compiler/harbour.y * Modified parsing of DECLARE FUNCTION to use new PCOMDECLARED rather than PCOMSYMBOL * source/compiler/hbgenerr.c + Added: "3Duplicate Declaration of Function %s" "3Function \'%s\' conflicting with its declaration" * source/compiler/hbpcode.c * Modified hb_compStrongType() to utilize PCOMDECLARED rather than PCOMSYMBOL * Modified hb_compStrongType() to increase the pFunc->pStack as needed. * tests/testwarn.prg + Added code to demonstrate more warnings. 20000503-01:13 GMT+1 Victor Szakats * source/compiler/hbgenerr.c * Some small cleanups on the error texts. 20000503-00:39 GMT+1 Victor Szakats * bin/bld.* + Modified to use the HB_???_INSTALL envarrs instead of the hard-wired paths for binaries, include files and libraries. 20000503-00:01 GMT+2 Maurilio Longo * source/rtl/teditor.prg + added word wrapping capabilities * text is saved if user presses K_ALT_W (sorry) this deviates from clipper but until we find a way to detect real K_CTRL_W it's better than nothing. ! fixed a bug in text splitting when on last line of text * source/rtl/memoedit.prg * changed to match new TEditor capabilities 20000502-22:04 GMT+1 Victor Szakats * source/lang/msges.c ! Updated by Jose Lalin 20000502-19:28 GMT+1 Victor Szakats * source/vm/hvm.c % hb_vmFunction() and hb_vmSendFunc() "inlined". Note that hb_vmFunction() is still there since it's used from one places in classes.c. - Redundant declaration removed. * source/rtl/do.c ! Typo + NOTE added about Harbour extension. 20000502-19:12 GMT+1 Victor Szakats * makefile.vc * EVAL.C moved to VM from RTL * source/vm/proc.c ! Typo. * make_gnu.cmd + Error output redirection readded to be in sync with the other make files. If you need to customize this for your own taste, please make a local copy of it before. 20000502-17:15 GMT+1 Ryszard Glab *makefile.bc *source/rtl/Makefile *source/vm/Makefile -source/rtl/eval.c +source/vm/eval.c * fixed bug in EVAL function when a parameter was passed using the reference * since the EVAL function is using a direct stack access instead of hb_param() function the file eval.c is now moved into VM directory 20000502-16:22 GMT+1 Ryszard Glab *source/compiler/harbour.l * fixed syntax: RETURN ++variable 20000502-16:07 GMT+1 Ryszard Glab *source/compiler/hbpcode.c * increased buffers size used by sprintf to avoid GPF/code dumps 20000502-14:55 GMT+1 Ryszard Glab *source/vm/hvm.c * fixed bug during accessing a constant arrays caused by the optimization - { 1, 2, 3 }[ n ] 20000502-14:25 GMT+1 Ryszard Glab *source/compiler/harbour.c * fixed unused variable warning in a code that nobody is remembering why it was there 20000502-10:41 GMT+1 Victor Szakats * include/hbpcode.h * include/hbexprb.c * include/hbexprc.c * include/hbvm.h * source/compiler/hbpcode.c * source/compiler/hbfix.c * source/compiler/genc.c * source/vm/hvm.c + HB_P_SEND and HB_P_SENDSHORT pcodes added. At this moment they are exactly the same as HB_P_FUNCTION[SHORT]. More work is needed to optimize the stack usage for SEND/DO/FUNCTION. + hb_vmSend() function added. ! WARNING ! All sources must be recompiled. 20000502-01:30 GMT-8 Ron Pinkas * source/compiler/harbour.c * Correction compiler warning about piShifts in hb_compOptimizeJumps(). * source/compiler/hbpcode.c * Correction compiler warning about pSym in hb_compStrongType(). 20000502-09:30 GMT+1 Victor Szakats * utils/hbtest/rt_hvma.prg + Added some tests for the new compile-time generated double widths. * source/vm/hvm.c % Some optimization for hb_vmCalcDoubleWidth() * source/rdd/dbfcdx/dbfcdx1.c ! Fixed two -O2 GCC warnings. 2000-05-02 01:45 GMT-4 David G. Holm * include/hbapigt.h ! Changed INKEY_EXTENDED to INKEY_RAW to match inkey.ch. * source/vm/hvm.c ! Removed integer parameter test for 0 decimal places from division for 100% Clipper compatibility (Clipper only does this for compiler optimized integer division with an integer result). * source/vm/itemapi.c ! Default numeric to string conversion must never use more than 9 decimal places in order to be Clipper compatible. * tests/teststr.c + Added code to make it easier to compare Harbour and Clipper results and to deal with the sometimes wrong results from HB_OSNEWLINE(). 20000501-20:50 GMT-8 Ron Pinkas * source/compiler/harbour.l + Added "as char" and "as string" as acceptable alternative to "as character" + Added "as num" as acceptable alternative to "as numeric" 20000502-02:13 GMT+1 Victor Szakats * source/compiler/harbour.l * source/macro/macro.l + The widths of the double values are calculated at compile time. The widths of the doubles generated in the expression optimizer are still forced to be calculated at runtime. Please test this! * source/vm/hvm.c % Width calculation moved to a separate function to lower the required stack space. 20000502-01:43 GMT+1 Victor Szakats * include/hbapi.h * include/hbexprb.c * include/hbexprop.h * source/common/expropt1.c * source/common/expropt2.c * source/compiler/harbour.l * source/compiler/harbour.y * source/macro/macro.l * source/macro/macro.y * source/vm/hvm.c + The compiler enhanced to internally handle the double width info. It's not set to default at a lower level. Note that it still isn't calculated. 20000502-01:14 GMT+1 Victor Szakats * include/hbcomp.h * include/hbexprb.c * include/hbmacro.h * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbpcode.c * source/vm/hvm.c * source/vm/macro.c + Added width info to the PUSHDOUBLE pcode, to be Clipper compatible. Note that the width is not yet calculated at compiled time, but the possibility is already there. 20000501-23:25 GMT+1 Victor Szakats * include/Makefile ! Missing hbapi.h added to the file list. 20000501-23:21 GMT+2 Maurilio Longo * ChangeLog ! cvs server: warning: file `harbour/ChangeLog' seems to still contain conflict indicators Removed conflict indicators. 20000501-23:19 GMT+2 Maurilio Longo * source/rtl/teditor.prg ! fixed a few errors in aText handling * added missing navigation functions % aText shrinks when deleting lines of text * source/rtl/memoedit.prg * when exiting editor, if exited with K_CTRL_W gets modified text from editor to save it. IT DOESN'T work right now because I don't know how to distinguish K_CRTL_W from K_CTRL_END. :-| 20000501-14:15 GMT-8 Ron Pinkas * source/compiler/harbour.c * Minor correction to hb_compVariableAdd(). * source/compiler/hbpcode.c * Enhancements to hb_compStrongType() to support new PUSH/POPALIASEDFIELDNEAR. * tests/testwarn.prg + Added code to demonstrate more warnings. 20000501-19:05 GMT+1 Ryszard Glab *source/vm/hvm.c * fixed unused variable warning 20000501-18:55 GMT+1 Ryszard Glab *source/rtl/filesys.c * added support for hb_fsCommit() in Unix-like OS *source/compiler/harbour.c * fixed signed/unsigned warnings 20000501-18:48 GMT+1 Victor Szakats * include/hbpcode.h * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/compiler/genc.c * source/compiler/harbour.c * source/vm/hvm.c + Added new pcode: HB_P_PUSHBLOCKSHORT This is used for codeblocks which have no parameters, use no locals, and the total size is smaller than 255 bytes. The majority of codeblocks falls into this category. HBTEST is now 15K smaller. ! WARNING ! All .PRGs must be recompiled after the changes of today. 20000501 14:35 GMT-3 Luiz Rafael Culik *contrib/libgt/doc/gendoc.bat contrib/libgt/doc/gendoc.cmd contrib/libmisc/doc/gendoc.bat contrib/libmisc/doc/gendoc.cmd *Small changes *utils/hbdoc/hbdoc.prg *small bug fixed 20000501-18:05 GMT+1 Victor Szakats * source/rtl/filesys.c ! Fixed hb_fsCurDirBuff() (and CURDIR()) for non-MINGW32 platforms. * include/hbapi.h + Added missing declaration from the previous CVS. 20000501-17:42 GMT+1 Victor Szakats * source/vm/cmdarg.c * source/common/hbver.c * include/hbcomp.h * source/compiler/harbour.c * source/compiler/cmdcheck.c + Added /BUILD option for the compiler. This option will now also print the platform and Harbour versions. ! Fixed check for /CREDIT switch. * source/compiler/hbgenerr.c * Some small cleanups on the error texts. * makefile.bc - Removed duplicated and Borland only default language selection. This feature is already built in to HBSETUP.H, so there's no point to duplicate it. Or I'm missing something obvious. 20000501-16:08 GMT+1 Victor Szakats * include/hbpcode.h * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/compiler/genc.c * source/compiler/harbour.c * source/vm/hvm.c + Added new near pcodes for POP/PUSHALIASEDFIELD 20000501-15:45 GMT+1 Ryszard Glab *source/rtl/filesys.c * added support for file locks under Unix compatible OS TODO: check the append locks * commit operation cannot be performed by closing a duplicated file handle - it releases all locks for this file on Unix compatible OS *source/vm/hvm.c *include/hbvm.h * added hb_vmEvalBlock() for a codeblock evaluation - it is passing no arguments to a codeblock * added hb_vmEvalBlockV() for a codeblock evaluation - it is using a variable number of arguments *source/rdd/dbcmd.c * fixed bug in defEvalBlock * fixed to call hb_vmEvalBlock() * some common parts moved into separate functions *include/hbcomp.h * changed 'BYTE iJumps' into 'ULONG iJumps' to stop reallocation error mentioned by Victor 20000501-15:37 GMT+1 Victor Szakats * source/rtl/teditor.prg + source/rtl/memoedit.prg * source/rtl/Makefile * makefile.bc * makefile.vc ! Added missing CVS header. * Separated MEMOEDIT() function from the underlying class. + Added new files to makefile.vc + Defaults set for the MEMOEDIT() parameters. + cUserFunction logical value handled. ! Fixed to compile with 10 character symbol length limit. * source/rtl/dummy.prg - Removed commented line * source/compiler/hbusage.c + Developer list updated. * source/rtl/Makefile ! Fixed back the indentation of the file list from three spaces to one tab. + Added memoedit.prg 20000501 08:10 GMT-3 Luiz Rafael Culik *makefile.bc +added teditor.prg entry to makefile 20000501 08:00 GMT-3 Luiz Rafael Culik *contrib/libgt/doc/gendoc.bat contrib/libmisc/doc/gendoc.bat *Small changes *utils/hbdoc/hbdoc.prg *fixed small bug *contrib/libgt/doc/en/ht_gt.txt *fixed library name *contrib/libmisc/doc/en/ht_dbf.txt contrib/libmisc/doc/en/ht_class.txt contrib/libmisc/doc/en/ht_str.txt contrib/libmisc/doc/en/ht_conv.txt *fixed library name *doc/en/files.txt doc/en/rdddb.txt doc/en/rddmisc.txt *fixed Broken see also entrie 20000501-01:52 GMT-8 Ron Pinkas * source/compiler/hbpcode.c * Minor Enhancements to hb_compStrongType() * tests/testwarn.prg + Added code to demonstrate more warnings. 20000501-01:05 GMT-8 Ron Pinkas * include/hbcomp.h + Added to COMSYMBOL : BYTE * cParamTypes; int iParamCount; + Added : extern char * hb_comp_szDeclaredFun * source/compiler/harbour.y * Enhanced DECLARE FUNCTION parsing to properly maintain number and type of declared function parameters. * source/compiler/harbour.c + Added char * hb_comp_szDeclaredFun * Modified hb_compVariableAdd() to support dummy parameter vars in Function Decleration. * source/compiler/hbpcode.c * Enhancements to hb_compStrongType() to support parameter checks of declared function. * tests/testwarn.prg + Added code to demonstrate more warnings. * include/hberrors.h + Added : #define HB_COMP_PARAM_COUNT 15 #define HB_COMP_PARAM_TYPE 16 * source/compiler/hbgenerr.c + added : "3Invalid number of parameters: \'%s\' expected: \'%s\'" "3Incompatible parameter # %s expected: \'%s\'" 20000430-21:30 GMT-8 Ron Pinkas * source/compiler/harbour.c - Removed refrence to pFunc->iFunctionIndex. * source/compiler/hbpcode.c * Enhancements to hb_compStrongType() * tests/testwarn.prg + Added code to demonstrate more warnings. * include/hbcomp.h - Removed pFunctionCalls and iFunctionIndex members of _FUNC structure. 20000430-22:15 GMT-8 Ron Pinkas * source/compiler/harbour.y ! Fixed { hb_compVariableDim( $1, $2 ); } to { hb_comp_cVarType = 'A'; hb_compVariableDim( $1, $2 ); } so that correct type is saved. * source/compiler/hbpcode.c * Enhancements to hb_compStrongType() * source/compiler/hbgenerr.c + added : "3Can\'t use array index with NON Array" "3Incompatible return value: \'%s\' expected: \'%s\'" * include/hberrors.h + added : #define HB_COMP_WARN_NOT_ARRAY 13 #define HB_COMP_RETURN_TYPE 14 * tests/testwarn.prg + Added code to demonstrate more warnings. 20000430-23:00 GMT+2 Maurilio Longo * source/rtl/teditor.prg + added MemoEdit() lEditMode parameter handling 20000430-20:35 GMT+2 Maurilio Longo * source/rtl/teditor.prg + Implements TEditor CLASS and exports MemoEdit function. VERY miminal functionality / compatibility. Very little testing, but nonetheless fast enough for medium sized text. * source/rtl/Makefile + added teditor.prg to list of needed files. * source/rtl/dummy.prg - removed MemoEdit() declaration 20000430-17:45 GMT+1 Ryszard Glab *include/hbcomp.h *include/hbexprop.h *include/hbmacro.h *source/vm/macro.c * removed redundancy in extern declarations * removed unused bStackAffected parameter used for strong typing 20000430-13:50 GMT+1 Ryszard Glab *source/compiler/harbour.c *fixed possible memory reallocation error in hb_compNOOPadd() *fixed possible memory reallocation error in hb_compNOOPadd() *source/compiler/hbpcode.c *fixed pVar -> pSym 20000430 04:10 GMT-3 Luiz Rafael Culik *contrib/libgt/doc/gendoc.bat contrib/libgt/doc/gendoc.cmd contrib/libmisc/doc/gendoc.bat contrib/libmisc/doc/gendoc.cmd doc/genhtm.bat doc/genhtm.cmd *Small changes *contrib/libmisc/doc/libmisc.lnk contrib/libgt/doc/libgt.lnk doc/genhtm.lnk *Change The forced version number with a MACRO *Batch files for generating docs *utils/hbdoc/hbdoc.prg +Docver() and ReadLinkFile() functions to process the HBDOC link file macros 20000429-23:50 GMT-8 Ron Pinkas * harbour/source/compiler/harbour.c ! Fixed hb_compVariableAdd() to utilize parameter cValueType for Codeblock local variables, so that correct type is stored. * harbour/source/compiler/harbour.y ! Fixed hb_compExprCBVarAdd( $0, $1, $2 ) to hb_compExprCBVarAdd( $0, $1, hb_comp_cVarType ) and hb_compExprCBVarAdd( $0, $3, $4 ) to hb_compExprCBVarAdd( $0, $3, hb_comp_cVarType ) so that correct type is passed. + Added hb_comp_cVarType = ' ' to reset declared type after BlockVar[s] PRIVATE and PUBLIC. * harbour/source/compiler/hbpcode.c * Minor corrections to hb_compStrongType() 20000429-02:29 GMT-8 Brian Hays * nation.txt * misc.txt * memo.txt * input.txt * file.txt * math.txt ! misc. grammar, usage and accuracy fixes. 20000429-09:50 GMT+1 Victor Szakats * bin/bld.* * make_gnu.* ! Some fixes. 20000427-15:34 GMT+1 Victor Szakats * source/compiler/harbour.c ! hb_xgrab() casts added for ICC/OS2. * doc/howtocws.txt ! onelist -> egroups * doc/genhtm.lnk - Removed build number. - utils/hbdoc/genhtm.bat - utils/hbdoc/alpha.lnk - utils/hbdoc/categ.lnk - utils/hbdoc/hrb.rsp - utils/hbdoc/hrbtools.rsp - Removed files no more needed. 20000427-20:40 GMT+1 Ryszard Glab *source/compiler/harbour.c * changed hb_xgrab/hb_xrealloc to use sprintf in case unsuccessfull allocation only 20000426 23:30 Luiz Rafael Culik !ChangeLog *Renamed ChangeLog to ChangeLog.007 and started a new one +doc/genhtm.rps *Hbdoc response file +doc/genhtm.lnk *hbdoc link file +doc/genhtm.bat doc/genhtm.cmd *Batch files for generating docs *doc/en/rddmisc.txt *Small Changes *utils/hbdoc/hbdoc.prg *Hbdoc use the '!Name:' inside the lnk file to define the winhelp title when /rtf command line option is specified. *Hbdoc use the link file name as the Name of the Winhelp Output when /rtf command line option is specified. *contrib/libgt/doc/gendoc.bat contrib/libmisc/doc/gendoc.bat *Small Changes 2000-04-26 20:40 GMT-4 David G. Holm * include/hbcomp.h ! Change hb_comp_iGenCOutput from BOOL to int, because it can have one of three values, not just TRUE or FALSE. * source/compiler/harbour.c ! Change hb_comp_iGenCOutput from BOOL to int, because it can have one of three values, not just TRUE or FALSE. ! Changed 'char * szSize [10];' to 'char szSize [10];' in hb_xgrab() and hb_xrealloc(). * source/compiler/hbpcode ! Added parentheses around & expressions in comparisons for the HB_P_PUSHSYMNEAR case due to operator precedence confusion resulting in compiler warnings. 20000426-12:30 GMT-8 Ron Pinkas * harbour/include/hbcomp.h + Added: BYTE pStack[256]; /* Compile Time Stack */ SHORT iStackIndex; /* Compile Time Stack Index */ BYTE pFunctionCalls[256]; /* Array of Function Calls Compile Time Stack Postion */ SHORT iFunctionIndex; /* Index into Array of Function Calls Compile Time Stack Postion */ * harbour/include/hberrors.h * Modified Memory Errors to indicate the requested size. -* Removed few Strong Type warnings, and modified few others. * harbour/include/hbexprb.c * Modified all HB_EXPR_PCODE?( hb_compGenPCode1 ,...) to HB_EXPR_GENPCODE?( ... ) to diferntiate between the calls top GenPCode?() and the other calls using this macro, since the GenPCode?() now uses additional parameter: BOOL bAffectStack * Modified all the GenPCode?() to pass additional required paramter. * harbour/include/hbexprc.c * Modified all HB_EXPR_PCODE?( hb_compGenPCode1 ,...) to HB_EXPR_GENPCODE?( ... ) to diferntiate between the calls top GenPCode?() and the other calls using this macro, since the GenPCode?() now uses additional parameter: BOOL bAffectStack * Modified all the GenPCode?() to pass additional required paramter. * harbour/include/hbexprop.h + Added macros: #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1) ) #define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3) ) #define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4) ) #define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5) ) And: #define HB_EXPR_GENPCODE1( action, p1 ) action( (p1), pMacro ) #define HB_EXPR_GENPCODE2( action, p1, p2, p3 ) action( (p1), (p2), (p3), pMacro ) #define HB_EXPR_GENPCODE3( action, p1, p2, p3, p4 ) action( (p1), (p2), (p3), (p4), pMacro ) #define HB_EXPR_GENPCODE4( action, p1, p2, p3, p4, p5 ) action( (p1), (p2), (p3), (p4), (p5), pMacro ) * harbour/include/hbmacro.h Added: extern void hb_compGenPCode1( BYTE, HB_MACRO_DECL ); extern void hb_compGenPCode2( BYTE, BYTE, BOOL, HB_MACRO_DECL ); extern void hb_compGenPCode3( BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL ); extern void hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, BOOL, HB_MACRO_DECL ); extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL ); And: extern void hb_compGenPCode1( BYTE byte, HB_MACRO_DECL ); extern void hb_compGenPCode2( BYTE byte1, BYTE byte2, BOOL bStackAffected, HB_MACRO_DECL ); extern void hb_compGenPCode3( BYTE byte1, BYTE byte2, BYTE byte3, BOOL bStackAffected, HB_MACRO_DECL ); extern void hb_compGenPCode4( BYTE byte1, BYTE byte2, BYTE byte3, BYTE byte4, BOOL bStackAffected, HB_MACRO_DECL ); extern void hb_compGenPCodeN( BYTE * pBuffer, ULONG ulSize, BOOL, HB_MACRO_DECL ); *** I think this is redundant but I went by exisitng declarations !!! Ryszard Please Check !!! * harbour/source/compiler/harbour.c * Modified GenPCode2-N() to require additional paramter. * Modified GenPCode2-N() to call StrongType() if needed. * Modified all the GenPCode?() calls to pass additional required paramter. * harbour/source/compiler/harbour.y * Modified all the GenPCode?() to pass additional required paramter. * harbour/source/compiler/hbgenerr.c * Modified Memory Errors to indicate the requested size. -* Removed few Strong Type warnings, and modified few others. * harbour/source/compiler/hbpcode.c Added void hb_compStrongType( int iSize ) - This is the Strong Type Checker! It's not 100% completed but it's stable and the approch guarntee 100% accuracy once we fine tune the calculations of the Compile Time Stack to be identical to the R/T Stack. * harbour/source/vm/macro.c * Modified GenPCode2-N() to require additional paramter. * Modified GenPCode2-N() to call StrongType() if needed. * Modified all the GenPCode?() calls to pass additional required paramter. * harbour/tests/testwarn.prg + Added code to demonstrate more warnings. 20000426-21:12 GMT+1 Antonio Linares * source/vm/borsym.asm naming minor changes. * source/vm/startup.asm symbols naming minor changes. + source/vm/borinit.c After latest genobj32.c changes, now we are able to extract this function from hvm.c and place it standalone. 20000426-16:58 GMT+1 Ryszard Glab * source/rtl/gtcrs/gtcrs.c * the terminal is no longer scrolled up if something is written at MAXROW(),MAXCOL() position 20000426-15:17 GMT+1 Antonio Linares + source/compiler/genobj32.c * compiler version added into OBJ record * improved segments order 20000426-13:15 GMT+1 Ryszard Glab *include/hbcomp.h *source/compiler/genc.c *source/compiler/harbour.c *source/compiler/hbfix.c *source/compiler/hbpcode.c *source/vm/hvm.c * fixed support for HB_P_(PUSH/POP)LOCALNEAR - it uses two bytes again * added function hb_compNOOPadd() to add position of HB_P_NOOP opcode that will be later removed at the jump optimization phase * due to CVS conflicts I have cancelled the latest Ron changes in hb_compCodeblockEnd - anyway I don't see any reason to create a temporary buffer that is filled with some values and next copied into pcode buffer - all these values can be copied directly NOTE: All source code HAVE TO be recompiled! *source/rtl/gtcrs/Makefile *source/rtl/gtcrs/gtcrs.c *source/rtl/gtcrs/kbdcrs.c *source/rtl/gtcrs/mousecrs.c * added new file kbdcrs.c with keyboard support - the separation from terminal code will allow to use different modules for keyboard handling (for example 'rawkeys' library) *tests/Makefile * all test modules that were using non-standard harbour functions are moved to BAD_PRG section 20000426-02:12 DST Paul Tucker * contrib/libmisc/make_vc.bat * correct lib name. 20000425-22:00 GMT-8 Ron Pinkas * source/compiler/harbour.c * Consolidated all hb_compGenPCodeX() belonging to 1 logical operation into just one hb_compGenPCodeN(). 20000426-00:22 GMT+1 Victor Szakats * source/rtl/xsavescr.c * ChangeLog ! Fixed NOTE and ChangeLog entry * makefile.bc ! -DHB_OBJ_... default switch removed. * source/rtl/transform.c + PF_STRING + support for @S picture ! Now five more HBTESTs pass. * source/vm/hvm.c ! windows.h inclusion standardized. 2000-04-25 17:40 GMT-4 David G. Holm * include/hbcomp.h ! Change hb_comp_iGenCOutput from int to BOOL, to match actual usage in source/compiler/harbour.c, to avoid a C++ compile-time error. * source/compiler/harbour.c + The IBM C++ compiler requires _LNK_CONV between 'int' and 'hb_compSort_ULONG' in order to use the function with qsort(). 20000425-18:10 GMT+1 Ryszard Glab * utils/hbdoc/Makefile * added lang library 20000425-07:30 GMT-8 Ron Pinkas * source/compiler/harbour.c * Resolved conflicts from my previous upload with Victor's change from JUMPSHORT TO JUMP*NEAR. 20000425-07:30 GMT-8 Ron Pinkas * source/compiler/harbour.c * Replaced sequential calls to hb_compGenPCode3() + hb_compGenPCode3() with 1 call to new hb_compGenPCode4() * source/compiler/hbpcode.c + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE ) * include/hbcomp.h + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE ) * source/vm/macro.c + Added hb_compGenPCode4( BYTE, BYTE, BYTE, BYTE, HB_MACRO_DECL ) 20000425-15:05 GMT+1 Ryszard Glab *source/compiler/hbpcode.c *fixed length of HB_P_PUSHDOUBLE pcode 20000425-12:40 GMT+1 Ryszard Glab *include/hbcomp.h *source/compiler/harbour.c *source/compiler/harbour.l *source/compiler/harbour.y *source/compiler/hbgenerr.c *source/pp/ppcore.c * fixed STATIC var[ ] declaration * fixed DO &() WITH ... syntax * fixed reporting of line numbers in errors/warnings messages NOTE: fix in ppcore.c needs Alexander to review it - anyway empty lines cannot be buffered by a preprocessor (see hb_pp_nEmptyStrings) *source/rtl/gtstd/gtstd.c * removed atexit() call when HB_OS_UNIX is defined *source/vm/hvm.c * can be included only if HB_OS_WIN_32 is defined 20000425-11:36 GMT+1 Antonio Linares + source/vm/startup.asm Harbour startup for Win32 when not using any C compiler startup + source/vm/borsym.asm Borland _INIT_ segment bounds when not using Borland startup +- source/vm/borinit.c (added and removed, as it has to be placed inside hvm.c) * makefile.bc updated + startup.asm + borsym.asm * source/vm/hvm.c + static hb_vmProcessBorlandInitSegment() added process Borland _INIT_ segment (if linked) functions 20000424-11:42 GMT-8 Brian Hays * doc/en/datetime.txt * doc/en/dbstrux.txt * doc/en/dir.txt * doc/en/hvm.txt % minor grammatical touch-ups 20000425-05:42 GMT+1 Victor Szakats * source/compiler/hbfix.c * pcode name changes applied. 20000425-04:37 GMT+1 Victor Szakats * source/vm/arrays.c ! Trace line text fixed. * source/rtl/setfunc.prg ! HB_EXTENSION guards added. - source/rtl/xsavescr.prg + source/rtl/xsavescr.c * source/rtl/Makefile * makefile.bc * makefile.vc % __SAVESCREEN()/__RESTSCREEN() rewritten in C. 20000425-03:49 GMT+1 Victor Szakats * source/rtl/gtstd.c * Some cosmetical changes, unused code removed. 20000425-03:38 GMT+1 Victor Szakats * include/hbpcode.h * source/compiler/hbpcode.c * source/compiler/harbour.c * source/compiler/genc.c * source/vm/hvm.c * Some pcode names changed JUMPSHORT->JUMPNEAR JUMPNEAR* -> JUMP*NEAR JUMPFAR* -> JUMP*FAR (so that the size specifier is a postfix) % Some minor formatting and optimization in HVM.C 20000425-03:20 GMT+1 Victor Szakats * source/compiler/hbusage.c ! Some corrections. * source/rtl/gtstd.c ! Fixed keyboard (and hangup) for Unix compatible systems. * utils/hbrun/Makefile ! exttools -> external * contrib/libmisc/makefile.bc * contrib/libmisc/makefile.vc * contrib/libgt/makefile.bc ! Fixed library names. 20000424-19:40 GMT+1 Ryszard Glab *source/compiler/harbour.l * fixed recognition of WHILE abbreviation (WHIL) 20000424-19:15 GMT+1 Ryszard Glab *source/compiler/hbfix.c * new file to handle final pcode fixing - it fixes local variable's positions (position on the eval stack) when PARAMETER statement is used *source/compiler/genc.c *source/compiler/harbour.c *source/compiler/hbpcode.c * added the table with opcode parameters length * added hb_compPCodeEval() to evaluate pcodes * added assertion code to keep some tables in sync with available opcodes * fixed bug when PARAMETER statement was used after LOCAL variables declaration * HB_P_PUSHLOCALNEAR/HB_P_POPLOCALNEAR occupies 3 bytes in the pcode buffer athough it uses the first two bytes only to store a value (these opcodes can be replaced with HB_P_(PUSH/POP)LOCAL after final fixing) NOTE: When the PARAMETER statement is used then the position of local variable is increased after the whole function/procedure is compiled (PARAMETERS is an usual executable statement that can be used after local variables are created) *source/vm/hvm.c * changed ( char ) type-casting into ( signed char ) to correctly support compilers that assume unsigned chars * updated to handle 3-bytes for PUSH/POP-LOCALNEAR *include/hbpcode.h * added HB_P_LAST_PCODE as a marker of the highest possible opcode value (it is used in some assertion code) *include/hbcomp.h * added declaration of hb_compPCodeEval() and some helper definitions * added declaration of hb_compFixFuncPCode() *source/compiler/Makefile *makefile.bc *makefile.vc * added hbfix.c *source/vm/itemapi.c * reverted a change (items unreferencing) because it caused GPFs when an inlined method of an object was called (it requires more testing) 20000424-03:44 GMT+1 Victor Szakats * source/compiler/hbusage.c + Added Patrick Mast, Dave Pearson and Tim Stone to the credit list. * makefile.bc ! Fixed after some undocumented changes. 20000424 06:55 GMT -3 Luiz Rafael Culik + contrib/libnf/makefile.vc + contrib/libnf/make_vc.bat * contrib/libct/makefile.vc * contrib/libct/make_vc.bat * contrib/libgt/makefile.vc * contrib/libgt/make_vc.bat * contrib/libmisc/makefile.vc * contrib/libmisc/make_vc.bat * corrections. * contrib/libnf/getenvrn.c * contrib/libnf/descend.c * casts on xgrab call 20000424-03:44 GMT+1 Victor Szakats * source/compiler/harbour.c % Small opt.: one frame optimizing call removed. 20000423-19:10 GMT+1 Ryszard Glab *source/compiler/harbour.y *added support for using references as an array element { 1, @var } *source/vm/itemapi.c *added support for handling of references in arrays Example: a := 1 CallProc( { @a } ) ? a //prints: 2 PROC CallProc( x ) LOCAL y:=x[ 1 ] y++ NOTE: references in arrays cannot be used with usual operators For example (using the above code) ? y + x[ 1 ] will cause 'argument error: +' because hb_vmPlus() (and others) doesn't dereference arguments. 20000423-18:18 GMT+1 Ryszard Glab *source/compiler/harbour.y *fixed incorrect error when a public/private variable was initialized with a codeblock using a local parameters 20000423-15:57 GMT+1 Victor Szakats * source/compiler/hbusage.c + Added list of developers and documentors. This can be displayed with the /CREDIT switch. * doc/en/ht_gt.txt -> contrib/libgt/doc/en/hb_gt.txt * doc/en/ht_*.txt -> contrib/libmisc/doc/en/hb_*.txt * Moved some CONTRIB docs to the CONTRIB dirs. ! PLEASE UPDATE THE DOC SCRIPTS ! 20000423-14:35 GMT+1 Victor Szakats * source/pp/Makefile - source/pp/stdalone/Makefile - source/pp/stdalone/hbpp.c + utils/hbpp/Makefile + utils/hbpp/hbpp.c * utils/Makefile * makefile.bc * makefile.vc (not tested) * HBPP.EXE source files moved to utils/hbpp from source/pp/stdalone/ 20000423-14:23 GMT+1 Victor Szakats * source/rtl/alert.prg * source/rtl/tclass.prg % Minor optimization * source/vm/hvm.c ! Restored previous version, due to bugs. 20000423-12:23 GMT+1 Victor Szakats + contrib/libct/makefile.bc + contrib/libct/makefile.vc + contrib/libgt/makefile.bc + contrib/libgt/makefile.vc + contrib/libmisc/makefile.bc + contrib/libmisc/makefile.vc + contrib/libct/make_b32.bat + contrib/libct/make_vc.bat + contrib/libgt/make_b32.bat + contrib/libgt/make_vc.bat + contrib/libmisc/make_b32.bat + contrib/libmisc/make_vc.bat + Added makefiles * contrib/libct/ctchrodd.c * contrib/libct/readme.txt ! Fixed bug. * bin/bld.* - Removed tools. 20000423-11:38 GMT+1 Victor Szakats + contrib/libct/* + contrib/libgt/* + contrib/libmisc/* - source/tools/* * source/Makefile * makefile.bc * makefile.vc * tests/Makefile * utils/hbrun/Makefile - utils/hbrun/exttools.prg + utils/hbrun/external.prg * TOOLS dir moved to CONTRIB, and split into three parts. CT_ prefixed removed from the CT function names. ; ! WARNING ! It's likely that some test program will fail now, because they are using functions from TOOLS. These tests should be removed or corrected. * source/vm/hvm.c % Optimizations in hb_vmExecute() 20000423-06:09 GMT+1 Victor Szakats * source/compiler/harbour.c * include/hbcomp.h ! Fixed static/non-static status of optimizer functions. ! Fixed copyright header. ! Renamed function in the header, too. ! Removed duplicate declaration for hb_compFinalizeFunction() 20000422-20:40 GMT-8 Ron Pinkas * source/compiler/hvm.c - Removed pOptimized from hb_compOptimizeJumps() which now uses memmove() and thus more effective. * Renamed hb_compFixReturns() to hb_compFinalizeFunction(). * source/compiler/harbour.y * Renamed call to hb_compFixReturns() to hb_compFinalizeFunction(). 20000423-05:15 GMT+1 Victor Szakats - doc/compiler.txt - doc/gnulice.txt - doc/harbext.txt - doc/subcodes.txt + doc/en/compiler.txt + doc/en/gnulice.txt + doc/en/harbext.txt + doc/en/subcodes.txt * Moved some doc files which are part of the HBDOC generated docs. 20000423-04:02 GMT+1 Victor Szakats * source/compiler/genc.c * source/compiler/harbour.c * source/vm/hvm.c ! PUSHLOCALNEAR and POPLOCALNEAR pcodes fixed. They didn't work in a codeblock. 20000423-03:24 GMT+1 Victor Szakats * source/compiler/harbour.c ! Frame optimizer is called after all functions have been processed, otherwise the static frames cannot be fixed up correctly. ! Frame optimizer also called for the static initialization function to fixup or remove its SFRAME/STATICS pcode. ! Frame optimizer now fixes up HB_P_STATICS pcode. + Added SFRAME removing for the static initialization function. % The frame pcode removing made much faster. 20000422-22:47 GMT+1 Victor Szakats * include/hbexprb.c * include/hbexprc.c * include/hbmacro.h * source/compiler/harbour.y * source/vm/macro.c % Compiler now generates HB_P_DOSHORT and HB_P_FUNCTIONSHORT pcodes where possible. * source/compiler/genc.c ! Fixed pcode generation (-gc1/2) for PUSHSYMNEAR * source/rtl/gtpca/gtpca.c * contrib/rdd_ads/ads1.c ! Fixed broken trace calls. * source/compiler/harbour.c ! GCC -O2 warning fixed. 20000422-21:36 GMT+1 Victor Szakats * include/hbpcode.h * source/compiler/harbour.c * source/compiler/genc.c * source/compiler/hvm.c + HB_P_PUSHSTRSHORT and HB_P_PUSHSYMNEAR 2 byte pcodes added. HBTEST got 10K smaller after that. + HB_P_DOSHORT, HB_P_DOFUNCTION pcode handling added. But they are not yet generated by the compiler. (TODO!) ; by Jose Lalin * source/rtl/input.prg * source/rtl/setta.prg * source/rtl/browdbx.prg - removed dummy functions to compile this modules when HB_C52_UNDOC was not defined * source/compiler/hbpcode.c * Minor formatting. 20000422-11:35 GMT-8 Ron Pinkas * source/compiler/hvm.c * Minor correction of HB_TRACE messages for HB_P_ZERO, HB_P_ONE, HB_P_PUSHNIL, HB_P_PUSHBYTE, and HB_P_PUSHINT 20000422-20:37 GMT+1 Victor Szakats * source/vm/hvm.c % Removed the temporary uiParams variable in hb_vmExecute(). * include/hbvm.h * include/hbvmpub.h * source/vm/hvm.c ! hb_vmExecute() first param marked "const" * source/compiler/harbour.c * source/compiler/genc.c + Added support for empty .prg files. Thanks to Jose Lalin. 20000422-18:41 GMT+1 Victor Szakats * include/hbpcode.h * source/compiler/harbour.c * source/compiler/genc.c * source/compiler/hvm.c + HB_P_PUSHLOCALNEAR and HB_P_POPLOCALNEAR 2 byte pcodes added. These are used when the referred local is the range of -128-127. The code is more compact this way, since these pcodes will be used in the wast majority of cases. * source/compiler/hvm.c - Removed hb_vmPushByte(), replaced with hb_vmPushInteger(). % Inlined the code for PUSHBYTE, PUSHINT, PUSHZERO, PUSHONE to make it faster. hb_vmPushZero()/hb_vmPushOne() removed. * source/compiler/genc.c % The static pcode array is now "const" % It will now put 14 opcodes in each line instead of 8 in -gc0 mode. * source/compiler/hbusage.c ! Typo. 20000422-16:16 GMT+1 Victor Szakats * source/compiler/genc.c * source/compiler/genhrb.c * source/compiler/genjava.c ! Optimized all output types. Variables removed, made faster, cleaner. % #include "hbpcode.h" is not included in the generated C code for -gc0 ! Warnings fixed in GENOBJ32 * source/compiler/cmdcheck.c * source/compiler/hbusage.c * -gf switch changed to -go * include/hbcomp.h * source/compiler/harbour.c * source/compiler/cmdcheck.c * source/compiler/hbusage.c - source/compiler/genrc.c - source/compiler/genpas.c * source/compiler/Makefile * makefile.bc * makefile.vc - Removed GENPAS and GENRC because they were not used. * source/compiler/harbour.c ! Returning errorlevel after the help screen. (Thanks to Dave) * include/hbvm.h * source/vm/hvm.c ! PushOne/PushZero/PushByte() made static in hvm.c ! Fixed trace call in PushByte() ! Fixed casts in PushOne/PushZero/PushByte() 20000422-06:20 GMT-8 Ron Pinkas * source/include/hbvm.h * Corrected comments of hb_vmPushOne(), hb_vmPushZero(), and hb_vmPushByte() 20000422-13:50 GMT+1 Ryszard Glab *source/rtl/gtcrs/gtcrs.c *source/rtl/gtcrs/mousecrs.c *fixed arrow keys under xterm *added support for mouse under xterm *source/compiler/harbour.c *fixed duplicated variable error when PARAMETER variable was also declared as a MEMVAR variable 20000422 08:20 gmt -3 Luiz Rafael Culik +contrib\libnf\getenvrn.c contrib\libnf\n2color.c contrib\libnf\mkdir.c contrib\libnf\alt.c contrib\libnf\rmdir.c contrib\libnf\origin.c contrib\libnf\peek.c contrib\libnf\getver.c contrib\libnf\kspeed.c contrib\libnf\stod.c contrib\libnf\prtscr.c contrib\libnf\chdir.c contrib\libnf\ctrl.c contrib\libnf\numlock.c contrib\libnf\ontick.c contrib\libnf\idle.c contrib\libnf\descend.c contrib\libnf\color2n.c contrib\libnf\proper.c contrib\libnf\shift.c contrib\libnf\getvid.c contrib\libnf\mouse.c contrib\libnf\poke.c contrib\libnf\caplock.c contrib\libnf\elapmil.prg contrib\libnf\eltime.prg contrib\libnf\e2d.prg contrib\libnf\dispmsg.prg contrib\libnf\dfile.prg contrib\libnf\firstday.prg contrib\libnf\gcd.prg contrib\libnf\madd.prg contrib\libnf\lastday.prg contrib\libnf\isbiton.prg contrib\libnf\invclr.prg contrib\libnf\daytobow.prg contrib\libnf\datecnfg.prg contrib\libnf\asum.prg contrib\libnf\bitclr.prg contrib\libnf\any2any.prg contrib\libnf\amedian.prg contrib\libnf\aemaxlen.prg contrib\libnf\blink.prg contrib\libnf\byt2hex.prg contrib\libnf\cntryset.prg contrib\libnf\calendar.prg contrib\libnf\byteor.prg contrib\libnf\byteneg.prg contrib\libnf\menuto.prg contrib\libnf\miltime.prg contrib\libnf\vertmenu.prg contrib\libnf\week.prg contrib\libnf\tbwhile.prg contrib\libnf\sqzn.prg contrib\libnf\sinkey.prg contrib\libnf\woy.prg contrib\libnf\year.prg contrib\libnf\aavg.prg contrib\libnf\mouse2.prg contrib\libnf\test.prg contrib\libnf\mouse1.prg contrib\libnf\setdate.prg contrib\libnf\scancode.prg contrib\libnf\nwsem.prg contrib\libnf\page.prg contrib\libnf\ntow.prg contrib\libnf\netpv.prg contrib\libnf\month.prg contrib\libnf\pegs.prg contrib\libnf\pickday.prg contrib\libnf\savearr.prg contrib\libnf\restsets.prg contrib\libnf\qtr.prg contrib\libnf\prtesc.prg contrib\libnf\acctyear.prg contrib\libnf\acctqtr.prg contrib\libnf\diskfunc.prg contrib\libnf\dosver.prg contrib\libnf\dectobin.prg contrib\libnf\dayofyr.prg contrib\libnf\d2e.prg contrib\libnf\easter.prg contrib\libnf\elapsed.prg contrib\libnf\isbit.prg contrib\libnf\hex2dec.prg contrib\libnf\floptst.prg contrib\libnf\findith.prg contrib\libnf\clrsel.prg contrib\libnf\bytexor.prg contrib\libnf\aeminlen.prg contrib\libnf\anomatch.prg contrib\libnf\adessort.prg contrib\libnf\acctweek.prg contrib\libnf\acctadj.prg contrib\libnf\aredit.prg contrib\libnf\at2.prg contrib\libnf\bytenot.prg contrib\libnf\byteand.prg contrib\libnf\byt2bit.prg contrib\libnf\bitset.prg contrib\libnf\isshare.prg contrib\libnf\linked.prg contrib\libnf\sleep.prg contrib\libnf\sysmem.prg contrib\libnf\settime.prg contrib\libnf\scregion.prg contrib\libnf\savesets.prg contrib\libnf\vidcur.prg contrib\libnf\wda.prg contrib\libnf\aading.prg contrib\libnf\tempfile.prg contrib\libnf\xbox.prg contrib\libnf\workdays.prg contrib\libnf\round.prg contrib\libnf\rand1.prg contrib\libnf\vidmode.prg contrib\libnf\nooccur.prg contrib\libnf\min2dhm.prg contrib\libnf\metaph.prg contrib\libnf\menu1.prg contrib\libnf\nwlstat.prg contrib\libnf\nwuid.prg contrib\libnf\pvid.prg contrib\libnf\popadder.prg contrib\libnf\pending.prg contrib\libnf\pchr.prg contrib\libnf\acctmnth.prg *Source code for the nanfor library +contrib\libnf\readme.txt *readme file for nanfor. see it for items that still has to be fixit or implemented in c +contrib\libnf\nanfor.bc +makefile for nanfor library Please update the make file for the other compilers 20000421-10:30 GMT+1 Antonio Linares * source/compiler/genobj32.c * GetFunctionLocalsCount() removed. No longer needed. 20000421-14:20 GMT-8 Ron Pinkas * source/compiler/hvm.c + Added support for new PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE + Added void hb_vmPushOne( void ), void hb_vmPushZero( void ) and void hb_vmPushByte( BYTE ) * Optimized HB_P_ZERO by using hb_vmPushZero() * source/compiler/harbour.c - REMMED not used hb_compGenPushInteger() * Optimized hb_compGenPushLong() to USE HB_P_ZERO, HB_P_ONE, HB_P_PUSHBBYTE, HB_P_PUSHBINT, or , HB_P_PUSHLONG as needed. * Optimized few pairs of hb_compGenPCode1() to use hb_compGenPCode2() instead. * source/compiler/genc.c + Added support for PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE * source/compiler/hbpcode.c + Added hb_compGenPCode2( BYTE, BYTE ) * source/compiler/harbour.y * Optimized few pairs of hb_compGenPCode1() to use hb_compGenPCode2() instead. * source/include/hbpcode.h + Added PCodes HB_P_PUSHBYTE, and HB_P_PUSHONE * source/include/hbvm.h + Added: extern void hb_vmPushOne( void ); /* pushes a 0 onto the stack */ extern void hb_vmPushZero( void ); /* pushes a 1 onto the stack */ extern void hb_vmPushByte( BYTE bNumber ); /* pushes a integer number onto the stack */ * include/hbcomp.h - Removed #ifef of GenObj32 20000421-21:56 GMT+2 Maurilio Longo * include/hbcomp.h ! conflicting declaration with harbour.c 20000421-10:11 GMT+1 Antonio Linares * source/compiler/genobj32.c * Some little fixes after Ron changes 20000420-23:15 GMT-8 Ron Pinkas * source/compiler/cmdcheck.c - Removed #ifdef HARBOUR_OBJ_GENERATION * source/compiler/genhrb.c - Removed unused vars wVar and wLen. * source/compiler/genjava.c - Removed unused vars wVar and wLen. * source/compiler/genobj32.c - Removed #ifdef HARBOUR_OBJ_GENERATION * source/compiler/harbour.c - Removed #ifdef HARBOUR_OBJ_GENERATION 20000420-20:10 GMT-8 Ron Pinkas * source/compiler/harbour.c + Added hb_compOptimizeFrames() - Resolves and or removes HB_P_FRAME & HB_P_SFRAME. * Modified hb_compFixReturns() to call hb_compOptimizeFrames() * source/compiler/genc.c - Removed the SWITCH LOOP from hb_compGenCCompact() * source/compiler/genhrb.c - Removed the SWITCH LOOP from hb_compGenCCompact() * source/compiler/genjava.c - Removed the SWITCH LOOP from hb_compGenCCompact() * source/compiler/genobj32.c - Removed the SWITCH LOOP from hb_compGenCCompact() 20000420-22:00 GMT-3 Luiz Rafael Culik +contrib/nflib/cpmi/farcall.asm contrib/nflib/cpmi/alias.asm contrib/nflib/cpmi/freesel.asm contrib/nflib/cpmi/cpmi.h contrib/nflib/cpmi/isprot.asm contrib/nflib/cpmi/rmptr.asm contrib/nflib/cpmi/seg2sel.asm contrib/nflib/cpmi/setlimit.asm contrib/nflib/cpmi/allocdos.asm contrib/nflib/cpmi/allocsel.asm contrib/nflib/cpmi/freedos.asm contrib/nflib/cpmi/getbase.asm contrib/nflib/cpmi/getlimit.asm contrib/nflib/cpmi/int86.asm contrib/nflib/cpmi/pmptr.asm contrib/nflib/cpmi/resizdos.asm contrib/nflib/cpmi/setbase.asm contrib/nflib/cpmi/willgpf.asm +CPMI library. some nanfor functions need this library The other files will be upload in few hours 20000421-00:54 GMT+1 Victor Szakats * include/hbapi.h * source/vm/hvm.c * source/vm/arrays.c - Removed the hb_arrayError() function. % The hb_arrayError() functionality moved to the only place where it was used: hb_vmArrayPush() and hb_vmArrayPop(). It should be a bit faster now. % Implemented optimization proposed by Ryszard for hb_vmArrayPush(). 20000421-00:34 GMT+1 Victor Szakats * source/compiler/genc.c % Variable scopes adjusted. ! Some GCC warnings removed. * source/compiler/harbour.c ! Some GCC warnings removed ! One int changed to BOOL ! Indentation fixed 20000420-23:58 GMT+1 Victor Szakats * source/compiler/genc.c ! STATICS and SFRAME fixed with -gc0 mode. * source/compiler/genhrb.c ! STATICS fixed. (please check) 20000420-23:33 GMT+1 Victor Szakats * tests/Makefile ! Restored. * makefile.vc * makefile.bc ! lib path is added to the GT driver name. * include/hbcomp.h * source/compiler/genc.c * source/compiler/cmdcheck.c * source/compiler/hbusage.c * source/compiler/harbour.c + Added new -gc output type, namely a simple byte dump. Now -gc0 is the byte dump (this one is used by default when building Harbour itself, use HARBOURFLAGS to override), -gc1 is the pcode source without comments, and -gc2 is the pcode source with comments, which is also the default. When using -gc0 instead of -gc1, the size of the /obj dir after a Harbour build dropped by almost 25% (~1300K, from 5830K to 4506K for BCC55). * source/compiler/genjava.c ! Fixed some fputc() calls to hb_fputc() in GENJAVA % Optimized the GENJAVA output generation. 2000-04-20 15:50 GMT-4 David G. Holm * config/w32/msvc.cf ! Added $(LIB_EXT) following $(HB_GT_LIB) for LINKLIBS variable. 20000420-11:15 GMT-8 Ron Pinkas * source/compiler/hausage.c * Added "\n %cj[0|1] Jump Optimizer 0=Disabled 1=Enabled (default)", * Changelog * Corrected JAMP to JUMP in previous change entries. 20000420-17:35 GMT+1 Ryszard Glab *source/rtl/gtdos/gtdos.c *fixed support for DJGPP compiler 20000420-13:46 GMT+1 Ryszard Glab * source/compiler/genobj32.c * Some little fixes after Antonio changes :) NOTE: JUMPSHORT uses 1 byte for jump offset JUMP uses 2 bytes JUMPFAR uses 3 bytes plus 1 byte for the opcode itself 20000420-13:10 GMT+1 Antonio Linares * source/compiler/genobj32.c * Some little fixes after Ryszard changes 20000419-18:40 GMT+1 Ryszard Glab *inlcude/hbcomp.h *source/compiler/genc.c *source/compiler/genhrb.c *source/compiler/genjava.c *source/compiler/genobj32.c *source/compiler/harbour.c *source/compiler/harbour.y * added code to handle new jump opcodes * fixed symbol table handling - there is no special handling needed for symbols' positions during output generation * the name of compiled file (the starting procedure) is not placed into the symbol table if '-n' switch is used * HB_P_ENDPROC is automatically generated after the function or procedure is parsed - there is no need to check it during output generation phase NOTE: output generated by genobj32.c is not tested! output generated by genjava.c is not tested! (did it worked ?) 20000419-16:00 GMT+1 Antonio Linares * source/compiler/genobj32.c * Implemented code optimizations proposed by Victor. 20000419-12:13 GMT+1 Antonio Linares * source/compiler/genobj32.c * Progressive fixes to support genc.c latest changes. (just missing latest Ron genc.c fixes!) 20000419-11:36 GMT+1 Victor Szakats * tests/test.prg ! Restored the file changed without any ChangeLog info, and also breaking the build process for GNU-make. 20000419-10:37 GMT+1 Victor Szakats * ChangeLog ! Some typos for my last ChangeLog 20000418-22:05 DST Paul Tucker * source/compiler/harbour.c * added casts. 20000418-18:35 GMT-8 Ron Pinkas * source/compiler/harbour.c * Modified hb_compCodeBlockEnd() to call hb_compOptimizeJumps() and release pNOOPs and pJumps pointers. 20000419-00:28 GMT+1 Victor Szakats * source/rtl/gtcrs/gtcrs.c ! Removed "Linux" from the version string. * source/rtl/dateshb.c % DATE() local variables removed, non-standard string conversion, slow sprintf() call removed. Now using hb_retd() to return the value. It's faster and smaller now. * source/lang/Makefile * makefile.bc + New languages added. * include/hbver.h * Date bumped. * include/set.ch * __SET_COUNT_HB -> HB_SET_COUNT + HB_SET_BASE * bin/bld.* ! Redone some undocumented changes in the build batch files. + tests/testcdx.prg * tests/Makefile + New test file added. * source/rtl/gt*/gt*.c ! All hb_gt_xPutch() functions made static. * source/rtl/gtapi.c - Removed obsolete #define (hb_gtRepChar() related) ; by Jose Lalin * source/vm/asort.c % hb_itemLess fixed to handle LOGICAL values that were missed from first implementation * tests/ + tstasort.prg little test which gives the same results when asorting without codeblock and shows an error with codeblock. + vmasort.prg massive VM and aSort test C53 fails when executed with a value greater than 5. 20000418-19:30 GMT-3 Luiz Rafael Culik * source/rtl/gtwin/gtwin.c ! Don't generate a key code for Caps Lock. ! Generate the correct key code for Esc when Caps Lock is enabled on Windows 95. ! Changed 'coord' to 'coBuf' in hb_gt_Replicate(). 20000418-17:35 GMT+1 Antonio Linares * source/compiler/genobj32.c * Progressive fixes to support genc.c latest changes. 20000418-05:30 GMT-8 Ron Pinkas * source/compiler/hvm.c + Added PCodes HB_P_JUMPSHORT, HB_P_JUMPSHORTFALSE and HB_P_JUMPSHORTTRUE * source/compiler/harbour.c + Added hb_compOptimizeJumps() - Jumps Optimizer. + Added hb_compSort_ULONG() Call back function for qsort - used in the Jump Optimizer. + Added support for new elements of _FUNC. * Modified hb_compGen*Jump*() to support Short Normal and Far Jumps. * source/include/hbexprb.c * Reverted handling of .OR. .AND. and IIF() to use default (FAR) JUMPs - note the use of (0) when calling hb_compGenJump*(). * source/compiler/genc.c + Added support for HB_P_JUMPSHORT, HB_P_JUMPSHORTFALSE and HB_P_JUMPSHORTTRUE * source/compiler/cmdcheck.c + Added support for new switch -J[0|1] default is J1 which enables the Jump Optimizer - Use -J0 to disable. * source/compiler/hbgenerr.c - Removed following errors: "Jump offset too long for HB_P_JUMP needed HB_P_JUMPFAR", "Jump offset too long for HB_P_JUMPTRUE needed HB_P_JUMPFARTRUE", "Jump offset too long for HB_P_JUMPFALSE needed HB_P_JUMPFARFALSE", * Changed "HB_P_JUMPx not found when fixing offset" to "Jump PCode not found" * source/include/hberrors.h - Removed following defines: #define HB_COMP_ERR_INVALID_JUMPTRUE 46 #define HB_COMP_ERR_INVALID_JUMPFALSE 47 #define HB_COMP_ERR_JUMP_NOT_FOUND 48 * source/include/hberrors.h + Added following to __FUNC ULONG * pNOOPs; /* pointer to the NOOP array */ ULONG * pJumps; /* pointer to the Jumps array */ int iNOOPs; /* NOOPs Counter */ int iJumps; /* Jumps Counter */ * source/include/hbpcode.h + Added HB_P_JUMPSHORT, HB_P_JUMPSHORTFALSE and HB_P_JUMPSHORTTRUE 20000418-13:30 GMT+1 Ryszard Glab *include/hbapigt.h *source/rtl/gtapi.c *source/rtl/gtdos/gtdos.c *source/rtl/gtcrs/gtcrs.c *source/rtl/gtos2/gtos2.c *source/rtl/gtpca/gtpca.c *source/rtl/gtsln/gtsln.c *source/rtl/gtstd/gtstd.c *source/rtl/gtwin/gtwin.c *source/rtl/gt_tpl/gt_tpl.c *box drawing procedures moved from gtapi.c to low level modules - this will allow to use native (optimized) method of box drawing (xterm!) *full implementation of low level hb_gt_Replicate() *added hb_gt_HorizLine() and hb_gt_VertLine() - this can be extended by definition of HB_LINE() or @ row,left,right LINE command (this will get line drawing support on platforms where @ ... BOX command is not suitable) *source/common/hbver.c *fixed REGS union access *source/rtl/gtcrs/gtcrs.c *support for box drawing added for xterm NOTE: Only @ y1,x1 TO y2,x2 and @ y1,x1 TO y2,x2 DOUBLE are reliable although both are drawing a single-line box The usual @ y1,x1,y2,x2 BOX ... depends on character mapping used in current font (Well I am not so familiar with it then this needs some more work - I can be wrong here :) If you want a single method of box drawing for all platforms use @ y1,x1 TO y2,x2 20000418-00:42 DST Paul Tucker * makefile.vc + source/lang/msghe862.c + source/lang/msghewin.c + source/lang/msgis850.c 20000418-12:30 GMT-3 Luiz Rafael Culik * config/dos/djgpp.cf ! Each LINKPATH entry must be written to the response file separately, because otherwise the DOS command line length is exceeded. It is not necessary to do the same for LINKLIBS at this time, but why tempt fate? So each LINKLIBS entry is also written separately. * source/common/hbtrace.c ! Added #include "hbapi.h" 2000-04-17 20:30 GMT-4 David G. Holm * source/common/hbstr.c * source/common/hbtrace.c * source/rtl/strings.c % Changed stricmp() in hbtrace.c to hb_stricmp and moved hb_stricmp() from strings.c to hbstr.c. 2000-04-17 19:45 GMT-4 David G. Holm * include/hbapirdd.h * source/rdd/dbfcdx/dbfcdx1.c ! Renamed _PAGEINFO to HB_PAGEINFO_STRU and renamed PAGEINFO to HB_PAGEINFO, because both _PAGEINFO and PAGEINFO are used by IBM's VisualAge C++ for completely different structures (this type of namespace collision is a prime example of why some of us keep insisting that the HB_ prefix should always be used). 20000417-23:01 GMT+2 Maurilio Longo * source/common/hbtrace.c * test between HB_TR_LEVEL environment variable returned values and defined ones have to be made irrespective of case, I mean stricmp() instead of strcmp() * config/os2/gcc.cf ! last time, I promise !! 2000-04-17 14:40 GMT-4 David G. Holm * doc/en/set.txt * include/hbset.h * include/set.ch * source/pp/pptable.c * source/rtl/set.c + Added support for 'SET( _SET_LANGUAGE, )'. * include/hbsetup.h + Added __RSXNT__ to the platform test for OS_DOS_COMPATIBLE. ! Only define HB_OS_UNIX if it is not already defined (unchanged) and OS_UNIX_COMPATIBLE is defined (used to be platform tests), because HB_OS_UNIX was being set for RSXNT and I couldn't see the point of duplicating all of the platform tests. * config/w32/gcc.cf * config/w32/mingw32.cf * config/w32/rsxnt.cf + Added LNK_USR_PATH and LNK_USR_LIB environment variables to specify non-Harbour libraries. Put one or more paths in LNK_USR_PATH and one or more base library names in LNK_USR_LIB, using spaces to separate. + source/lang/msgis850.c * source/lang/Makefile + Added partial Icelandic support for code page 850 (the national language code page for Icelandic is 861). 20000417-16:06 GMT+2 Maurilio Longo * config/os2/gcc.cf ! hope it's last time; before deleting old .a check if it exists * source/rtl/gtos2/gtos2.c ! a few calls to TRACE macro with wrong parameters name 20000417-15:55 GMT+1 Ryszard Glab *source/rtl/diskspac.c *added support for U*ix like systems 20000417-15:27 GMT+3 Chen Kedem * source/lang/msghe862.c * source/lang/msghewin.c * update Hebrew language support to the new API ! PLEASE update source/lang/Makefile ! 20000417-11:05 GMT+1 Ryszard Glab *include/hbsetup.h *added automatic recognition of target platform for Watcom compiler Now HB_OS_DOS is correctly set for this compiler *include/hbdefs.h *added definition of HB_XREGS - this should be used to access a word size member of REGS union structure (Watcom uses different naming scheme) - for example: union REGS regs; regs.HB_XREGS.ax = 1; *source/rtl/filesys.c *fixed support for Watcom compiler *source/rtl/diskspac.c *source/rtl/inkey.c *source/rtl/isprint.c *source/rtl/net.c *source/rtl/gtdos/gtdos.c *source/rtl/gtdos/mousedos.c *changed to use HB_XREGS *source/rtl/gtapi.c *fixed printing using console output *source/rtl/gtcrs/gtcrs.c *altarnate characters set is disabled for xterm 20000417-06:32 GMT+1 Victor Szakats * source/vm/asort.c ! Some fixes to ASORT() 20000417-05:49 GMT+1 Victor Szakats * include/hbapi.h - source/rtl/asort.prg * source/rtl/Makefile + source/vm/asort.c * source/vm/Makefile * makefile.bc * makefile.vc + ASORT() rewritten using optimized C code, and using an optimized quicksort algorithm, the number of compares is even less than before. * ASORT() is now CA-Cl*pper compatible in handling the case when no codeblock is supplied, or the codeblock returns non logical value. ; Note that the function is new, so please test it as thoroughly as possible. ; Also thanks go to Jose Lalin. * include/hbapiitm.h * source/vm/itemapi.c + hb_itemSwap() function added. * source/lang/msges.c * Spanish language module updated. 20000416-15:23 GMT+2 Maurilio Longo * config/os2/gcc.cf % changed again * source/rtl/gtos2/gtos2.c % little change to Init procedure 20000416-15:23 GMT+2 Maurilio Longo * config/os2/gcc.cf ! fixed an error in ar rule ;-) * config/os2/install.cf % changed install rule to test existance of install dir * source/rtl/gtos2/gtos2.c % little typo fixed 20000416-14:19 GMT+2 Maurilio Longo * config/os2/gcc.cf ! fixed ar rule, in particular added a CLEAR command and used "&" as command separator. "||" is not a valid one under OS/2. Without CLEAR library is not refreshed if one of the files which make it are changed. 20000416-13:05 GMT+1 Ryszard Glab *config/linux/gcc.cf *fixed to automatically select a proper screen library *include/hbapigt.h *source/rtl/gtapi.c *source/rtl/gt_tpl/gt_tpl.c *source/rtl/gtcrs/gtcrs.c *source/rtl/gtdos/gtdos.c *source/rtl/gtos2/gtos2.c *source/rtl/gtpca/gtpca.c *source/rtl/gtsln/gtsln.c *source/rtl/gtstd/gtstd.c *source/rtl/gtwin/gtwin.c *number of bytes required for a given rectangle size is calculated in the lowest level function hb_gt_RectSize( rows, cols ) - some screen drivers can store screen image in more complex method then byte+byte *source/rtl/gtcrs/gtcrs.c *full support for scrolling was added *full ASCII character set enabled including box drawing characters (however this don't work under xterm) *save/restore screen are available *source/rdd/dbfcdx/dbfcdx1.c * fixed NULL into 0 for string termination character (NULL in gcc compiler is defined as a pointer) 20000416-12:34 GMT+1 Victor Szakats * source/lang/msgfr.c + source/lang/msgro.c * source/lang/Makefile * makefile.bc * makefile.vc + Added French and Romanian language modules. * make_gnu.* * bin/bld.* * Made them even more similar to make the updates easier. * source/rdd/dbfcdx/dbfcdx1.c ! One warning fixed. ! One trace call fixed. * doc/howtomak.txt + Added that Bison 1.25 is required as a minimum. 20000416-12:11 GMT+2 Maurilio Longo * source/rdd/dbfcdx/dbfcdx1.c ! removed a few warnings (static / non static declare). 20000416-08:47 GMT+1 Antonio Linares * source/compiler/genobj32.c + prefix "_HB_FUN_" added to function and external generated names. 20000415-21:10 GMT-3 Luiz Rafael Culik * source/rdd/dbfcdx/dbfcdx1.c * corrected my change to the segment naming. 20000415-21:39 GMT+1 Victor Szakats * makefile.bc * makefile.vc * source/rtl/lang/Makefile * source/rtl/lang/ * msgca.c * msges.c * msgeu.c * msggl.c * Catalan, Spanish, Basque and Galician message modules converted to the new format and added to the makefiles. ; by Jose Lalin 20000415-15:15 DST Paul Tucker * source/rdd/dbfcdx/dbfcdx1.c * a number of casts to allow msvc to compile * added missing entries to workarea struct 20000415-20:46 GMT+1 Victor Szakats * source/rdd/dbfcdx/dbfcdx1.c ! non-ANSI stricmp() changed to hb_stricmp() - Removed stdio.h and string.h since they are always included from hbapi.h ! Proprietary function _ltoa() changed to hb_cdxltoa() * include/hbapigt.h ! Doesn't include color.ch, but defines the same constants with HB_ prefix to avoid collision with OS/2 (so far). * HB_CLR_LASTCOLOR renamed to HB_CLR_MAX_ * source/rtl/gtapi.c + Using HB_CLR_MAX_ instead of duplicated define. * Prefixed CLR_ with HB_ * include/color.ch - Removed the note that this file is also included from .C files. - Removed CLR_LASTCOLOR which was not CA-Cl*pper compatible anyway. 20000415-19:09 GMT+2 Maurilio Longo * source/rdd/dbfcdx/dbfcdx1.c ! testdbf was failing with missing symbols, fixed to let testdbf compile 20000415-18:37 GMT+2 Maurilio Longo * source/rdd/dbfcdx/dbfcdx1.c ! fixed a couple of declarations HB_FUNC instead of HARBOUR ... * include/hbapigt.h ! CLR_BACKGROUND definition from color.ch conflicts with os2.h (os2emx.h) definition, but OS/2 defition is needed only if you use GPIxxx calls, so we can undef it. * config/os2/gcc.cf + added -O2 switch to gcc switches (optimize for speed), I will put -O3 as soon as I install gcc 2.95.3 at home. * make_gnu.cmd - removed redirection to file, I need to see errors as they appear (an my editor needs them as well :-)) 20000415-18:23 GMT+1 Victor Szakats * include/hbapilng.h * source/rtl/langapi.c + hb_langSelectID() added * include/hbsetup.ch * include/hbsetup.h * source/vm/harbinit.prg * source/vm/hvm.c ! Default language selection moved to C level. * source/rdd/dbfcdx/dbfcdx1.c - Commented out old includes removed. 20000415-17:47 GMT+2 Maurilio Longo * ChangeLog ! Sorry Bruno, I mistyped your name, fixed. 20000415-17:38 GMT+2 Maurilio Longo * source/rdd/dbfcdx/dbfcdx1.c % added Bruno Cantero's file (from message on Harbour list), quick and dirty hack to make it compile (at least) lots of warnings and no tests made * include/hbapirdd.h % added Bruno Cantero's changes to make dbfcdx1.c happy. 20000415-15:07 GMT+1 Victor Szakats * source/rtl/net.c + NETNAME() now works with BCC16 (and any other real mode DOS compiler for that matter). - Commented out for DJGPP. I leave this for someone who has the nerve to tweak it for PM. * bin/bld.bat * bin/bld.cmd ! Fix for bcc16 HB_GT_LIB selection. 20000415-13:01 GMT+1 Victor Szakats * bin/bld.bat ! djgpp and bcc uses build scripts to avoid long command lines. * bin/bld_b16.bat * bin/bld_b32.bat * bin/bld_vc.bat + Now calls bld.bat to do the real work. * bin/bld.* + Now use HARBOURFLAGS and CFLAGS - bin/bld_b32o.bat - bin/bld_b32w.bat - Removed. Use SET CFLAGS=-tW and call bld_b32.bat for the bld_b32w.bat functionality, if you need it. bld_b32o.bat was specific and not working anyway. 20000415-12:38 GMT+1 Victor Szakats * source/rtl/net.c ! Experimental NETNAME() support for DOS. It currently GPFs with DJGPP. * include/hbdefs.h - Removed #include for __WATCOMC__, since it seems that dos.h is including it automatically. + Added HB_DOS_INT86X() macro. * include/hbapilng.h * source/rtl/langapi.c * HB_LANG_REQUEST() moved to the header. * include/hbextern.ch + HB_LANGNAME() added. * source/vm/itemapi.c ! hb_itemDo() fixed rare bug. * source/rtl/errorapi.c * source/vm/hvm.c * source/pp/pplib.c * source/pp/stdalone/hbpp.c * source/rtl/set.c * source/rtl/transfrm.c * source/compiler/genc.c ! Fixed GCC -O2 warnings * One TODO changed to TOFIX in __PREPROCESS() * source/rtl/gtapi.c * source/vm/extend.c ! Small modifications. * source/rtl/langapi.c ! Typo * source/vm/classes.c ! __CLSINSTSUPER() fix for error recovery code path. ! The return value of some Harbour functions made consistent on error cases (return 0 instead of NIL). 20000415-05:12 GMT+1 Victor Szakats * include/error.ch * include/hbapilng.h * source/rdd/dbcmd.c * source/rtl/errorapi.c * source/vm/classes.c * source/vm/fm.c * source/vm/hvm.c * source/vm/itemapi.c * source/vm/memvars.c * source/lang/*.c + All internal error texts converted to support multi-language. Also the internal error code are now correctly set. 20000415-03:32 GMT+1 Victor Szakats * include/error.ch * include/hbapilng.h * source/rtl/langapi.c * source/rtl/errorapi.c * source/rdd/dbcmd.c * source/lang/*.c + Moves to add multi-language support for all internal errors. * include/hbapilng.h * source/rtl/langapi.c * tests/langapi.prg + HB_LANGNAME(), hb_langID(), hb_langName() calls added. + source/lang/Makefile * makefile.vc + PT language added for other makefiles. + Missing Makefile added. 20000415-22:10 GMT-3 Luiz Rafael Culik *makefile.bc +added msgpt.c to dependencie list + source/lang/msgpt.c *Support module for Portugues Messages 20000414-17:57 GMT-8 Ron Pinkas * source/compiler/harbour.c * Corrected few Compiler warnings about type format * source/compiler/genc.c * Corrected few Compiler warnings about possible unitilized iBytes. 20000415-00:57 GMT+1 Victor Szakats * include/hbapilng.h * source/lang/msg_tpl.c * source/lang/msgen.c * source/lang/msghu*.c ! One missing error string fixed. 20000414-22:10 GMT+1 Victor Szakats + tests/langapi.prg * tests/Makefile + Test program added for Language API - source/rtl/msgxxx.c - Removed. 20000414-22:03 GMT+1 Victor Szakats * make_gnu.* + make output redirected to make_gnu.log by default. * include/hbapilng.h * include/hbsetup.ch * include/hbsetup.h * include/hbextern.ch * include/hbdate.h * utils/hbtest/hbtest.prg * source/tools/dates.c * source/vm/harbinit.prg * source/rtl/datec.c * source/rtl/natmsg.c * source/rtl/langapi.c * source/rtl/Makefile * source/rtl/errorsys.c - source/rtl/natmsg/* + source/lang/msg_tpl.c + source/lang/msgen.c + source/lang/msghu852.c + source/lang/msg*.c - source/rtl/msgxxx.c * source/Makefile * makefile.bc * makefile.vc * bin/bld*.* * tests/Makefile * samples/guestbk/makefile * samples/guestbk/bld_b32.bat * samples/hscript/makefile * samples/hscript/bld_b32.bat * samples/misc/makefile * samples/pe/makefile * utils/hbdoc/makefile * utils/hbextern/makefile * utils/hbrun/makefile * utils/hbtest/makefile ! runner lib removed from the GNU-make system + New dynamic Language API added. Runtime selection of language, compile time selection of the default language, multiple language support in the same executable. + NATMSG API now uses the Language API. + HBTEST is now setting the language to EN before doing the tests. * English and Hungarian 852 message modules converted to the new format, and added to the makefiles. ; ! WARNING ! Please convert your language to the new format. Follow MSG_TPL.C as a template. There are also some new items which should be translated or adapted to your language. (Don't forget to add a comma after each string item) ; Use -DHB_LANG_DEFAULT= (for example -DHB_LANG_DEFAULT=EN) to specify the default language for your build. ; Use REQUEST HB_LANG_ to request the linkage of additional language modules. ; Use hb_langSelect( "" ) to change the language at runtime. ; TODO: Startup code for MSC8 in language modules. ; TODO: Convert the rest of the language modules to the new format. * source/rtl/run.c ! TOFIX added. * include/hbapi.h % Removed #include "hbdefs.h", because it was also included by hbvmpub.h. 20000413-19:30 GMT-8 Ron Pinkas * source/compiler/hvm.c * Added FAR support to HB_P_SEQBEGIN and HB_P_SEQEND * source/compiler/harbour.c * Modified hb_compGenJumpThere() to revert back to "short" JUMPs when fixing the jumps, it will than use HB_P_NOOP for the unused 3rd byte. * It now supports all variations of JUMP including SEQBEGIN and SEQEND as well as the logig to not interfere with "short" JUMPs. + Added more error handling to hb_compGenJumpThere() * source/include/hbexprb.c * Modified handling of .OR. .AND. and IIF() to use "short" JUMPs - note the use of -1 when calling hb_compGenJumpXXX(). * source/compiler/genc.c + Added support for HB_P_NOOP (was missing!) * Modified HB_P_SEQBEGIN and HB_P_SEQEND to support FAR jumps * source/compiler/hbgenerr.c + Added following errors: "Jump offset too long for HB_P_JUMP needed HB_P_JUMPFAR", "Jump offset too long for HB_P_JUMPTRUE needed HB_P_JUMPFARTRUE", "Jump offset too long for HB_P_JUMPFALSE needed HB_P_JUMPFARFALSE", "HB_P_JUMPx not found when fixing offset" * source/include/hbexprb.c + Added following defines: #define HB_COMP_ERR_INVALID_JUMP 45 #define HB_COMP_ERR_INVALID_JUMPTRUE 46 #define HB_COMP_ERR_INVALID_JUMPFALSE 47 #define HB_COMP_ERR_JUMP_NOT_FOUND 48 20000414-03:08 GMT+1 Victor Szakats * source/vm/hvm.c ! Changed to the standard way of including windows.h (this is also a blind try to make it compile with BCC50/Win32) 20000413-21:38 GMT-3 Luiz Rafael Culik *utils/hbdoc/hbdoc.prg utils/hbdoc/html.prg *Small changes 20000413-16:40 GMT+2 Chen Kedem * doc/en/dbstrux.txt * in __FLTEDIT() HARBOUR_STRICT_CLIPPER_COMPATIBILITY was changed into HB_C52_UNDOC as used by the source * insert explicit marks to make Commands $ARGUMENTS$ bold * doc/en/terminal.txt * in ALERT() HARBOUR_STRICT_CLIPPER_COMPATIBILITY was changed into HB_C52_STRICT as used by the source * in ALERT() and __NONOALERT() the $COMPLIANCE$ section was extended + $PLATFORMS$ section for HB_OSNEWLINE() * a bit re-formating 20000413-12:32 GMT+1 Victor Szakats * source/compiler/genc.c ! JUMPFAR fix for 16 bit compilers. * source/compiler/genhrb.c * source/compiler/genjava.c + JUMPFAR support for .HRB and java output. * source/compiler/harbour.y - JUMPFAR TODO removed. (not yet tested) * make_gnu.* * bin/bld.* * config/dos/bcc16.cf + Added 4.x and 5.0x as a 16bit BC compiler. 20000413-12:14 GMT+1 Victor Szakats * include/hbver.h * Date bumped to indicate new pcode revision. * include/hbapi.h ! Fix for HB_EXTEND_API_MACROS * source/rdd/dbstrux.prg ! Small formatting. 20000413-01:30 GMT-8 Ron Pinkas * source/include/hbpcode.h + Added HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE * source/compiler/hvm.c + Added support for HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE to support longer than 2^15 jumps. * source/compiler/harbour.c * Enhanced hb_compGenJump(), hb_compGenJumpFalse(), hb_compGenJumpTrue(), hb_compGenJumpHere() and hb_compGenJumpThere() to utilize HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE to support longer than 2^15 jumps. * source/compiler/genc.c + Added support for HB_P_JUMPFAR, HB_P_JUMPFARFALSE, and HB_P_JUMPFARTRUE to support longer than 2^15 jumps. 20000413-04:42 GMT+1 Victor Szakats * source/common/hbtrace.c ! Fixed a previous optimization attempt, which caused hb_tr_level() to reinit itself on every call. (10% speedup for HBTEST /ALL) * makefile.* + LDFLAGS added for MSVC and BCC 20000413-02:55 GMT+1 Victor Szakats * source/vm/extend.c * include/hbapi.h % Experimental HB_EXTEND_API_MACROS macro added, which (if defined) will convert hb_pcount() and hb_ret*() Extend API function calls into Item API calls and direct item accesses. So that it should be faster and also a bit larger (~3K larger Harbour exes for BCC55) * source/rtl/set.c * source/rdd/dbcmd.c * contrib/rdd_ads/adsfunc.c % hb_ret() call removed. 20000413-02:14 GMT+1 Victor Szakats * include/hbapiitm.h * source/vm/itemapi.c * source/vm/extend.c + hb_itemPutD() added. hb_retd() modified to call this. 20000412-11:01 GMT+1 Victor Szakats * include/hbdate.h * include/hbapi.h * source/rtl/datec.c * source/rtl/dates.c * source/rtl/dateshb.c * source/tools/dates2.c * source/vm/extend.c * contrib/rdd_ads/ads1.c * source/rdd/dbf1.c * Day/Month/Year parameters reordered to Year/Month/Day to match international conventions. (hb_retd(), hb_dateDOW(), hb_dateEncode(), hb_dateDecode(), hb_dateStrPut(), hb_dateStrGet()) ; Next items by Jose Lalin. * include/hbapirdd.h + added missing DBI_FULLPATH ! minor formating ! typos fixed, DBI_ definitions changed + tests/tstdbi.prg * tests/Makefile + new tests for DbInfo() + new tests for dbRecordInfo() and dbFieldInfo() 20000412-10:06 GMT+1 Victor Szakats * include/inkey.ch * source/rtl/inkey.c * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtwin/gtwin.c * tests/inkeytst.prg * INKEY_EXTENDED renamed to INKEY_RAW to better show its purpose. * source/rtl/console.c % hb_conOut() one variable removed. % DISPOUT(), DISPOUTAT() optimized for speed, they got larger though. hb_conOutDisp() removed. * source/rtl/dateshb.c * Some code put in blocks. 20000412-04:39 GMT+1 Victor Szakats * source/rtl/gtapi.c ! hb_gtGetColorStr() fixed. 20000412-03:14 GMT+1 Victor Szakats * source/tools/ctmisc.prg ! CT_SAVEGETS() fixed to empty GetList. * source/rtl/gtapi.c + hb_gtGetColorStr() readded the previous version of colorspec generation and put the CA-Clipper compatible one between STRICT guards. (Talking about the "W+*/GR" vs. "W+/GR*" issue.) 20000411-20:30 GMT -3 Luiz Rafael Culik * source/rtl/gtapi.c % hb_gtWrite() one more variable removed. % hb_gtRepChar() the terminating zero was superfluous. % hb_gtWriteAt() is now native instead of calling the high-level functions, so it's faster, because of that hb_gtBox() is also faster. % hb_gtRepChar() uses WriteAt() instead of Write(), so it's faster. % Many functions calls low-level hb_gt_() functions instead of the same level, this way some calls could be eliminated and gain some speed. (hb_gtMaxRow(), hb_gtMaxCol(), hb_gtVersion(), hb_gtColorSelect(), ...) The number of same level calls has been reduced by 20. ! hb_gtInit() fixed the order of some init steps. * include/hbapigt.h * source/rtl/gtapi.c * source/rtl/gt*/gt*.c * hb_gt_Done() renamed to hb_gt_Exit() 20000411-23:09 GMT+1 Victor Szakats * source/rtl/gtapi.c % hb_gtGetColorStr() optimized. alloc/free removed, NOTE added, variables renamed. One strcpy() removed. Buffer overflow checked. It should be much faster now. ! hb_gtGetColorStr() fixed so that it will now put both + and * to the first half of the colorspec. This is ugly but that's what CA-Cl*pper does. 20000411-21:08 GMT+1 Victor Szakats * source/rtl/gtapi.c % Some var++/var-- changed back to ++var/--var. Since they produce better code when compiler optimization is turned off. * source/vm/cmdarg.c + tests/tscmdarg.c * Tests moved to the test dir. 20000411-20:45 GMT+1 Victor Szakats * source/rtl/gtapi.c + tests/tstgtapi.c ! hb_gtGetCursor() optimized and fixed for bad values. % hb_gtGetCursor() removed the check of the value returned by hb_gt_GetCursorStyle(). * Tabs removed. % hb_gtSetPos() optimized, variables removed. ! s_uiCursorStyle initialization fixed. - hb_gtGetCursor() removed the s_uiCursorStyle update on cursor *get*. ! hb_gtSetCursor() fixed when setting the cursor style while it is out of the screen. ! hb_gtSetCursor() fixed to check it's parameter. * Test program moved to the test dir. % hb_gtWriteCon() One variable removed. Some variable names and scops adjusted. Some variable write access optimization. ! hb_gtRepChar() fixed possible one byte buffer overflow. % hb_gtRepChar() optimized. + hb_gtRepChar() now supports values larger than 255, so that it will never report an error now. * Some optimizations made given that hb_gtWrite() and some other GT function will never report an error. % hb_gtWrite() Some variables removed, scope adjusted. Some variable write access optimization. % hb_gtPostExt() One variable removed. % hb_gtBox() return from inside removed. Variable scopes adjusted. * source/rtl/setcurs.c % SETCURSOR() optimized. * source/rtl/asort.prg ! Typo * include/inkey.ch * Tabs removed. 2000-04-11 14:30 GMT-4 David G. Holm * config/w32/gcc.cf + Added LNK_USR_PATH and LNK_USR_LIB environment variables to specify non-Harbour libraries. Put one or more paths in LNK_USR_PATH and one or more base library names in LNK_USR_LIB, using spaces to separate. * tests/inkeytst.prg % Modularization and display improvements by Alejandro de Garate 20000411-16:32 GMT+1 Victor Szakats * source/rtl/inkey.c * source/rtl/accept.c * include/hbapi.h % hb_inkey() optimized, tight loops made faster, using less variables, especially "wait forever" and "wait nothing" optimized. ! hb_inkey() GCC -O2 warning fixed. - Removed "forever" parameter of hb_inkey(), now hb_inkey() determines this instead of the caller. * Case when waiting forever for no events is now silently handled in hb_inkey() by returning a zero. The Harbour specific runtime error has been removed. % INKEY() optimized, now it's a two liner. * source/rtl/gtwin/gtwin.c ! inkeypoll trace text fixed. 20000411-15:55 GMT+1 Ryszard Glab *config/dos/watcom.cf *added support for HB_GT_LIB variable *include/inkey.ch *new K_HB_KEYCODES definition to signal that multi-character keycodes are available. *source/rtl/gtapi.c *hb_gtWwriteCon() fixed to correctly support LF characters in U*nix environment (LF should move carriage return to the leftmost column) *source/rtl/gtcrs/gtcrs.c *updated to return multi-character keycodes that are not mapped to Clipper INKEY() keycodes *full color support *scrolling up-down 20000411-13:12 GMT+1 Victor Szakats * include/hbextern.ch * source/vm/memvclip.c * source/vm/proc.c * source/vm/pvalue.c * source/vm/dynsym.c * source/rtl/dummy.prg * source/rtl/fssize.c * source/rtl/fstemp.c * source/rtl/setposbs.c * source/rtl/shadow.c * source/rtl/accept.c * source/rtl/oldbox.c * source/rtl/oldclear.c * source/rtl/alert.prg * source/rtl/setta.prg * source/rtl/console.c * source/rtl/setkey.prg * source/rtl/oemansi.c * source/rtl/inkey.c * source/rtl/valtostr.c * source/rtl/trace.c * source/rdd/dbnubs.c * source/rdd/dbstrux.prg * source/pp/pplib.c + Updated/extended the guards for the UNDOC features and some extensions. It's now possible to turn UNDOC or EXTENSIONS off. ! __ACCEPT made multithread safe, at least for the documented part. * source/rtl/dbstrux.prg ! Fixed for disabled HB_COMPAT_XPP mode. * source/rtl/alert.prg * utils/hbdoc/hbdoc.prg ! Fixed for disabled HB_COMPAT_C53 mode. * source/rtl/getsys.prg * utils/hbtest/rt_stra.prg ! Fixed for disabled HB_EXTENSION ; Note that HBDOC will still need HB_COMPAT_C53 to link (for MAKEDIR()). * include/hbexprb.c * include/hbexprc.c * include/hbextern.ch * include/hbsetup.h * compiler/harbour.c * compiler/hbfunchk.c * rdd/dbstrux.prg * rtl/alert.prg * rtl/dircmd.prg * rtl/strzero.c * vm/arrayshb.c * vm/hvm.c * vm/memvars.c * utils/hbtest/rt_array.prg * utils/hbtest/rt_main.ch * utils/hbtest/rt_stra.prg * include/hbsetup.ch * source/vm/cmdarg.c + Added HB_EXTENSION macro to guard Harbour extensions. + Added HB_C52_UNDOC macro to guard undocumented interfaces of CA-Cl*pper 5.2e * HARBOUR_STRICT_CLIPPER_COMPATIBILITY renamed to HB_STRICT_C52 * source/rtl/is.c * source/rtl/at.c * source/rtl/replic.c * source/rtl/space.c * source/rtl/trim.c - Some tests embedded to the source removed. * utils/hbtest/Makefile - PP removed. 20000411-03:04 GMT+1 Victor Szakats * utils/hbtest/* ! Fixed to work when HB_COMPAT_XPP mode is turned off. * include/hbsetup.ch * source/vm/cmdarg.c + Added defines for Flagship/FoxPro/dBase extensions. - Disabled HB_COMPAT_VO by default. 20000411-02:32 GMT+1 Victor Szakats * source/common/hbver.h * source/rtl/gtapi.c * source/rtl/inkey.c * source/rtl/dir.c * source/rtl/diskspac.c * source/rtl/gtpca/gtpca.c * source/rtl/gtos2/gtos2.c * source/rtl/gtos2/mouseos2.c ! Fixed usage of HARBOUR_OS2_GCC before definition. ! Now the INCL_* macros for OS/2 are always defined regardless of the target platform, since at that point we don't know yet what is the target platform. This may fix OS/2 GCC in some places. The only downside in theory is that INCL_* may collide with some non-OS/2 defines. Note that __IBMCPP__ != OS/2, it also has a Win32 version, and __EMX__&!__RSXNT__ *is* OS/2. * Some minor cleanups. ! Fixed DIRECTORY() for OS/2 GCC and IBMCPP for Win32. Not tested. - Removed explicit declaration for DosSleep(). - Some superfluous #include statements removed from GTOS2. !! WARNING !! Please check IBMCPP/OS2 and GCC/OS2. I could not test any of these. * source/rtl/run.c ! Minor format. 20000410-20:00 GMT -3 Luiz Rafael Culik ; Please retest Harbour on every possible platform. * make_gnu.* * bin/bld.* * Added RSX32 and RSXNT * makefile.bc + $(ARFLAGS) added. + /P32 added for BCC32, to avoid overflowing libs when compiling with debug info. + config/dos/rsx32.cf * include/hbsetup.h * source/common/hbver.c * source/rtl/gtdos/gtdos.c * source/rtl/gtdos/mousedos.c + Added support for the RSXNT compiler under DOS 32 bit. Harbour executable don't run yet. + DISKSPACE() for DOS now uses INT_86 instead of the less-portable library call. ! GTDOS and MOUSEDOS use the standard INT86, so they should work on more platforms now, easier to extend and much more clear. + config/w32/rsxnt.cf * include/hbsetup.h * source/common/hbver.c * source/rtl/diskspac.c * source/rtl/gtwin/gtwin.c + Added support for the RSXNT compiler under Windows NT. * source/common/hbver.c * source/rtl/is.c * source/rtl/transfrm.c * source/pp/ppcore.c * source/vm/fm.c ! Fixed warnings for GCC -O2 and the new RSX compiler. ! Fixed warning for turned off HB_FM_STATISTICS * source/vm/extend.c * include/hbapi.h + hb_retd() function added. Thanks to Jose Lalin. * include/hbdefs.h * source/common/hbver.c * source/rtl/isprint.c * source/rtl/inkey.c * source/rtl/dateshb.c * source/rtl/gtdos/gtdos.c * source/vm/mainwin.c * source/vm/maindll.c % Cleaned up the multiplatform code. (mainly for DOS (INT_86)). + Added common HB_DOS_INT86 macro to the central header, local declarations removed. % Removed the branches where the word registers were accessed via "w". "x" is supported by __BORLANDC__, __DJGPP__, _MSC_VER, __RSX32__, __WATCOM__, __TURBOC__ (9.5). Who's missing ? * source/common/hbver.c + Shows DJGPP package version. * source/rtl/filesys.c + TOFIX added for hb_fsFile() * config/dos/global.cf ! Got rid of the \ to / conversion for rsx32, watcom and djgpp * config/dos/djgpp.cf ! Modified to avoid long command lines when linking. I finally found a way to build DJGPP under W2K, using the MAKE.EXE supplied with RSXNT. * config/os2/gcc.cf * include/hbsetup.h - The -DHARBOUR_GCC_OS2 detection made automatic. * source/rtl/version.c * tests/version.prg * utils/hbtest/hbtest.prg * VERSION() no longer has the parameter extension to make things more straight. One can use HB_COMPILER() to retrieve this info. ! WARNING ! Please update the docs. 20000410-09:00 Luiz Rafael Culik * source/rtl/gtcrs/gtcrs.c ! New functions made static * source/compiler/cmdcheck.c * Some copyright info arrangment. * source/common/hbver.c % hb_verCompiler() some optimizations and streamlining mainly around GCC flavours. + MS "Visual" detection. * source/vm/fm.c * include/hbsetup.h * HB_FM_STATISTICS moved to the setup header. * contrib/linux/gcc.cf - Removed -g from the default C switches to be in sync with the other platforms. * source/rtl/diskspac.c % Some code made common, platform specific code put in blocks. * contrib/rdd_ads/ace32.h ! Fix for Win32 GCC * source/vm/hvm.c * Static and global initialization all made in the startup function. * doc/whatsnew.txt + Added missing version header * source/rtl/strcase.c * Minor format. 20000408-14:38 DST Paul Tucker * source/rtl/strcase.c * some compilers impliment toupper() as a macro, so toupper( pSrc++ ) * does not work properly. 20000408-20:45 GMT+1 Ryszard Glab *source/rtl/gtcrs/gtcrs.c * added key mapping using terminfo database 20000408-14:11 DST Paul Tucker * source/rtl/dir.c * correct MING 8.3 support (which I broke) 20000408-15:28 GMT+2 Maurilio Longo * source/rtl/tbrowse.prg ! ::New() was initializing a few instance variables to nil instead of {} (aRedraw, aRect, aRectColor) and DBU.EXE compiled with debugger died in ::Invalidate(275). 20000408-11:05 GMT+2 Maurilio Longo * source/rtl/filesys.c + Added file locking to OS/2 (both GCC and icc) ! fixed file committing under OS/2 (no need to duplicate a file handle) 20000407-15:25 GMT+2 Maurilio Longo * source/rtl/diskspac.c + Added OS/2 (GCC and icc) support * tests/MakeFile + db_brows was missing from sources list 20000407-03:26 GMT+1 Victor Szakats * include/hbver.h + Version bumped. * doc/whatsnew.txt + Some new items. 2000-04-06 21:30 GMT-4 David G. Holm * doc/gmake.txt % Change to os2/gcc documentation to show gtos2 for HT_GT_LIB, (thanks to Maurilio Longo for his work on making the gtos2 library work with os2/gcc) 20000406-10:55 GMT+1 Ryszard Glab *source/compiler/harbour.y * the parser resumes parsing after 'parse errors' (parsing errors are non-fatal now) 20000406-08:52 GMT+1 Victor Szakats * config/dos/dir.cf ! Accidentally broken file restored. * utils/hbtest/Makefile * utils/hbtest/make_xpp.cmd ! Fixed. * include/box.ch + Some extensions guarded as such. * source/rtl/math.c + Multithreading related NOTE added. * make_b16.bat + CLEAN will remove .MAP files. 20000405-15:29 GMT+1 Victor Szakats + utils/hbtest/rt_hvma.prg * utils/hbtest/* * makefile.* ! rt_hvm.prg split to make it compile with BCC31 under lower memory conditions. * source/rtl/devoutp.prg * source/rtl/setkey.prg * include/hbver.h * include/hbapifs.h * include/filesys.api * include/fileio.ch * include/hbset.h * include/set.ch - Removed local ChangeLogs 20000405-14:28 GMT+3 Alexander Kresin * source/pp/ppcore.c * bugs fixed, reported by Guy Roussin and Chen Kedem 20000405-10:00 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * added adsFlush() function * contrib/rdd_ads/adsfunc.c * Added adsGetRelKeyPos() function 20000405-02:03 GMT+1 Victor Szakats * source/rtl/math.c ! exception redefined as _exception for Borland C++ 5.5 and upper. ! Disabled math exception handling for Borland C++ 5.3 C++ mode, since it won't work. Other Borland C++ version (4.x,5.x) should be also checked in this respect. * source/rtl/gtwin/gtwin.c ! max()/min() changed to HB_MAX()/HB_MIN() * source/rtl/filesys.c ! Explicit declaration of POSIX rename() moved to the Unix branch. * source/compiler/harbour.c ! isatty() declaration readded for (__BORLANDC__ && __cplusplus) * makefile.bc ! Fixed to create unistd.h in the local OBJ dir for macrol.c and harbourl.c. * makefile.vc ! Using a safer method for the unistd.h workaround. It's now created in the local OBJ dir instead of the common INCLUDE. This way it's impossible to accidently leave it there and break Cygnus and other GCC make processes. + utils/hbtest/rt_stra.prg * utils/hbtest/* * makefile.* ! rt_str.prg split to make it compile with BCC31. ; All these fixes were needed to compile in C++ mode with Borland C++ (3.1, 5.3, 5.5). Hmm, the Harbour .EXE sizes are actually 10% smaller than with 32 bit Borland Cs. 2000-04-04 20:00 GMT-4 David G. Holm * source/rtl/dir.c * source/rtl/inkey.c * source/rtl/set.c * source/rtl/gtos2/mouseos2.c - Removed the local ChangeLog. * source/rtl/gtos2/gtos2.c + Put #include back in for compilers other than GCC, because that's where they get the basic variable types, etc. ! Changed 'unsigned char *' to 'BYTE *' for fpBlank and fpBuff in hb_gt_Scroll(), because hb_gt_Puts(), hb_gt_GetText(), and hb_gt_PutText() take 'BYTE *' parameters and passing 'char *' variables confuses the IBM VisualAge C++ compiler. % Reformatted hb_gt_Scroll() to eliminate TAB characters. * source/rtl/gtpca/gtpca.c + Added HB_SYMBOL_UNUSED() for all unused function arguments. 20000404-08:00 GMT-3 Luiz Rafael Culik *doc/en/dbstrux.txt *Small reformating 20000404-13:00 GMT+1 Victor Szakats * source/rdd/dbstrux.prg % Some more optimization. Thanks to Chen Kedem. * source/rtl/getsys.prg % __GetListActive() calls optimized out. * source/vm/cmdarg.c * Change wording to "compatible" when talking about the other commercial products. 20000404-12:13 GMT+1 Victor Szakats * source/pp/ppcore.c % Some variables optimized out in pragma related code. % DebugPragma() simplified. 20000404-11:06 GMT+1 Victor Szakats * source/rtl/dircmd.prg + Changed to use NationMsg() instead of the hard-wired English string. The previous 100% compatible version left in STRICT_COMPAT branch. * source/rtl/console.c * source/rtl/gtapi.c * source/rtl/gt*/gt*.c ! Fixed some TRACE calls. * source/rtl/wait.prg * source/rtl/input.prg % Small optimization. * Variable renamed to better reflect purpose and types. * source/rtl/tgetlist.prg ! Using NationMsg() instead of the hard-coded strings. * source/rdd/dbstrux.prg % Some optimizations. * tests/tstprag.prg + New tests changed. 20000404-08:55 GMT+2 Chen Kedem * doc/en/dbstrux.txt + documentation for __dbCreate() + documentation for CREATE + documentation for CREATE FROM * some re-formats ; By this all the functions in source/rdd/dbstrux.prg are documented 20000403-23:30 GMT-3 Luiz Rafael Culik *utils/hbdoc/genng.prg utils/hbdoc/genhtm.prg *Fixed handling for multi columns tables *utils/hbdoc/ft_funcs.prg +GetNumberofTableItems() added to count the number of item of a table 20000404-03:24 GMT+1 Victor Szakats * include/hbpp.h + Upped the buffer sizes. * source/pp/ppcore.c * tests/tstprag.prg * Some #pragma names modified to be Xbase++ compatible. AUTOMEMVARS -> AUTOMEMVAR LINEINFO -> LINENUMBER SHORTCUTTING -> SHORTCUT FORCEMEMVARS -> DYNAMICMEMVAR + Added the Xbase++ compatible pragma symtax: #pragma NAME( ON/OFF ) + #pragma now allows space between long pragma name and parameter: #pragma Shortcut= ON or #pragma Shortcut( ON ) ! Fixed some DebugPragma() calls. ! Fixed DebugPragma() to display zero as a value. % Code simplified, variables eliminated. ! AUTOMEMVAR check fixed. * source/rtl/tget.prg + Added XPP compatible _Assign and _End() methods. ! Home(), End(), Access(), ColorDisp(), UpdateBuffer() fixed to return Self. + TODO added about Xbase++ compatible method. * source/rtl/tgetlist.prg + The methods returning NIL are now returning Self to be more consistent with the other classes. * source/rtl/tbrowse.prg + TODO added about Xbase++ compatible methods. * source/rtl/philes.c * source/vm/arrayshb.c + Some TODOs added about Xbase++ extension (CURDIR(), FILE(), AEVAL()). * include/hbsetup.ch * include/memoedit.ch * compiler/harbour.y * rtl/binnumx.c * rtl/browdbx.prg * rtl/datesx.c * rtl/isprint.c * rtl/mousex.c * rtl/oemansi.c * rtl/philesx.c * rtl/tbrowse.prg * rtl/tget.prg * vm/cmdarg.c * utils/hbtest/hbtest.prg ! XBase++ -> Xbase++ 20000403-23:40 GMT+2 Maurilio Longo * source/rtl/gtos2/gtos2.c ! Should work now and provide DispBegin() and DispEnd() support ! statics are named following harbour naming conventions 20000403-22:20 GMT+1 Victor Szakats * source/pp/stdalone/hbpp.c * source/compiler/cmdcheck.c * source/compiler/harbour.c * include/hbcomp.h ! Fixed handling of the /D switch, it broke when introducing the multiple filenames at the command line feature. 20000403-21:08 GMT+1 Victor Szakats * source/rtl/readvar.prg ! Fixed handling of non-GET system related functionality. (not tested) * source/tools/ctposupp.c ! MSVC cast. 20000403-19:57 GMT+1 Victor Szakats + source/rtl/getlist.prg + source/rtl/getsys.prg + source/rtl/readvar.prg * source/rtl/tgetlist.prg * source/rtl/Makefile * makefile.bc * makefile.vc + New Harbour internal function __GetListActive() added to provide an interface between TGETLIST and GETSYS. + The active getlist holder moved to a separate file GETLIST. + READVAR() moved back into separate file. + RANGECHECK() function added to GETSYS. Now the namespace of GETLIST is equivalent to CA-Cl*pper. + TGetList class separated from the GETSYS procedural (compatibility) interface. This way it's possible to override the GETSYS, READVAR or TGETLIST modules at link time just like in CA-Clipper. * source/rtl/tgetlist.prg ! GetP*Validate() - Fixed. + Added lHasFocus data. 20000403-18:25 GMT+1 Victor Szakats * utils/hbtest/* + Some __XPP__ branches removed. + Documented and added tests for the :className() <-> :className difference. ! Worked around ALINK /OUT: handling bug (by not using this switch). 20000403-16:35 GMT+1 Victor Szakats * utils/hbtest/* + utils/hbtest/make_xpp.bat + utils/hbtest/make_xpp.cmd + HBTEST made compatible with Xbase++ 1.10. Check the results. Comparison: Platform Filename Size Passes Failures Total Time --------------- ------------- --------- ------ -------- ----- ---- CA-Clipper 5.2e hbtest5x.exe 504.832 2976 25 3001 ~1 s Harbour (BCC55) hbtest.exe 566.272 3186 82 3268 ~4 s Xbase++ 1.10 hbtestxp.exe 1.375.232 1977 771 2748 ~2 s * source/rtl/philesx.c ! CURDRIVE() error handling made more like Xbase++. Retry is allowed, and the error text is the same. 20000403-13:07 GMT+1 Victor Szakats * source/rtl/tgetlist.prg ! READKILL(), READUPDATED(), __KILLREAD(), READFORMAT() fixed. % GetDoSetKey() optimized ; ---------------------------------------------------------- ; Ad: Now DBU compiles and runs without *any* modification ! ; ---------------------------------------------------------- (except for the Dbu() -> Main() renaming for some compilers) + source/tools/cttoken.prg * source/tools/Makefile * makefile.bc * makefile.vc * utils/hbrun/exttools.prg + CT_NUMTOKEN() + CT_TOKEN() ; CA-Tools compatible functions added. Thanks to Phil Barnett. * source/rtl/tgetlist.prg * source/rtl/tbrowse.prg * source/rtl/browse.prg * source/rtl/tbcolumn.prg * source/rtl/tclass.prg * source/rtl/typefile.prg * source/debug/dbgtmenu.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * include/hbclass.ch ! Assignment/equality operator (=) changed to assignment only operator (:=) and equality only (==) operator. Please don't use "=" operator, use "==" and ":=" instead. ! ValToStr() made MEMO aware. ! Some constants changed to manifest constants (again and again). 20000403-11:01 GMT+1 Victor Szakats * source/vm/itemapi.c * source/vm/hvm.c ! hb_itemPutND(), hb_itemPutNLen(), hb_itemPutNDLen(), hb_vmNegate(), hb_vmPushDouble() Fixed handling of double number widths. Negative numbers taken into account. Limits fixed. Checked against CA-Cl*pper. + hb_vmPushLongConst() added to push a long constant (pcode) long value. + hb_vmPushDoubleConst() added to push a constant (pcode) double value. * hb_vmPushDouble() restored to previous version. ! hb_vmPushDoubleConst() fixed to count the width of the double just like CA-Cl*pper, note that this is an ugly hack, and as a next step the HB_P_PUSHDOUBLE pcode should be modified to fix this. ( !! TODO !! ) ; After these the decimal handling seems to be completely CA-Cl*pper compatible, the failing tests are due to floating point precision problems. * utils/hbtest/rt_hvm.prg ! Number width handling tests modified to avoid the Harbour expression optimizer. 20000403-04:47 GMT+1 Victor Szakats * source/rdd/dbf1.c ! Now the MEMO fields are marked as MEMO. (Two HBTEST failures gone) * source/vm/itemapi.c * include/hbapi.h + Added hb_itemSetCMemo() Item API call, to mark a string as MEMO. ! hb_itemString() made MEMO aware. ! HB_IS_STRING() made MEMO aware. * utils/hbtest/rt_hvm.prg + A bunch (~100) of number width handling tests added, many of them fail. * source/vm/hvm.c ! hb_vmNegate() fixed handling of number width for doubles ! hb_vmPushDouble() fixed handling of number widths. + TOFIX added for hb_vmPushDouble(), because in Clipper the exact width is extracted from the pcode, the problem is that Harbour doesn't have this info stored there. 20000403-02:11 GMT+1 Victor Szakats * contrib/runjava/runjava.c * include/hbexprb.c * include/hbapilng.h * include/hbvmpub.h * source/rdd/dbf1.c * source/rtl/gtdos/gtdos.c * source/rtl/gtsln/gtsln.c * source/rtl/tget.prg * source/tools/asciisum.c * source/tools/strasint.c * source/tools/stringsx.c * source/tools/nconvert.prg * source/vm/hvm.c * source/vm/macro.c * source/vm/memvars.c * tests/memvar.prg * tests/testwarn.prg * tests/tstmacro.prg ! Tabs converted to spaces. Please don't use tabs in the sources, because the formatting may be much different when using another editor. * source/tools/Makefile ! Some corrections 20000403-01:26 GMT+1 Victor Szakats * source/vm/itemapi.c ! hb_itemStr() 9 character limit on decimals removed. Now seven more tests pass. * source/vm/hvm.c ! hb_vmPushDouble() 9 character limit on decimals removed. Now newly added tests pass. * utils/hbtest/rt_str.prg + New STR() tests added. * utils/hbtest/hbtest.prg + Shows the percentage of the passes compared to the number of tests. 20000402-23:44 GMT+2 Maurilio Longo * source/rtl/gtos2/gtos2.c ! There was a missing & operator causing a trap D at program start. There are other problems (display is somewhat corrupted) which need to be addressed 20000402-19:00 GMT-3 Luiz Rafael Culik *utils/hbdoc/genhtm.prg *Fixed a small bug 20000402-22:32 GMT+1 Victor Szakats * utils/hbtest/rt_hvm.prg + TYPE() basic tests added. One new case fails. * source/rtl/type.c ! TYPE() runtime error value substitution added. * include/hbdefs.h * source/rtl/hardcr.c * source/rtl/mtran.c % Repeated CHR_HARD/SOFT macros moved to the global header. * source/vm/cmdarg.c % Minor stack space opt. * source/rtl/strzero.c * Minor change in comment. + source/rtl/setposbs.c * source/rtl/setpos.c * source/rtl/Makefile * makefile.bc * makefile.vc * SETPOSBS() separated. * source/rtl/version.c ! Small memory allocation fix. * source/rtl/gtapi.c * Cast * source/common/hbver.c % #include is always included by hbdefs.h, so it's not needed to add it explicitly. Please test it anyway. 20000402-21:40 GMT+1 Maurilio Longo * utils/hbdoc/MakeFile ! gnu make error (missing tab) * source/common/hbver.c ! failing under OS/2 GCC * source/rtl/gtos2/gtos2.c + added DispBegin() and DispEnd() support. It should work with VA C++ also 20000402-20:01 GMT+1 Victor Szakats * utils/hbtest/hbtest.prg + Shows the percentage of the failures compared to the number of tests. * source/rtl/gtapi.c * Minor 20000402-19:37 GMT+1 Victor Szakats * utils/hbtest/rt_array.prg % TAStr() optimization. ! aTail() test results separated for __HARBOUR__ * utils/hbtest/rt_main.ch + Added the define HARBOUR_STRICT_CLIPPER_COMPATIBILITY * utils/hbtest/rt_str.prg * utils/hbtest/rt_array.prg * STRZERO() and AFILL() test results made dependent on the HARBOUR_STRICT_CLIPPER_COMPATIBILITY setting. * source/vm/arrayshb.c + AFILL() - added CA-Cl*pper implementation specific runtime error for the STRICT_COMPATIBLE branch. + AFILL() - Added Harbour specific runtime error on bad parameter. ; All these modifications cause the Regression Test failures to drop by 8. 20000402-18:50 GMT+1 Victor Szakats + source/tools/ctmisc.prg + source/tools/ctcolton.c + source/tools/ctposupp.c * source/tools/Makefile * makefile.bc * makefile.vc * utils/hbrun/exttools.prg + CT_COLORTON() + CT_CENTER() + CT_CSETCURS() + CT_CSETKEY() + CT_ENHANCED() + CT_STANDARD() + CT_LTOC() + CT_RESTGETS() + CT_SAVEGETS() + CT_SCREENMIX() + CT_POSUPPER() ; CA-Tools compatible functions added. * include/hbapiitm.h * source/rtl/pad.c + source/rtl/padc.c + source/rtl/padl.c + source/rtl/padr.c * source/vm/itemapi.c * source/rtl/Makefile * makefile.bc * makefile.vc * hb_itemPadConv() made global and moved to the Item API ! hb_itemPadConv() TRACE call typo. + Separated PAD*() calls. * */Makefile * Some corrections 20000402-16:17 GMT+1 Victor Szakats * */Makefile ! 8 spaces in rules converted to tabs. Just wondering why is this needed at all ? It's not an easy one, but please try to take care of this rule. 20000402-15:59 GMT+1 Victor Szakats - source/macro/macro.c * source/macro/Makefile + source/vm/macro.c * source/vm/Makefile * makefile.bc * makefile.vc + Base macro support modul moved to the HVM * source/vm/memvars.c * include/hbapi.h ! Uses hbcomp.h instead of the repeated VS_ macro definitions. + hb_memvarCreateFromItem() made global. * source/vm/memvars.c + source/vm/memvclip.c * source/vm/Makefile * makefile.bc * makefile.vc * CA-Cl*pper compatbility internal and undocumented functions moved to a separate file. * source/debug/debugger.prg % static scope adjusted. 20000402-14:35 GMT+1 Victor Szakats * makefile.vc * Updated for HBDOC changes. * doc/whatsnew.txt * Minor chg 20000402-07:00 GMT-3 Luiz Rafael Culik *doc/whatsnew.txt *some changes 20000402-08:44 GMT+2 Chen Kedem + doc/en/dbstrux.txt + documentation for __dbCopyStruct() + documentation for COPY STRUCTURE + documentation for __dbCopyXStruct() + documentation for COPY STRUCTURE EXTENDED + documentation for __FLEDIT()* + documentation for __dbStructFilter() Those are almost all the docs for source/rdd/dbstrux.prg (I'll might finished __dbcreate() leter this day) 20000401-21:00 GMT-3 Luiz Rafael Culik *makefile.bc *utils/hbdoc/makefile *Updated for new hbdoc depedencies +doc/en/datetime.txt *documentation for date/time functions *doc/en/math.txt *documentation for sqrt() function *doc/en/set.txt *some new docs *utils/hbdoc/genng.prg utils/hbdoc/genrtf.prg utils/hbdoc/genos2.prg utils/hbdoc/hbdoc.prg utils/hbdoc/genhtm.prg *Changes to make a better output file *Move FT_ functions from hbdoc to a new file -utils/hbdoc/fileread.prg Removed +utils/hbdoc/fclass1.prg +utils/hbdoc/ffile1.prg *New file class for hbdoc +utils/hbdoc/ft_funcs.prg *New place for the ft_* functions 20000402-01:41 GMT+1 Victor Szakats * source/rtl/substr.c ! Minor fix in comment. * source/rtl/filesys.c ! Bug fixed for __WATCOMC__ 20000401-18:00 GMT+1 Victor Szakats * source/rtl/version.c + source/common/hbver.c * source/common/Makefile * include/hbapi.h * include/hbextern.ch * contrib/hbclip/hbclip.prg * source/vm/cmdarg.c * tests/version.prg * makefile.bc * makefile.vc % Cleaned up the include section. + Added TRACE calls (CVSed previously) + Separated hb_version() into hb_verCompiler() and hb_verHarbour() * Renamed hb_os() to hb_verPlatform() * Renamed variables in hb_verCompiler() + Moved hb_ver*() functions to common directory. + HB_COMPILER() function added to return just the compiler info. + HB_COMPILER() function added to HBCLIP.LIB + //INFO will now display platform info. + //BUILD will now display compiler info. - //INFO will not display compiler info. * Test program updated. ; Tested with BCC53, BCC55, BCC31, CYGWIN, MINGW32, MSC8 (compile only), MSVC, DJGPP on W2KRC2, WNTSP4, W95, W95B, W98, MSDOS62, DOS5, DOS5+Win31 ; Please test it with WATCOM, Linux/GCC, OS2/GCC, OS2/ICC, and BCC31/DJGPP under OS/2. * Makefile ! Some spaces comverted to tabs * bin/bld.* ! common -> commo for DJGPP 20000401-03:20 EST Paul Tucker * source/rdd/dbf1.c * source/rdd/sdf1.c * source/rdd/delim1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfntx/dbfntx1.c * source/compiler/genc.c * contrib/rdd_ads/ads1.c * include/hbinit.h * updated initSymbols handling - again 20000401-02:00 EST Paul Tucker * include/hbvmpub.h * turns out msc8 doesn't know pack(push) 20000401-06:09 GMT+1 Victor Szakats - source/rtl/environ.c + source/rtl/version.c * source/rtl/Makefile * makefile.bc * makefile.vc * hb_os() - Fixed, simplified, optimized. * Filename changed to match CA-Cl*pper 20000401-04:57 GMT+1 Victor Szakats * source/rtl/environ.c * include/hbapi.h % OS() function reorganized. Now the motto is that each target platform should first detect the version of the native platform version, then if applicable (only in DOS currently) detect the host OS. This way the source is *far* more clean, and consistent between platforms and compilers. + Added WinNT detection for the DOS platform. * #ifdef mess removed. % Win32 version detection optimized. + C callable version added (hb_os()) * Some variables renamed. ; Tested with BCC55, BCC31, CYGWIN, MINGW32, MSC8 (compile only), MSVC on W2KRC2, WNTSP4, W95, W95B, W98, MSDOS62 ; Please test it with DJGPP, WATCOM, Linux/GCC, OS2/GCC, OS2/ICC, and BCC31 under OS/2. * source/rtl/inkey.c * Comment for W2K corrected. * doc/whatsnew.txt + Added some items for the next release. 20000331-21:35 EST Paul Tucker * makefile.bc + Added dbgtmenu dbgtwin.c &.prg to the debug library rules. * unlike makefile.vc, makefile.bc needs the source dependcies * listed as well 2000-03-31 18:30 GMT-5 David G. Holm * makefile.bc * makefile.vc + Added dbgtmenu.obj and dbgtwin.obj to the debug library rules. 2000-03-31 18:25 GMT-5 David G. Holm * source/debug/Makefile + source/debug/dbgtmenu.prg + source/debug/dbgtwin.prg * source/debug/debugger.prg % I split the TDbWindow class into a new program module and the TDbMenu and TDbMenuItem classes into another so that Harbour can be built with dos/b16. 2000-03-31 18:00 GMT-5 David G. Holm * config/dos/bcc16.cf + It helps to use $(ARFLAGS) when running $(AR). + I added support for HB_GT_LIB and HB_SCREEN_LIB. 20000331-23:11 GMT+1 Victor Szakats * include/hbver.h * Version bumped. * include/extend.api * include/hbapi.h * contrib/runjava/runjava.c * contrib/rdd_ads/ads1.c * source/rtl/*.c * source/vm/*.c * source/rdd/*.c * source/tools/*.c * source/macro/macro.c * IT_ macros prefixed with HB_ * IS_ macros prefixed with HB_ * source/vm/extend.c % Source code made smaller. * include/hbapi.h * include/extend.api * source/tools/strfmt.c * PCOUNT, ALENGTH() moved to extend.api - Harbour usage of these macros removed. * .cvsignore * Updated * contrib/hbclip/readme.txt - Reference to Clipper S87 removed. 20000331-15:50 EST Paul Tucker * source/macro/macro.c * hb_valtypeGet() -> hb_itemTypeStr() 20000331-15:10 EST Paul Tucker * source/rdd/dbf1.c * source/rdd/sdf1.c * source/rdd/delim1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfntx/dbfntx1.c * source/compiler/genc.c * contrib/rdd_ads/ads1.c * include/hbinit.h * updated initSymbols handling - particularly for msc flavours. * Still a work in progress. Thanks also to Victor 20000331-19:24 GMT+1 Victor Szakats * source/rtl/valtype.c * source/vm/itemapi.c * include/hbapi.h * include/hbapiitm.h * hb_valtypeGet() -> hb_itemTypeStr() 20000331-19:06 GMT+1 Victor Szakats * include/hbapi.h * source/rtl/console.c * source/rtl/setcolor.c * source/rtl/setcurs.c * source/rtl/errorapi.c * source/rtl/gtapi.c * source/rtl/set.c * source/vm/hvm.c * source/vm/cmdarg.c * source/vm/fm.c * source/rtl/gtstd/gtstd.c * Console related functions all prefixed with hb_con hb_consoleInitialize -> hb_conInit hb_consoleRelease -> hb_conRelease hb_consoleGetNewLine -> hb_conNewLine hb_out -> hb_conOut hb_altout -> hb_conOutAlt hb_devout -> hb_conOutDev hb_dispout -> hb_conOutDisp hb_outstd -> hb_conOutStd hb_outerr -> hb_conOutErr hb_setCursor -> hb_conSetCursor hb_setColor -> hb_conSetColor hb_devpos -> hb_conDevPos * include/hbdate.h * source/rtl/natmsg/*.c * source/rtl/dates.c * source/rtl/dateshb.c * source/rtl/datec.c * source/rtl/pad.c * source/rtl/transfrm.c * source/rtl/seconds.c * source/vm/itemapi.c * source/tools/dates2.c * Date related globals all prefixed with hb_date hb_monthsname -> hb_dateMonthsName hb_daysname -> hb_dateDaysName hb_seconds -> hb_dateSeconds hb_cmonth -> hb_dateCMonth hb_cdow -> hb_dateCDOW hb_dow -> hb_dateDOW hb_dtoc -> hb_dateFormat ; Renaming of globals is basically over now. 20000331-20:27 GMT+3 Alexander Kresin * source/rdd/dbstrux.prg * some changes, provided by Chen Kedem * contrib/odbc/bld_b32.bat * contrib/odbc/hbodbc.b32 * contrib/odbc/odbc.c * some fixes 20000331-10:45 EST Paul Tucker * contrib/rdd_ads/ads1.c * updated initSymbols handling 20000331-09:50 EST Paul Tucker * source/rdd/dbf1.c * source/rdd/sdf1.c * source/rdd/delim1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfntx/dbfntx1.c * updated initSymbols handling 20000331-06:40 EST Paul Tucker * source/rtl/diskspac.c * minor code opt. 20000331-04:30 EST Paul Tucker * include/hbvmpub.h * put the #pragma pack in _MSC_VER gaurds which got missed in the original upload 20000331-01:02 GMT+1 Victor Szakats * include/hbapilng.h * include/hbdate.h * include/hberrors.h * include/hbinit.h * include/hbtrace.h ! Added #include "hbsetup.h" before using HB_EXTERN_C. * doc/howtomak.txt ! Typo * source/pp/pplib.c ! One global compiler variable declaration removed, because the same variable was also declared in macro.lib. 20000330-23:04 GMT+1 Maurilio Longo * include/hbvmpub.h ! with OS/2 GCC pragma pack(8) is not valid * source/rtl/gtos2/gtos2.c * with OS/2 GCC kbhit() is not available (it's a ToolKit function) 20000330-12:15 EST Paul Tucker * source/rtl/dates.c * account for possible overflow in calculation * source/rtl/defpath.c * initialise size to 0 * source/rtl/environ.c * added missing ; for msc branch * source/rtl/isprint.c * added msc8 support (== _BORLANDC_) * source/rtl/dir.c * source/rtl/gtdos/gtdos.c * source/rtl/gtdos/mousedos.c * modified to work with msc8 (upcoming addition!) * include/hbvmpub.h * change alignment of HB_SYMB for msc8 * source/rdd/dbcmd.c * changed if(!(...)) to if((...)==0) in rddInherit for /W4 compiler warning. * initialise uiArraylen in AFIELDS() * initialise ulNext in defEval() * source/rdd/dbf1.c * dbfUpdateRecord() Initialise local ulRecCount! NOTE: Something doesn't look right with the logic here. * dbfReadDBHeader() Init pFieldInfo.uiLen to 0 * source/vm/memvars.c * hb_memvarCreateFromItem() Initialize pDynVar to NULL 20000329-16:33 GMT+1 Victor Szakats * include/hbapi.h * source/rtl/val.c * source/rtl/ampm.c * source/rtl/sample.c ! hb_strVal() and VAL() made completely CA-Cl*pper compatible. Now 21 less test failures in HBTEST. atof() is no longer used. * utils/hbtest/rt_str.prg * utils/hbtest/rt_math.prg + Added some VAL() related tests. 20000328-23:04 GMT+1 Victor Szakats * config/dos/global.cf * config/w32/global.cf ! Small fix for 'clean' *.*. * include/hbdefs.h * include/hbsetup.h + Added HB_FUNC_CALLCONV for the HARBOUR macro. Borland users wishing to use pascal mode should use this command line switch: -DHB_FUNC_CALLCONV=pascal Note that you can use any other preferred calling conventions supported by your compiler. * HARBOUR_START_PROCEDURE moved to hbdefs.h since this should not be a user configurable parameter, it's "MAIN" or nothing. * source/vm/cmdarg.c ! Workaround for MSC8 compiler bug. + ChangeLog.006 ! Readded with the correct case. * doc/howtocvs.txt * doc/whatsnew.txt ! Minor fixes. 20000328-23:10 GMT+3 Alexander Kresin * source/pp/ppcore.c * Bug fixed, reported by Luiz Rafael Culik * Problem solved with 16-bit version * source/pp/pplib.c * hb_pp_init() call removed from __preprocess() * source/rdd/dbf1.c * bug fixed as proposed Janica Lubos * contrib/rdd_ads/ads.ch * contrib/rdd_ads/adsfunc.c * Added third optional parameter to adsKeyCount() as proposed Brian Hays 2000-03-28 13:40 GMT+1 Maurilio Longo * include/hbdefs.h ! You cannot redefine base types when using GCC under OS/2 2000-03-27 23:20 GMT-5 David G. Holm * include/hbapi.h * include/hbapierr.h * include/hbapifs.h * include/hbapigt.h * include/hbapiitm.h * include/hbapilng.h * include/hbapirdd.h * include/hbcomp.h * include/hbdate.h * include/hberrors.h * include/hbexprop.h * include/hbinit.h * include/hbmacro.h * include/hbpp.h * include/hbset.h * include/hbsetup.h * include/hbtrace.h * include/hbvm.h * include/hbvmpub.h % Changed from using #if defined(__cplusplus) to using #if defined(HB_EXTERN_C) and added definition of HB_EXTERN_C to hbsetup.h #if defined(__cplusplus) && !defined(__IBMCPP__) 20000328-03:35 GMT+1 Victor Szakats + doc/c_std.txt + A list of the keywords which are part of the ANSI C and/or Posix standards. * source/tools/mathx.c + Added new functions by Jose Lalin. * source/compiler/harbour.c ! Fixed to not define isatty for __BORLANDC__ * config/dos/global.cf ! Replaced "ECHO Y" with FOR command to make it work on non-English systems. 2000-03-27 19:15 GMT-5 David G. Holm * include\hbset.h * include\hbapiitm.h * include\hbapi.h * include\hbmacro.h * include\hbapirdd.h * include\hbexprop.h * include\hbdate.h * include\hbapilng.h * include\hbapigt.h * include\hbcomp.h * include\hbapifs.h * include\hbtrace.h * include\hberrors.h * include\hbvmpub.h * include\hbinit.h * include\hbvm.h * include\hbapierr.h * include\hbpp.h - Commented out all 'extern "C" {' and '}', because the ill-advised addition of extern "C" statements is only half done (present in .h files, but not in .c files), which prevents the os2/icc version of Harbour from being built. * source/macro/macro.c - Removed 'static' from definition of variable that is declared as 'extern' in hbmacro.h. 20000327-21:35 GMT+1 Victor Szakats ! Trash in harbour CVS root directory removed by SourceForge staff. ! File permission error corrected for CONTRIB/RDD_ADS/ dir by SourceForge staff. * utils/hbextern/hbextern.prg ! Fixed handling of HB_FUNC(). * source/rtl/console.c ! hb_consoleRelease() now calls hb_mouseExit(). * source/vm/debug.c ! Oops, one StackLen() converted to hb_stackLen() * source/rtl/natmsg/msgru866.c ! Fixed country. * source/rtl/tone.c - Removed local ChangeLog * source/pp/stdalone/hbpp.c * source/pp/ppcore.c * source/pp/ppcomp.c * source/rtl/gtwin/gtwin.c * source/rtl/gtcrs/gtcrs.c * source/rtl/setcolor.c ! TRACE call fixes. Thanks go to Tom Sobota. + #include "inkey.ch" added for gtcrs.c 20000327-01:24 GMT+1 Victor Szakats - doc/cvshowto.txt + doc/howtocvs.txt + doc/howtomak.txt + Enhanced the CVS upload guide. + Added guide how to make Harbour binary from the source. * makefile.* + C_USR and PRG_USR GNU-make style envvars are now working with MSVC and Borland makefiles. + contrib/runjava/bld_java.bat + contrib/runjava/make_vc.bat + contrib/runjava/Harbour.java + contrib/runjava/hbrunj.h + contrib/runjava/runjava.c + contrib/runjava/makefile.vc + The JAVA runner contribution has been added to a new directory along with all the support files needed to make it work. Thanks to Matteo Baccan for this contribution. ; !! WARNING !! I could not test this since I don't have the java tools needed. * makefile.vc * make_vc.bat - The JAVA runtime generation feature removed. (see previous entry) * source/vm/debug.c * One static function renamed. * include/clipdefs.h ! pascal keyword removed from here, too. So the rule has changed that all mixed or lower case CLIPPER function names must be converted to uppercase to make it work with Harbour. 20000326-16:58 EST Paul Tucker * source/rtl/gtwin/gtwin.c * further refinement on screen sizing. Size is now restored on exit. 20000326-13:14 GMT+1 Victor Szakats * makefile.bc ! Fixed. * ChangeLog.006 ! Corrected the case. (Temporarily removed, until someone at SourceForge will remove the old repository entry) 20000326-03:42 EST Paul Tucker * source/rtl/gtwin/gtwin.c * This is an old problem: Because Windows allows you to set the size of the window to something like 100x300 (for example) you then get scroll bars on the window. I've been toying with the various conditions and oddities that might arise from this situation. This includes switching from a window to full screen where the max visible is typically 50x80, yet the system can still give you access to the full 100x300. Writing to the extra screen space is simple enough, but using it becomes annoying, since the system will move the buffer around to keep the cursor in view. Rather than fight it, gt_init, now caps the screen size to 50x80. If you want a bigger size, then it is assumed you know what you are going to do with the extra real eastate, and thus you can call SetMode(100,300). 20000326-08:06 GMT+1 Victor Szakats * include/hbdefs.h * include/clipdefs.h * Now the HARBOUR keyword requires the function name to be in uppercase. The compatibility CLIPPER keyword still allows for mixed case function names on some platforms. The reason is that "pascal" keyword is non-portable, and the above requirement was already there for some platforms, now it's a generic rule. - Removed the __attribute__ ((stdcall)) for the __GNUC__ branch. Setting any specific calling convention is not needed, since we don't need to deal with compatibility with precompiled legacy libs, there's no such thing, CA-Cl*pper never supported GNU C. ; Now the HARBOUR macro is quite simple, it's plain "void". * source/pp/ppcore.c + Added predefined macro __HB_MAIN__. The macro is undefined or holds the value of HARBOUR_START_PROCEDURE depending on the compiler. Use this code to make your Harbour startup procedure platform/compiler independent: #ifndef __HB_MAIN__ #define __HB_MAIN__ AppMain /* Or whatever you wish to call it */ #endif FUNCTION __HB_MAIN__() + contrib/hbclip/hbclip.h + Added header file which can be used to maintain common C source code for CA-Cl*pper and Harbour. The legacy code needs a one-time conversion to make this work. * source/rtl/dir.c ! Fixed #elif guard (BCC31 was not working). (|| -> &&) * source/rtl/gete.c * source/rtl/math.c * source/rtl/abs.c * source/rtl/minmax.c * source/rtl/mod.c * source/rtl/round.c * source/rtl/dir.c * source/rtl/binnum.c * source/rtl/philes.c * source/rtl/empty.c * source/rtl/setpos.c * source/rtl/saverest.c * source/rtl/setcurs.c * source/rtl/gx.c * source/rtl/len.c * source/rtl/valtype.c * source/rtl/msgxxx.c * source/vm/pcount.c * source/vm/proc.c * source/vm/break.c * source/vm/initexit.c + Added copyrights for some files which didn't have any. The source is the Harbour mailing list archive. * source/tools/html.prg -> utils/hbdoc/ * source/tools/ng.prg -> utils/hbdoc/ * source/tools/os2.prg -> utils/hbdoc/ * source/tools/rtf.prg -> utils/hbdoc/ * source/tools/troff.prg -> utils/hbdoc/ * source/tools/fileread.prg -> utils/hbdoc/ (copied) * source/tools/Makefile * utils/hbdoc/Makefile * makefile.vc * makefile.bc * Some HBDOC specific source files moved to their local directory. * One tools file copied to hbdoc for local usage. - Removed tools lib. * samples/guestbk/testcgi.prg * samples/guestbk/Makefile * samples/guestbk/bld_b32.bat ! #include hbclip.ch guarded - Removed tools lib. * samples/misc/Makefile * samples/pe/Makefile - Removed tools lib. * utils/hbtest/hbtest.prg ! Typo (suit -> suite) * source/rtl/gtwin/gtwin.c ! Unused variable warning fixed. * doc/gmake.txt ! make_tpl -> make_gnu 20000326-03:37 GMT+1 Victor Szakats - make_tpl.* - bin/bld_tpl.* + make_gnu.* + bin/bld.* + GNU-make starters renamed to better show their purpose. + GNU-make starters modified to work like bld_gnu.*, so that they don't need to be modified, instead they expect the HB_ envvars to be set. Now they also throw a help screen when something is not set. + BLD.SH bash script added to build Harbour executables. + Other small improvements. * source/rtl/console.c % DISPOUT(), DISPOUTAT(), DEVOUT() optimized % DISPOUTAT() made even more CA-Cl*pper compatible. ! SETPRC() made even more CA-Cl*pper compatible. * Some variables renamed. * source/rtl/box.c % Small optimization. * source/rtl/gtapi.c + s_bInit variable added. * utils/hbdoc/Makefile - runner lib removed (again). 20000325-09:22 EST Paul Tucker * include/hbapigt.h source/rtl/gtcrs/gtcrs.c source/rtl/gtdos/gtdos.c source/rtl/gtos2/gtos2.c source/rtl/gtpca/gtpca.c source/rtl/gtsln/gtsln.c source/rtl/gtstd/gtstd.c source/rtl/gtwin/gtwin.c source/rtl/gt_tpl/gt_tpl.c + hb_gt_DispCount() * source/rtl/gtapi.c * modified DispCount Handling. 20000325-07:50 EST Paul Tucker * source/rtl/gtwin/gtwin.c * correct handling of the screen buffers and fix a gpf when calling SetMode() - only noticed under Win98 * added a todo. (for me) 20000325-04:58 EST Paul Tucker * source/rtl/diskspac.c * un-opted the small opt. (fixed hang) 20000325-05:30 GMT -3 Luiz Rafael Culik Missed from previos session !Changelog Rename to Changelog.006 and started a new one *doc/en/array.txt doc/subcodes.txt doc/en/command.txt doc/en/file.txt doc/en/string.txt doc/en/input.txt doc/en/tclass.txt doc/en/set.txt doc/en/var.txt doc/en/memo.txt doc/en/ht_class.txt doc/en/objfunc.txt doc/en/nation.txt doc/en/misc.txt doc/en/hvm.txt *Small formating +doc/en/math.txt *docs for some math funcs *source/tools/rtf.prg *some Fixes *utils/hbdoc/genrtf.prg source/tools/rtf.prg * some fixes and a small enhacement 20000325-03:38 GMT+1 Victor Szakats * contrib/rdd_ads/ads1.c ! BCC55 warning fixed. * contrib/hbclip/make_clp.bat ! Removed hard coded path for c compiler * utils/hbextern/hbextern.prg * Doesn't use hbclip.ch anymore. * source/vm/pvalue.c doc/subcodes.txt - HB_PVALUE() removed the runtime error. From now on NIL will be returned if the requested parameter doesn't exist. This better fits in the average pattern of usage, and if needed the error case can checked by the caller. * config/w32/global.cf * config/dos/global.cf * Slang and ncurses commented out for w32, added for dos but commented out, too. * bin/bld_tpl.* ! GCC bug fixed (hard-coded .lib extension for the GT lib). * source/rtl/diskspac.c * Small opt. * include/hbdefs.h ! Minor fix. 2000-03-23 20:45 GMT-5 David G. Holm * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/rddads.h % Made changes for MingW32 * contrib/rdd_ads/Makefile + Added a Makefile for the GNU Make System 20000322-17:35 EST Paul Tucker * source/rtl/diskspac.c * min() -> HB_MIN 20000323-09:10 GMT+3 Alexander Kresin * contrib/rdd_ads/adsfunc.c * Fixed bug in ADSSETDELETED(), as proposed by Sid Sailors 20000322-21:55 EST Paul Tucker * source/rtl/diskspac.c * accounted for possibility of retrying the operation * (though I didn't activate it - see notes) * optimized some assigns. 20000322-21:10 GMT-3 Luiz Rafael Culik Missed from previos session *doc/en/array.txt doc/en/binnum.txt doc/en/browse.txt doc/en/command.txt doc/en/dir.txt *Small formating *source/rtl/dir.c *added test to determine the borland compiler version so the _chmod obsolete warning wont appear *source/tools/rtf.prg source/tools/os2.prg source/tools/ng.prg *some enhacement *utils/hbdoc/genng.prg utils/hbdoc/genrtf.prg utils/hbdoc/genos2.prg +code to generate tables +code to support new subtags. *some enhacements 20000322-22:30 GMT-3 Luiz Rafael Culik *doc/compiler.txt doc/gnulice.txt doc/harbext.txt *Small Changes *doc/en/binnum.txt doc/en/command.txt doc/en/dir.txt doc/en/diskspac.txt doc/en/dir.txt doc/en/terminal.txt doc/en/treport.txt doc/en/tlable.txt doc/en/readme.txt doc/en/license.txt doc/en/tgetlist.txt doc/en/error.txt *Small changes *utils/hbdoc/genng.prg utils/hbdoc/genos2.prg utils/hbdoc/genrtf.prg !fix code when a Return or Argument is only one line , to add the propery tags to enhace the first word 20000322-19:35 EST Paul Tucker * include/fileio.ch * source/rtl/diskspac.c * Changed and reordered HB_DISK_ defines to be in the range 0-3 * source/rtl/dskspac.c * cap uiType to HB_DISK_TOTAL for out of range types. * doc/en/diskspac.txt * updated 2000-03-22 17:25 GMT-5 David G. Holm + source/rtl/gtpca/kbdos2.gcc + Added hb_gt_ReadKey() support for os2/gcc platform (I forgot to run CVS ADD on this module earlier) 20000322-22:46 GMT+1 Victor Szakats * include/hbdefs.h - Removed EXTERNAL_LINKAGE macro, it was not used anymore. + contrib/hbclip/hbstodx.c * contrib/hbclip/make_clp.bat + HB_STOD() function added. * utils/hbtest/make_c5x.bat utils/hbtest/hbtest.prg + If the HBCLIP.LIB is built, the regression test will automatically use it, so the STOD() tests will pass in HBTEXT5X.EXE. * utils/hbrun/exttools.prg - Removed IO.C functions. * source/rtl/diskspac.c source/rtl/dirdrive.c * Doc/comment/formatting changes. 20000322-16:40 EST Paul Tucker * source/rtl/diskspac.c * no windows dialogs if disk not in drive. * Compatible error box instead. 2000-03-22 16:35 GMT-5 David G. Holm * config/os2/gcc.cf + Added HB_GT_LIB support * source/doc/gmake.txt % Updated to reflect the recent changes to the GT libraries * source/rtl/fssize.c + Added #include , which is required for sys/stat.h * source/rtl/gtpca/gtpca.c * source/rtl/gtpca/kbdos2.gcc + Added hb_gt_ReadKey() support for os2/gcc platform 20000322-14:05 EST Paul Tucker * source/rtl/diskspac.c * made the msc and __gnuc__ branch the same. * the diff is now for borland. * add a note. 20000322-16:33 GMT+1 Victor Szakats - include/hbclip.ch + contrib/hbclip/hbclip.ch + contrib/hbclip/hbclip.prg + contrib/hbclip/hbcolind.c + contrib/hbclip/hbkeyput.prg + contrib/hbclip/hbshadow.prg + contrib/hbclip/hbstod.c + contrib/hbclip/hbvaltoc.prg + contrib/hbclip/make_clp.bat + contrib/hbclip/readme.txt + Harbour Compatibility Library for CA-Clipper 5.x/'87 contribution started. + STOD(), HB_VALTOSTR(), HB_KEYPUT(), HB_COLORINDEX() functions added. + Some functions from hbclip.ch also added to the library so that the the library (HBCLIP.LIB) can be used with Clipper Summer '87. + Header file from Harbour include dir moved here. * makefile.bc makefile.vc + Some user notes added about configuration. - source/tools/io.c * include/hbapifs.h source/rtl/diskspac.c source/tools/Makefile tests/tstdspac.prg makefile.bc makefile.vc - Removed the internal function hb_fsDiskSpace() (the reason is that this internal function may actually throw a Harbour runtime error.) - Removed CD(), MD(), RD(), DISK*() from TOOLS. You can use these macros to access the removed functions: (This will require HB_COMPAT_C53 and #include "fileio.ch") #define CD( d ) DIRCHANGE( d ) #define MD( d ) MAKEDIR( d ) #define RD( d ) DIRREMOVE( d ) #define DISKUSED( d ) DISKSPACE( d, HB_DISK_USED ) #define DISKFREE( d ) DISKSPACE( d, HB_DISK_FREE ) #define DISKFULL( d ) DISKSPACE( d, HB_DISK_TOTAL ) * source/rtl/dir.c * Some minor cleanup (CVSd in the previous session) 20000322-13:30 GMT+1 Victor Szakats * source/rtl/diskspac.c ! Workaround for GCC/Win32 (Cygwin and Mingw32). * include/*.h + extern "C" added for C++ builds, to better interface with plain C. ; Note that the support is not yet complete, because the Harbour level functions are not yet marked as extern "C". * makefile.vc ! Fix for exttools.prg * tests/Makefile samples/guestbk/makefile samples/hscript/makefile samples/misc/makefile samples/pe/makefile utils/hbdoc/makefile utils/hbextern/makefile utils/hbrun/makefile utils/hbtest/makefile ! runner lib removed from the GNU-make system * include/hbmacro.h + extern added where missing. + extern declarations added for all functions in macro.c * include/hbcomp.h + extern added where missing. * source/rtl/msgxxx.c + Missing #include "hbdate.h" added. * source/rtl/gtwin/gtwin.c ! hb_gt_DebugScreen() made static and commented out to avoid warning. * source/rtl/gtwin/* ! Added "C" for externs. (later removed. Just for the record) * source/vm/fm.c - Commented out externs removed. * source/compiler/harbour.y include/hbcomp.h include/hberrors.h % Multiple declarations removed * One declaration moved to hbcomp.h from harbour.y + Some YY related functions marked as extern * source/compiler/harbour.c include/hbcomp.h * Some declaration moved to hbcomp.h * source/macro/* + All files include hbmacro.h * source/rtl/setpos.c * Some changes in the comments - include/hbdocdef.ch + utils/hbdoc/hbdoc.ch * utils/hbdoc/* * Moved the private header to its private directory. 20000322-00:05 EST Paul Tucker + doc/en/diskspac.txt * doc for DiskSpace(), DiskFree(), DiskUsed() and DiskFull() * doc/harbext.txt + added DiskSpace() to show Harbour extension (second param) 20000321-06:57 GMT-8 Brian Hays * doc/harbext.txt + added SToD() 20000322-02:25 GMT+1 Victor Szakats * include/fileio.ch include/hbapi.h include/hbapifs.h source/rtl/diskspac.c source/tools/io.c * hb_DiskSpace() renamed to hb_fsDiskSpace() and moved the FS API header. * HB_DISK_* constants moved to fileio.ch + Added a new parameter to the Harbour level DISKSPACE() function to enable access to the new features. This is a Harbour extenstion. ! DISKSPACE() (and the IO.C versions) use hb_retnlen() instead of hb_retnd(). ! CD(), RD(), MD() are now using the FS API, so they are now working on more platforms. 20000321-19:58 EST Paul Tucker * source/rtl/diskspac.c * Borland does not see the unnamed struct that is part of ULARGE_INT. * fix is to used the named version which MS conveniently supplied. 20000321-18:55 EST Paul Tucker * source/rtl/diskspac.c * add missing { 20000321-18:20 EST Paul Tucker * source/rtl/diskspac.c * Fix for borland's def of ULARGE_INTEGER 20000321-17:05 EST Paul Tucker * tests/Makefile + tests/tstdspac.prg 20000321-16:45 EST Paul Tucker * source/rtl/diskspac.c * Modified code since math wasn't working in '32 bit' mode * reworked to be consistant amongst platforms. + hb_DiskSpace() does the grunt work for all supported platforms * DiskSpace() calls hb_diskSpace() * source/tools/io.c * DiskFree(), DiskUsed, DiskFull() now call hb_DiskSpace() * include/hbapi.h + #define HB_DISK_.... + declaration for hb_DiskSpace() ! Disk...() functions return a double. + tests/tstdspac.prg * tests for diskspace related functions 20000321-15:08 GMT+1 Victor Szakats * source/rtl/diskspac.c + Supports larger disks than 2GB by design. + Support added for Win95B, Win98, WinNT, Win2K to return the correct free space for >2GB disks. (Wewwh, Win32 API *is* a strange beast ;) * source/rtl/seconds.c include/hbdate.h * hb_secondsToday() -> hb_seconds() Hack to avoid name collision removed. * include/hbdefs.h pp/pplib.c rtl/gtdos/gtdos.c rtl/gtos2/gtos2.c rtl/gtwin/gtwin.c rtl/ampm.c rtl/gtapi.c rtl/memoline.c rtl/round.c vm/arrayshb.c vm/fm.c * HB_MIN_() -> HB_MIN() HB_MAX_() -> HB_MAX() 20000321-12:32 GMT+1 Victor Szakats * include/hbdefs.h + HB_FUNCNAME() macro added for Harbour name mangling: HB_FUNCNAME( DTOC ) -> HB_DTOC * Changed the prefix for Harbour callable functions from "HB_" to "HB_FUN_" this way any possible collisions with internal symbols is avoided. Previously a Harbour function with the name DYNS() would fail to compile, using the the C generation feature of the compiler. * source/vm/*.c source/rdd/* source/pp/pplib.c source/tools/*.c source/rtl/*.c source/compiler/genc.c contrib/rdd_ads/*.c * Uses HB_FUNC*() macros. * Code generation modified to use HB_FUNC*() macros. * utils/hbextern/hbextern.prg * Updated to scan for "HB_FUNC(" instead of "HARBOUR" * source/vm/runner.c - One TODO removed + One TOFIX added * source/rtl/mouseapi.c + source/rtl/mousex.c source/rtl/Makefile makefile.bc makefile.vc + XBase++ functions separated. * include/hbextern.ch + utils/hbrun/exttools.prg utils/hbrun/Makefile makefile.bc makefile.vc * EXTERN belonging to tools moved from the central HBEXTERN.CH file to local list in HBRUN. % Minor optimization in makefiles. ! HBEXTERN.CH TOFIX fixed. * include/hbvmpub.h compiler/genc.c compiler/genhrb.c compiler/genjava.c compiler/genobj32.c compiler/harbour.c compiler/harbour.y rdd/dbfcdx/dbfcdx1.c rdd/dbfntx/dbfntx1.c rdd/dbf1.c rdd/delim1.c rdd/sdf1.c vm/dynsym.c vm/hvm.c vm/runner.c contrib/rdd_ads/ads1.c * _HB_FS_* macros changed to HB_FS_*, since the reason for the prefix will be nilled soon. 20000321-07:46 GMT+1 Victor Szakats * include/hbdefs.h + HB_FUNC() macro added. This method has the advantage over the old HARBOUR ??( void ) method, that it can be easily extended, the prefix can be changed globally (we'll need this), and the parameter list can be extended (later for multithreading for example). Please use this from now on instead of the old method: HB_FUNC( DTOC ) { /* ... */ } * source/rtl/diskspac.c + Uses HB_FUNC() * compiler/harbour.c rtl/gtdos/gtdos.c rtl/filesys.c rtl/inkey.c tools/io.c include/hbsetup.h + Old DOS and OS2 macros changed to HB_OS_* macros in the source. - Old DOS and OS2 macros removed from the header. 2000-03-20 21:55 GMT-5 David G. Holm * config/os2/icc.cf * config/w32/bcc32.cf + Added HB_GT_LIB support * source/rtl/gtdos/gtdos.c * source/rtl/gtos2/gtos2.c * source/rtl/gtwin/gtwin.c + Added Copyright notice for hb_gt_ReadKey() + Added missing conditionals and includes to gtos2.c for ICC + Added hb_gt_Version() to gtos2.c - Removed GCC conditionals and includes from gtos2.c, because gtos2.c doesn't support GCC for screen output, so there is little point in including keyboard input or sound suport. 20000321-02:00 GMT+1 Victor Szakats + source/vm/runner.c - source/runner/runlib.c - source/runner/Makefile - source/runner/stdalone/Makefile - source/runner/stdalone/hbrun.prg + utils/hbrun/Makefile + utils/hbrun/hbrun.prg * source/Makefile source/vm/Makefile utils/Makefile makefile.bc makefile.vc * Runner library code moved to SOURCE/VM * Runner standalone utility moved to UTILS/HBRUN * source/rtl/filesys.c + source/rtl/philes.c - source/rtl/getenv.c + source/rtl/gete.c - source/rtl/stris.c + source/rtl/is.c source/rtl/Makefile makefile.bc makefile.vc + Harbour callable low-level file handling routines moved to a separate source file. * Two files renamed to match Clipper. 20000321-01:10 GMT+1 Victor Szakats * source/rtl/gtapi.c ! hb_gtBox() bottom/left corner draw bug fixed. Introduced around today. * source/rtl/diskspac.c ! Fixed the default case for Win32. ! Fixed to accept a numeric parameter instead of a string. * source/rtl/getenv.c ! Fixed to not modify the item buffer directly. ! Fixed to convert the envvar name to uppercase on DOS and OS/2 platforms. ! Consistent handling of \0 char in the envvar name. ! Fixed stripping of the '=' character. * source/rtl/strings.c source/rtl/stuff.c source/rtl/word.c - Superfluous #includes removed. 20000320-23:00 GMT-3 Luiz Rafael Culik samples/cccppc/*.* ! Removed contents from the CCCPPC dir 20000320-22:30 GMT+1 Victor Szakats * samples/guestbk/bld_b32.bat ! Fixed. 20000320-17:00 GMT+1 Victor Szakats * source/vm/cmdarg.c - Removed the GTAPI info from //BUILD info. * include/hbsetup.h - Removed the HARBOUR_USE_* macros. - Removed the HB_GT_* macros. ! Fixed #ifdef (__EMX__) * source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/* include/hbapigt.h + Added new GT API call: hb_gtVersion() + The GT type is now displayed when //INFO is specified. % Some static variable initialization moved to the init routine. ! Setting the default cursor is done in hb_gtInit() instead of consoleInitialize() * config/*/global.cf config/*/.cf + Added the list of possible GT drivers and the default for the actual architecture. The default GT driver can be selected by setting the HB_GT_LIB envvar to the proper value. + Added logic to add the selected GT driver to libs. This is not complete, and could be refined for some platform, for example to automatically link in the related slang.lib or curses.lib. ! WARNING ! Check it with your platform. (BCC16, WATCOM, ICC not added) - source/rtl/gtxxx.c - source/rtl/mousexxx.c - source/rtl/gt/* - source/rtl/mouse/* + source/rtl/gtdos/* + source/rtl/gtwin/* + source/rtl/gtos2/* + source/rtl/gtpca/* + source/rtl/gtstd/* + source/rtl/gtcrs/* + source/rtl/gtsln/* + source/rtl/gt_tpl/* + source/rtl/box.c + source/rtl/gt.c * source/rtl/console.c source/rtl/Makefile bin/bld*.bat makefile.bc makefile.vc * Some new file separated from console.c - Old compile time GT driver selector files removed. + Makefile modified to make all the drivers suitable for the platform. The GT driver may be selected by the HB_GT_LIB envvar, but there's a default for all platforms. This also goes for the non-GNU makefiles. + Build batch files modified to include a default GT driver lib. The default can be overriden with the BLD_TPL batch files by setting the HB_GT_LIB envvar, see the help for more. + GT + MOUSE driver code unified and moved to new self-containing directories. Makefiles added. % Some static variable initialization moved to the init routine. (GTDOS, GTWIN) ! Fixed some unused variables (GTDOS) + source/rtl/binnumx.c + source/rtl/dirdrive.c + source/rtl/datesx.c + source/rtl/philes53.c + source/rtl/philesx.c + source/rtl/browdbx.prg * source/rtl/binnum.c source/rtl/filesys.c source/rtl/dateshb.c source/rtl/browdb.prg source/rtl/Makefile makefile.bc makefile.vc + Separated functions for XBase++ and CA-Cl*pper 5.3 - source/tools/datesx.c * source/tools/dates2.c source/tools/Makefile makefile.bc makefile.vc * datesx.c merged into dates2.c to avoid conflict with the new file in RTL with the same name. 20000320-13:45 GMT+1 Ryszard Glab *source/macro/macro.y *added declaration of yyparse() function 20000320-13:10 GMT+1 Ryszard Glab *source/compiler/harbour.y * fixed compilation of empty files *include/hbexpra.c *include/hbexprb.c *source/macro/macro.c *fixed passing of the second parameter in hb_compGenPushSymbol *source/rtl/gt/gtstd.c *fixed to get a clean compile on Linux *source/rtl/gt/gtcrs.c *matching #endif added *inkey.ch added again - we need these definitions to define the keys translation table - TOFIX 20000319-01:35 EST Paul Tucker * source/pp/ppcore.c from 20000319-01:30 that didn't get posted. 20000319-19:11 GMT+1 Victor Szakats * include/hbapigt.h source/rtl/gtapi.c source/rtl/inkey.c source/rtl/gt/*.c + The multiplatform inkeypoll code has been moved to the proper GT drivers. Now the GT driver is completely self containing. !! WARNING !! Please test this on your system with your compiler. Tested with: W32/BCC55, DOS/BCC31 * source/rtl/filesys.c % Double #include removed. * source/rtl/diskspac.c ! Fix for DOS. 20000319-17:47 GMT+1 Victor Szakats * include/hbsetup.h ! __WINDOWS__ -> _WINDOWS_ * include/hbdefs.h * The #ifdef structure cleaned up. * source/rtl/gt/gtwin.c % hb_gt_Tone() simplified. * source/pp/ppcore.c ! __HARBOUR__ is now zero padded, because it's better to avoid spaces in a macro value. * source/rtl/console.c source/rtl/gt/gtstd.c source/rtl/gtapi.c include/hbsetup.h - Removed the non-GTAPI branch. Last one. Now the box drawing in GTSTD is probably flawed. The non-GT code snipped from console.c has moved to gtstd.c + hb_gtBox() modified to draw the box from top to bottom and left to right to better support GTSTD. Tested all weirt combination to be CA-Cl*pper compatible. * source/rtl/fstemp.c ! Type fixed. * source/vm/fm.c source/rtl/net.c source/rtl/oemansi.c source/rtl/dateshb.c % Using HB_OS_WIN_32 + source/rtl/diskspac.c + source/rtl/scroll.c + source/rtl/rat.c source/rtl/filesys.c source/rtl/console.c source/rtl/at.c source/rtl/Makefile makefile.bc makefile.vc * DISKSPACE() function moved into separate file. * DISKSPACE() using HB_OS_WIN_32 * SCROLL() function moved into separate file. % SCROLL() function variable usage optimized (got rid of six variables). * RAT() function moved into separate file. * source/rtl/saverest.c % SAVESCREEN() optimized. * source/rtl/str.c source/rtl/val.c * hb_strVal() moved to val.c, where it belongs. * source/compiler/harbour.c include/hbcomp.h ! extern moved to the header file. * source/rtl/console.c source/rtl/filesys.c source/rtl/gtapi.c source/rtl/gt/gtpca.c source/rtl/dir.c ! Fixed the file issue for Linux. * source/rtl/do.c source/rtl/eval.c % Minor optimization. * make_vc.bat include/hbinit.h include/hbapigt.h source/rtl/datec.c * Minor change. * makefile.bc ! Fixed for the latest compiler/macro file splits. 20000319-01:35 EST Paul Tucker * makefile.vc * enable 'batch' mode for rdd.lib * removed extra \ + delete items from bin\vc\exe on /A 20000319-01:30 EST Paul Tucker * source/pp/ppcore.c * Assign NULL to stdef->pars and value when item undef'ed * Question: Why isn't this stuct removed from the list as well? * source/compiler/harbour.y * make hb_comp_szAnnounce non static * source/compiler/harbour.c * assign NULL to hb_comp_szAnnounce in hb_compInitVars() 20000319-01:10 EST Paul Tucker * contrib/rdd_ads/ads1.c * added cast in strlen() (forgot to post previously) 20000318-21:30 GMT+1 Ryszard Glab *include/hbexpr.c -removed *include/hbexpra.c *include/hbexprb.c *include/hbexprc.c +new files with expression optimizer shared by the standalone and the macro compilers - these files produces different code for the compilers *source/compiler/expropt.c -removed *source/compiler/expropta.c *source/compiler/exproptb.c *source/compiler/exproptc.c +new files with expression optimizer used by the standalone compiler *source/macro/macroa.c *source/macro/macrob.c *source/macro/macroc.c +new files with expression optimizer shared by the macro compiler *source/common/expropt1.c *source/common/expropt2.c +new files with expression optimizer shared by the standalone and the macro compilers - the common part of expression optimizer *source/macro/macro.l +added HB_MACRO_SUPPORT definition *source/macro/macro.c *removed including of hbexprop.h *include/hbexprop.h *include/hbcomp.h *corrected to support new design of expression optimizer *source/common/Makefile *source/compiler/Makefile *source/macro/Makefile *makefile.bc *makefile.vc +added the depenencies for the new files (BC & VC not tested !) *source/rtl/console.c *source/rtl/filesys.c *source/rtl/fssize.c *source/rtl/gtapi.c *"io.h" is not included if OS_UNIX_COMPATIBLE is defined (in some places #include hbsetup.h" was added to get a chance to define OS_xxx_COMPATIBLE before it is checked) *source/rtl/gt/gtcrs.c *a very basic support for colors was added *a very basic support for inkey was added (these two changes are for testing and checking rather than a real solution) 20000318-12:45 EST Paul Tucker * contrib/rdd_ads/ads1.c * added cast in strlen() * make_vc.bat * account for .dll's in copy/delete 20000318-19:38 GMT+3 Alexander Kresin * include/hbapirdd.h * contrib/rdd_ads/ads.ch * contrib/rdd_ads/ads1.c * Internal scope functions adsScopeInfo() and adsSetScope() added * source/rdd/dbcmd.c * OrdScope() function implemented * source/rtl/dummy.prg - Ordscope() removed 20000318-17:17 GMT+1 Victor Szakats * source/rtl/seconds.c % #include removed. * include/hbsetup.h include/hbdefs.h source/rtl/dateshb.c source/rtl/environ.c source/rtl/filesys.c source/rtl/oemansi.c source/rtl/net.c source/rtl/tone.c source/rtl/isprint.c source/rtl/inkey.c source/rtl/dir.c source/vm/fm.c - EMX macro removed (it was not used). * __NT__ checks added where WINNT is checked. ; Cleanup before adding better platform detection code. + Somewhat more complete platform detection added. * Some W32 related cleanup in the #ifdef mess in environ.c/version(). * source/rtl/inkey.c ! __WINDOWS__386__ -> __WINDOWS_386__ - Removed non-GTAPI branch (which was commented out anyway). * source/vm/mainstd.c source/rtl/gtapi.c * #ifdef -> #if defined() * source/rtl/fssize.c source/rtl/fstemp.c + Added #include ! Fixed some unused variable warnings. * include/hbapigt.h include/hbapi.h source/rtl/tone.c source/rtl/gtapi.c source/rtl/gt/*.c % The hb_tone() multiplatform spagetti code separated into OS2/W32/DOS platforms, cleanup up the branches for MINGW32 and CYGWIN, renamed hb_tone() to hb_gtTone()+hb_gt_Tone(), and moved the platform specific codes to the proper GT drivers. Please test them on your platform, especially with WATCOM and DOS in general. * source/rtl/console.c source/rtl/dir.c source/rtl/filesys.c source/rtl/gtapi.c source/rtl/gt/gtpca.c % Removed some unused #includes for __CYGWIN__ % Removed some (__DJGPP__ || __CYGWIN__ || HARBOUR_GCC_OS2) constructs already guarded with (__GNUC__ && !__MINGW32__). Is there any other special GNUC variant we should be aware of when #including ? % Removed __CYGWIN__ branch for isatty() in GTAPI.C. I couldn't find a reason why it was there since isatty() is defined and works OK (returns TRUE for 1 and 2) in Cygwin. ; Now there's only four __CYGWIN__ checks in Harbour. * source/rtl/gt/gtdos.c ! Unused variable warnings fixed. * makefile.vc makefile.bc + Honors the default CFLAGS, CLIBFLAGS and HARBOURFLAGS envvar. - Some superluous flex/bison options removed from MSVC make file. * make_vc.bat + CLEAN now removes .ILK and .PDB files. * contrib/rdd_ads/*.bat + Handles CLEAN param silently. * source/common/hbtrace.c - Removed my Copyright. * include/hbpp.h include/hbvmpub.h include/hbsetup.h * Minor changes. * utils/tests/hbtest.prg utils/tests/make_c5x.bat * Minor changes. 20000318-14:36 GMT+3 Alexander Kresin * tests/db_brows.prg * Cleaned, warnings fixed 20000318-02:37 GMT+1 Victor Szakats * source/vm/memvars.c % One variable scope adjusted. * make_b32.bat make_vc.bat + They now cleans the .MAP files, too. * source/pp/ppcore.c ! Fixed GPF on reinitialization of #undefd macro in hb_pp_Init(). * source/vm/main.c source/vm/mainstd.c * Anti-cmdline wildcard expansion stuff moved to the native main function from the container. * source/rtl/gtxxx.c source/rtl/mousexxx.c source/rtl/msgxxx.c source/vm/main.c + NOTE added. * source/rtl/getenv.c % GETENV() slightly optimized. + source/rtl/fssize.c + source/rtl/fstemp.c * include/hbapifs.h include/hbextern.ch source/rtl/Makefile makefile.bc makefile.vc + Added these new FS API calls: - hb_fsSize() to get the size of a file either by reading the directory record, or the real size with seek. - hb_fsTempName() to get a temporary filename. - hb_fsCreateTemp() to create a temporary file. + Added these Harbour functions: HB_FSIZE() HB_FTEMPNAME() HB_FTEMPCREATE() + Added hb_fsFLock() and hb_fsFUnLock() macros. Thanks to Jose Lalin 2000-03-17 19:10 GMT-5 David G. Holm * doc/gmake.txt + Documented the need to have "CYGWIN" set to "noglob" to avoid having Harbour and Harbour created programs expand wildcard command line arguments (it's a run-time check). * source/vm/main.c + Added code to disable command line wildcard expansion by DJGPP and MINGW32. 20000317-18:00 GMT+1 Victor Szakats * source/vm/maindll.c ! __BORLAND__ -> __BORLANDC__ * source/rtl/environ.c ! GETENV() - Fixed handling of the second parameter. * include/hbapi.h source/rtl/strings.c * HB_ISSPACE() macro moved to the central header. * utils/hbtest/hbtest.prg * DTOS() -> DTOC() in header. + source/vm/arrayshb.c source/vm/arrays.c source/vm/Makefile makefile.bc makefile.vc + Separated the Harbour and C array API level. + source/rtl/abs.c + source/rtl/accept.c + source/rtl/ampm.c + source/rtl/at.c + source/rtl/chrasc.c + source/rtl/colorind.c + source/rtl/datec.c + source/rtl/dateshb.c + source/rtl/defpath.c + source/rtl/eval.c + source/rtl/fkmax.c + source/rtl/fnsplit.c + source/rtl/getenv.c + source/rtl/gx.c + source/rtl/left.c + source/rtl/lennum.c + source/rtl/maxrow.c + source/rtl/minmax.c + source/rtl/mod.c + source/rtl/pad.c + source/rtl/replic.c + source/rtl/right.c + source/rtl/round.c + source/rtl/run.c + source/rtl/saverest.c + source/rtl/seconds.c + source/rtl/setcurs.c + source/rtl/setpos.c + source/rtl/shadow.c + source/rtl/space.c + source/rtl/str.c + source/rtl/strcase.c + source/rtl/stris.c + source/rtl/strmatch.c + source/rtl/strtran.c + source/rtl/strzero.c + source/rtl/stuff.c + source/rtl/substr.c + source/rtl/trim.c + source/rtl/val.c + source/rtl/valtostr.c source/rtl/strings.c source/rtl/console.c source/rtl/dates.c source/rtl/math.c source/rtl/inkey.c source/rtl/samples.c source/rtl/do.c source/rtl/environ.c source/rtl/set.c source/rtl/setcolor.c source/rtl/filesys.c source/rtl/Makefile makefile.bc makefile.vc + Separated almost all RTL source files into smaller pieces. There are 41 new files now. The original CA-Cl*pper source filenames were used where possible. 20000317-10:53 GMT+1 Victor Szakats * include/hbclass.ch ! To avoid warning _CLASS_NAME_ is #undef-ed before #define-ed. * include/hbpp.h source/compiler/hbgenerr.c source/pp/* ! nEmptyString global variable prefixed with "hb_" ! nEmptyString declaration moved to the header file. * utils/hbdoc/genhpc.prg ! Fixed redefinition of #define. 20000317-09:56 GMT+3 Alexander Kresin * source/pp/stdalone/hbpp.c * source/pp/ppcomp.c * source/pp/ppcore.c * source/pp/pplib.c * source/compiler/hbgenerr.c * fixed line number output for errors and warnings * hb_pp_init() changed for supporting multiply files compiling * warning in addDefine about duplicate define uncommented * contrib/rdd_ads/adsfunc.c * typo fixed ( HB_ADCUSTOMIZEAOF -> HB_ADSCUSTOMIZEAOF ) 20000317-01:09 GMT+1 Victor Szakats * source/rtl/console.c - Removed the non-GT branch from __ACCEPT(). * source/vm/cmdarg.c + PC ANSI added. - non-GT mode removed. * source/rtl/gt/gt*.c ! Fixed some trace calls. ! One declaration made static. ! One function call fixed in GTCRS.C. 20000317-00:13 GMT+1 Victor Szakats * source/rtl/gt/gtpca.c + Some internal functions made static * makefile.bc ! It's not relying on the default CC and AS macros, to make it work on BCC45 without any cludges. BCC45 MAKE.EXE is defaulting to bcc or bcc32 depending on the WIN32 macro. * source/rtl/maindll.c ! Fixed to compile with BCC45 * source/rtl/console.c ! Some fixes later fixed again (see next session). 20000316-04:10 EST Paul Tucker * source/rtl/gt/gtpca.c * added casts 20000316-02:50 EST Paul Tucker * source/rtl/gtapi.c * removed extraneous ';' 2000-03-16 02:30 GMT-5 David G. Holm * include/hbapigt.h * include/hbsetup.h * source/rtl/console.c * source/rtl/gtapi.c * source/rtl/gtxxx.c * source/rtl/gt/gt_tpl.c * source/rtl/gt/gtcrs.c * source/rtl/gt/gtdos.c * source/rtl/gt/gtos2.c * source/rtl/gt/gtsln.c * source/rtl/gt/gtstd.c * source/rtl/gt/gtwin.c - Removed all occurrences of HARBOUR_USE_GTAPI from console.c. + Added hb_gtAdjustPos() to console.c, gtapi.c and hbapigt.h. + Added hb_gt_AdjustPos() to all gt/ sources and hbapigt.h. + Added rudimentary PC ANSI.SYS low-level driver (gtpca.c, which is missing stuff such as scrolling screen regions). + Added HB_GT_PCA to hbsetup.h and gtxxx.c (in fact, I replaced HB_GT_STD with HB_GT_PCA in gtxxx.c, because the default case is to use HB_GT_STD). 20000316-02:04 GMT+1 Victor Szakats * source/pp/ppcore.c ! C++ comment changed to ANSI C * source/runner/runlib.c ! Fixed MSVC /W3 warnings. ! Fixed one BCC55 -w warning (the only -w warning which really made sense.) * include/hbclass.ch include/assert.ch * Some // comments changed to /**/. Cosmetics only. * contrib/rdd_ads/makefile.vc contrib/rdd_ads/ads1.c contrib/rdd_ads/adsfunc.c + MSVC warning level raised to /W3 ! MSVC /W3 warnings fixed. * include/hbver.h * Date updated. 20000315-18:00 EST Paul Tucker * source/tools/hb_f.c * source/rtl/gt/gtwin.c * source/rtl/gtapi.c * added explicit casts to remove warnings. 2000-03-15 19:00 GMT-5 David G. Holm * source/rtl/tone.c ! Rearranged include file #elif list to test for __CYGWIN__ before testing for the various Windows manifest constants and added a couple of explicit tests for __CYGWIN__ instead of relying on the WINNT manifest constant. 20000315-16:23 GMT+1 Victor Szakats * include/hberrors.h source/pp/ppcore.c source/pp/pplib.c source/compiler/hbgenerr.c + Added warning when a macro is doubly defined. !! IMPORTANT TOFIX !!: The filename and line number will not be shown in every cases, and even if shown it will wrong. ! The PP related static variables are now initialized in hb_pp_Init(); !! IMPORTANT TOFIX !!: The tables in PPTABLE.C should also be reinitialized on hb_pp_Init() to make multiple file compiling work. ; Until these are not fixed the warning is commented out. * include/hbver.h + HB_VER_MINOR changed to 32 (Harbour is now version 0.32) * HB_VER_REVISION bumped to "a" * source/compiler/hbusage.c source/compiler/genc.c source/compiler/genjava.c source/pp/stdalone/hbpp.c source/rtl/environ.c + Also shows the MAJOR/MINOR Harbour version. * The revision letter is now shown after the version number, not the build. 20000315-14:28 GMT+1 Victor Szakats * include/hbvmpub.h include/hbcomp.h include/hbmacro.h source/compiler/genc.c % From now on hbpcode.h is not included in every file, to save compile time. !! WARNING !! All .PRGs must be rebuilt. * source/* % Removed some superfluous #include "" directives, to save compile time. The whole inclusion system checked. * tests/test.frm ! Re-uploaded in binary mode. * makefile.bc * Minor change. 20000315-08:08 GMT+1 Victor Szakats * source/rtl/filesys.c source/rtl/console.c source/rtl/binnum.c source/rtl/errorapi.c source/rtl/samples.c source/rtl/tone.c source/rtl/inkey.c source/vm/memvars.c source/vm/classes.c source/vm/hvm.c include/hbexpr.c source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c ! Fixed MSVC /W3 warnings % In HVM.C hb_vmPopNumber() and hb_vmPopDouble() synchronized. % In HVM.C several hb_vmPopDouble() calls changed to hb_vmPopNumber() which is faster. % hb_vmNegate() optimized. * hb_vmPlus() and hb_vmMinus() synchronized. * hb_vmAnd() and hb_vmOr() synchronized. ! Two static variables prefixed with "s_". * makefile.vc + /W1 changed to /W3 to raise the code quality. * source/pp/pptable.c - removed declaration of __HARBOUR__ % changed chain of static DEFINES accordingly (Provided by Jose Lalin) * source/pp/ppinit.c + added declaration of __HARBOUR__ ! Now __HARBOUR__ gets the value from HB_VER_MAJOR/MINOR like others compilers. If HB_VER_MAJOR/MINOR is equal to zero (as they are now) then __HARBOUR__ is equal to 1 by default. (Provided by Jose Lalin) * source/rtl/environ.c * long -> ULONG (in GETENV()) * source/rtl/inkey.c * long -> ULONG (in __KEYBOARD()) * include/hbvm.h source/vm/hvm.c * hb_vmPushDate( LONG ) -> hb_vmPushDate( long ) * LONG -> long for hb_vmPopDate() * source/vm/dynsym.c source/vm/arrays.c source/rtl/binnum.c source/rtl/strings.c source/rtl/filesys.c ! LONG -> long All this to be consistent with the current API. The next step will be to clear up the long vs. LONG question in the ITEM related things. * makefile.bc - Removed explicit BCC32/BCC, TASM/TASM32 selection, the MAKE.EXE is used from now on (from BUILTINS.MAK) * make_vc.bat + Deletes the .PCH file in the OBJ dir. 20000314-13:35 EST Paul Tucker * makefile.vc * added a few additional comments on recurrsion. * ... and thanks to Victor Szakats for the fine fine-tuning. 20000314-18:56 GMT+1 Victor Szakats * include/hbdefs.h source/rtl/dates.c source/rtl/filesys.c source/rtl/net.c source/rtl/oemansi.c source/rtl/tone.c source/vm/maindll.c source/vm/mainwin.c source/vm/fm.c ! MSVC will compile out of the box, and doesn't require the _Windows macro to be #defined. * makefile.vc contrib/rdd_ads/makefile.vc % Made it much smaller (again) using recursion. HARBOUR.EXE is called with multiple source files at a time, so it's faster now. The new files have to be added only in one place to the makefile. Thanks to Paul Tucker. % -D_Windows hack removed. * Minor enhacements. 20000314-07:56 GMT+1 Victor Szakats * source/compiler/harbour.c ! A few more global variables are reinitialized between files, when multiple files are passed at the command line. Note the ANNOUNCE-d symbols and possibly other things are not yet cleared. 20000314-07:11 GMT+1 Victor Szakats * makefile.vc makefile.bc make_*.bat * Other parts synchronized between the two make systems. + makefile.vc will also compile mainwin.c, maindll.c and mainstd.c instead of main.c. ! MSVC makefile fixed to create objects for .EXE in the obj dir. This way the exact same files are generated in the obj dir in Borland and MSVC. - Removed the generation of bison .output file. * source/macro/macro.l ! Fixed two warnings introduced yesterday. * source/vm/maindll.c ! _export changed to __declspec(dllexport) to avoid a warning in MSVC. - contrib/rdd_ads/make_rdd.bat - contrib/rdd_ads/rddads.b32 + contrib/rdd_ads/make_b32.bat + contrib/rdd_ads/makefile.bc * contrib/rdd_ads/readme.txt + Standardized Borland make for RDDADS. 20000314-01:30 GMT+1 Victor Szakats * make_*.bat contrib/rdd_ads/make_vc.bat ! copy command fixed to work on more OSs. (reported by Jose) ! Get rid of the ECHO Y trick, to make it work on non-English systems. (reported by Jose) * Changed all DEL commands to not use plain *.* but *.ext instead, since it will not wait for a questoin in the latter case. Please report it if your DOS doesn't work this way. * makefile.vc % Makes use of the multiple .PRG file feature of Harbour. - MASM doesn't create .CRF and .LST files anymore, to make the CLEAN process simpler. 20000313-21:00 GMT+1 Victor Szakats * source/compiler/harbour.c ! Fixed not to display a newly added message when -q is specified. * makefile.bc % Macro names synchronized with makefile.vc. Note that BCC_OPT has changed to CFLAGS. % Made more compact and robust. * makefile.vc * Minor changed. 20000313-15:57 GMT+1 Victor Szakats * source/compiler/cmdcheck.c source/compiler/harbour.c source/compiler/hbusage.c source/compiler/gen*.c include/hbcomp.h + Added processing of multiple .PRG files passed to the Harbour compiler. * contrib/rdd_ads/makefile.vc + Minor changes. * makefile.vc % Optimized MSVC make process, much smaller and faster. Thanks go to Paul Tucker. 20000313-13:20 GMT+1 Victor Szakats * contrib/rdd_ads/adsfunc.c ! Two casts added for MSVC. * contrib/rdd_ads/make_vc.bat + CVS ID added. * contrib/rdd_ads/makefile.vc % Streamlines and standardized. (use standard dir specs, create .c and .obj files in central obj dir.) 20000313-12:40 GMT+1 Victor Szakats * source/rtl/inkey.c ! Fixed to work with STD_GTAPI on Win32. * bin/bld_tpl.* + user32.lib added for MSVC * source/rtl/oldbox.c - Removed non-GT branches. ! __BOX() fixed handling of the fifth parameter. * source/rtl/console.c * OS_DOS_COMPATIBLE -> OS_UNIX_COMPATIBLE * source/rtl/achoice.prg source/rtl/text.prg source/rtl/tgetlist.prg % Removed #include "set.ch", since it's included anyway with the built-in (default) PP rules. * makefile.bc + NOTE added about "echo." 20000313-12:42 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * Little bug fixed in adsAppend() 2000-03-12 21:50 GMT-5 David G. Holm * source/compiler/harbour.y ! Added missing ( char * ) override for C++ on line 1549. 20000312-15:18 EST Paul Tucker * makefile.vc * standardise compile for tone.c and oemansi.c + add user32.lib to hbrun.exe and hbdoc.exe * source/rtl/tone.c * include hbdefs.h (for windows.h) for msvc * bin\bld_vc.bat + user32.lib 20000312-16:24 GMT+1 Victor Szakats * makefile.bc ! "echo" commands changed to "echo.", to avoid conflict with an ECHO.EXE in the path. Tested OK with DOS/BCC16/31 and WIN32/BCC32/55 * source/vm/hvm.c ! #include "windows.h" -> * source/rtl/gt/gtwin.c source/rtl/mouse/mousewin.c source/rtl/dates.c source/rtl/dir.c source/rtl/environ.c source/rtl/filesys.c source/rtl/inkey.c source/rtl/isprint.c source/rtl/net.c source/rtl/oemansi.c source/vm/fm.c include/hbdefs.h - include/hbwinapi.h include/Makefile * hbwinapi.h functionality moved to hbdefs.h (which is always included first) * All #include "hbwinapi.h" and #include changed to #define HB_OS_WIN_32_USED ! Now the inclusion of windows.h doesn't depent on the requested GT mode. So it's possible to link for the Win32 platform a non-GT mode Harbour. !!WARNING!! Since this change involves many platform/compiler combinations, please test it on yours and report any possible errors. WIN32/MINGW32, WIN32/GCC, WIN32/BCC32/55, DOS/BCC16/31, WIN32/MSVC have been tested. * source/rtl/inkey.c source/rtl/environ.c ! Fixed to use WINNT macro after the #include section. ! Code dependent on the GT API fixed. * include/hbcomp.h source/compiler/cmdcheck.c source/compiler/hbusage.c source/compiler/harbour.l source/compiler/harbour.c - Removed the Harbour /10 option, instead now HB_SYMBOL_NAME_LEN should be used at build time to set the maximum symbol length. If you build Harbour with /DHB_SYMBOL_NAME_LEN=10, it will be 100% CA-Cl*pper compatible in this respect. * include/hbapi.h source/macro/macro.c source/macro/macro.l * bName10 structure member replaced with uiNameLen in HB_MACRO. Now the HB_SYMBOL_NAME_LEN is the one and only setting which controls the maximum symbol name length in Harbour. * include/hbsetup.h - Removed some duplicated platform detection code. + Added 10 character symbol name compatibility mode when STRICT_COMPAT is requested. It's commented out. * include/hb*.h % Cleaned up and flattened the header file inclusion tree. * include/hbsetup.h makefile.vc makefile.bc + Shorter GTAPI selection macros added, to reduce scrolling/line wrapping while building, and HB_ is the standard prefix anyway. Currently both the short and the old long #defines will work. The new ones: HB_GT_STD HB_GT_DOS HB_GT_OS2 HB_GT_WIN HB_GT_CRS HB_GT_SLN % Makefiles changed to use the new format. 20000312-13:58 GMT+1 Victor Szakats * source/tools/io.c ! __DOS__ -> DOS * config/linux/gcc.cf config/w32/msvc.cf - Removed -DDEBUG * config/dos/bcc16.cf config/os2/icc.cf config/w32/bcc32.cf - Removed the default HARBOUR_USE_???_GTAPI define switches, to be in sync with the other GNU-make platforms. WARNING! You have to specify this manually like: set C_USR=-DHARBOUR_USE_DOS_GTAPI set C_USR=-DHARBOUR_USE_OS2_GTAPI set C_USR=-DHARBOUR_USE_WIN_GTAPI * include/hbapifs.h - Removed the #include "hbapifs.h". * source/rtl/mouse/mousedos.c * Small formatting. 20000312-07:10 EST Paul Tucker * contrib/rdd_ads/ads1.c added a couple of casts * contrib/rdd_ads/make_vc.bat copy the lib to ..\..\lib on success 20000312-13:04 GMT+1 Victor Szakats * source/rtl/set.c source/rtl/memofile.c source/rtl/gt/gtstd.c ! HB_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE 20000312-14:20 GMT+3 Alexander Kresin * contrib/rdd_ads/ads.ch * contrib/rdd_ads/adsfunc.c + full set of AOF functions added: AdsClearAOF() AdsCustomizeAOF() AdsEvalAOF() AdsGetAOF() AdsGetAOFOptLevel() AdsGetAOFNoOpt() AdsIsRecordInAOF() AdsRefreshAOF() AdsSetAOF * contrib/rdd_ads/ads1.c + functions added: adsSetFilter() adsClearFilter() 20000312-04:55 EST Paul Tucker * source/rtl/dir.c use _chmod( f,0 ) to get attribs. 20000312-03:40 GMT+1 Victor Szakats * include/hbdefs.h include/hbinit.h include/hbsetup.h source/rtl/gt/gtdos.c source/rtl/mouse/mousewin.c source/rtl/copyfile.c source/rtl/environ.c source/rtl/filesys.c source/rtl/inkey.c source/rtl/isprint.c source/tools/io.c source/vm/itemapi.c source/vm/maindll.c source/vm/mainwin.c * Platform/compiler related #ifdef-s changed to #if defined() for easy GREP. 20000311-23:00 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * include/hbapirdd.h * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * uncommented scope functions in header file and added declarations to virtual method tables in *.c files 20000311-18:52 GMT+1 Victor Szakats - include/hbinkey.h - include/hbapimou.h * include/hbapigt.h include/Makefile include/hbset.h source/rtl/mouse/* source/rtl/mouseapi.c source/rtl/console.c source/rtl/inkey.c source/rtl/tone.c source/rtl/set.c source/vm/hvm.c * Mouse and keyboard related declaration moved to the central IO header hbapigt.h. This is a step to a common/modular IO interface. 20000311-17:54 GMT+1 Victor Szakats - include/hbcursor.h - include/hbbox.h * include/hbapigt.h include/Makefile source/rtl/console.c source/rtl/gtapi.c * Two header files merged into the mainstream GT header. ! B_* box #defines renamed to _B_* to be CA-Cl*pper compatible. * include/hbapigt.h source/rtl/gt/*.c * Low-level hb_gt_SetPos(), hb_gt_Row(), hb_gt_Col() uses SHORT instead of USHORT, to be in sync with the GT API. WARNING! Please test the different API drivers. GTWIN was the only one tested. * source/rtl/console.c source/rtl/gt/gtstd.c * hb_setpos() removed, non-GT API functionality moved to gtstd.c, all hb_setpos() calls changed to hb_gtSetPos(). * source/rtl/console.c % QOUT() small optim., variable scope adjusted. ! __EJECT() fixed to always reset PROW() and PCOL() + TOFIX added for __EJECT() since in Clipper it always prints a eject, regardless of the SET DEVICE setting. % SAVESCREEN() optimized. ! RESTSCREEN() fixed to check the fifth parameter, like in CA-Cl*pper. * source/rtl/console.c % hb_gtSetPos() small optim. * source/rtl/dir.c ! chmod() changed back to _rtl_chmod(). 20000311-19:16 GMT+3 Alexander Kresin + contrib/rdd_ads/make_vc.bat + contrib/rdd_ads/makefile.vc * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c Added makefiles for VC Fixed some warnings All the above I've got from Matteo Baccan 20000309-13:24 EST Paul Tucker * source\rtl\gtapi.c * Initialize s_iCurrentRow and s_iCurrentCol 20000308-18:05 GMT+1 Victor Szakats * makefile.vc ! Small correction. * make_tpl.* bin/bld_tpl.* ! "<>" chars around the email address replaced with "()", since it confused some OSes. * source/rtl/tget.prg ! TOFIX added. 20000308-15:05 GMT+1 Ryszard Glab *source/rtl/gt/gtstd.c *replaced s_szCrLf with hb_consoleGetNewLine() 20000308-00:40 GMT+1 Victor Szakats * samples/Makefile samples/cccppc/* (scheduled for removal, since it's huge) samples/guestbk/Makefile samples/hscript/Makefile samples/misc/Makefile samples/pe/Makefile samples/guestbk/bld_b32.bat samples/hscript/bld_b32.bat * Updated. (not tested) * samples/Makefile - cccppc removed from the list. 20000308-00:14 GMT+1 Victor Szakats * include/hbver.h * Version bumped to 0.32 2000-03-07 * config/w32/gcc.cfg ! Added user32 to the library list to make OEMANSI.C link. * doc/whatsnew.txt + Date filled. 20000307-23:26 GMT+1 Victor Szakats * makefile.vc ! UNISTD.H problem solved with another method, now it doesn't leave the temporary UNISTD.H in the INCLUDE dir, so that it will not conflict with the GCC make process. 20000307-21:06 GMT+1 Victor Szakats * doc/whatsnew.txt + Build 31c things added. * source/rtl/dir.c % Flattened an #ifdef maze. * _rtl_chmod() changed to the less specific chmod(). ! Fixed the other three Borland warnings. - Removed unused parts from the code. 20000307-14:20 GMT-3 Luiz Rafael Culik *utils/hbdoc/genrtf.prg source/tools/rtf.prg *small changes *utils/hbdoc/genng.prg *source/tools/ng.prg *Added code to display tables *source/tools/os2.prg *utils/hbdoc/genos2.prg *Fixed generating of IPF file, thanks to a compilatation log send by Chen *source/rtl/dir.c *fixed warning on chmod on borland compilers *doc/en/array.txt doc/en/Browse.txt doc/en/dir.txt doc/en/error.txt doc/en/file.txt doc/en/ht_dbf.txt doc/en/ht_doc.txt doc/en/ht_gt.txt doc/en/ht_str.txt doc/en/hvm.txt doc/en/imput.txt doc/en/menu.txt doc/en/misc.txt doc/en/objfunc.txt doc/en/rdd.txt *Some formating. Their was many docs that the text starts on line 8 or 7 !removed empty tag from the docs 20000307-17:34 GMT+1 Victor Szakats ; Now the non-GNU make process reorganization can be considered done. * make_b16.bat make_b32.bat make_vc.bat contrib/rdd_ads/make_rdd.bat + After a successful make process they will now copy all executables and libraries to their final directory bin/ and lib/. * bin/bld_b16.bat bin/bld_b32*.bat bin/bld_vc.bat * Now they all look for the libraries directly in the lib/ directory, this way these batch files are compatible with the GNU-make system. + bin/b16/empty + bin/b32/empty + bin/vc/empty makefile.bc makefile.vc + The Borland and MSVC build process changed to generate the executables in different bin directories to completely separate them and to be compatible with the GNU-make system. * Makefile - obj/Makefile - obj dir removed from the GNU-make process. * source/rtl/console.c ! USHORT changed to SHORT for MSVC. 20000307-16:36 GMT+1 Victor Szakats * bin/bld*.* - "-5" options removed (again). * Now none of them remove the .c file. ! Borland make files fixed. Changed the order of options. * Borland batch files synchronized with bld_tpl.* ; Tested BCC16 and BCC32. * source/rtl/gt/* source/rtl/gtapi.c ! hb_gt_ReadKey() made common for all GT types. OS specific branch removed. + TOFIXes added to gtwin.c for all the places where the API calling rules are violated, so that the upper level API is called from a lower one. * source/rtl/console.c ! SETCURSOR(), RESTSCREEN() fixed when called with more parameter then required. % Minor optimization. % Got rid of a few non-GTAPI branches. % s_iDevRow and s_iDevCol removed. !! WARNING !! Non-GT mode has not been tested. Also some more tests would be good for the GT mode. + TOFIXes added for all places where the API calling rules are violated, so that an API level is skipped and the low-level API is directly called. * source/rtl/mouseapi.c - Removed one TODO * One ULONG changed back to USHORT and a cast added. - tests/strip + tests/stripem.prg tests/Makefile * Renamed to avoid conflict with the GNU STRIP.EXE. * source/runner/stdalone/hbrun.prg + Year updated. * tests/regress/* makefile.bc makefile.vc + "-" switch char added. + Header added + -?, /? options and help screen added. ! Typos fixed. * Renamed to HBTEST - tests/regress/* moved to + utils/hbtest/* tests/Makefile utils/Makefile makefile.bc makefile.vc * Regression Test Suit moved to another directory. It's a better place since it was a bit problematic to handle a subdir from the tests dir in the GNU-make system. (it got only build when install was specified or only after all the small tests programs were built) * Makefile * utils moved before tests - make_b40.bat make_b32.bat - Removed this version specific batch file. The -O2 option was removed for BCC40 due to PP bugs back then, ? and ?? was not PP-ed properly. Anyone could test this now ? If it still doesn't work I will add a warning to MAKE_B32.BAT about that. * makefile.bc * B40 option renamed to BCC_NOOPTIM to be more generic. 20000307-09:20 EST Paul Tucker * makefile.vc * create unistd.h moved to first target 20000307-12:35 GMT+1 Victor Szakats * source/pp/hbpp.c -> ppcore.c source/pp/hbppint.c -> ppcomp.c source/pp/hbpplib.c -> pplib.c source/pp/table.c -> pptable.c source/pp/Makefile makefile.bc makefile.vc * Renamed to avoid collision with other files in the make process (currently the standalone hbpp.c) * bin\bld_vc.bat - Removed -DDEBUG and -DHARBOUR_USE_WIN_GTAPI, they are not needed to compile a generated C output. * makefile.bc bin\bld_*.bat + Changed names of libraries. Now they are compatible with the GNU-make library names. ; NOTE: Since now Harbour has a common library naming system, which is used in all make systems. Documentation can refer to them in the $FILES$ section. 20000307-03:45 EST Paul Tucker * doc/gmake.txt - removed note about unistd.h for msvc 20000307-03:30 EST Paul Tucker * makefile.vc * reorganised * change names of libraries * create unistd.h if needed * bin/bld_vc.bat * modified to change names of libraries 20000307-03:36 GMT+1 Victor Szakats * include/hbclip.ch + All Harbour extensions included. (HB_*()) ! HB_SHADOW() #xtranslate fixed. * utils/hbextern/hbextern.prg * Cleanup. 20000307-02:55 GMT+1 Victor Szakats * makefile.bc makefile.vc ! trace.c was missing. * makefile.bc ! dbftools.c was missing. * include/hbextern.ch ! Updated. * source/vm/harbinit.prg * Modified so that HBEXTERN will recognize its PROCEDURES. + utils/hbextern/hbextern.prg + utils/hbextern/make_c5x.bat + utils/hbextern/Makefile + HBEXTERN.CH generator added. (work of Ryszard Glab) * include/hbclip.ch + hb_Shadow() added. * source/rtl/inkey.c source/rtl/console.c source/vm/cmdarg.c contrib/odbc/odbccall.prg source/rtl/alert.prg doc/en/input.txt source/debug/debugger.prg * __ARGCHECK -> HB_ARGCHECK __ARGSTRING -> HB_ARGSTRING __ARGC -> HB_ARGC __ARGV -> HB_ARGV __SHADOW -> HB_SHADOW __KEYPUT -> HB_KEYPUT Name of some Harbour internal functions changed to better reflect that they are Harbour extensions. 2000-03-06 20:05 GMT-5 David G. Holm * tests/regress/Makefile ! Several of the supported platforms begin program execution with the first object module listed when the executable is created, which means that it is necessary to list the rt_main object module first in the Makefile. 20000306-22:12 GMT+1 Victor Szakats - tests/ee.lbl - tests/ee.frm + tests/test.lbl + tests/test.frm * tests/testrpt.prg tests/testlbl.prg * EE.* renamed to TEST.* * makefile.bc makefile.vc + TODO added. - include/unistd.h * doc/gmake.txt makefile.vc - UNISTD.H addition (20000306-17:34 GMT+1) undone. - config/dos/bcc31.cfg + config/dos/bcc16.cfg config/dos/global.cfg make_tpl.* bin/bld_tpl.* doc/gmake.txt doc/funclist.txt * Renamed. * bin/bld_tpl.* + lib list made common for all platforms. + BCC32 added for bld_tpl.*. * bin/bld_tpl.* source/runner/stdalone/Makefile tests/Makefile tests/regress/Makefile utils/hbdoc/Makefile ! Changed the order of libs to make it work after the VM/RTL moves. * tests/parexpr.prg tests/testwarn.prg ! Warnings treaten as non-fatal (with #pragma). * tests/memvar.prg tests/testvars.prg ! Warnings fixed. * tests/dates.prg ! A PROC was returning a value. - include/hbrptlbl.ch source/rtl/tlabel.prg source/rtl/treport.prg * Public #defines from a public header moved to the only source files where they are used. 20000306-17:34 GMT+1 Victor Szakats + include/unistd.h * doc/gmake.txt makefile.vc + Dummy UNISTD.H added to the Harbour /INCLUDE directory to make it compile with MSVC and IBM Visual Age C++ out of the box. 20000306-15:37 GMT+1 Victor Szakats * contrib/rdd_ads/ads1.c ! FS_* macros renamed to _HB_FS_* 20000306-13:25 GMT+1 Victor Szakats * include/hberrors.h - Obsolete WARN_NONDIRECTIVE #define removed. * include/hbdefs.h + NOTE added. * include/hbvmpub.h compiler/genc.c compiler/genhrb.c compiler/genjava.c compiler/genobj32.c compiler/harbour.c compiler/harbour.y rdd/dbfcdx/dbfcdx1.c rdd/dbfntx/dbfntx1.c rdd/dbf1.c rdd/delim1.c rdd/sdf1.c runner/runlib.c vm/dynsym.c vm/hvm.c vm/initsymb.c * FS_* macros renamed to _HB_FS_* * include/hbver.h compiler/genc.c compiler/genjava.c compiler/hbusage.c pp/stdalone/hbpp.c rtl/environ.c * Version #define name prefixed with HB_VER_ and converted to uppercase. * include/hberrors.h compiler/cmdcheck.c compiler/genc.c compiler/genhrb.c compiler/genjava.c compiler/genobj32.c compiler/harbour.c compiler/harbour.l compiler/harbour.y compiler/hbfunchk.c compiler/hbgenerr.c pp/stdalone/hbpp.c pp/hbpp.c * ERR_ and WARN_ macros prefixed with HB_COMP_ or HB_PP_. 20000306-11:56 GMT+1 Victor Szakats * include/clipdefs.h ! Includes hbapi.h instead of extend.h to avoid compile error reported by Matteo. 20000305-08:38 GMT-8 Brian Hays * tests/testop.prg * doc/en/command.txt + added Operator Overloading test and reference to it in METHOD Command 20000306-04:43 GMT+1 Victor Szakats * source/rtl/cmdcheck.c ! -gc0 switch got removed. Added again. * config/rules.cf makefile.bc makefile.vc % -gc0 switch added to speed up make process. The size of the obj/b32 dir after a make was 8.9MB before, and 7.7MB after. * source/vm/debug.c doc/en/hvm.txt ! One $DOC$ left in the source moved to the docs dir. * source/vm/hvm.c ! One variable name standardized and made static. * source/rdd/dbf1.c ! Unused variable warning fixed. * source/rtl/transfrm.c ! Borland warning fixed. ! TRANSFORM(,"@") case fixed. Three more tests pass in RT_MAIN. * source/vm/memvars.c ! hb_memvarValueNew() Borland warning fixed. Comment added. * source\tools\hb_f.c ! Borland warning fixed. % IT_NUMBER changed to the standard IT_NUMERIC 20000305-13:47 GMT+1 Victor Szakats * source/rtl/empty.c source/rtl/valtype.c ! Item->type access change to API call. % Optimized. Some variables and branches removed. * source/rtl/strings.c ! All direct item accesses changed to Item API calls. % Some calls eliminated by using local variables. * source/rtl/arrays.c source/rtl/break.c source/rtl/classes.c source/rtl/codebloc.c source/rtl/extend.c source/rtl/fm.c source/rtl/harbinit.prg source/rtl/initexit.c source/rtl/itemapi.c source/rtl/memvars.c source/rtl/pcount.c source/rtl/proc.c source/rtl/pvalue.c + All these files moved to source/vm/* Now only the functions in VM are using low-level Harbour structures. * makefile.bc makefile.vc (not tested) source/rtl/Makefile source/vm/Makefile * Make files changed according to the RTL->VM moves. 20000304-08:20 GMT-3 Luiz Rafael Culik *utils/hbdoc/genrtf.prg *source/tools/rtf.prg *small changes *utils/hbdoc/genhtm.prg *Fixed warnings reported by Andi *doc/en/rdd.txt *some docs changed *doc/en/set.txt *doc/en/browse.txt *doc/en/string.txt *Small formating 20000303-17:50 GMT-3 Luiz Rafael Culik *utils/hbdoc/genrtf.prg *small changes *Fixed warnings reported by Victor *source/tools/rtf.prg *Small Changes *doc/en/ht_doc.txt doc/en/ht_file.txt doc/en/ht_conv.txt *Small Formating *doc/en/file.txt *Added new Docs *doc/en/set.txt Added new Docs 20000303-20:50 GMT+1 Victor Szakats * include/*.api ! Changed header filenames to the new ones. 20000303-02:06 GMT+1 Victor Szakats + tests/regress/rt_init.ch + tests/regress/rt_vars.ch + Added. 2000-03-02 15:10 GMT-5 David G. Holm * compiler/Makefile * macro/Makefile ! Several include files were still using the old names (i.e., they didn't have an "hb" prefix). 20000302-20:44 GMT+1 Victor Szakats * contrib/rdd_ads/ads1.c ! All direct item accesses changed to Item API calls. * source/compiler/cmdcheck.c makefile.bc makefile.vc ! Fixed OBJ32 support. (Note that for some unknown reason the linker GPF on Harbour executables when the OBJ generation is turned on, and the .OBJ format is also rejected by the linker. Tested with BCC53 and BCC55) * source/compiler/genobj32.c + Stub added for non OBJ32 support mode. * make*.bat + They also delete the .LOG file on CLEAN. * source/gt/* * Minor formatting. 20000302-17:45 GMT+1 Victor Szakats * tests/regress/* % Modified to take advantage of the code inclusion feature of the PP. * source/rdd/dbcmd.c ! All direct item accesses changed to Item API calls. ! Fixed direct item string buffer access in DBSETDRIVER() % Variable scopes and some other minor things optimized. + Static variables prefixed with "s_" % LASTREC() is now of the same speed as RECCOUNT() (minor enh.) ! DBSETDRIVER(), RDDSETDEFAULT(), __RDDSETDEFAULT() synchronized. ! DBSETDRIVER(), RDDSETDEFAULT(), __RDDSETDEFAULT(), RDDREGISTER(), DBCREATE() Fixed potential GPF on very large driver names. * source/rtl/itemapi.c include/hbapiitm.h + Added hb_itemGetDL( PHB_ITEM pItem ) to easily retrieve the julian date from a date item. * source/rtl/arrays.c include/hbapi.h + Added hb_arrayGetDL( PHB_ITEM pArray, ULONG ulIndex ) Same as above. * source/rtl/arrays.c source/rtl/descend.c source/rtl/empty.c source/rtl/memvars.c source/rtl/math.c ! hb_itemGetNL() calls changed to hb_itemGetDL() calls for date items. * source/rdd/dbf1.c source/rdd/dbfcdx1.c source/tools/dates2.c source/rtl/dates.c ! All direct item accesses changed to Item API calls. * source/rtl/do.c ! One direct item access changed to Item API calls. * doc/en/misc.txt ! One copyright fixed. * source/rtl/alert.prg ! Comments changed to standard NOTE/TOFIX format. * source/compiler/genc.c + Small alignment in the .C output format. * .cvsignore + Added b32/, b16/ and vc/ dirs (Committed in the previous session) 20000302-11:21 GMT+1 Victor Szakats * config/rules.cf makefile.bc makefile.vc + -es2 added as a default Harbour switch. WARNING! HBDOC will not compile, since it has warnings. * contrib/* include/* doc/* source/* * Changed the name of all header files, which didn't have a "hb" prefix. WARNING! All .PRG files must be recompiled. Note that from now on the most common header file EXTEND.H is only a CA-Cl*pper compatibility file, in for new Harbour code you should use HBAPI.H instead. errorapi.h -> hbapierr.h filesys.h -> hbapifs.h gtapi.h -> hbapigt.h itemapi.h -> hbapiitm.h langapi.h -> hbapilng.h mouseapi.h -> hbapimou.h rddapi.h -> hbapirdd.h box.h -> hbbox.h compiler.h -> hbcomp.h setcurs.h -> hbcursor.h dates.h -> hbdate.h expropt.h -> hbexprop.h init.h -> hbinit.h inkey.h -> hbinkey.h macro.h -> hbmacro.h pcode.h -> hbpcode.h set.h -> hbset.h ctoharb.h -> hbvm.h hb_vmpub.h -> hbvmpub.h extend.h -> hbapi.h hbfsapi.h -> hbapifs.h (merged into) 20000302-12:35 GMT+1 Ryszard Glab *source/pp/hbpp.c *moved #include after harbour specific definitions are defined (OS_UNIX_COMPATIBLE) (BTW: is this include file really needed ? ) *source/rtl/typefile.prg *removed RETURN NIL in a PROCEDURE 20000301-15:20 EST Paul Tucker * source/tools/strasint.c * remove extraneous characters at end. 20000301-14:10 GMT-3 Luiz Rafael Culik *doc/en/ARRAY.TXT *added Copyright header *small changes to the docs *doc/en/FILE.TXT *small changes to the docs *source/tools/rtf.prg *source/tools/os2.prg *source/tools/html.prg *Some changes to generate a better output *utils/hbdoc/hbdoc.prg *Changes to reflect the new file outputs *utils/hbdoc/genrtf.prg *utils/hbdoc/genhtm.prg *utils/hbdoc/genos2.prg *Changes to reflect the changes of the classes *utils/hbdoc/hrb.rsp *utils/hbdoc/hrbtools.rsp *Change to use the new docs dir 20000301-14:34 GMT+1 Victor Szakats * source/rtl/console.c source/rtl/oldclear.c % Removed more non-GTAPI branches. * source/rtl/tgetlist.prg % One FUNCTION converted to PROCEDURE * source/rtl/setfunc.prg * NOTE made more clear. * source/rtl/setkey.prg * Changed to three chars indentation * source/rtl/arrays.c * Minor change in comment. 20000301-10:15 GMT+2 Chen Kedem * doc/en/ARRAY.TXT * doc/en/BINNUM.TXT * doc/en/BROWSE.TXT * doc/en/DIR.TXT * doc/en/ERROR.TXT * doc/en/FILE.TXT * doc/en/HVM.TXT * doc/en/INPUT.TXT * doc/en/MENU.TXT * doc/en/MISC.TXT * doc/en/OBJFUNC.TXT * doc/en/SET.TXT * doc/en/TERMINAL.TXT * doc/en/TGETLIST.TXT * doc/en/VAR.TXT * Modify copyright detail for function/commands I wrote ! NOTE: Individual copyright holder should check his/her doc work to make sure creadits are given to the right person 20000301-03:04 GMT+1 Victor Szakats * source/pp/* include/hbpp.h + Added support for __DATE__ and __TIME__ predefined macros. Note that this will not work in the library version. * hb_pp_AddDefine() fixed to work without any hacks from the caller side. * hb_pp_Init() moved to hbpp.c and is used from standalone hbpp.c, too. * doc/funclist.txt + "+T" symbol explained. * source/rtl/filesys.c - Some "add documentation" note removed. + One copyright added. 20000229-23:13 GMT+1 Victor Szakats + doc/en/array.txt + doc/en/binnum.txt + doc/en/browse.txt + doc/en/command.txt + doc/en/dir.txt + doc/en/error.txt + doc/en/file.txt + doc/en/ht_class.txt + doc/en/ht_conv.txt + doc/en/ht_dbf.txt + doc/en/ht_doc.txt + doc/en/ht_file.txt + doc/en/ht_gt.txt + doc/en/ht_str.txt + doc/en/hvm.txt + doc/en/input.txt + doc/en/license.txt + doc/en/memo.txt + doc/en/menu.txt + doc/en/misc.txt + doc/en/nation.txt + doc/en/objfunc.txt + doc/en/rdd.txt + doc/en/readme.txt + doc/en/set.txt + doc/en/string.txt + doc/en/tclass.txt + doc/en/terminal.txt + doc/en/tgetlist.txt + doc/en/tlabel.txt + doc/en/treport.txt + doc/en/var.txt + English documentation readded separated from the source files. 20000229-22:00 GMT+1 Victor Szakats * source/rtl/* source/rdd/dbcmd.c source/tools/* include/hbclass.ch - source/rtl/readme.prg - source/rtl/licence.prg - Removed docs from source. 20000227-11:47 GMT+1 Victor Szakats * source/rtl/console.c ! Fixed non-GT API mode initialization. * source/rtl/typefile.prg - Removed unused code. * source/runner/stdalone/hbrun.prg + Now shows the Harbour version which it's linked with. * source/rtl/console.c source/rtl/strings.c ! RTL_TEST.PRG reference removed, since this file no longer exists. * source/rtl/inkey.c % Variable scope adjusted. * contrib/rdd_ads/rddads.b32 + Use the BCC_OPT setting. 20000227-00:39 GMT-8 Brian Hays * include/hbclass.ch ! added Docs for all Class Commands * source/rtl/tclass.prg % Started docs for class creation * source/rtl/achoice.prg * source/rtl/alert.prg * source/rtl/arrays.c * source/rtl/break.c * source/rtl/console.c % misc. edits for docs 20000227-10:58 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * Bug fixed in adsRawLock() ( code proposed by Sid Sailors ) * adsOrderInfo() corrected, added support for ORDFOR(), ORDBAGNAME(), ORDNAME() * source/rdd/dbcmd.c * pInfo.ItmOrder initialized with NULL, where it is necessary ( Victor Szel proposal ) 20000227-08:59 GMT+2 Chen Kedem * source/rtl/binnum.c + doc for all function * source/rtl/filesys.c * small formating for the docs ! in FSEEK() doc $EXAMPLES$ I'd changed "RETURN" into "substr" * source/rtl/word.c + add the "INCOMPATIBILITY:" note into $COMPLIANCE$ section * change "INCOMPATIBILITY:" into "NOTE:" * source/rtl/typefile.prg * modified to save the state of SET DEVICE and SET PRINTER * modified to search the file on DEFAULT and PATH directories if needed + add support for error recovery Retry and Default + doc for __TYPEFILE() 20000225-19:58 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * Bug fixed in adsGetValue() 20000224-19:05 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * Corrected handling of bof()/eof() * Fixed some warnings 2000-02-23 14:00 GMT-5 David G. Holm * source/rtl/inkey.c ! KEYBOARD ";" now returns INKEY() == 13, just like Clipper. 20000223-18:36 GMT+1 Victor Szakats * source/rtl/tbrowse.prg ! Fixed return values of methods to be Clipper compatible. * source/vm/hvm.c + HB_INCLUDE_WINEXCHANDLER #ifdef added to control the inclusion of the Windows specific exception handler. Temporary solution. * contrib/rdd_ads/ads1.c ! Extentions converted to lower case. ! Some small fixes. * include/set.h source/rtl/set.c source/rtl/setcolor.c source/rtl/console.c source/rtl/gt/gtstd.c % Reduced the GT vs. non-GT branches. Heading in the direction where there's no non-GT API mode, just a Standard/Stream GT API mode. In other words the point is to eliminate *all* HARBOUR_USE_GTAPI checks. * source/rtl/inkey.c ! __KEYBOARD() fix by Matteo. * source/rtl/strings.c source/rtl/dummy.prg source/rtl/filesys.c source/rtl/oemansi.c ! Minor formatting fixes. 20000222-07:30 GMT-3 Luiz Rafael Culik *doc/harbext.txt *Small changes *source/rtl/filesys.c *Finish rewriting docs stolen from Clipper Ng *source/rtl/strings.c *source/rtl/oemansi.c *source/rtl/tlabel.prg *source/rtl/treport.prg + Add missing copyrigth for the docs *source/rdd/dbcmd.c *small changes to the docs *source/tools/html.prg *Changed to generate the new HTML template *utils/hbdoc/genhtm.prg *utils/hbdoc/hbdoc.prg *Changed to generate the new HTML template output 2000-02-21 15:45 GMT-5 David G. Holm * config/rules.cf * config/w32/bcc32.cf * config/w32/global.cf % Changes to make more compatible with all Windows 32-bit platforms 20000221-14:58 GMT+3 Alexander Kresin * source/pp/stdalone/hbpp.c * source/pp/hbppint.c * added cast 20000221-08:50 GMT+2 Chen Kedem * source/rtl/objfunc.prg * Update docs to reflect changes made by Victor (20000220-14:30 GMT+1) 20000220-06:20 GMT-8 Brian Hays * source/tools/ng.prg * source/tools/os2.prg * source/tools/rtf.prg * source/tools/troff.prg * edited docs 20000220-03:40 GMT-8 Brian Hays * doc\gnulice.txt * Removed extraneous headers and Table Of Contents 20000220-23:05 GMT+3 Alexander Kresin * contrib/rdd_ads/ads1.c * memo handling changed - proposal of Brian Hays * contrib/rdd_ads/ads1.c * improvement of AdsKeyNo() and AdsKeyCount() 20000220-19:55 GMT+3 Alexander Kresin * source/pp/stdalone/hbpp.c * source/pp/hbppint.c * source/pp/hbpp.c * corrected .ppo output - removed empty lines in #include files, as CA-Clipper does it 20000220-14:30 GMT+1 Victor Szakats * ../FT_HELPC.PRG ../HA.LNK ../bldfthe.bat ! Trying to remove trash from the root of the repository. * source/rtl/objfunc.prg - Removed the runtime errors if the method/data to be deleted doesn't exist, or the method/data to be added already exist. Reasons: These error cases are better handled manually by the developer if needed. ! PLEASE UPDATE THE DOCS ! * makefile.bc bin/bld_b32.bat bin/bld_b32w.bat ! Removed -5 option since this breaks Harbour on 386/486. Add this to your local BCC_OPT setting if needed. 20000220-12:22 GMT+2 Chen Kedem * doc/cvs_ssh.txt + Add CVS ID * doc/gnulice.txt ! Fixed CVS ID * source/rtl/setfunc.prg * source/rtl/tgetlist.prg + Add missing copyrigth for the docs 20000219 11:10 Brian Hays * doc\gnulice.txt * Formatted to NG specs 20000219-09:10 GMT-3 Luiz Rafael Culik *makefile.bc *Added -5 Option to the Bcc32 command line *bin/bld_b32.bat *bin/bld_b32w.bat *Added -5 Option to the Bcc32 command line PS: I added the -5 command line option , since the console output Runs faster 20000219-07:02 GMT-3 Luiz Rafael Culik * source/rtl/environ.c ! Added missing $ONELINER$ token to the __run() function 20000219 07:10 Brian Hays *doc/harbext.txt *Added usage of @() 2000-02-18 17:30 GMT-5 David G. Holm + doc/cvs_ssh.txt + New file with information on how to get CVS to work with SSH. * source/rtl/environ.c ! Corrected the VERSION() documentation to describe how the function actually works (the use of any parameter returns both the Harbour and C compiler versions). % Removed explicit tests for DJGPP, CYGWIN, MINGW32, and OS/2 GCC for the __RUN() function and replaced them with a test for GNUC, so that all Gnu C versions of Harbour can use the RUN command. * tests/version.prg % Changed the second call to VERSION to use a NIL parameter to show that the use of any parameter will cause both the Harbour and C compiler versions to be printed, regardless of the parameter value. 20000218-21:32 GMT+3 Alexander Kresin * source/pp/stdalone/hbpp.c * corrected accordingly last changes * source/pp/hbppint.c * call of HB_TRACE fixed 20000218-15:23 GMT+3 Alexander Kresin * source/pp/hbpp.c * source/pp/hbppint.c * Bug fixed, reported by Brian Hays 20000218-10:02 GMT-3 Luiz Rafael Culik *doc/compiler.txt doc/readme.txt Small formating by Brian Hays *source/rtl/typefile.prg *Fixed to use the Habour RTL 20000218-00:04 GMT+1 Victor Szakats - source/runner/stdalone/external.prg * makefile.bc makefile.vc source/runner/stdalone/Makefile - Removed EXTERNAL.PRG, since it's no longer needed. * source/rtl/typefile.prg + TOFIX added about non-standard class usage. ! CVS ID fixed (again). 20000217-15:22 EST Paul Tucker * source/pp/hbppint.c * added cast 20000217-23:00 GMT+3 Alexander Kresin * source/pp/hbpp.c * source/pp/hbppint.c * source/pp/hbpplib.c * source/pp/stdalone/hbpp.c * source/compiler/harbour.y * include/compiler.h * accepting of statements in include files implemented * pp now generate #line statements 20000217-09:00 GMT-3 Luiz Rafael Culik *doc/vm.txt doc/harbext.txt doc/tracing.txt doc/statics.txt doc/readme.txt doc/pragma.txt doc/pcode.txt doc/gmake.txt doc/cvshowto.txt doc/compiler.txt *Small formating by Brian Hays *source/rtl/typefile.prg *Fixed a worning reported by Victor *utils/hbdoc/hbdoc.prg *utils/hbdoc/genos2.prg *utils/hbdoc/gentrf.prg *utils/hbdoc/genng.prg *utils/hbdoc/genhtm.prg *utils/hbdoc/genrtf.prg *utils/hbdoc/genhpc.prg *utils/hbdoc/genasc.prg *Small fixes 20000217-10:08 GMT+3 Alexander Kresin * source/pp/hbpplib.c * added hb_comp_files declaration to fix error while hbrun compiling 20000217-00:39 GMT+1 Victor Szakats * source/rtl/Makefile + typefile.prg 20000216-23:05 GMT+3 Alexander Kresin * source/pp/hbppint.c * source/compiler/harbour.l * source/compiler/harbour.y * include/hbpp.h * some changes needed for implementation of pp feature ( accepting of statements in include files ) 20000216-13:12 EST Paul Tucker * makefile.vc + source/rtl/typefile.prg 20000216-06:00 GMT-3 Luiz Rafael Culik *makefile.bc *added the typefile makefile *doc/funclist.txt *update status of __typefile functions +doc/gnulice.txt *Gnu license *doc/subcodes.txt *added one more subcode *source/rdd/dbcmd.c *Some docs changed *source/rtl/dummy.prg *removed __typefile reference *source/rtl/environ.c source/rtl/memvars.c *small formating to the docs *source/rtl/treport.prg *source/rtl/tlabel.prg *Added the function docs *source/rtl/typefile.prg *__TYPEFILE function *source/rtl/set.c *small formating to the docs *source/rtl/strings.c *small formating to the docs *utils/hbdoc/genng.prg *small changes *utils/hbdoc/alpha.lnk *utils/hbdoc/hrb.lnk *Small changes 20000216-00:07 EST Paul Tucker * makefile.vc + source/rtl/tlabel.prg + source/rtl/treport.prg 20000216-04:17 GMT+1 Victor Szakats * source/rtl/tbrowse.prg ! SAY -> DispOutAt() ! Value is better converted before displayed, now it's completely like CA-Cl*pper 5.2. ! Fixed calculating of the columns fitting on the screen. ::LeftDetermine(), ::Stabilize() + Added a bunch of NOTEs and TOFIXes. % Optimization in Hilite() * source/rtl/tbcolumn.prg ! Fixed column width calculations. (still not perfect, but better) * makefile.bc makefile.vc * Harbour options changed to -q0 and -w * source/vm/hvm.c + Added the Win32 exception handler rountine experimentally, it's commented out. * source/rtl/itemapi.c * Some minor change in comments. 20000215-20:53 GMT+1 Victor Szakats * source/rtl/tgetlist.prg source/rtl/dummy.prg doc/funclist.txt + __SETFORMAT() added + GETAPPLYKEY() added + GETREADER() added + __KILLREAD() added * config/header.cf ! Checks if the HB_ARCHITECTURE and HB_PLATFORM envvars are set, if not it simply does nothing instead of going into an infinite loop. * contrib/rdd_ads/rddads.b32 ! Fixed a typo (rddasd -> rddads). 20000215-13:22 GMT+1 Philip Joseph * contrib/rdd_ads/ads1.c + added DbrLockList() functionality. + added IndexOrd() functionality. ! Fixed adsOrderListAdd() for setting up the default index. ! Fixed table, index and memo file extensions. * contrib/rdd_ads/adsfunc.c ! Modified HB_ADSSETDELETED() for making similar to clipper set deleted command. 20000214-19:35 GMT+1 Ryszard Glab *source/compiler/expropt.c *source/macro/macro.c *include/hbexpr.c * fixed generation of incorrect HB_P_MACROSYMBOL pcode when &( expression ) syntax was used *tests/tstmacro.prg * cleared to allow Clipper compatible syntax only 20000214-17:10 GMT+1 Victor Szakats * config/w32/bcc32.cf ! Fixed so that it doesn't require the non-standard HARBOURDIR envvar to be set. + Added -d flag * config/dos/bcc.cf + Added -d flag * config/lib.cf config/test.cf config/dir.cf config/bin.cf ! Checks if the HB_ARCHITECTURE and HB_PLATFORM envvars are set, if not it simply does nothing instead of going into an infinite loop. 20000214-09:15 GMT+1 Victor Szakats * tests/* ! Fixed missing CVD IDs (again and again). 20000214-07:50 GMT+1 Victor Szakats * source/rtl/mouse/mousedos.c ! static variables marked as static. * source/rtl/dates.c - QUESTION removed. * source/rtl/* source/rtl/mouse/* source/rtl/gt/* source/common/* source/compiler/* source/rdd/* source/vm/* source/tools/* tests/* tests/regress/* * Name change. 20000214-06:32 GMT+1 Victor Szakats * *.bat + .LOG file is only shown when there was some error. * source/rtl/itemapi.c ! hb_itemStr() fixed for 16bit Borland compilers. Log(0) was causing a domain error. * source/rtl/gtdos.c ! Borland warnings fixed. * source/rtl/mousedos.c ! Fixed hb_mouse_GetBounds(). (Have this function been ever tested/compiled ??) ; COMMENT: Borland 16 bit support is still broken. Large symbol tables and strings makes the final .EXE exit without any messages. HBDOC works, HBRUN not, RT_MAIN not (but it can work if larger parts are removed). xmemset() and xmemcpy() crashes for larger values (like 100000), and the symbol processing used to fail right on startup. 20000214-03:50 GMT+1 Victor Szakats * bin/bld_b*.bat bin/bld_vc.bat + Made in sync with each other, updated the lib file lists. * makefile.bc ! Changed hbpp.lib to pp.lib (again) ! Fixed NULSYS.LIB generation bug. 20000214-03:21 GMT+1 Victor Szakats * *.bat + Added CLEAN command to batch files. Use: MAKE_VC.BAT CLEAN to cleanup all the generated files (EXE,LIB,OBJ,...) + Added optional parameter forwarding to the make process. * source/rtl/mainwin.c source/rtl/maindll.c ! Fixed to compile only for 32bit Windows platform. * makefile.bc % INCLUDE_DIR simplified. % Merge duplicate strings option added as a default. ! main -> mainstd + dbgmenu.prg added. + source/debug/dbgmenu.prg (added) source/debug/debugger.prg source/debug/Makefile makefile.vc * BuildMenu() function moved to a separate source file, so that it now compiles fine with Harbour Borland 16bit. * source/vm/cmdarg.c ! Too small buffer fixed. (GPF-ed with B16) 20000213-23:59 GMT+1 Victor Szakats ! makefile.bc ! Fixed again. * source/rtl/Makefile + treport.prg and tlabel.prg added. * tests/testrpt.prg tests/testlbl.prg ! CVS ID added. - include/rptdef.ch + include/hbrptlbl.ch include/Makefile source/rtl/tlabel.prg source/rtl/treport.prg ! rptdef.ch renamed to hbrptlbl.ch + hbrptlbl.ch added to Makefile ! Small corrections to hbrptlbl.ch + Indentation fixed. ! .FRM/.LBL changed to lowercase. ! RETURNs without value fixed. ! RG_ changed to RGT_ + #include "error.ch" added. ! One mistyped variable name fixed. * "=" changed to ":=" and "==" * source/rtl/fm.c ! // comments changed to /**/ * include/hbtrace.h ! Minor correction. 20000213-15:50 GMT-3 Luiz Rafael Culik *makefile.bc *added the treport and tlabel to the makefile *doc/funclist.txt *update status of __reportform() and __labelform() functions *include/rptdef.ch *include file for TLabelForm and TReportForm *source/rtl/tlabel.prg +__labelform() function *source/rtl/treport.prg +__reportform() function +tests/testlbl.prg *test file for __labelform() function +tests/testrpt.prg *test file for __reportform() function +tests/ee.frm +tests/ee.lbl *report and label files for the examples 20000213-16:15 GMT+1 Ryszard Glab *source/compiler/harbour.y * line number opcodes are correctly generated inside IF/ENDIF, WHILE/END *source/macro/macro.c * fixed unreleased memory when database alias was used *source/macro/macro.y * fixed unreleased memory when invalid syntax was found during macro string parsing *include/hbexpr.c * added more tracing information *source/common/hbstr.c * hb_strdup() reports the length of a string in tracing info *source/rtl/gt/gtdos.c * fixed unreleased memory block *include/hbtrace.h *source/common/hbtrace.c * added HB_TRACE_STEALTH definition to print tracing information without changing filename/linenum information * hb_tr_trace() doesn't clear filename/linenum info on exit - this info is used in fm.c to store the location of code that requested memory allocation *source/rtl/fm.c * when HB_TR_LEVEL is set to HB_TR_DEBUG then allocated memory blocks store C function name and line number instead of PRG filename/linenum This allows to easy locate the source of unrealeased memory blocks 20000213-13:27 GMT+1 Victor Szakats ! makefile.bc ! Some bugs fixed related to the previous change. 20000213-12:04 GMT+1 Victor Szakats - makefile.b32 - makefile.b16 + makefile.bc make_b*.bat + Merged to functionality of makefile.b16 into makefile.b32 resulting in a generic makefile.bc for all Borland compilers. Note that MAINDLL.C, MAINWIN.C, SYMBOLS.ASM should be fixed to be multiplatform, and currently the 16bits Borland choks on DEBUGGER.PRG. But it mostly works. The old makefile.b16 was completely outdated. + Added HARBOUR_OPT support. * doc/* ! Fixed and standardized CVS ID for the rest of files. 20000213-11:32 GMT+2 Chen Kedem * doc/readme.txt * doc/statics.txt * doc/whatsnew.txt ! CVS ID fixed (sorry) 20000213-11:23 GMT+2 Chen Kedem * doc/compiler.txt * doc/readme.txt * doc/statics.txt * doc/whatsnew.txt * Formating for 80 column (actually 76 like the NG standard) + CVS ID added 20000213-04:02 GMT+1 Victor Szakats * source/compiler/cmdcheck.c ! Fixed broken handling of the /x switch without parameter. * *.bat * make*.err changed to make*.log * makefile.vc + NOTE: added about UNISTD.H * makefile.b32 ! Fixed the fix for the HARBOURY.H not found error in some Borland compilers. Now the same compile command is used than *was* already used previously with MACROL.C, so it should work now. 20000212-22:50 GMT-3 Luiz Rafael Culik *source/rdd/dbcmd.c *Some docs changed *source/rtl/fieldbl.prg *source/rtl/memvars.c *source/rtl/tone.c *source/tools/fileread.prg *Added status to the Doc *Makefile.b32 *Added obj\b32 to the include dir *source/rtl/strings.c *Fixed VAL() function provided by Jose Lanin 20000212-14:00 GMT+1 Ryszard Glab *source/macro/macro.l *source/macro/macro.y * fixed recognition of FIELD-> syntax 20000212-12:22 GMT+1 Philip Joseph * contrib/rdd_ads/ads1.c + Added adsCreate function for creating ads tables. It also supports adt tables with short names. 20000212-02:30 GMT+1 Victor Szakats * include/gtapi.h + NOTE: added about incompatibilities between Harbour and CA-Cl*pper GT interface. * makefile.b32 - Removed -v option (debug info) from 4.0 mode. 2000-02-11 19:15 GMT-5 David G. Holm * source/rtl/inkey.c ! First pass at international character support for Windows console mode. 20000211-23:05 GMT+1 Victor Szakats * make*.bat * The different make systems generate log files with different names. 20000211-22:31 GMT+1 Victor Szakats * makefile.vc ! Modified to generate all the intermediate .c/.y/.l files in the obj dir instead of the original files' dir, since this way the make process is not conflicting with the GNU-make system, so they can be used in parallel. * HBDOC is generated in the BIN directory. + RT_MAIN generation added. + Added nulsys.lib + obj/b16/empty + obj/b32/empty + obj/vc/empty * makefile.b32 makefile.b16 makefile.vc + From now on the intermediate files are generated in the obj\b16, obj\b32 and obj\vc depending on the build system. This way the Borland and Microsoft make systems will not conflict and can be used in parallel. 20000211-19:37 GMT+1 Victor Szakats * ha.lnk -> categ.lnk harbour.lnk -> alpha.lnk harbour.rsp -> hrb.rsp harbwww.rps -> hrbtools.rsp makewww.bat -> genhtm.bat * Some files renamed. 20000211-19:11 GMT+1 Victor Szakats * source/rtl/Makefile - readvar.prg removed. * doc/harbext.txt + CVS ID added !! Please remember to add this to every file CVS-d !! * tests/bld_b16.bat tests/bld_b32.bat tests/bld_b32o.bat tests/bld_b32w.bat tests/bld_vc.bat * Files moved to the bin\ directory. - tests/test_all.lnk - Blinker specific, probably obsolete file removed. * doc/cvshowto.txt bin/bld_tpl.* make_tpl.* * My name changed to the real one. * source/rtl/tbcolumn.prg ! NOFIX: -> TOFIX: 20000211-09:33 GMT+1 Patrick Mast + doc/harbext.txt * This contains the Language and RTL extensions of Harbour 20000210-22:55 EST Paul Tucker * makefile.vc - source/rtl/readvar.prg 20000211-04:15 GMT+1 Antonio Linares * makefile.b32 - readvar.prg removed. (please update other makefiles) 20000211-04:15 GMT+1 Antonio Linares * source/rtl/tgetlist.prg * proper support for ReadVar() - source/rtl/readvar.prg * removed. It was obsolete. * tests/testread.prg * enhanced to test ReadVar() when pressing F2 20000210-23:53 GMT+1 Victor Szakats * include/hboo.ch source/rtl/classes.c source/rtl/tclass.prg ! HB_OO_ONERROR renamed to HB_OO_MSG_ONERROR * source/rtl/tgetlist.prg + Added READVAR() support for the GETs. * include/* source/rtl/readvar.prg * My name changed to the real one. * source/rtl/filesys.c ! Minor formatting fix. 20000210-14:45 EST Paul Tucker * makefile.vc * temporarily - not defining _Windows for tone.c and oemansi.c 2000-02-10 13:50 GMT-5 David G. Holm * source/rtl/tone.c ! Borland C does not support Beep() under Windows. 20000210-13:30 EST Paul Tucker * makefile.vc + /D_Windows to compiler flags * source/rtl/tone.c * change _WINDOWS_ back to _Windows 20000210-15:15 GMT+3 Alexander Kresin * source/rtl/setfunc.prg * minor bug fixed: #include "common.ch" was missed, so ISCHARACTER() caused 'unresolved external' message while app linking 20000210-13:20 GMT+1 Ryszard Glab *source/compiler/harbour.l * fixed syntax for RETURN statement *source/compiler/hbgenerr.c * changed warning level for 'unreachable code' - it will be generated if /w2 option is used *source/genc.c * fixed 'unused "wSym" variable' warning *tests/keywords.prg * added some more code related to RETURN statement 20000209-22:37 EST Paul Tucker * source/rtl/tone.c * change _Windows to _WINDOWS_ * assign 0 to temp if ifdefs' not matched * makefile.vc * correct building of hbdoc.exe 20000209-22:10 EST Paul Tucker * makefile.vc * move hbdoc.exe to bin 20000210-03:44 GMT+1 Victor Szakats * makefile.vc * HBTOOLS.LIB renamed to TOOLS.LIB to better resemble to the other make systems. * makefile.b32 makefile.vc * HBPP.LIB renamed to PP.LIB to better resemble to the GNU-make system. 20000210-03:24 GMT+1 Victor Szakats * makefile.b32 ! Modified to generate all the intermediate .c/.y/.l files in the obj dir instead of the original files' dir, since this way the make process is not conflicting with the GNU-make system, so they can be used in parallel. * HBDOC and RT_MAIN are also generated in the BIN directory. + Added nulsys.lib * source/pp/hbpplib.c include/hbexpr.c source/compiler/harbour.c source/compiler/genhrb.c source/compiler/genjava.c source/rtl/gtapi.c source/rtl/mouseapi.c source/macro/macro.c source/tools/strasint.c source/tools/strcount.c source/tools/strleft.c source/tools/strright.c source/tools/ascpos.c ! Borland warnings fixed. 20000209-21:10 EST Paul Tucker * makefile.vc +utils/hbdoc/genos2.prg +utils/hbdoc/gentrf.prg +utils/hbdoc/genng.prg +utils/hbdoc/genhtm.prg +utils/hbdoc/genrtf.prg +utils/hbdoc/genhpc.prg +utils/hbdoc/genasc.prg 20000209-20:00 GMT-3 Luiz Rafael Culik *utils/hbdoc/hbdoc.prg *Separated in several files +utils/hbdoc/genos2.prg +utils/hbdoc/gentrf.prg +utils/hbdoc/genng.prg +utils/hbdoc/genhtm.prg +utils/hbdoc/genrtf.prg +utils/hbdoc/genhpc.prg +utils/hbdoc/genasc.prg *Contains the Procedures to create the output files *utils/hbdoc/Makefile +Added the new hbdoc modules *makefile.b32 *Update for hbdoc changes 20000209-13:30 GMT+1 Antonio Linares * source/debug/debugger.prg + Added INKEY_ALL second parameter to Inkey() call. * source/rtl/alert.prg + Added INKEY_ALL second parameter to Inkey() call. 20000209-12:08 GMT+1 Victor Szakats * source/rtl/mouse/mousedos.c ! hb_mouse_GetBounds() bug fixed (there was an '-' instead of '=') 20000209-13:50 GMT+3 Alexander Kresin * source/pp/hbpp.c * Bug fixed, noted by Ignacio Ortiz * there was a problem with a file path in #include statement 20000209-13:35 GMT+3 Alexander Kresin * contrib/rdd_ads/adsfunc.c + added new function: HB_ADSETDELETED() * contrib/rdd_ads/ads1.c * some changes for deleted(), locate, continue right work * contrib/rdd_ads/ads.ch + added SET DELETED command 20000209-08:15 GMT-3 Luiz Rafael Culik *utils/hbdoc/hbdoc.prg *Fixed /w1 warnign when hbdoc is compiled with this switch changed compilance to compliance and plataform to platform *source/rtl/readme.prg *Some formating *source/rtl/mouse/mousedos.c * hb_mouse_GetBounds() implemented 20000209-10:43 GMT+1 Victor Szakats * utils/hbdoc/hbdoc.prg ! Misc small fixes. * make_b*.bat * Small change regarding make.err deletion. * source/rtl/strings.c % Small optimization in HB_ISSPACE() ! "compilant" changed to "compliant" * Three NOTEs changed to TOFIXes (in RAT() and STRTRAN()) ! Small formatting fixes. (NG doc moved before any misc notes and comments related to the function) * source/rtl/environ.c source/rtl/filesys.c source/rdd/dbcmd.c ! "compilant" and "compilante" changed to "compliant" ! Other misc doc/comment fixes. * source/rtl/dir.c * Minor formatting change (comment related only). * source/rtl/tgetlist.prg ! oGetListActive renamed to s_oGetListActive * source/rtl/tget.prg ! Missing CVS header added (again). * source/rtl/objfunc.prg source/rtl/alert.prg source/rtl/dbedit.prg ! "an Harbour" changed to "a Harbour" 20000209-04:15 EST Paul Tucker * source/rtl/inkey.c + Added support to exist Win mouse code to detect Mouse Button UP and to account for INKEY_* mask. 20000209-07:35 GMT+1 Antonio Linares * source/rtl/inkey.c + Added support for Inkey() K_LDBLCLK and K_RDBLCLK events. * source/debug/debugger.prg + test added for Inkey() K_LDBLCLK event. It is working right. 20000208-17:55 GMT+1 Ryszard Glab *source/compiler/harbour.y *source/compiler/harbour.l * fixed syntax for the following keywords: OTHERWISE PROCEDURE RECOVER RETURN STATIC USING * added error generation in case repeated OTHERWISE clauses are used in DO CASE statement *tests/keywords.prg * added some more test code *source/rtl/wait.prg * fixed code to stop generation of error 'unreachable code' *source/rtl/gt/gtstd.c * added dummy function hb_gt_ReadKey() if compiled for U*ix (I don't know why it worked previously without this function) 20000208-12:00 GMT+1 Antonio Linares * tests/bld_b32.bat * updated to use latest Borland makefile changes 20000208-11:48 GMT+1 Antonio Linares * makefile.b32 + oemansi.c was missing and it is required from hbdoc * HBDOC_OBJS changed into HBDOC_EXE_OBJS (makefile was not completing its job cause this) * make_b32.bat * del make.err added 20000208-03:15 EST Paul Tucker * makefile.vc + source/tools/dbftools.c + utils/hbdoc/hbdoc.prg 20000207-20:56 EST Paul Tucker * makefile.vc + source/rtl/mouseapi.c + source/rtl/mousexxx.c 20000207-22:13 GMT+1 Victor Szakats * makefile.b32 Makefile ngdoc/* -> utils/hbdoc/* * NGDOC directory renamed and moved to the right place. * utils/hbdoc/hbdoc.prg * Help screen formatted and corrected to be in sync with other Harbour command-line utilities. * Some minor changes. 20000207-20:40 GMT+1 Victor Szakats - common.b32 ft_helpc.b32 gt.b32 hbpp.b32 rdd.b32 regress.b32 runner.b32 terminal.b32 - Removed. * makefile.b32 make_b32.bat make_b40.bat * Changed to include all functionality previously implemented using several separate make files. New makefile almost completely based on the work of Bruno Cantero. - ngdoc/ft_helpc.prg + ngdoc/hbdoc.prg ngdoc/makewww.bat * FT_HELPC renamed to HBDOC * FT_HELPC() main function renamed to MAIN() - ngdoc/bldfthe.bat - Removed since it's now built in the mainstream build process. * ngdoc/Makefile * Changed to reflect new utility name. 20000207-20:10 GMT+3 Alexander Kresin * source/rtl/tools/dbftools.c + Documentation added * contrib/rdd_ads/adsfunc.c + added new functions: HB_ADSBLOB2FILE() - support of binary objects in memo HB_ADSFILE2BLOB() / HB_ADSKEYNO() HB_ADSKEYCOUNT() 20000207-16:52 GMT+1 Victor Szakats * source/rtl/inkey.c source/rtl/mouse/mousewin.c * Win32 mouse related variables renamed and moved to mousewin.c inkey.c is now accessing them as an externs. 20000207-16:39 GMT+1 Victor Szakats * include/hbextern.ch source/runner/stdalone/external.prg ! Added #include "hbsetup.ch" + Added mouse functions. + TOFIX: added about missing #ifdefs. * source/rtl/harbinit.prg ! Added #include "hbsetup.ch" * source/rtl/mouseapi.c ! Added HB_ prefix to all HARBOUR functions. * source/rtl/console.c + Calling hb_mouseInit() on startup. * source/rtl/inkey.c source/rtl/mouse/mousewin.c * MCOL()/MROW() removed from inkey.c * MCOL()/MROW() docs moved to mouseapi.c * Mouse coordinate variables renamed and exported. * MCOL()/MROW() in mousewin.c modified to use the exported coordinate variables. * MPRESENT() now always returns .T. for Win32, which is not correct, but better than .F. 20000207-12:22 GMT+1 Victor Szakats * source/rtl/math.c ! MOD(): Added value substitution on error. ! MOD(): Made completely CA-Cl*pper compatible including bugs/side-effects (related to behaviour on zero base value). * tests/regress/rt_hvm.prg tests/regress/rt_math.prg + % and MOD() tests added. All of them passes. 20000207-09:15 GMT+1 Antonio Linares * source/debug/debugger.prg * Mouse support to select any window. * Improved command window GET building. 20000207-00:25 GMT+1 Victor Szakats * source/vm/cmdarg.c * Format of build info slightly modified. + Added maximum symbol length to build info. * source/rtl/mouse/mousedos.c ! Several fixes. ! Formatting. % Some variables optimized out. * Mousereg renamed to regs. * Makefile ! Formatting fix. * ngdoc/Makefile ! Fixed. * ngdoc/bldfthe.bat ngdoc/ft_helpc.prg ! NANFOR is always defined if __HARBOUR__ is, so that it now links OK with the GNU make system. Explicit /DNANFOR switch removed from the Borland make .BAT file. 20000206-20:35 GMT-3 Luiz Rafael Culik *Makefile *Added ngdoc dir to the normal build +ngdoc/makefile +gnu make file for ft_helpc *ngdoc/ft_helpc.pg *small changes *source/rdd/dbcmd.c * Change some functions docs *source/rtl/mouse/mousedos.c * Added support for djgpp compiler *source/tools/html.prg *small changes 20000206-16:55 GMT+1 Victor Szakats * source/vm/cmdarg.c ! Mistyped #ifdef fixed in //BUILD functionality (mentioned by Jose) 20000206-16:15 GMT+1 Ryszard Glab *source/vm/hvm.c * fixed GPF/code dump during creation of a codeblock if used for static variable initialization *source/compiler/harbour.y * fixed generation of line number opcodes *source/compiler/harbour.c * fixed 'unused variable' warnings generated by Borland compiler *doc/compiler.txt * added note about incompatibility with Clipper in handling of local variables during static variable initialization 20000206-10:12 GMT+1 Antonio Linares * source/debug/debugger.prg * Mouse support to select pulldown top items (just that for now) 20000205-17:00 GMT+1 Victor Szakats * source/compiler/hbusage.c + The command line help screen uses the platform dependent switch character when listing options. + 1999 -> 1999-2000 20000205-13:06 GMT+1 Victor Szakats * tests/db_brows.prg ! UPDATED() removed, since it's now defined in the RTL. * include/rddapi.h source/tools/dbftools.c * hb_rdd*() function declration moved to rddapi.h * source/tools/dbftools.c ! Removed #includes not needed. Especially windows.h. * source/compiler/hbusage.c + Note added about switch character. 20000205-00:32 GMT+1 Victor Szakats * source/tools/Makefile + dbftools.c added. + html.prg, ng.prg, os2.prg, troff.prg, etc. added. * doc/hdr_tpl.txt * Year changed to 2000 * source/rdd/dbcmd.c source/rtl/inkey.c source/rtl/array.c source/pp/hbpp.c * Minor formatting fixes. 20000204-23:10 GMT+1 Antonio Linares * source/rtl/inkey.c * static int s_iMouseCol = 0, s_iMouseRow = 0; (changed SHORT into int accordingly to Dave proposal). 20000204-19:25 GMT-3 Luiz Rafael Culik *Source/rdd/dbcmd.c * Change some functions docs *ngdoc/harbwww.rps *Small changes *source/rtl/inkey.c * Small changes on MCOL() and MROW() function docs 20000204-20:45 GMT+1 Ryszard Glab *source/compiler/harbour.y *source/compiler/harbour.c * fixed initialization of static variable with dimmed array STATIC var[ 2 ] *source/rtl/inkey.c * fixed s_iMouseCol/s_iMouseRow if compiled with GCC/LINUX 20000204-22:12 GMT+3 Alexander Kresin * source/rdd/dbcmd.c + added hb_rddGetCurrentWorkAreaPointer() function + source/rtl/tools/dbftools.c Some Clipper Tools compatible functions * contrib/rdd_ads/ads1.c * Bugs fixed related to lock/unlock * Memo support added 20000204-14:47 GMT+1 Victor Szakats * source/rtl/itemapi.c ! hb_itemNew() fixed to set the item type *after* filling the item structure with zeros. It won't set the type at all when a param other than NULL was passed. * makewww.bat * ngdoc/makewww.bat ! Moved. ! CVS ID fixed. * source/rtl/alert.prg ! Mouse support fixed when not clicked on button. % Small optimization * Formatted using the files style. * source/rtl/inkey.c * s_xMousePos -> s_iMouseCol * s_yMousePos -> s_iMouseRow 2000-02-03 16:10 GMT-5 David G. Holm * bin/bld_tpl.bat * bin/bld_tpl.cmd + Added ..\lib\main.obj to command line for os2/icc builds 20000203-17:05 GMT-3 Luiz Rafael Culik *Source/rdd/dbcmd.c * Change some functions docs *Source/tools/html.prg * Some enhacements *Ngdoc/ft_helpc.prg * Fix on the text when FT_HELPC is called with out parameters +some enhacements *Contrib/rdd_ads/rddads.b32 *Fixed type on library name *Contrib/odbc/bld_b32.bat * Added missing common.lib to the bcc32 line *Ngdoc/harbwww.rps + response file for ft_helpc generate html output *makewww.bat +batch make file to ft_helpc generate html output 20000202-22:00 GMT+1 Antonio Linares * source/rtl/inkey.c + Added MCol() and MRow() mouse support functions (they are actually working just for Win32 console mode) + Added static variables s_xRowPos and s_yRowPos * Enhanced InKey() to return K_MOUSEMOVE, K_LBUTTONDOWN, K_RBUTTONDOWN values * _Windows globally changed into _WINDOWS_ * source/rtl/gt/gtwin.c * SetConsoleMode() changed to support console mouse events * source/rtl/alert.prg * Mouse support * source/debug/debugger.prg * A very early test for InKey() mouse events and MRow() and MCol() values test. It is properly working. 20000202-20:33 GMT+3 Alexander Kresin + contrib/rdd_ads/readme.txt * contrib/rdd_ads/ads.ch * contrib/rdd_ads/adsfunc.c * AdsSetDefault() added and appropriate commands in ads.ch * source/pp/hbpp.c * Bugs fixed, noted by Antonio Linares 20000202-16:40 GMT+1 Ryszard Glab *include/hbver.c * fixed version and revision numbers 20000202-13:50 GMT+1 Patrick Mast * include/hbver.c * Updated to version 31a 20000202-12:05 GMT+1 Ryszard Glab *source/compiler/harbour.y * fixed to properly compile EXTERNAL directive if placed outside of a function body 2000-02-01 20:40 GMT-5 David G. Holm * bin/bld_tpl.bat * bin/bld_tpl.cmd + Added '-o%1.exe' command line option for w32/gcc and w32/mingw32. 20000201-13:00 GMT+1 Ryszard Glab *source/compiler/harbour.c *source/compiler/harbour.y *source/compiler/genc.c * fixed GPF (core dump) if private/public variable was initialized with a codeblock with a local parameter, e.g. PRIVATE var:={ | x | expression } * static variables cannot be initialized with a codeblock which uses a local variable, e.g. LOCAL locvar STATIC stavar:={ || locvar } Notice that Clipper is compiling it however it generates a runtime error if such codeblock is evaluated. * fixed also a bug in warning generation when function with no return value is defined 20000131-21:20 GMT+1 Victor Szakats * include/hbextern.ch source/runner/stdalone/external.prg ! EXTERNAL CLIPPER530 put between #ifdef HB_COMPAT_53 guards. 20000131-13:30 GMT-5 David G. Holm * ChangeLog.005 + Renamed from ChangeLog and started a new ChangeLog * config/os2/gcc.cf * config/os2/icc.cf - Removed debug information from OS/2 builds of Harbour * doc/whatsnew.txt % Synchronized with updates that were made to the build31 branch 20000131-15:09 GMT+1 Victor Szakats * ft_helpc.b32 ! Fixed CVS ID header. * source/debug/debugger.prg ! Some constants changed to manifest constants (SC_NONE,SC_NORMAL) + NOTE readded. * make_b40.bat + ft_helpc.b32 added. * source/rdd/dbcmd.c ! Doc formatting errors fixed. * source/tools/*.prg ! Email address separators added to some lic headers. 20000131-10:00 GMT+1 Antonio Linares * source/debug/debugger.prg + added _AltD(). Waiting for a Harbour fix to accept it as AltD() * source/rtl/tgetlist.prg + added functions: GetPreValidate(), GetPostValidate(), GetActive() + added functions: ReadFormat(), ReadKill(), ReadUpdated(), Updated() + added functions: GetDoSetKey() * source/rtl/dummy.prg - removed functions: GetPreValidate(), GetPostValidate(), GetActive() - removed functions: ReadFormat(), ReadKill(), ReadUpdated(), Updated() - removed functions: GetDoSetKey() * doc/funclist.txt * Updated 20000131-01:29 GMT+1 Victor Szel * source/rtl/harbinit.prg ! CLIPPER530 is declared only when HB_COMPAT_53 is defined. * source/debug/debugger.prg ! SAYs converted to DispOutAt() calls. NOTE added about this. % Unused variables removed. % Minor optimization. * tests/regress/rt_main.ch ! Date used for testing changed (for accuracy only). * source/vm/maindll.c ! Fixed CVS ID header. - source/tools/ha.lnk - Removed. * ngdoc/*.lnk * Formatting. * source/rtl/oemansi.c source/rtl/pvalue.c source/tools/troff.prg source/tools/os2.prg source/tools/rtf.prg source/tools/html.prg source/tools/ng.prg * Formatting: some newlines added, minor fixes. 20000131-00:05 GMT+1 Victor Szel * source/rtl/environ.c ! Fixed VERSION() for MINGW32 (it was generating a GPF). 20000130-22:41 GMT+1 Victor Szel * source/rtl/mlcount.c source/rtl/memoline.c source/rtl/mlpos.c ! Fixed GPF when the first passed parameter was not a string. * source/rtl/environ.c ! Fixed VERSION() reporing service pack level on NT/2000. ! Fixed minor doc formatting problem. 20000130-17:05 GMT+3 Alexander Kresin * source/pp/hbpp.c * Bug fixed, noted by Ryszard Glab 20000130-13:55 GMT+1 Ryszard Glab *source/compiler/harbour.l * fixed support for macro variables used in FOR statement *source/vm/hvm.c * private variables created during a macro evaluation are not released after a macro evaluation. They have the function/procedure scope. 20000129-19:15 GMT+1 Victor Szel * bin/bld_tpl.* ! Added macro lib. ! Fix for os2 platform. * source/rtl/tget.prg - Removed #include "set.ch" since it's included by default (via std.ch) * source/rtl/Makefile source/rtl/memoline.c source/rtl/filesys.c * Some minor formatting fixes. 20000129-14:30 GMT+3 Luiz Rafael Culik *source/rtl/oemansi.c *Added documentation to HB_oemtoansi() and Hb_ansitooem() *source/rtl/strings.c *Added documentation to AT(),RAT(),ISDIGIT(),ISALPHA(),ISLOWER(),ISUPPER() 20000129-13:20 GMT+1 Ryszard Glab *include/hbexpr.c *source/compiler/expropt.c *source/macro/macro.c * empty list expression is not allowed now - this generates syntax error: funcall( ()->expression, () ) *source/compiler/harbour.l *source/compiler/harbour.y * fixed support for STEP and TO keywords * fixed GPF (core dump) if field variable is used in a codeblock 20000129-01:55 EST Paul Tucker * makefile.vc + source/rtl/oemansi.c 20000128-20:15 GMT+1 Ryszard Glab *source/macro/macro.l *source/compiler/harbour.l * any nonstandard characters (ASCII < 32 and ASCII > 127) are passed to grammar analyser instead of printing on stdout *include/hbexpr.c *source/macro/macro.c *source/compiler/expropt.c * memory is released properly when more complex expression is macro compiled eg. &( "1 + 2" ), &( ".T.:classname" ) *source/debugger/debugger.prg * added 'LOCAL nKey' to suppress warnings 20000128-20:3 GMT+3 Luiz Rafael Culik *source/rdd/dbcmd.c *source/rtl/arrays.c * Enhaced the Docs *doc/whatnew.txt * Description of the program that extract documention from source code forget the OS2 and TROFF output 20000115-20:3 GMT+3 Luiz Rafael Culik * ngdoc/ft_helpc.prg * Fixed some erros * source/tools/rtf.prg * source/tools/ng.prg * source/tools/os2.prg * source/tools/troff.prg * Fixed the aligment of text on generating the source files 20000127-12:54 GMT+1 Patrick Mast * doc/whatsnew.txt * updated for build 31 * include/hbver.c * Changed day in date to 27 20000126-23:59 EST Paul Tucker * makefile.vc + source/tools/ng.prg + source/tools/os2.prg + source/tools/html.prg + source/tools/rtf.prg + source/tools/troff.prg 20000126-21:41 GMT+1 Patrick Mast * include/hbver.c * Bumped build to 31 and updated date 20000126-12:50 GMT+1 Ignacio Ortiz * source/rtl/tget.prg * Bug fixed on numeric gets with zero digits in his value 2000-01-25 16:20 GMT-5 David G. Holm * source/rtl/itemapi.c ! Don't check for infinity when checking for numeric overflow and using a Borland C compiler, because Borland C returns 0 for log(0), which is what is being used to set infinity. 2000-01-25 21:47 GMT+1 Antonio Linares * source/debug/debugger.prg * Partial support for editing variables. * source/rtl/tgetlist.prg * Added support for non-modal GetLists management. 20000125-10:05 GMT+2 Chen Kedem * source/rtl/arrays.c - remove documentation stolen from CA-Clipper 5.2 NG from the following functions: ARRAY(), AADD(), ASIZE(), ATAIL(), AINS(), ADEL(), AFILL(), ASCAN() - remove $EXAMPLES$ stolen from CA-Clipper 5.2 NG from the following function: ACOPY(), ACLONE() + ACLONE() : add $COMPLIANCE$ note 2000-01-25 02:45 GMT+1 Antonio Linares * source/debug/debugger.prg * Support for up and down arrows on command window Still needs some fine tunning. 2000-01-24 20:15 GMT-5 David G. Holm * source/rtl/environ.c % Due to careless use of the CVS repository, I had to redo the following: ! Fixed bug in setting end of string for case VER_PLATFORM_WIN32_WINDOWS: ! Put Windows support for MingW32 back in after accidentally removing it. 20000123-17:35 GMT+1 Ignacio Ortiz * source/rtl/tget.prg * Improved: cursor flickering removed 2000-01-23 16:30 GMT+1 Antonio Linares * source/debug/debugger.prg * Improved debugger. * source/rtl/tgetlist.prg * Improved METHOD ShowScoreBoard. * source/vm/hvm.c + New public BOOL variable hb_DebuggerIsWorking 20000124-14:05 GMT+1 Ryszard Glab *source/rtl/memoline.c * fixed 'max' to 'HB_MAX_' *source/rtl/mlpos.c * added RCS ID *source/rtl/Makefile * added mlpos.c file 20000124-13:30 GMT+1 Ryszard Glab *source/compiler/harbour.y *source/macro/macro.c * fixed support for the syntax: DO &var DO &( expression_list ) 2000-01-23 22:03 GMT+1 Antonio Linares * source/debug/debugger.prg * Improved debugger View Sets painting. 2000-01-23 10:53 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * The newly retrieved data is passed as an argument to ColorBlock (accordingly to Clipper ColorBlock documentation) * source/debug/debugger.prg * Improved debugger: View Sets is partially working. 2000-01-22 20:03 GMT+1 Antonio Linares * source/debug/debugger.prg * Improved debugger: Command window is starting working. 2000-01-22 13:40 GMT+3 Luiz Rafael Culik * ngdoc/ft_helpc.prg *Added support for OS2 IPF source code +source/tools/os2.prg Support class for FT_HELPC generate OS2 IPF files 2000-01-22 10:22 GMT+1 Patrick Mast * source/rtl/environ.c (From Jose Lalin) ! Getenv accepts a default value to return when the envvar is not found ! Updated function doc 2000-01-21 14:05 GMT-5 David G. Holm * source/rtl/environ.c ! Fixed bug in setting end of string for case VER_PLATFORM_WIN32_WINDOWS: ! Put Windows support for MingW32 back in after accidentally removing it. 20000121-17:57 GMT+3 Alexander Kresin * source/pp/hbpp.c * now can be used truncated preprocessor directives ( #defi, #inclu, ... ) 20000121-12:50 GMT+1 Ignacio Ortiz + source/rtl/mlpos.c * Added function MlPos() * source/rtl/memoline.c * Fixed little bug on empty lines * source/rtl/tget.prg * Multiple enhancements, class Tget is completed * source/rtl/tgetlist.prg * Fixed bug on date management reported by Kwon OhChul * makefile.b32 * mlpos.c included (Please update other make files) 20000121-09:40 GMT+1 Antonio Linares * source/debug/debugger.com * Improved monitored variables containt support 2000-01-20 14:15 GMT-5 David G. Holm * source/rtl/dates.c ! Corrected CTOD() to include 0 as a year subject to SET EPOCH (the range had been accidentally set to 1 through 99 instead of 0 through 99). 20000119-21:21 GMT+3 Alexander Kresin * source/pp/hbpp.c * Few bugs fixed, reported by Matteo Baccan and Dave Pearson 20000119-13:05 GMT+1 Ryszard Glab *source/macro/macro.y * fixed GPF when IIF()/IF() was used in macro expression * support for TYPE() function was added *include/macro.h *source/macro/macro.c * support for TYPE() function was added * memory allocated for macro evaluation is properly released when a runtime error occurs during evaluation *source/rtl/type.c * full implementation of TYPE() function was added *include/extend.h * new declaration for hb_macroGetType - called from TYPE() * new declaration for hb_valtypeGet shared by VALTYPE and TYPE *source/rtl/valtype.c * new function hb_valtypeGet() used internally in Harbour *source/rtl/errorapi.c *include/errorapi.h * new structure HB_ERROR_INFO for catching errors at C level * new function hb_errorHandler() that sets/gets low-level error handler. *include/ctoharb.h *source/vm/hvm.c * added HB_ENDPROC_REQUEST and hb_vmRequestEndProc() which are used to request immediately return from currently evaluated pcode buffer. This is used to stop processing of macro compiled code. *source/rtl/itemapi.c * if parameter passed to hb_itemNew is not NULL then it is used to initialize the new item (in other words it creates a copy of passed item) *source/rdd/rddcdx/dbfcdx1.c * The macro structure is now self deallocating if hb_macroDelete() is called - it must not call hb_xfree() after hb_macroDelete() was used. *doc/funclist.txt * marked TYPE() as Ready :) 2000-01-19 08:28 GMT+1 Antonio Linares * source/debug/debugger.prg + fixed and improved to use Class TDbMenuItem METHOD Display everytime a menuitem is displayed. * source/compiler/genc.c ! fixed a new bug that was providing wrong filenames to the debugger. 2000-01-18 22:20 GMT+3 Luiz Rafael Culik *ngdoc/ft_helpc.prg Enhaced. Now Generate Norton Guide Source Code and TROFF Files *source/tools/rtf.prg Document the Files and Source code Formated *source/tools/html.prg Document the Files and Source code Formated +ngdoc/harbour.lnk Link file for Norton Guide. ha.lnk is needed for the other output files +ngdoc/harbour.rsp List of files to FT_helpc need to process +ft_helpc.b32 Make file for FT_HELPC for Borland +source/tools/ng.prg Support class for FT_HELPC generate Norton Guide Source code +source/tools/troff.prg Support class for FT_HELPC generate TROFF files 2000-01-17 18:55 GMT-5 David G. Holm * source/environ.c ! Corrected manifest constant _Windows to be _WINDOWS_ 2000-01-17 15:30 GMT-5 David G. Holm * source/environ.c ! Fixed problems in new Windows build version logic. 20000117-22:09 GMT+3 Alexander Kresin * source/pp/hbpp.c * Few bugs fixed, reported by Matteo Baccan * contrib/rdd_ads/ads.ch * contrib/rdd_ads/ads1.c * contrib/rdd_ads/adsfunc.c * contrib/rdd_ads/rddads.h Bug fixed in SET INDEX TO ... implementation New commands added 20000117-16:05 GMT+1 Ryszard Glab *source/rdd/dbcmd.c * fixed GPF in ORDBAGEXT() 20000117-13:30 GMT+1 Ryszard Glab *source/rtl/type.c * added hb_retc( "U" ) for initial implementation of TYPE() function (due to a very popular demand :) 20000117-12:25 GMT+1 Ryszard Glab *source/rtl/achoice.prg *source/rtl/input.prg * macro related code are active now *source/compiler/harbour.y * function that initializes static variables is generated properly when ANNOUNCE statement is used 20000116-20:30 GMT+1 Ryszard Glab *source/rtl/harbinit.prg * replaced ANNOUNCEd CLIPPER5xx with procedure definition 20000116-15:35 GMT+1 Ryszard Glab *include/hberrors.h * added WARN_DUPL_ANNOUNCE * added ERR_FUNC_ANNOUNCE *include/compiler.h * added declaration of hb_compAnnounce( char * ) which creates an ANNOUNCEd procedure *source/compiler/hbgenerr.c * added warning when redundant ANNOUNCE statement is used * added error message when ANNUNCEd procedure is declared STATIC *source/compiler/harbour.y *source/compiler/harbour.l *source/compiler/harbour.c * fixed support for ANNOUNCE statement (static variables are no longer bound to ANNOUNCEd procedure) *source/pp/table.c * removed fixed translation of ANNOUNCE statement *source/compiler/cmdcheck.c * restored correct support for '-w' compiler switch 20000115-20:3 GMT+3 Luiz Rafael Culik *source/rtl/arrays.c *source/rtl/type.c *source/rtl/text.prg *source/rtl/inkey.c *source/rtl/setkey.prg *source/rtl/proc.c *source/rtl/adir.prg *source/rtl/dircmd.prg *source/rtl/asort.prg *source/rtl/achoice.prg *source/rtl/alert.prg *source/rtl/Objfunc.prg *source/rdd/dbcmd.c *Fixed some seealso's reference that was missing the comma separator *Source/rtl/strings.c *Added document to : SUBSTR(),LEFT(),RIGHT(),LTRIM functions *Source/rtl/Environ.c *Added document to : VERSION() and GETENV() function *ngdoc/ft_helpc.prg *Fixed a bug on generating see alsos for HTML output *Source/tools/rtf.prg *All topics now start with the 'IDH_' prefix 20000115-19:35 GMT+1 Ryszard Glab *source/macro/macro.l * corrected recognition of variable names which ends with numbers e.g. X1, A123 20000115-15:45 GMT+1 Ryszard Glab *source/compiler/hbgenerr.c * added missing comma separator in error messages list 20000115-15:15 GMT+1 Ryszard Glab *include/pcode.h * added new pcodes: HB_P_PUSHALIASEDVAR HB_P_POPALIASEDVAR HB_P_MPUSHALIASEDVAR HB_P_MPOPALIASEDVAR NOTE: All sources HAVE TO be recompiled!!! *include/macro.h * added new constant: HB_MACRO_GEN_PUSH 4 /* generate PUSH pcodes */ HB_MACRO_GEN_POP 8 /* generate POP pcodes */ HB_MACRO_GEN_ALIASED 16 /* force aliased variable */ *include/extend.h * added declaration of hb_macroPopAliasedValue hb_macroPushAliasedValue *source/macro/macro.c *source/compiler/harbour.c * corrected handling of aliased variables in case when an alias is determined at runtime (the field variable was assumed previously but now the virtual machine checks the value of passed alias and used either a memvar or a field) for example: alias := "M" ? ( alias )->var The value of memvar named "var" should be printed *include/hbexpr.c *source/compiler/expropt.c * finished support for aliased macro expressions *source/macro/macro.c * finished support for aliased macro expressions *source/vm/hvm.c *source/compiler/genc.c *source/compiler/genhrb.c *source/compiler/genjava.c * added support for new pcodes: HB_P_PUSHALIASEDVAR HB_P_POPALIASEDVAR HB_P_MPUSHALIASEDVAR HB_P_MPOPALIASEDVAR *source/compiler/harbour.y * removed 'macro support' from the TODO list :) 2000-01-14 12:20 GMT-5 David G. Holm * ngdoc/ft_helpc.prg + Updated file provided by Luiz Rafael Culik 2000-01-13 19:45 GMT-5 David G. Holm * ngdoc/bldfthe.bat + Updated file provided by Luiz Rafael Culik * ngdoc/ft_helpc.prg + Updated file provided by Luiz Rafael Culik * ngdoc/ha.lnk + Updated file provided by Luiz Rafael Culik * source/rtl/license.prg + Updated file provided by Luiz Rafael Culik * source/rtl/readme.prg + Updated file provided by Luiz Rafael Culik * source/tools/rtf.prg + Updated file provided by Luiz Rafael Culik * source/tools/html.prg + Updated file provided by Luiz Rafael Culik 2000-01-10 16:10 GMT-5 David G. Holm * ngdoc/ft_helpc.prg ! Renamed to lower case for Linux compatibility. * ngdoc/ha.lnk ! Renamed to lower case for Linux compatibility. * source/tools/Makefile + Added rtf.prg to list of PRG files. * source/tools/rtf.prg ! Renamed to lower case for Linux compatibility. 2000-01-10 15:50 GMT-5 David G. Holm * ngdoc/ft_helpc.prg ! Renamed to lower case for Linux compatibility. + Added CVS Id * ngdoc/ha.lnk ! Renamed to lower case for Linux compatibility. ! Changed first menu from 'A-F' to 'A-D' * source/compiler/hbusage.c ! Corrected description of -10 command line option to refer to the number of significant digits (per Dave Pearson). * source/rtl/inkey.c + Added blank line between documentation for INKEY() parameters * source/tools/rtf.prg ! Renamed to lower case for Linux compatibility. + Added CVS Id 20000109-14:25 GMT+1 Ryszard Glab *include/hbexpr.c *source/compiler/expropt.c *source/compiler/harbour.y * fixed STATIC var1[0], var2[3,4] initialization failure 2000-01-07 GMT +3 Luiz Rafael Culik * gt.b32 ! Added RTF.prg * source/rdd/dbcmd.c * source/rtl/achoice.prg * source/rtl/adir.prg * source/rtl/alert.prg * source/rtl/asort.prg * source/rtl/browdb.prg * source/rtl/browse.prg * source/rtl/dbstrux.prg * source/rtl/debugger.prg * source/rtl/devoutp.prg * source/rtl/dircmd.prg * source/rtl/errorsys.prg * source/rtl/fieldbl.prg * source/rtl/fileread.prg * source/rtl/harbinit.prg * source/rtl/input.prg * source/rtl/memvarbl.prg * source/rtl/menuto.prg * source/rtl/objfunc.prg * source/rtl/readvar.prg * source/rtl/readkey.prg * source/rtl/setkey.prg * source/rtl/setta.prg * source/rtl/stringp.prg * source/rtl/wait.prg * source/rtl/xsavescr.prg * source/rtl/arrays.c * source/rtl/word.c * source/rtl/type.c * source/rtl/valtype.c * source/rtl/tone.c * source/rtl/strings.c * source/rtl/proc.c * source/rtl/mtran.c * source/rtl/memvars.c * source/rtl/len.c * source/rtl/inkey.c * source/rtl/hardcr.c * source/rtl/Filesys.c * source/rtl/empty.c * source/rtl/descend.c +Removed external reference for see also +Formated see also between commas + ngdoc/FT_helpc.prg Source code for FT_HELPC document source Extriper + ngdoc/ha.lnk List of Functions categories to the FT_HELPC + bldfthe.bat Batch file to create the exe 2000-01-03 18:25 EDT David G. Holm * source/rtl/inkey.c ! Enable Unix-compatible keyboard input even when not using ncurses or slang. 20000103-19:48 GMT+1 Ryszard Glab *include/expropt.h *include/hbexpr.c * renamed: hb_compExprNewSymbol() -> hb_compExprNewFunName() * added new expression type: HB_ET_RTVAR and hb_compExprNewRTVar() for PUBLIC and PRIVATE variable declarations *source/compiler/expropt.c *source/compiler/harbour.c *source/compiler/harbour.y *source/compiler/harbour.l * added support for macro variables in PUBLIC and PRIVATE declarations PRIVATE &var, &var.end * optimization of PUBLIC/PRIVATE variables creation (there was a single call __MVPUBLIC/__MVPRIVATE function for every variable, there is a single call for a single statement now), for example: PRIVATE var1, var2, var3 // 3 calls previously - only one call now *source/macro/macro.y * renamed: hb_compExprNewSymbol() -> hb_compExprNewFunName() * fixed handling of &var.text syntax *source/macro/macro.c * fixed handling of &var.text syntax * handling of text substitution is now Clipper compatible - previously only substituted value was scanned for nested macro operator - the whole text is rescanned now, for example: PRIVATE a:='&', b:='b' ? &a.b will print a value of variable 'b' now instead of a generation of a syntax error. *include/extend.h * added declaration for hb_macroTextSubst() * added declaration for hb_macroIsIdent() 20000102-14:27 EST Paul Tucker * source/rtl/environ.c * remove Borland check on define of VER_PLATFORM_WIN32_CE * source/rtl/filesys.c * removed duplicated comment lines. (was missing /* anyway) * source/rdd/dbcmd.c * added missing close comment. 20000102-17:10:00 GMT+3 Luiz Rafael Culik * source/rtl/browdb.prg * source/rtl/text.prg * source/rtl/browse.prg * source/rtl/dbedit.prg * source/rtl/devoutp.prg * source/rtl/dircmd.prg * source/rtl/menuto.prg * source/rtl/xsavescr.prg * source/rtl/setkey.prg * source/rtl/inkey.c +Fixed some see also references for the Norton Guide +Added documentatio to KEYBOARD and SET FUNCTION and SET KEY COMMAND * source/rtl/fileysys.c * source/rtl/array.c + Updated docs for FCLOSE() FCREATE() FERASE() FERROR() ACLONE() ACOPY() AEVAL() * source/rtl/readkey.prg * source/rtl/readvar.prg * source/rtl/setfunc.prg +Added the documentation to this functions since was accidentaly deleted 20000101-22:50 GMT+3 Luiz Rafael Culik * doc/funclist.txt +Update some function status * source/rdd/dbcmd.c +Added to missing documentation of __dbzap() and OrdCondSet() * source/rtl/FileSys.c + doc for FOPEN() + doc for FCLOSE() + doc for FWRITE() + doc for FSEEK() + doc for FREAD() + doc for FILE() + doc for FREADSTR() + doc for FRENAME() + doc for FERROR() + doc for RENAME + doc for ERASE 20000101-07:18 GMT+3 Luiz Rafael Culik * source/rdd/dbcmd.c * source/rtl/alert.prg * source/rtl/browdb.prg * source/rtl/input.prg * source/rtl/asort.prg * source/rtl/text.prg * source/rtl/browse.prg * source/rtl/dbedit.prg * source/rtl/devoutp.prg * source/rtl/dircmd.prg * source/rtl/dummy.prg * source/rtl/errorsys.prg * source/rtl/fieldbl.prg * source/rtl/harbinit.prg * source/rtl/menuto.prg * source/rtl/xsavescr.prg * source/rtl/memvarbl.prg * source/rtl/objfunc.prg * source/rtl/readkey.prg * source/rtl/readvar.prg * source/rtl/setfunc.prg * source/rtl/setkey.prg * source/rtl/setta.prg * source/rtl/tbcolumn.prg * source/rtl/tbrowse.prg * source/rtl/tclass.prg * source/rtl/terror.prg * source/rtl/tget.prg * source/rtl/tgetlist.prg * source/rtl/wait.prg * source/rtl/adir.prg * source/rtl/achoice.prg * source/rtl/arrays.c * source/rtl/break.c * source/rtl/codebloc.c * source/rtl/console.c * source/rtl/descend.c * source/rtl/dir.c * source/rtl/do.c * source/rtl/empty.c * source/rtl/hardcr.c * source/rtl/initexit.c * source/rtl/inkey.c * source/rtl/len.c * source/rtl/memvars.c * source/rtl/mtran.c * source/rtl/natmsg.c * source/rtl/pcount.c * source/rtl/pvalue.c * source/rtl/set.c * source/rtl/tone.c * source/rtl/type.c * source/rtl/valtype.c * source/rtl/word.c * source/rtl/xhelp.c * source/tools/nconvert.prg * source/tools/io.c Fixed the documentation to make the ng linker happy and added docs for the arrays.c and dbcmd.c 20000101-00:00 GMT+1 Patrick Mast - doc/harbour.ng The NG files will be downloadable via the web site. 19991231-13:00 GMT+1 Ryszard Glab *source/rtl/memvars.c * new function hb_memvarGetStrValuePtr() that return a value of passed variable if this variable exists and if it contains a string value (the function is called from macro text substitution) *include/extend.h * added declaration for hb_memvarGetStrValuePtr() * added declaration of hb_macroTextValue() *source/vm/hvm.c * added code to handle macro text substitution "text ¯o" *source/macro/macro.c * added code to handle macro text substitution 19991231-06:15 GMT+1 Antonio Linares * source/rtl/gt/gtwin.c * fix for a Win API wrong parameter call detected using NuMega BoundsChecker 19991230-19:28 GMT+1 Patrick Mast + doc/harbour.ng (Luiz Rafael Culik) 19991230-08:22 GMT+2 Chen Kedem * source/rtl/text.prg + doc for __TextSave() + doc for __TextRestore() * source/rtl/xsavescr.prg + doc for __XSaveScreen() + doc for __XRestScreen() * doc/funclist.txt * BROWSE() marked as S (not yet ready, missing EDIT mode) 1999-12-29 19:00 EDT David G. Holm * doc/gmake.txt + Added mention of -DHARBOUR_USE_CRS_GTAPI and -DHARBOUR_USE_SLN_GTAPI for os2/gcc and linux/gcc. * tests/boxtest.prg ! Changed function name from test() to main(), because of limitations with some versions of Harbour, such as MingW32. * tests/Makefile ! Moved tstprag.prg from PRG_SOURCES to BAD_PRG_SOURCES. * tests/readhrb.prg ! Added error checking after attempting to open the source HRB file, because otherwise the program attempts to display a very large random number of bytes from a file handle that doesn't exist, resulting in what appears to be an infinite loop. * tests/tstprag.prg ! Added // NOTEST as first line in this test program that won't compile. 19991227-08:30 GMT+2 Chen Kedem * source/rtl/readvar.prg + doc for READVAR() * source/rtl/setfunc.prg + doc for __SetFunction() 19991227-00:36 GMT+1 Antonio Linares * Updated tests/bld_b32w.bat 1999122605:51 GMT+1 Antonio Linares * Updated makefile.b32 + Added hbfsapi and hbtrace modules 19991223-16:35 GMT+1 Ryszard Glab *include/hbexpr.c *source/compiler/expropt.c *source/compiler/harbour.y * fixed compiler parse error on aliased macro expressions M->&( expression ) 19991222-18:20 GMT+1 Ryszard Glab *include/hbexpr.c *source/compiler/expropt.c * fixed generation of pcodes for aliased expressions used in a statement context (the previously selected workarea is popped from the eval stack instead of swapping) 19991220-18:42 GMT+1 Chen Kedem * source/rtl/menuto.prg + doc for __AtPrompt() + doc for __MenuTo() I'm looking at v1.14 and the following are wrong: ! __AtPrompt() : nCol <--> nRow (switch names, not places) (Uploaded by Victor Szel) Mon Dec 20 13:49:01 1999 Gonzalo A. Diethelm * source/rdd/dbcmd.c: * source/rtl/classes.c: Fixed two minor warnings. 19991219-14:35 GMT+1 Ryszard Glab *source/compiler/harbour.l * fixed recognition of 'DO &var WITH' syntax 19991219-15:55 GMT+3 Alexander Kresin * source/pp/hbpp.c * Bug fixed, reported by Victor Szel 19991218-18:25 GMT+1 Ryszard Glab *include/hbexpr.c * static variables can be initialised with arrays that contains parenthesized epressions e.g. STATIC a:={ (1) } * fixed code that handles aliased macro expressions e.g. FIELD->&var1 := var2 19991218-10:35 GMT+1 Victor Szel * source/rtl/objfunc.prg source/rtl/readkey.prg + Added documentation by Chen Kedem. * source/compiler/cmdcheck.c ! Fixed handling of the /q0 switch. (Provided by Jose) 19991217-16:40 EDT David G. Holm * config/os2/icc.cf + I added the /NOIGNORECASE option to both the librarian and the linker, because C++ can't tell the difference between 'int hb_pcount( void )' and 'HARBOUR HB_PCOUNT( void )' unless a case-sensitive link is used. This requires rebuilding all of Harbour if you are using OS/2 and the IBM C++ compiler (i.e., make -r clean). 19991216-15:50 GMT+1 Bruno Cantero * include/extend.h + Added a new item type: IT_POINTER ( USHORT ) 0x0001 + Added two defines: #define IS_POINTER( p ) IS_OF_TYPE( p, IT_POINTER ) #define ISPOINTER( n ) ( hb_param( n, IT_POINTER ) != NULL ) + Added two prototypes: extern HB_MACRO_PTR hb_macroCompile( char * ) extern void hb_macroDelete( HB_MACRO_PTR ) * include/itemapi.h + Added two prototypes for manipulate items (IT_POINTER): extern void * hb_itemGetPtr( PHB_ITEM ); extern PHB_ITEM hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) * source/rtl/itemapi.c + Added two functions for manipulate items (IT_POINTER): void * hb_itemGetPtr( PHB_ITEM ); PHB_ITEM hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) * source/macro.c * Removed static declaration from static void hb_macroDelete( HB_MACRO_PTR ) * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c + Added code to OrdCreate() function. 19991215-19:46 GMT+1 Antonio Linares * source/rtl/classes.c * Fixed inheritance of error handlers 19991215-12:32 GMT+1 Antonio Linares * source/rtl/classes.c + Added a new function __GetMessage() to retrieve the message name from a Class error handler. * tests/testcls.prg * enhanced showing the use of __GetMessge() 19991215-12:09 GMT+1 Antonio Linares + added common.b32 provided by Jose Lalin * tests/bld_b32.bat a %2 extra parameter is accepted. i.e.: bld_b32 hello /p 19991215-13:35 GMT+3 Alexander Kresin * source/pp/hbpp.c * Bug fixed, reported by Victor Szel 19991215-09:34 GMT+1 Antonio Linares * include/hbclass.ch * ERROR HANDLER and ON ERROR METHODs defined (they are equivalent) * include/hboo.ch * new define HB_OO_ONERROR * source/rtl/tclass.prg * added new DATA nOnError * added new METHOD SetOnError() * source/rtl/classes.c * added new struct CLASS member pFunError * modified hb_objGetMethod() to return pFunError if defined and not msg found * modified HB___CLSADDMSG() to support defined Class error handler if defined + tests/testcls.prg * new sample testing first ON ERROR working prototype 19991214-14:55 EDT David G. Holm * config/dos/dir.cf * config/linux/dir.cf * config/os2/dir.cf * config/w32/dir.cf + Don't set up a directory rule if only compiling one module (for (example, when using 'make -r PM=rtfclass' in the tests directory), because that module should be in the current directory and there is no need to compile some module with the same name in a subdirectory. * tests/regress/Makefile + Added a default setting for HB_MAIN = std, because the IBM C++ linker can't pull the 'main' module out of a library file. 19991212-13:45 EST Paul Tucker * tests/bld_vc.bat + ..\lib\vc\macro.lib 19991212-13:25 EST Paul Tucker * makefile.vc + source/macro/* 19991212-16:28 GMT+1 Victor Szel * source/runner/stdalone/Makefile ! Fixed lib order. * tests/regress/rt_hvm.prg + Added some tests, commented out for Harbour. * *.b32 make_b*.bat tests/bld_b*.bat ! New versions by Jose Lalin. 19991212-13:55 GMT+1 Ryszard Glab *source/compiler/harbour.c *source/macro/macro.c * removed duplicated check if a reserved name was used *source/macro/macro.c *include/hbexpr.c *include/compiler.h * removed 'IsFunction' parameter of hb_compGenPushSymbol that is no longer needed. 'hb_compGenPushSymbol()' should push any symbol without checking, the check for reserved function name is done in hb_compGenPushFunCall() *source/compiler/harbour.l *source/macro/macro.l * removed duplicated check if a reserved name was used * restored support for ¯o[ index ] syntax *include/extend.h * added missing declaration of hb_macroRun() function * moved here the definition of HB_MACRO structure *include/macro.h * the definition of HB_MACRO structure moved to extend.h *include/expropt.h * the definition of HB_CBVAR structure moved to extend.h *source/vm/hvm.c *source/macro/macro.c *include/extend.h * added partial support for macro function call &var() or DO &var (partial because a simple function name is allowed only - there is no support for nested macros and complex macros) *source/macro.y * added #undef __GNUC__ as a workaround of bison.simple bug in yyparse() declaration 19991211-15:55 GMT+1 Ryszard Glab *include/hbexpr.c * this is expropt.c moved from source/compiler and renamed *source/compiler/expropt.c * dummy file that includes hbexpr.c file *source/macro/macro.c * includes "hbexpr.c" now instead of "../source/compiler/expropt.c" * added hb_macroCompile( char * ) function for compilation of passed string. It can be used together with hb_macroRun() in database index key evaluation * added support for macro-compiled codeblocks * added tracing headers *source/macro/macro.y *source/vm/hvm.c *source/rtl/codebloc.c * added support for macro-compiled codeblocks * restored %pure_parser option :) *source/macro/macro.l * added tracing headers *include/extend.h * changed declaration of hb_macroGetValue/hb_macroSetValue - there is no need to pass a local symbol table pointer - macro compiled code uses dynamic symbol table only. 19991211-14:51 GMT+1 Victor Szel * source/compiler/harbour.y + Missing #include added. * source/vm/hvm.c source/vm/cmdarg.c include/extend.h + Added //BUILD internal command line switch. * Internal command line switch check moved to cmdarg.c from hvm.c. Contribution by Jose Lalin * source/rtl/harbinit.prg + Added documentation by Chen Kedem. * source/compiler/cmdcheck.c * Some functions put under a separate copyright holder (unkown BTW). * source/common/reserved.c * Reapplied some minor changes. ( I could not test any of these, since I cannot build Harbour right now ) 19991211-12:47 GMT+1 Antonio Linares * updated makefile.b32 for reserved.c file. 19991211-09:17 GMT+1 Antonio Linares + new source/vm/maindll.c (entry point for Windows DLLs) * hb_vmInit() call uses a FALSE parameter. * source/vm/hvm.c * hb_vmInit( BOOL bStartMainProc ) modification * source/vm/mainstd.c * hb_vmInit() call uses a TRUE parameter. * source/vm/mainwin.c * hb_vmInit() call uses a TRUE parameter. * updated makefile.b32 for maindll.c file. * include/ctoharb.h * modified hb_vmInit() prototype. Tested. Seems to work fine. 19991209-23:04 GMT+1 Antonio Linares * updated makefile.b32 * updated hbclass.ch (first step towards classes missing messages routing method) 19991209-17:10 GMT+1 Ryszard Glab *config/rules.cf * YACC_FLAGS and LEX_FLAGS can be set in local Makefile - this local settings will be added to the global ones * include/compiler.h * include/expropt.h * moved declarations related to expression optimizer into expropt.h which is used also at runtime library * added support for macro generation *source/compiler/harbour.c * removed some functions that were no longer used * fixed recognition of static and memvar variables for which function-wide declaration owerwrites file-wide declaration e.g. STATIC myvar FUNCTION MyTest() MEMVAR myvar *source/compiler/genc.c *source/compiler/genhrb.c *source/compiler/genjava.c * updated to support new macro related opcodes * include/hberrors.h * source/compiler/hbgenerr.c * added new errors ERR_BAD_MACRO (declared variable in macro) ERR_INVALID_SEND (macro operator with send operator) *source/compiler/harbour.l * '.' character is correctly passed to grammar analyzer * moved here all rules for a macro variable use recognition *source/common/Makefile *source/common/reserved.c * file with function and date used to check for reserved functions name NOTE: All non GNU-Make scripts should be updated! * include/ctoharb.h * added declaration of hb_stackPop() function *source/vm/hvm.c * changed visibility of hb_stackPop() function (static -> global) * added code related to macro generation and evaluation *source/macro/ *source/macro/macro.c *source/macro/macro.l *source/macro/macro.y *source/macro/Makefile *include/macro.h * new files used for macro generation and evaluation * macro compiler supports now: + macro variables: &var1 := &var2 * not supported yet (there is a proper pcode generated only - there are no actions in the virtual machine) - text substitution: "text ¯o" - function calls: ¯o() - aliased macro variables: ¯o->var and alias->&var - macro-compiled codeblocks NOTE: All non GNU-Make scripts should be updated! NOTE: source/macro/macro.c file includes source/compiler/expropt.c I didn't found other method of reusing the expropt.c. Unfortunately the code in expropt.c differs a little if used from macro compiler (it uses a local variable that holds the compilation state instead of global variables) *source/compiler/expropt.c * added support for macro pcode generation and macro compilation NOTE: this file is included by macro.c *include/pcode.h * added pcodes used in macro generation and macro evaluation *source/runner/stdalone/Makefile *tests/Makefile *tests/regress/Makefile *samples/cccppc/Makefile *samples/guestbk/Makefile *samples/hscript/Makefile *samples/misc/Makefile *samples/pe/Makefile * 'macro' library added *source/compiler/cmdcheck.c * replaced strupr with hb_strupr NOTE: All PRG sources HAVE TO be recompiled!!! NOTE: Add macro.lib to all non-GNU make scripts or batch files. 19991209-01:05 GMT+1 Victor Szel * source/compiler/* include/compiler.h + Additional function renaming (prefixing with hb_comp), some functions moved to other files. Declarations fixed, some static vars prefixed with s_. Some functions made static, some declaration moved to compiler.h. hb_Chk*() -> hb_compChk*() Print*() -> hb_compPrint*() Gen*() -> hb_Gen*() PCODE_CHUNK -> HB_PCODE_CHUNK harbour_main() -> hb_compYACCMain() Include() -> hb_compInclude() hb_compCheckPaths() -> Moved to cmdcheck.c AddSearchPath() - Moved to cmdcheck.c and made static. etc... 19991208-18:06 GMT+1 Victor Szel * bin/bld_tpl.bat bin/bld_tpl.cmd ! common lib moved to the end of the cmdline. * tests/db_brows.prg + @ CLEAR TO uncommented. * source/rtl/errorsys.prg % Some optimizations made. * source/compiler/Makefile * Updated for compiler source split. 19991208-18:06 GMT+1 Jose Lalin * include/compiler.h + typedef enum LANGUAGES + source/compiler/hbusage.c + void PrintUsage() + void PrintCredits() + New function added void PrintLogo() ! Typo at www.harbour-project.com changed to www.harbour-project.org + source/compiler/hbpcode.c + void hb_compGenPCode1() + void hb_compGenPCode3() + void hb_compGenPCodeN() + source/compiler/hbfunchk.c + struct FUNCINFO -> HB_FUNCINFO + static FUNCINFO _StdFun -> hb_StdFunc[] + void hb_compFunCallCheck() Added a #if defined( HARBOUR_STRICT_CLIPPER_COMPATIBILITY ) to use the Cl*pper way of showing errors or the Harbour's one. ! source/compiler/harbour.c - Moved PackDateTime() to hbcmdchk.c - Removed SwitchCmp() - Errors/Warnings tables moved to hbgenerr.c - hb_compGenError/Warning() moved to hbgenerr.c - moved all HB_EXPR_PTR hb_compError...() and HB_EXPR_PTR hb_compWarn...() to hbgenerr.c ! Changed prototypes of Print...() functions to extern + Some blocks changed into new functions: + hb_compInitVars() + hb_compGenOutput() + hb_compCheckPaths(); + hb_compOutputFile(); + Added prototypes for the new functions ! Some local variables made global: ! s_pOutPath -> hb_comp_pOutPath ! s_bCredits -> hb_comp_bCredits ! s_bLogo -> hb_comp_bLogo ! s_bSyntaxCheckOnly -> hb_comp_bSyntaxCheckOnly ! s_iLanguage -> hb_comp_iLanguage This change make them visible to the new module hbcmdchk.c and pragma directive. ! Minor formatting ! Some typos fixed + Optimized two functions: % hb_compGenPushLogical() and % hb_compGenPushFunCall (NOTE: Check them, please) + source/compiler/hbcmdchk.c + Compiler command line checking + hb_ChkCompilerSwitch() + hb_ChkEnvironVar() + hb_ChkCompileFileName() + New HARBOURCMD/CLIPPERCMD environment support + source/compiler/hbgenerr.c + char * hb_comp_szErrors[] + char * hb_comp_szWarnings[] + void hb_compGenError() void hb_compGenWarning() + Added all HB_EXPR_PTR hb_compError...() functions + Added all HB_EXPR_PTR hb_compWarn...() functions * makefile.b32 + source/compiler/cmdcheck.c + source/compiler/hbfunchk.c + source/compiler/hbgenerr.c + source/compiler/hbpcode.c + source/compiler/hbusage.c ! WARNING ! Update other makefiles and rebuild all (Uploaded by Victor Szel) 19991208-01:59 GMT+1 Victor Szel * source/rtl/arrays.c + Added C53 compatible error message to ASIZE() ! Fixed a bug in ACOPY() which was also fixed in CA-Cl*pper 5.3a, this was previously implemented then removed as STRICT mode. Note that there's still a small anomaly left in ACOPY(). * tests/regress/rt_array.prg ! Fixed the expected result for ASIZE() (w/o param) * Changed expected results for some ACOPY() tests. * source/rtl/errorsys.prg + EG_OPEN and EG_APPENDLOCK errors are handled in the Clipper way. * source/rtl/errorsys.prg + ERRORSYS() documentation by Chen Kedem added * source/rtl/fieldbl.prg + FIELD*BLOCK() documentation by Chen Kedem added 19991207-20:25 GMT+3 Alexander Kresin * source/pp/hbpp.c * some changes, related to '@ ... clear to ...' problem Tue Dec 07 12:42:30 1999 Gonzalo A. Diethelm * source/rdd/dbcmd.c: Got rid of two warnings about unused variables. 19991207-16:29 GMT+1 Victor Szel * tests/regress/* ! SQRT(3) expected result fixed. ! Date() calls in test lines changed to constant dates. (Both fix thanks to Plamen Ivanov ) + 19800101 changed to 19840325 to better test handling of date parts. * doc/hdr_tpl.txt + $FILES$ entry added. * source/rtl/dbedit.prg + DBEDIT() documentation by Chen Kedem added * source/rtl/extend.c ! Updated TRACE call for hb_pardsbuff() * include/hbpp.h - Removed two compiler variable declarations. * source/common/hbstr.c % Minor code cleanup. * source/rtl/alert.prg ! Chr(13)+Chr(10) changed to hb_OSNewLine(). ! Fix in the ALERT() $DESCRIPTION$. (Both fix thanks to Chen Kedem) * source/rtl/dircmd.prg + __DIR() documentation by Chen Kedem added * source/rtl/adir.prg ! Fixed $EXAMPLE$, aSize( var, x ) would result in a RT error, since var is NIL at this point, changed to var := Array( x ), $SEEALSO$ changed accordingly. 19991205-14:22 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c + Added dbSeek(), IndexOrd(), ordSetFocus(), ordFor(), ordKey(), ordNumber(), ordName() and ordBagName() functions. * source/rtl/dummy.prg - Removed dbSeek(), IndexOrd(), ordSetFocus(), ordFor(), ordKey(), ordNumber(), ordName() and ordBagName() functions. 19991204-17:22 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c + Added ordBagExt(), ordListAdd() functions. * source/rtl/dummy.prg - Removed ordBagExt(), ordListAdd() functions. 19991204-13:15 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c + Begining with ordCondSet(), ordCreate(), ordDestroy(), ordListClear() and ordListRebuild(). * source/rtl/dummy.prg - Removed ordCondSet(), ordCreate(), ordDestroy(), ordListClear() and ordListRebuild() functions. 19991203-15:18 GMT+1 Jose Lalin * source/pp/hbpp.c ! Bug fixed in #error directive. Changed 'F' for 'E' type in hb_compGenError call. Now Harbour continues compilig when this directive is found like CA-Cl*pper. (Uploaded by Victor Szel) 19991203-15:18 GMT+1 Victor Szel * doc/hdr_tpl.txt + $PLATFORMS$ entry added. 19991203-15:11 GMT+1 Victor Szel * tests/regress/* + Added functionality to test database/field stuff. Alias is w_TEST + Added Len(), ValType(), Empty(), Str() tests for fields, all of them pass. - Removed NIL:classname tests temporarily. * include/extend.h ! IT_MEMO constant fixed (it was equal with IT_NIL). + IS_MEMO() macro added. * source/rtl/valtype.c source/rtl/len.c source/rtl/empty.c ! Fixed case when no parameter was passed (via hb_vmDo() for example) + Added an $EXAMPLE$ for LEN() + Changed $SYNTAX$ for LEN() + Added some $SEEALSO$ for LEN() * Changed LEN() not to use internal ITEM access. 19991203-02:25 GMT+1 Victor Szel * source/rdd/dbcmd.c + DBEVAL() doc added from dbeval.prg ! Error codes fixed in DBEVAL() % Some optimization made in DBEVAL() * source/rdd/Makefile - source/rdd/dbeval.prg rdd.b32 makefile.vc - old bad_DBEVAL() removed * include/hbextern.ch source/runner/stdalone/external.prg ! PVALUE -> HB_PVALUE 19991202-18:00 GMT+1 Bruno Cantero * source/rdd/dbeval.prg * Function dbEval() renamed to Bad_dbEval() * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c doc/funclist.txt + Added dbEval() function. 19991202-01:45 EST Paul Tucker * makefile.vc + source/rtl/break.c + source/rtl/empty.c + source/rtl/initexit.c + source/rtl/len.c + source/rtl/pcount.c + source/rtl/proc.c + source/rtl/pvalue.c + source/rtl/type.c + source/rtl/valtype.c + source/rtl/word.c + source/rtl/xhelp.c 19991202-00:54 GMT+1 Victor Szel * source/rtl/Makefile + New files added to the GNU make system. * source/rtl/pvalue.c tests/multiarg.prg * HB_ prefix added to the PVALUE() function name. 19991202-00:54 GMT+1 Jose Lalin * source/rdd/dbnubs.c ! Warnings fixed. * source/vm/hvm.c - Removed all of this functions. + source/rtl/break.c + HARBOUR HB_BREAK( void ) + source/rtl/empty.c + HARBOUR HB_EMPTY( void ) % Added support for MEMO type. + source/rtl/initexit.c + HARBOUR HB___QUIT( void ) + source/rtl/len.c + HARBOUR HB_LEN( void ) % Added support for MEMO type. + source/rtl/pcount.c + HARBOUR HB_PCOUNT( void ) + source/rtl/proc.c + HARBOUR HB_PROCNAME( void ) + HARBOUR HB_PROCLINE( void ) + HARBOUR HB_PROCFILE( void ) + source/rtl/pvalue.c + HARBOUR HB_PVALUE( void ) + source/rtl/type.c + HARBOUR HB_TYPE( void ) + source/rtl/valtype.c + HARBOUR HB_VALTYPE( void ) % Added support for MEMO type. + source/rtl/word.c + HARBOUR HB_WORD( void ) + source/rtl/xhelp.c (it should go to harbinit.prg) + HARBOUR HB___XHELP( void ) * All of them: + Added License agreement. + Added documentation. + Formatting * makefile.b32 + Updated with this new modules. ! WARNING ! Remember to update other makefiles. * rdd.b32 + Added dbeval.prg * doc/pragma.txt ! Some typos fixed. ! Formatting. (Uploaded by Victor Szel) 19991130-04:30 EST Paul Tucker * source/pp/hbpp.c * added a cast on xgrab call. 19991130-01:55 GMT+1 Victor Szel * tests/regress/rt_trans.prg + ~200 TRANSFORM() regression tests added, 43 of them fail. 19991130-01:28 GMT+1 Victor Szel * tests/regress/rt_str.prg + More VAL() regression tests added, 15 of them fail. 19991130-00:13 GMT+1 Victor Szel * source/rtl/browse.prg + Documentation by Chen Kedem added ! Unused .ch files removed. 19991129-22:22 GMT+1 Victor Szel * source/compiler/harbour.c include/compiler.h * HB_EXITLEVEL_* constants moved to the central header file. * source/rtl/alert.prg source/rtl/asort.prg ! Minor fixes. * include/hbdefs.h ! HB_HANDLE - LONG -> ULONG, to suppress Borland warning in memvars.c * source/rtl/memvars.c ! cast added to suppress Borland warning. * source/pp/stdalone/hbpp.c source/pp/hbpplib.c + Dummy compiler flag variables added for #pragma support. * source/rtl/trace.c - Copyright removed. 19991129-22:22 GMT+1 Jose Lalin * source/pp/hbpp.c + Added support for #pragma directives Now we can include compiler settings inside PRG's * include/hberrors.h + Added new #define ERR_PRAGMA_BAD_VALUE + tests/tstprag.prg tests/Makefile + New test for pragma directives + doc/pragma.txt + a bit of info on Harbour pragmas implementation (Uploaded by Victor Szel) Mon Nov 29 12:45:05 1999 Gonzalo A. Diethelm * include/hbtrace.h: * source/common/hbtrace.c: * source/rtl/trace.c: * doc/tracing.txt: Modified the run-time trace interface functions, to simplify this interface. Now there are just two C functions: current_state = hb_tracestate(new_state); current_level = hb_tracelevel(new_level); and just two Clipper functions: current_state := HB_TRACESTATE( [new_state] ) current_level := HB_TRACELEVEL( [new_level] ) Both check their argument, so passing a -1 to any of them will return the appropriate current setting without modifying it. 19991128-22:24 GMT+1 Victor Szel * source/rtl/asort.prg source/rtl/browdb.prg + Documentation by Chen Kedem added * include/extend.h ! ISNIL() macro fixed. * source/rtl/dbeval.prg source/rtl/alert.prg * Small corrections. 19991127-15:57 EDT Paul Tucker * source/rdd/dbeval.prg * ISNUM() -> ISNUMBER * makefile.vc + dbeval.prg 19991127-15:57 EST Paul Tucker * Clipper does _not_ quit if //noalert is specified and alert() is called. * source/rtl/alert.prg * if s_lNoAlert RETURN NIL // Don't quit! * updated comment in __NoNoAlert() * source/rtl/errorsys.prg * check for empty( nChoice ) in case alert returns nil. 19991127-20:42 GMT+1 Victor Szel * source/rtl/dummy.prg + source/rdd/dbeval.prg source/rdd/Makefile + DBEVAL() function by Luiz Rafael Culik added. ! WARNING ! Please add it to non-GNU makefiles. ! Fixed next parameter handling for indexed tables. ! Fixed nRecord = 1 situtation. + Added Clipper compatible error handling. + Added TODO (optimizing, C rewrite). - Removed locking feature. * Formatted. % Slightly optimized. - Extensions removed. + tests/dbevalts.prg tests/Makefile + DBEVALTS.PRG added. * source/rtl/copyfile.c source/vm/hvm.c source/vm/mainwin.c source/tools/hb_f.c ! Borland warnings fixed. 19991127-17:25 GMT+1 Victor Szel * source/rtl/alert.prg + Documentation by Chen Kedem added + Added SPACE key handling for GT mode. ! Fixed autodelay after a LEFT/RIGHT key. ! Fixed ENTER/LEFT/RIGHT key handling in console mode. ! SAY/BOX converted to DispBox()/DispOutAt() * source/rtl/adir.prg + Documentation by Chen Kedem added * source/pp/* source/common/hbfsapi.c ! Some Borland warnings fixed. 19991126-12:00 WIB Andi Jahja * tests + hversion.prg - List version of Harbour source codes + entries.ini - File list for hversion.prg to work 19991126-01:11 GMT+1 Jose Lalin * source/rtl/input.prg + documented * source/rtl/wait.prg + documented * source/rtl/setta.prg + documented There is an error in $STATUS$ in the following functions. They are marked as "C" but they should be marked as "R". Some typos fixed. * source/rtl/console.c ! HB_Osnewline * source/rtl/descend.c * source/rtl/hardcr.c * source/rtl/inkey.c ! __Keyboard, also bad name in $COMPLIANCES$ ! __Keyput ! Nextkey, also bad name in $COMPLIANCES$ ! Lastkey, also bad name in $COMPLIANCES$ * source/rtl/mtran.c * source/rtl/strings.c ! HB_Valtostr * source/rtl/natmsg.c ! IsAffirm ! IsNegative ! NationMsg, also bad name in $COMPLIANCES$ * source/rtl/devoutp.prg * source/rtl/setkey.prg ! SetKey ! SetKeyGet ! SetKeySave ! SetKeyCheck (Uploaded by Victor Szel) 19991126-01:06 GMT+1 Victor Szel * source/rtl/gt/gtwin.c % DispBegin()/DispEnd() switching code optimized. The only "stepback" is that now the second screen buffer gets allocated right at the startup and not at the first DispBegin() call. ! DispBegin() now hides cursor as in Clipper. * source/rtl/set.c ! One value changed to BOOL. * source/rtl/trace.c + Added HB_ prefix to the nonstandard Clipper function names. % Optimized one function. ! Fixed indentation level. * source/common/hbtrace.c include/hbtrace.h + Some new interface added (to query enabled state for example) * Trace code variable scopes and code optimized. * Variable naming and formatting. Wed Nov 24 12:45:36 1999 Gonzalo A. Diethelm * include/hbtrace.h: * source/common/hbtrace.c: * source/rtl/trace.c: * source/rtl/Makefile: * doc/tracing.txt: Implememted run-time tracing control; thanks to Jose Lalin for suggesting this. The interface is described in doc/tracing.txt. * source/rdd/dbf1.c: Fixed a compilation error that only appeared with HB_TR_DEBUG. * source/rtl/inkey.c: Added a guard to avoid a compilation warning. * tests/Makefile: Changed the order of inclusion to make sure you can still do a make 'PRG_SOURCES=foo.prg'. 19991123-13:35 EDT David G. Holm * rt_misc.prg + Corrected comments regarding Nation functions to specify if they apply to the US or International editions of CA-Clipper 5.2e. 19991123-01:09 GMT+1 Victor Szel * source/rtl/math.c + math error handler added for __BORLANDC__ and __MINGW32__ I could not find a way to test these error though. 19991123-00:29 GMT+1 Victor Szel * tests/regress/* + Split rt_str into rt_str + rt_trans. ! Typo fixed in Clipper batch file. ! Fixed another long function name (Main_STRINGS() -> Main_STR()) * make_b32.bat make_b40.bat makefile.b32 regress.b32 * Updates by Jose Lalin. 19991122-23:43 GMT+1 Victor Szel * tests/regress/rt_hvm.prg tests/regress/rt_misc.prg + Enabled some tests which will make the VM die. (NIL:Classname) ! Disabled some tests for Clipper which return trash. * source/pp/hbpp.c * Minor formatting (static declaration moved first). 19991122-17:10 EDT David G. Holm * rt_misc.prg + Added a comment that Nations functions don't exist in CA-Clipper 5.2e. ! Added #infdef __CLIPPER__ around Nationmsg(200) test, which causes a GPF with CA-Clipper 5.3b (with Exospace). + Changed comments to indicate IsAffirm() and IsNegative() GPF with CA-Clipper 5.3b (with Exospace) (they don't even exist in 5.2e). 19991122-16:45 EDT David G. Holm * make_c5x.bat ! Added optional parameter to create a protected mode version of RT_MAIN (the absence of a parameter forces the use of RTLink, while the presence of a parameter forces the use of Exospace). * rt_main.prg * rt_str.prg % Changed Comp_STRINGS() to Comp_Str() and Exact_STRINGS() to Exact_Str() in order to allow direct comparison of Clipper and Harbour results (Clipper cuts names off after 10 characters). 19991122-17:25 GMT+1 Ryszard Glab * source/compiler/harbour.y * fixed incorrect error generation if empty lines were placed between DO CASE statement and the first CASE statement 19991122-16:12 GMT+1 Victor Szel * source/common/hbstr.c include/extend.h + hb_strdup() function added. + hb_strupr() corrected to return a pointer. * source/pp/hbpp.c source/pp/stdalone/hbpp.c include/hbpp.h % hb_pp_strodup() -> hb_strdup() - hb_pp_strodup() removed. * source/compiler/harbour.* source/compiler/genc.c include/compiler.h % yy_strupr() -> hb_strupr() % yy_strdup() -> hb_strdup() - Removed redundant function declarations (yy_*, hb_x*()) - yy_strdup(), yy_strupr() removed. 19991122-15:03 GMT+1 Victor Szel * source/pp/hbppint.c ! .PPO file generation fixed (/p was not working since yesterday). * include/hbpp.h include/compiler.h % Some redundant function declaration removed. * include/hbpp.h * Sorted out the inclusion of "compiler.h", to make things clearer. * source/pp/hbpp.c include/hbpp.h * Some hb_comp_ variable usage better isolated. 19991122-12:46 GMT+1 Victor Szel * source/compiler/expropt.c include/compiler.h ! Fixed optimizatoin of: ( 1 / 0 ) * Some "unsigned char" types changed to BYTE + tests/regress/make_c5x.bat tests/regress/rt_main.prg + Make file for Clipper 5.x added. ! Fixed to compile with Clipper 5.x. * tests/regress/rt_hvm.prg + New optimization tests added. * source/vm/hvm.c ! Minor formatting. 19991122-11:56 GMT+1 Victor Szel + tests/regress/* + regress.b32 - tests/rtl_test.prg * tests/Makefile * make_b32.bat * make_b40.bat + RTL_TEST split into multiple files, placed into a separate subdirectory. Thanks go to Jose Lalin for the splitting ! ; PP needs to be enhanced to support code in header files, in order to elminate duplicated code from the current version. 19991122-11:35 GMT+1 Ryszard Glab *source/compiler/harbour.y * fixed line numer generation in FOR/NEXT statement * all expressions used in FOR/NEXT are correctly deleted *source/compiler/expropt.c * the alias symbol is correctly pushed in alias expressions alias->( expression ) *include/extend.h *source/compiler/expropt.c *source/vm/hvm.c * double values created during compile time divide optimization uses unspecified number of decimal places (defined as HB_DEFAULT_DECIMALS) - this value replaced at runtime by current SET DECIMALS setting 19991122-10:37 GMT+1 Antonio Linares * makefile.b32 updated * hbpp.b32 updated 19991122-19:50 EDT Paul Tucker * makefile.vc + hbstr and hbfsapi 19991122-01:33 GMT+1 Victor Szel * source/hbpplib.c ! Standard runtime error is launched from the library version of the preprocessor. 19991122-01:14 GMT+1 Victor Szel * source/compiler/* include/compiler.h * Renamed two global variables hb_comp_szCErrors -> hb_comp_szErrors hb_comp_szCWarnings -> hb_comp_szWarnings * include/hbsetup.h include/hbpp.h * IS_OPT_SEP() macro renamed to HB_ISOPTSEP() and moved to the right place. * source/pp/* include/hbpp.h source/compiler/harbour.l source/compiler/harbour.c * Variable renaming, prefixing, scope optimizing. * Global functions prefixed with * Some ints changed to BOOL. ! Non-ANSI comment removed. % stroupper() changed to hb_strupr(), stroupper() removed. % strolen() changed to strlen(), strolen() removed. + source/common/hbstr.c (added) source/rtl/strings.c * hb_strupr() moved to the common library. % hb_strupr() Local variable optimized out. 19991121-23:23 GMT+1 Victor Szel * source/pp/* include/hbpp.h ! static variables and functions marked static (continued). ! public pp variables prefixed with "hb_pp_". % pp_strAt() removed and calls replaced with common hb_strAt() function. * Cleaned up standard header file usage. (Please report any errors caused by this.) * static variables prefixed with "s_". * source/compiler/harbour.c source/compiler/harbour.y include/compiler.h source/pp/hbppint.c * Two PPO related variable declarations moved to the compiler. 19991121-22:38 GMT+1 Victor Szel * source/pp/* source/compiler/harbour.c include/hbpp.h ! static variables and functions marked static. * Cleared up declarations, removed redundant declartions. * Some formatting. * source/pp/hbpp.c ! Some corrections made to better handle where the code launcher returns to the caller. This is a theoretical case, but it's more elegant to handle this case, and it would also help to avoid a jmp_buf trick in the library callable version of the PP. 19991121-17:50 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Additional feature: __dbPack( [], [] ) executes every records. 19991121-17:33 GMT+1 Victor Szel * source/compiler/expropt.c ! $ optimization fixed for strings containing Chr(0), now 4 more RTL_TESTs pass. ! "Fixed" CHR() to be bug compatible with Clipper for cases where param % 256 = 0 but param != 0. ! "Fixed" $ to be bug compatible with Clipper when an empty string is searched in a string. * tests/rtl_test.prg (not yet committed) + Some failing VAL() tests added. ! Corrected result for compiler optimized AT(), CHR() and $ operations. They now test for bug compatibility. + source/common/hbstr.c (added) source/common/Makefile source/rtl/strings.c * hb_strAt() moved to the common library. ! WARNING ! Please modify non-GNU make systems. * source/vm/hvm.c % Minor optimization in hb_vmInString() * source/pp/* ! Fixed some mistyped #undef statements related to tracing. 19991121-16:10 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c * Optimization of RDD, mentioned by Matteo and Victor. 19991121-03:19 GMT+1 Victor Szel * source/compiler/harbour.c source/compiler/harbour.y ! hb_fsName*() functions and declarations removed (again). 19991121-01:20 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * dbUseArea(), fixed two bugs mentioned by Victor. 19991120-17:28 EDT Paul Tucker * makefile.vc - hbfsapi for 19991120-14:35 GMT+1 Ryszard Glab *source/compiler/harbour.y * fixed NOT operator precedence * fixed the infinite loop when a duplicated variable error was reported * fixed '=' operator use (there was conflict between a compare and assignment context) * added new warning "Unreachable code' * fatal errors (errors for which the compilation process should terminate immediately should use 'F' prefix) * corrected logic of handling errors (the compilation can be continued with no GPF or core dump) *source/compiler/expropt.c * corrected to support 'DO procname' statement *include/compiler.h *source/compiler/harbour.y *source/compiler/harbour.c *source/compiler/expropt.c *source/compiler/genc.c *source/compiler/genhrb.c *source/compiler/genjava.c *source/compiler/genobj32.c * finished uniform naming scheme hb_comp* * cleared up declarations and visibility of functions and variables *include/hberrors.h * added new warning "Unreachable code' *source/debug/debugger.prg * removed one unreachable RETURN statement *source/pp/hbpp.c * all errors reported by the preprocesor are promoted to fatal errors ('F' prefix) 19991119-16:59 GMT+1 Antonio Linares * updated makefile.b32 * updated hbpp.b32 19991119-14:51 GMT+1 Victor Szel * source/rdd/dbf1.c source/rdd/delim1.c source/rdd/sdf1.c source/rdd/dbfcdx/dbfcdx1.c source/rdd/dbfntx/dbfntx1.c ! Guard for #pragmas changed to avoid MSVC warning. 19991119-10:02 GMT+1 Victor Szel * source/common/hbfsapi.c ! Fixes (tracing mainly), cleanups. * source/rtl/gt/gtstd.c * Minor change. (0/1 -> FALSE/TRUE) * source/pp/hbpp.c ! Fixed GPF when an #include file was not found. + Added support for #include `hello.ch' (new filename delimiters) * source/compiler/harbour.c source/compiler/harbour.y * Include() return type changed from int to BOOL. * Some cleanups in Include() * source/compiler/gen*.c * Minor formatting. 19991118-19:30 EDT David G. Holm - tests/strings3.prg * tests/Makefile - Removed strings3.prg * tests/rtl_test.prg + Added massive string comparison tests that used to be in strings3.prg. But don't feel sorry for me having to type all those lines in, because I didn't. Instead, I wrote a program based on strings3.prg that created each and every one of those TEST_LINE() lines in Comp_STRINGS() and in Exact_STRINGS(). The only problem is that Clipper can't compile the program anymore: RTL_TEST.PRG Fatal C3023 Too many labels 19991118-12:50 GMT+1 Ryszard Glab * source/vm/hvm.c * corrected code in hb_vmPopAlias() - the stack pointer was decreased before the call to hb_vmSelectWorkarea - later the error recovery code was overwriting the alias item which caused unreleased memory 19991118-06:05 EDT Paul Tucker * makefile.vc + source\common\hbfsapi.c (reported missing by Matteo) 19991118-11:35 GMT+1 Ryszard Glab *source/rtl/filesys.c * corrected support for Watcom C/C++ compiler *source/rtl/tone.c * added support for Watcom C/C++ compiler *source/rtl/gt/gtstd.c * added missing return value in hb_gt_setPos() *source/rtl/gt/gtdos.c * added Ctrl-Break handler for Watcom C/C++ compiler * changed USHORT - SHORT and (char *) to (unsigned char *) to make happy C++ compilers in hb_gt_Scroll() *source/compiler/expropt.c * restored support for expression->( expressions_list ) syntax * corrected bug in (expr .OR. .F.) and (expr .AND. .F.) optimization * corrected optimization of ( single_expr ) syntax *source/rtl/classes.c *source/rtl/arrays.c * corrected assignment of NULL to an unsigned int type - some compilers don't like it *tests/rtl_test.prg * added #ifdef __HARBOUR__ to suppres generation of errors that are now reported at compile time (array[ 0 ], IIF( "str", ...) ) 19991118-07:25 GMT+1 Victor Szel + source/common/hbfsapi.c + include/hbfsapi.h include/Makefile include/compiler.h include/hbpp.h include/filesys.h source/common/Makefile source/rtl/filesys.c source/compiler/harbour.c source/compiler/harbour.y source/pp/stdalone/hbpp.c + Rewritten the filename splitting/merging functions, now they also support drive letter (split only). + hb_fsFName*() functions moved to the common directory, so that only one copy of the functions exist (instead of three). ! WARNING ! Non-GNU Make systems have to be updated. ! WARNING ! All sources must be rebuilt. ; Now ~100 more RTL_TESTs pass. * tests/rtl_test.prg + Some more filename split/merge tests added. * include/hbundoc.api ! Zero bytes removed from the text file. 19991118-05:29 GMT+1 Victor Szel - bin\buildexe*.* + bin\bld_tpl.bat + bin\bld_tpl.cmd * New style build batch file templates added instead of the long-named ones. * make_tpl.* + Copyright info added. * include/filesys.h + Indenting corrected. - bin/empty - Removed. 19991117-13:05 GMT+1 Ryszard Glab *source/compiler/harbour.y *source/compiler/harbour.l *source/compiler/harbour.c *source/compiler/expropt.c * corrected support for expression->identifier syntax * corrected optimization for division operator *include/compiler.h * removed declaration no longer needed 19991117-10:51 GMT+1 Victor Szel * source/compiler/expropt.c ! Fixed the compile-time calculation of numeric operations with results larger than LONG. % Compile-time calculation of numeric operations - Removed doubled calculation code. 19991117-03:15 GMT+1 Victor Szel * source/vm/hvm.c ! Added error substitution to hb_vmForTest(), now some more RTL_TESTs pass. * source/compiler/harbour.y source/vm/hvm.c ! Changed the push order for the FOR/NEXT loops, so that it's now 100% Clipper compatible, and ~15 more RTL_TESTs pass. (step/counter/end -> counter/end/step) * tests/rtl_test.prg + Some $ tests added to test new compiler bug. ("X" $ Chr(0)+"X") 19991117-01:37 GMT+1 Victor Szel * config/w32/mingw32.cf - Removed -DDEBUG preprocessor option. If you want to compile with debug, add -DDEBUG to the C_USR environment variable. * tests/rtl_test.prg + Some tests enabled which are now supported by the compiler. (expr):CLASSNAME, (expr):CLASSH 19991116-19:25 EDT David G. Holm * config/dos/djgpp.cf * config/os2/gcc.cf * config/w32/gcc.cf - Removed -g compiler option and -DDEBUG preprocessor option If you want to compile with debug, add -g and -DDEBUG to the C_USR environment variable. * source/compiler/expropt.c ! Corrected the division optimization to return 0 for any attempt to divide by 0. ! Corrected the division optimization to only return a long when the result of dividing long values is a whole value instead of returning a long when the result is within the range of a long (the result of dividing a long by a long will always be within the range of a long). % Changed the double results to return 2 decimal places after division optimization, which still isn't correct (see the source code for TODO: NOTE 1), but is more accurate than returning 0 decimal places. * source/compiler/harbour.y - Removed one of two occurrences of ExprEqual (on line 209). 19991117-01:03 GMT+1 Victor Szel * include/hbver.h * Version number updated to reflect the deep changes. * include/compiler.h * Commented code removed 19991116-21:55 GMT+1 Ryszard Glab * source/compiler/harbour.y * source/compiler/harbour.l * source/compiler/harbour.c * source/compiler/expropt.c * source/compiler/genc.c * source/compiler/genhrb.c * source/compiler/genobj32.c * source/compiler/genjava.c * new implementation of grammar rules - many new syntax supported * new expression optimizer * start of introducing new functions' naming scheme 'hb_comp' * nonprintable characters (CR/LF/TAB, etc.) are inserted into generated C code using hexdecimal numbers instead of quoted char (they can appear as a result of expression optimization) * source/pp/hbpp.c * source/pp/hbppint.c * source/pp/hblib.c * source/pp/stdalone/hbpp.c * changes to support new functions' naming scheme 'hb_comp' *include/pcode.h *HB_P_ARRAYAAT -> HB_P_ARRAYPUSH HB_P_ARRAYAPUT -> HB_P_ARRAYPOP - it removes value from the stack This is compatible with the handling of usual variables *source/debug/debugger.prg * corrected the following syntax: something other := another for example: ? 2 + a:=5 -1 This syntax is not allowed in Clipper and in new Harbour rules too It should be used: ? 2 + (a:=5) -1 * doc/compiler.txt * added description of incompatibility with Clipper in object handling * include/compiler.h * new structures related to expression optimizer * include/hberrors.h * new errors: Invalid type, invalid syntax, invalid alias * new warning: meaningless expression * source/vm/hvm.c * change in handling of HB_P_FORTEST opcode used in FOR/NEXT loop * Renamed ArrayAt -> ArrayPush * Renamed ArrayPut -> ArrayPop - it removes the value from the eval stack now 19991116-15:05 GMT+1 Victor Szel * source/rtl/memvars.c ! __MSAVE() Modified to save MEMVARs with names longer than 10 chars, the this way it's more Clipper compatible. But since only the first 10 chars of the name can be stored in the .MEM file, the complete name cannot be retrieved on RESTORE. One more issue: if you have multiple long name which have the same first 10 chars, all these variables will be saved to the .MEM file, with the same name. So to be 100% Clipper compatible you should compile Harbour with -DHB_SYMBOL_NAME_LEN=10. * source/rtl/dates.c ! Some HB_TRACE() types fixed. % hb_dateStrGet() - strlen() call eliminated for speed. * Some variable names standardized. * source/rtl/devoutp.prg source/rtl/text.prg source/rtl/harbinit.prg source/rtl/browse.prg % Optimization. (FUNCTION/RETURN NIL->PROCEDURE) * tests/memfile.prg + Added tests for long variable names. ! Make it possible to compile with CA-Cl*pper. * tests/rtl_test.prg + Long names variable added for future use. * source/rtl/copyfile.c source/rtl/dircmd.prg * Minor cleanups (variable scopes, formatting) 19991116-13:26 GMT+1 Victor Szel * source/rtl/math.c % MIN()/MAX()/SQRT()/hb_numRound() minor optimalizations, cleanups. * static variable prefixed with "s_" (Watcom only) % EXP() - Watcom specific error handling put between guards, Watcom specific static variable moved inside guards. * source/rtl/dummy.prg + Clipper 5.3 specific dummy ord*() functions added. 19991115-12:02 EDT Paul Tucker * makefile.vc + define COMMON_DIR 19991115-17:21 GMT+1 Victor Szel * source/rtl/transfrm.c ! Direct item access changed to Item API calls. % Optimized variable scopes. % Optimized redundant code. % Extend API calls changed to Item API. ! Error substitution added. ! Direct item access buffer fixed (with picture "@!") ! Fixed to accept picture mask characters in lowercase (like in Clipper) ! Fixed the interpretation of some mask characters for string expressions. ! Fixed handling of "Y" mask for strings. ! Fixed handling of @R for strings. ! Fixed case when the picture template is wider than the string expression. ! Fixed handling of @Z and @B for all types. + Added support for @D, @DE for strings. + Other enhancements. * tests/rtl_test.prg + New TRANSFORM() tests for special and error conditions added. Some of these still fail. ! Fixed one SPACE() test. * include/extend.h ! ISNIL() macro was not working, fixed. It was only used in TRANSFORM(). * source/vm/hvm.c ! Mistyped STRICT_CLIPPER_COMP. macro name fixed. * source/rtl/filesys.c ! FREAD() is now always strictly compatible, option removed. * include/simpleio.ch include/assert.ch ! Made platform independent using hb_OSNewLine() instead of the hard- wired Chr(13)+Chr(10) newlines. * include/box.ch * Formatting. * include/error.ch - EG_ARGCOUNT removed. * include/fileio.ch * The hexa numbers changed to decimals for better cross compiler compatibility, plus some minor cleanups. * include/hbclip.ch include/clipdefs.h include/compiler.h * Minor changes. 19991113-13:49 GMT+1 Victor Szel * source/rtl/arrays.c source/rtl/console.c source/rtl/dates.c source/rtl/do.c source/rtl/filesys.c source/rtl/inkey.c source/rtl/math.c source/rtl/strings.c source/rtl/transfrm.c source/vm/hvm.c doc/subcodes.txt % Removed the runtime argument count checks. 19991113-13:25 GMT+1 Victor Szel * source/rtl/extend.c include/extend.h + hb_pardsbuff() Extend API function added, which does the same as hb_pards(), but multi-thread friendly without any tricks, it will simply accept a buffer for the return value. * source/rtl/dates.c source/rtl/math.c source/rtl/strings.c source/rtl/transform.c * Changed to use hb_pardsbuff() instead of hb_pards() DTOC(), DTOS(), MIN(), MAX(), TRANSFORM(), PAD*() * tests/rtl_test.prg + DTOC(), DTOS(), DAY(), MONTH(), YEAR(), DAY(), DOW(), CMONTH(), CDOW(), TIME(), CTOD() regression tests added. * source/rtl/dates.c % Small optimalizations. ! Error substitution added for all date functions. + CTOD() - Added missing runtime error. ! CDOW() - Fixed for empty and bad dates. * source/vm/hvm.c * hb_stack.szDate changed to local buffer. 19991113-03:23 GMT+1 Victor Szel * source/rtl/itemapi.c % hb_evalNew(), hb_evalPutParam(), hb_evalRelease(), hb_itemRelease(), hb_itemFreeC() - Variables and double initializations elimiated, faster, simpler. * source/rtl/dates.c - DTOS() optimalization removed, it's now always 100% Clipper compatible, STRICT option removed. % hb_cmonth(), hb_cdow() optimalized. 19991112-19:29 GMT+1 Victor Szel * source/rtl/itemapi.c source/rtl/strings.c ! Moved the infinity support from strings.c to itemapi.c. + The infinity support changed to not require the init on startup feature of the compilers, it's now plain ANSI C. + Removed the STRICT option from the infinity support, it's now turned on all the time. Now one more RTL_TEST line will pass. 19991112-11:40 EDT Paul Tucker * makefile.vc + source/rtl/dbedit + source/common/hbtrace 19991112-18:45 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bug, related to memory leaks, reported by Victor Szel 19991112-01:35 GMT+1 Victor Szel * config/w32/mingw32.cf - "-g" switch removed, so now no debug info will be included by default. This makes the generated binaries to be much smaller, and the make process mych faster. WARNING! If you need the debug functionality please use the C_USR=-g envvar. ! Fixed comment explaining why the USER32 lib is needed. + source/rtl/natmsg/msgzhbig.c + source/rtl/natmsg/msgzhgb.c * source/rtl/msgxxx.c + Chinese-GB and Chinese-BIG5 Language Modules added Thanks to Dongming Wang 19991111-22:52 GMT+1 Victor Szel * source/vm/dymsym.c % hb_dynsymGet(), hb_dynsymFindName() - Further optimized, toupper() calls changed to local uppercase conversion code. One variable eliminated. 19991111-11:19 GMT+1 Antonio Linares * source/vm/hvm.c hb_stack.pItems initialized to NULL (required by fm.c module) * makefile.b32 + some files added. * Notice I have left -v as a bcc32.exe compiler option to include debugging information. * source/rtl/classes.c Improved memory management. 19991111-12:02 GMT+1 Victor Szel * source/vm/dymsym.c % hb_dynsymGet(), hb_dynsymFindName() - Optimized and fixed the uppercase conversion, now it's really faster a bit. (tested) * include/hbsetup.h * Symbol name length changed to 63 from 128. 19991111-10:45 GMT+1 Victor Szel * source/rtl/fm.c ! Two casts added to hb_xrealloc(). 19991111-06:02 GMT+1 Victor Szel + source/rtl/dbedit.prg source/rtl/dummy.prg source/rtl/Makefile doc/funclist.txt + DBEDIT() function added. Please update other makefiles. 19991111-05:39 GMT+1 Victor Szel * source/rtl/fm.c ! hb_xalloc() chaining bug fixed. ! hb_xrealloc() chaining bug fixed. - Removed the faulty handling of the hb_xrealloc() call with zero size, previously the memory block was considered freed but free() was never called. I think that until a free() call is not issued for an allocated block we should consider it allocated regardless of it's size. This way it's also faster and cleaner. % DeleteNode() moved to hb_xfree() since it's only used from one place now. % Casts removed from the non-FM_STATISTICS branches. 19991111-04:41 GMT+1 Victor Szel * source/rtl/fm.c ! hb_xrealloc() several things fixed (access to the pointer after reallocating it, uneccessary structure initializations, access to NULL pointers of failed or zero size realloc), RTL_TEST GPF fixed. ! Simplified, optimized and fixed the dump part. + TODO added about inconsistent hb_xrealloc() behaviour. + Size is shown in the dump. % strcpy( p, "" ) calls optimized. 19991111-01:18 GMT+1 Victor Szel * source/rtl/fm.c ! hb_xrealloc() check for a passed NULL pointer. ! hb_xrealloc() signature check moved before any MEMINFO usage. ! Explicit \n changed to hb_consoleGetNewLine() call. ! 256 buffer size for symbol names changed to HB_SYMBOL_NAME_LEN constant. ! Now the hb_xrealloc() is returning a NULL pointer (instead of trash) when the passed length is zero, and it's also freeing the pointer with free(). % hb_xrealloc() - pResult variable optimized out. * source/rtl/hbsetup.h + HB_SYMBOL_NAME_LEN constant added to set the maximum handled symbol name length in Harbour (both compiler/runtime), this can be set to any value by specifying C_USR=-DHB_SYMBOL_NAME_LEN=10 in the make process. TODO: Add support for the compiler to cut the symbols to this size on compile. This way the /10 switch may be replaced by this #define, since /10 works perfect when the RTL also "knows" about this limit, and is compiled using this limit. * include/hbtrace.h ! Every macro names prefixed with HB_ * source/vm/hvm.c ! Explicit buffer sizes are now determined using the HB_SYMBOL_NAME_LEN constant. They can't overrun anymore. * source/vm/dynsym.c % hb_dynsymGet(), hb_dynsymFindName() - Using local stack for temp symbol name buffer instead of hb_xgrab()/hb_xfree(). Some optimalizations. Now they will cut the symbol name to the HB_SYMBOL_NAME_LEN size, so by setting this to 10, we're 100% Cl*pper compatible from this respect. These functions are now faster. 19991110-23:20 GMT+1 Victor Szel * include/hbtrace.h % Excluded trace calls are converted to nohting instead of "do {} while 0" since the latter was generating jumps for MINGW32. This is now violating a -pedantic warning in GCC (duplicated ";"), so this may not be the perfect solution, but at least it doesn't generate any code. * source/rtl/fm.c ! Casts added. ! ulProcLine changed to USHORT. + Added signature support. + The whole mem tracing stuff can be excluded by a #define. + The memory trace info level is HB_TR_ERROR now, so that it gets logged by default. * tests/Makefile + fsplit.prg added. 19991110-20:45 WIB Andi Jahja * tests/fsplit.prg * Harbour file splitter 19991110-14:11 GMT+1 Victor Szel * include/hbsetup.h - Removed #defines which were previously moved to hbsetup.ch. * include/hbextern.ch source/runner/stdalone/external.prg + __PREPROCESS added as EXTERNAL 19991110-11:08 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * Added __dbPack() function * tests/testdbf.prg * Added a test for __dbPack() function * source/rtl/dummy.prg * Removed __dbPack() function 19991109-17:20 EDT David G. Holm * source/rtl/filesys.c % Replaced several #if tests of three or more manifest constants with tests for new single manifest constants that are defined using just one instance of the multiple tests. The new manifest constants are: HB_FS_FILE_IO, HB_FS_SOPEN, and HB_FS_DRIVE_LETTER. This will lessen the chances of missing one instance when other compilers are added. % Replaced the use of PATH_MAX with _POSIX_PATH_MAX, which is always defined, even for non-Posix compliant compilers, and eliminated the PATH_MAX definition. Tue Nov 09 11:56:05 1999 Gonzalo A. Diethelm * include/hbsetup.h: * source/rtl/gt/gtsln.c: * source/rtl/gtxxx.c: * source/rtl/mousexxx.c: Added an initial implementation of GT over S-lang. * source/rtl/inkey.c: Changed the order in which the #ifdef/#endif checks are done, to make sure the curses and S-lang implementations are picked up correctly. * config/linux/gcc.cf: * config/w32/gcc.cf: * config/w32/mingw32.cf: Added initial support for easily switching between curses and slang. This could be vastly improved. * tests/testbrw.prg: Added a piece of code bound to K_TAB, just for the fun of it... 19991109-01:58 GMT+1 Victor Szel * samples/Makefile samples/cccppc/*.* + Fully CA-Clipper 5.x compatible PP written in Clipper added to the samples directory. It also has a special object system (SmallTalk like if I'm not mistaken), and it's a good test for the Harbour compiler. Note that Harbour can't yet compile it, due to hangs in several .PRG. (but it has an RMAKE makefile, so you can try it out) The .PPO files produced by this program are exactly the same as the ones produced by Clipper (with some really minor differences). Also note that this version may have some bugs, since the project was later rewritten and continued in C++, which is also Open Source, and you can find it at http://www.nexus.hu/cccpp/ This great contribution was made by Levente Csisz r 19991109-01:09 GMT+1 Victor Szel * source/rtl/filesys.c ! tell() changed to lseek() for Posix (tell() is not a Posix function) 19991108-23:41 GMT+1 Victor Szel * source/rtl/filesys.c % hb_fsWrite(), hb_fsReadLarge(), hb_fsWriteLarge() double var assigments optimized. * Some small cleanups. * tests/rtl_test.prg + Two new SOUNDEX() tests added. + FWRITE() tests for the truncate feature. * source/rtl/soundex.c ! SOUNDEX() - Fixed handling of accented/national characters. 19991108-09:25 GMT+1 Antonio Linares * source/rtl/classes.c * hb_clsRelease() modified. Still there is a problem with CLASSDATA ... INIT 19991108-07:38 GMT+1 Antonio Linares * source/rtl/classes.c * Arrays used for DATA ... INIT values, properly initalized. 19991107-19:24 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * dbCreate(), fixed two bugs (mentioned by Victor). 19991106-01:30 EDT David G. Holm * include/filesys.h * source/rtl/filesys.c ! Proper optimization implemented for hb_fsReadLarge() and hb_fsWriteLarge(), as suggested by Victor Szel. 19991105-23:30 EDT David G. Holm * source/rtl/filesys.c ! Only truncate the file when the size of the write is zero bytes. 19991105-21:20 EDT David G. Holm * config/os2/icc.cf % Now that source/vm/main.c includes either mainstd.c or mainwin.c, reference main.obj instead of main$(HB_MAIN).obj when HB_MAIN is defined. * include/filesys.h ! Only use hb_fsReadLarge() and hb_fsWriteLarge() if the size of a ULONG is different from the size of a UINT (was USHORT, which is always going to be smaller than a ULONG). * source/common/hbtrace.c ! The hb_trace module uses strcmp(), which means that it has to include to keep C++ compilers happy. * source/rtl/filesys.c ! Only use hb_fsReadLarge() and hb_fsWriteLarge() if the size of a ULONG is different from the size of a UINT (was USHORT, which is always going to be smaller than a ULONG). * source/runner/stdalone/Makefile % IBM's Visual Age C++ compiler will not resolve main() from a library, so it is necessary to set HB_MAIN, if it isn't already set, so that icc.cf will know to include the main.obj module. 19991105-14:07 GMT+1 Ryszard Glab *source/rtl/codebloc.prg * memory occupied by detached local variables is properly released now 19991104-23:45 GMT+1 Victor Szel * source/rtl/filesys.c ! hb_fsSeek() now returns 0 instead of -1 on error, just like Clipper. % hb_fsSeek() double assigments removed. ! hb_fsLock() last error code handling fixed for some platforms. % hb_fsCommit() small simplification, double assignment removed. 19991104-14:30 EDT David G. Holm * source/pp/stdalone/hbpp.c ! Added third parameter (char *) to Hp_Parse() so that the Microsoft VC++ and IBM Visual Age C++ versions won't try to link in the hbppint module from the pp library. * source/rtl/mouse/mouseos2.c ! Changed the type of the static mouse handle variable from int to HMOU (for IBM Visual Age C++, but also works with GCC). Thu Nov 04 14:32:06 1999 Gonzalo A. Diethelm * source/common/hbtrace.c: * doc/tracing.txt: Added the possibility to direct tracing output to a file by specifying its name in the HB_TR_OUTPUT environment variable. The default is stderr. Thu Nov 04 13:49:23 1999 Gonzalo A. Diethelm * include/hbtrace.h: * source/common/hbtrace.c: * doc/tracing.txt: Implemented a better way of tracing with support for several levels (ALWAYS, FATAL, ERROR, WARNING, INFO and DEBUG), efficient compile-out of unwanted levels and level control using an environment variable at run-time. See doc/tracing.txt for detailed information. * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/stdalone/hbpp.c: * source/rdd/dbcmd.c: * source/rdd/dbf1.c: * source/rdd/dbfcdx/dbfcdx1.c: * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/codebloc.c: * source/rtl/console.c: * source/rtl/copyfile.c: * source/rtl/dates.c: * source/rtl/descend.c: * source/rtl/dir.c: * source/rtl/environ.c: * source/rtl/errorapi.c: * source/rtl/extend.c: * source/rtl/filesys.c: * source/rtl/fm.c: * source/rtl/gtapi.c: * source/rtl/hardcr.c: * source/rtl/inkey.c: * source/rtl/itemapi.c: * source/rtl/langapi.c: * source/rtl/math.c: * source/rtl/memvars.c: * source/rtl/mouseapi.c: * source/rtl/mtran.c: * source/rtl/natmsg.c: * source/rtl/samples.c: * source/rtl/set.c: * source/rtl/setcolor.c: * source/rtl/strings.c: * source/rtl/tone.c: * source/rtl/transfrm.c: * source/rtl/gt/gt_tpl.c: * source/rtl/gt/gtcrs.c: * source/rtl/gt/gtdos.c: * source/rtl/gt/gtos2.c: * source/rtl/gt/gtstd.c: * source/rtl/gt/gtwin.c: * source/runner/runlib.c: * source/tools/dates2.c: * source/tools/hb_f.c: * source/tools/strasint.c: * source/tools/stringsx.c: * source/vm/cmdarg.c: * source/vm/debug.c: * source/vm/dynsym.c: * source/vm/hvm.c: * source/vm/initsymb.c: * source/vm/mainstd.c: * source/vm/mainwin.c: Changed calls to HB_TRACE to incorporate the new level parameter. 19991103-22:38 GMT+1 Victor Szel * source/rtl/filesys.c % Nested #ifs converted to #elifs (hb_fsDelete(), hb_fsFile()) % Double assigments optimalized (convert_seek_flags(), hb_fsLock(), hb_fsFile()) * Code made more clear (hb_fsLock()) % Variable usage and assigments optimalized, made faster, smaller and simpler. FCREATE(), FREAD(), FWRITE(), FERASE(), FRENAME(), FSEEK(), FILE(), DIRCHANGE(), MAKEDIR(), DIRREMOVE() ! FREAD(), FWRITE() now calls hb_fsReadLarge() and hb_fsWriteLarge() instead of hb_fsRead() and hb_fsWrite(). Wed Nov 03 18:38:03 1999 Gonzalo A. Diethelm * tests/testbrdb.prg: The test now restores the color setting and does a CLS before exiting. * tests/testbrw.prg: The test now remembers its device position, cursor setting and color and restores everything before exiting. 19991103-07:28 GMT+1 Antonio Linares * source/rtl/classes.c * hb___msgSuper() simplied, faster and less memory consume. * source/rtl/arrays.c * bSuperCast is no longer checked. * source/vm/hvm.c * simpler after super casting process. * include/extend.h - BASEARRAY struct bSuperCast member removed. - BASEARRAY struct uiPrevCls member removed. + tests/clasinh.prg * New test added proving Super access does not generate unreleased memory blocks. 19991102-16:33 GMT+1 Antonio Linares * makefile.b32 * rdd.b32 * updated files provided by Jose Lalin 19991102-04:05 GMT+1 Antonio Linares * makefile.b32 * some files added. Alphabetical ordered. 19991101-11:53 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bug 19991101-10:10 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bug, reported by Antonio Linares 19991030-03:24 GMT+1 Victor Szel * tests/rtl_test.prg + Four new Pad*() tests added. * source/rtl/samples.c * Small optimalizations, formatting corrections. * source/rtl/dynsym.c % hb_strgreater() replaced with standard ANSI C function strcmp(), it's now a bit faster. * source/rtl/strings.c include/extend.h ! SUBSTR() bug fix in handling the error when the third parameter was not a string. (reported by Andi Jahja) - hb_strgreater() removed since it was same as strcmp() 19991028-22:30 EDT David G. Holm * source/rtl/inkey.c * source/rtl/gt/gtdos.c * source/rtl/gt/gtwin.c + Added Ctrl+Break support for DJGPP. % Unified Ctrl+Break handling by modifying DOS (non-DJGPP) and Windows GT API Ctrl+Break handlers to set a global flag that hb_inkeyPoll() checks before checking for keyboard input. Otherwise, if the program is in a keyboard input loop, a second key may have to be pressed after the "Cancelled at:" message is displayed before the program will actually quit. NOTE: The DOS Ctrl+Break handling needs to be refined to handle Ctrl+Break and Ctrl+C separately and to pass the Ctrl+C keyboard code on to the Harbour application. This requires handling BIOS INT 1B for the Ctrl+Break key and requires a lower level DOS INT 23 handler for the Ctrl+C handling than is provided by the C setbrk() function. * source/rtl/isprint.c + Added support for Borland C REGS structure. * source/rtl/samples.c ! Changed 'if( ulLen >= 0)' to read 'if( ulLen >= 1)' so that the string conversion for the hours value will only be done when there is at least one character in the source string. * tests/inkeytst.prg + If the "skip" command line parameter is set to "BREAK", then SETCANCEL() will be enabled, otherwise it will be disabled. 19991028-14:12 GMT+1 Bruno Cantero * source/rdd/dbcmd.c source/rdd/dbf1.c * dbCreate(), fixed a bug (mentioned by Victor). 19991027-17:24 GMT+1 Victor Szel * source/rtl/strings.c source/rtl/descend.c include/extend.h % hb_strEmpty(), hb_str*cmp() a few optimalizations. + Using const keyword for hb_str*() function parameters. * Small formatting, some Hungarian notations adjusted. + CHR() STRICT mode replaced with a comment, that the buggy Clipper behaviour should (or should not) be implemented in the Harbour compiler optimizer. - tests/hardcr.prg - tests/mtran.prg tests/Makefile + These test files has been removed, since they were moved to RTL_TEST * tests/rtl_test.prg * Some CHR() tests simplified, one added to show the buggy Clipper behaviour. + HARDCR(), MEMOTRAN() tests added. 19991027-16:57 GMT+1 Antonio Linares * source/vm/mainwin.c * added missing #includes. 19991027-13:55 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares and Victor Szel * ( increased size of expnew in Searnrep() and expreal in WorkMarkers() ) * Added HB_TRACE to the new function ( PrevSquare() ) 19991027-02:25 GMT+1 Victor Szel * source/rtl/fm.c ! Fixed to display negative unreleased memory properly. * source/rtl/codebloc.c * Removed newline chars from HB_TRACE() calls. 19991026-19:55 EDT Paul Tucker * source/rtl/gt/gtwin.c * Added WINAPI to the handler func def. Tue Oct 26 17:16:43 1999 Gonzalo A. Diethelm * source/common/hbtrace.c: Now it is REALLY efficient; no copying, nothing. * source/rtl/codebloc.c: * source/rtl/dir.c: * source/rtl/filesys.c: * source/rtl/inkey.c: * source/rtl/memvars.c: * source/rtl/set.c: * source/vm/hvm.c: Got rid of other ways of tracing. Hopefully now HB_TRACE() is the only, standard way used in Harbour. * source/rtl/gt/gt_tpl.c: * source/rtl/gt/gtdos.c: * source/rtl/gt/gtos2.c: * source/rtl/gt/gtstd.c: * source/rtl/gt/gtwin.c: Made sure all the GT implementations (including the template) have proper HB_TRACE() calls. Tue Oct 26 13:20:46 1999 Gonzalo A. Diethelm * source/runner/runlib.c: Added HB_TRACE() calls to the RUNNER library. 19991026-18:10 GMT+1 Victor Szel * source/rtl/gt/gtwin.c + Ctrl+Break handler added for Win32 console mode, now Ctrl+Break will not break an application with SetCancel(.F.), and will terminate it with the proper message with SetCancel(.T.). INCOMPATIBILITY: With SetCancel(.F.) the inkey code 876 will be passed to Harbour which should be ignored and not returned by Inkey(). David, could you check this ? * source/rtl/gt/gtdos.c + Ctrl+Break handler added for DOS character mode. Please test this, since I could only test if it compiles. * tests/tstalias.prg + New alias related tests added. Tue Oct 26 13:11:19 1999 Gonzalo A. Diethelm * source/tools/dates2.c: * source/tools/hb_f.c: * source/tools/strasint.c: * source/tools/stringsx.c: Added HB_TRACE() calls to the TOOLS library. Tue Oct 26 12:55:49 1999 Gonzalo A. Diethelm * source/rdd/dbcmd.c: * source/rdd/dbf1.c: * source/rdd/dbfcdx/dbfcdx1.c: Added HB_TRACE() calls to the RDD library. Tue Oct 26 12:15:01 1999 Gonzalo A. Diethelm * source/vm/cmdarg.c: * source/vm/debug.c: * source/vm/dynsym.c: * source/vm/hvm.c: * source/vm/initsymb.c: * source/vm/mainstd.c: * source/vm/mainwin.c: Added HB_TRACE() calls to the VM. 19991026-14:07 GMT+1 Victor Szel * include/itemapi.h source/rtl/itemapi.c source/rtl/strings.c source/rtl/console.c + hb_itemString() made thread safe, while keeping the speed of previous non-thread safe version for most cases. * source/rtl/dates.c + NOTE added about the buffer size requirements of hb_dtoc() * source/vm/hvm.c + HB_TRACE() call added to the HB_P_LINE opcode. * source/rtl/strings.c ! hb_strncpyUpper() and hb_itemPadConv() HB_TRACE() calls now print the address of a buffer instead of the (uninitialized) content. * source/rtl/memvars.c ! bScope is now showed as a number instead of a char in HB_TRACE() call. 19991026-12:49 GMT+1 Bruno Cantero * source/rdd/dbf1.c tests/testdbf.prg * __dbZap() function finished. Test added for this function. 19991026-11:35 GMT+1 Victor Szel * source/tget.prg % New() will evaluate the setget only once instead of three times. ! New() fixed the picture generation for numeric values, decimals are detected for example. ! ::ColorSpec now defaults to the proper color. + ColorDisp() inline method added. ! Display() changed back to hide cursor while displaying ! Display() fixed to use ::ColorSpec instead of SetColor() ! Display() is now selecting the proper colors from the ::ColorSpec ! Display() color now depends on ::HasFocus ! SetFocus(), KillFocus() fixed to call ::Display(), like in Clipper. + Dummy methods added for not yet implemented ones, TODOs added. - "Message" DATA removed + Exported/Private MESSAGEs grouped. ! ToDecPos() fixed to redisplay and reposition the cursor. ! WordLeft(), WordRight() fixed to reposition the cursor. + Some TODOs and TOFIXs added. * source/rdd/dbstrux.prg source/rtl/dummy.prg + __FLEDIT() function added, guarded with STRICT, for collectors only ;) * source/rtl/oemansi.c - #include "winuser.h" removed, since I mitakenly left it there. * tests/rtl_test.prg + One line enabled, since the PP is processing it now without hang. 19991026-09:43 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares and Victor Szel 19991025-23:35 EDT Paul Tucker * source/rtl/filesys.c * add casts on xgrab/free 19991025-18:15 EDT David G. Holm * include/hbwinapi.h - Removed '#define HARBOUR_USE_WIN', because includinging windows.h causes _Windows to be defined, so HARBOUR_USE_WIN is redundant. * harbour/source/pp/hbpp.c % Changed "non directive" warning to level 3. * harbour/source/pp/hbppint.c + Added include file and include file line number to warning messages. * harbour/source/rtl/inkey.c ! Moved HB_TRACE() call in hb_releaseCPU() to bottom of function, because variables are declared in #if blocks. - Changed '#ifdef HARBOUR_USE_WIN' to '#if defined(_Windows) || defined(WINNT)' (see include/hbwinapi.h for reason why). * harbour/source/rtl/oemansi.c ! Only include winuser.h when compiling for Windows. 19991025-23:12 GMT+1 Victor Szel * source/rtl/achoice.prg ! Fixed bound error on empty array. % Small optimalization. * source/rtl/filesys.c include/filesys.h ! CURDIR() was mistakenly marked a C53 function, but it was already there in CA-Cl*pper 5.2e. + hb_fsCurDirBuff() function added, which is thread safe. * hb_fsCurDir() is now calling hb_fsCurDirBuff(). + CURDIR() is now using the thread safe hb_fsCurDirBuff() instead of hb_fsCurDir(). + hb_fsCurDirBuff() now supports the "drive" parameter in WIN32/MINGW32. + hb_fsCurDirBuff() now strips the leading and trailing slashes from the directory, to be Clipper compatible. * source/tools/ctchksum.c * Small formatting. 19991025-12:30 EDT Paul Tucker * source/tools/ctchksum.c * added a cast * makefile.vc + source/tools/ctchksum.c 19991025-22:05 GMT+1 Bruno Cantero * source/rtl/dummy.prg - Removed __dbZap() function. * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * dbUseArea() now show the "Default" option in the alert box. + Added __dbZap() function (incomplete). 19991025-19:46 GMT+1 Victor Szel * source/rtl/filesys.c ! DISKSPACE(): Added support for Win32 platform. * ChangeLog + ChangeLog.004 * Old ChangeLog renamed to ChangeLog.004 * New ChangeLog created. 19991025-19:09 GMT+1 Victor Szel * source/rtl/filesys.c + CURDRIVE() XBase++ compatible function added, between HB_COMPAT_XPP guards, it also has a TODO: ! hb_fsCurDrv() fixed to convert the return value of the OS calls to the Clipper standard. ! hb_fsChDrv() / DISKCHANGE(), CURDRIVE() hb_fsIsDrv() / ISDISK() hb_fsCurDrv() / DISKNAME() hb_fsMkDir() / MAKEDIR() hb_fsChDir() / DIRCHANGE() hb_fsRmDir() / DIRREMOVE() hb_fsCurDir() / CURDIR() hb_fsIsDevice() All these fixed, so that now they work with WIN32/MINGW32. * source/rtl/mouseapi.c + SETMOUSE() and NUMBUTTONS() XBase++ compatible functions added, between HB_COMPAT_XPP + source/rtl/oemansi.c source/rtl/Makefile config/w32/mingw32.cf + HB_ANSITOOEM() new Win32 related function added (Harbour extension) + HB_OEMTOANSI() new Win32 related function added (Harbour extension) + CONVTOOEMCP() XBase++ compatible function added (between HB_COMPAT_XPP) + CONVTOANSICP() XBase++ compatible function added (between HB_COMPAT_XPP) ; IMPORTANT NOTE: This may cause problems in other platform, since USER32 should be linked in. (WIN32/MINGW32 platform arranged) * source/rdd/dbf1.c - Some HB_SYMBOL_UNUSED() macros removed, since the variables are used. * source/tools/ctcrypt.c source/rtl/isprint.c * Some formatting. 19991025-12:30 EDT Paul Tucker * source/tools/ctcrypt.c * added some casts * source/rtl/isprint.c + add include "hbwinapi.h" * added defined( _WINDOWS_ ) for non-dos detection. * added a cast * source/rtl/net.c * added missing ; * makefile.vc + source/tools/ctcrypt.c + source/tools/ctchrmix.c + source/rtl/binnum.c + source/rtl/net.c Mon Oct 25 13:14:42 1999 Gonzalo A. Diethelm * doc/tracing.txt: * include/hbtrace.h: * source/common/hbtrace.c: * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/table.c: * source/pp/stdalone/hbpp.c: Changed the environment variables that enable tracing in Harbour, and added a document explaining how to do tracing. * include/hbsetup.h: * source/rtl/gt/gtcrs.c: * source/rtl/gt/gtlin.c: * source/rtl/gtxxx.c: Changed the name for the curses-based GT implementation file to gtcrs.c, leaving room for other linux-oriented implementations such as s-lang, etc. * source/rtl/arrays.c: * source/rtl/fm.c: * source/rtl/gtapi.c: * source/rtl/inkey.c: Added/corrected a few calls to HB_TRACE(). 19991025-15:20 GMT+1 Victor Szel * tests/memory.prg + Using hbmemory.ch * source/rtl/net.c + cast added for MSVC 19991025-14:58 GMT+1 Victor Szel * source/rtl/net.c + Name buffer length corrected. * Using a better API call for the same job. 19991025-12:37 GMT+1 Victor Szel + source/tools/ctcrypt.c + source/tools/ctchrmix.c + CA-Tools compatible CRYPT() function added. (named CT_CRYPT()) + CA-Tools compatible CHARMIX() function added. (named CT_CHARMIX()) * source/rtl/fm.c ! hb_xfree() fixed, so that it will not GPF when a NULL pointer is passed. % Some cleanup, one variable eliminated and code optimized out when the STATISTICS mode is turned off. ! Non-STATISTICS mode fixed in hb_xquery() * source/rdd/dbcmd.c ! hb_rddSelectWorkAreaAlias() fixed to handle workarea numbers as strings (exm: "1") and single character workarea aliases ("A"-"K") ! hb_rddSelectWorkAreaSymbol() fixed to handle the single character workarea aliases ("A"-"K") ! SELECT(), DBSELECTAREA() fixed handling of workarea numbers passed as strings, and workarea numbers passed as single characters ("A"-"K") Bruno, please review these. * include/gtapi.h source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/*.c % hb_gt_DrawShadow() moved to the high level API, the whole process got cleaned up. Simpler, less redundant and more compatible now. ! hb_gtDrawShadow() off-screen situations fixed. * All functions with "ptucker" mark moved to the copyright section. + HB_SYMBOL_UNUSED() added to gt_tpl.c - hb_gt_GetCursorSize() removed from the template gt_tpl.c * source/rtl/gt/gtwin.c * Small cleanups, variable names standardized, scopes adjusted. ! Fixed Scroll() in fill mode for Win9x OS. * source/rtl/oldclear.c source/rtl/oldbox.c ! #ifdef HARBOUR_USE_GTAPI guards added. * include/hboo.ch source/rtl/classes.c source/rtl/objfunc.prg source/rtl/tclass.prg source/tools/stringp.prg tests/dynobj.prg tests/objects.prg tests/overload.prg * #define names prefixed with HB_ to avoid collision with user programs. Some other slight changes applied to the name prefixes. + include/hbmemory.ch include/Makefile source/rtl/fm.c source/vm/hvm.c + New header file for MEMORY() parameters. + #include "hbmemory.ch" added + Using HB_MEM_ constants. * include/hbmemvar.ch source/debug/debugger.prg source/rtl/memvarbl.prg source/rtl/menuto.prg source/rtl/memvars.c * #define names prefixed with HB_ to avoid collision with user programs. * source/rtl/memvarbl.prg ! Non-STRICT COMPATIBLE branch removed. - #include "hbsetup.ch" removed * tests/begin.prg tests/inherit.prg (bugfix) tests/statinit.prg tests/strip.prg (bugfix) tests/tstcolor.prg (bugfix from today) ! Warning and bug fixed showed by the /w switch. * source/tools/charmix.c source/tools/chareven.c source/tools/charmix.c ! GT_CHARMIX(), GT_CHAREVEN(), GT_CHARODD() Fixed to use hb_retclen() instead of hb_retc(). * include/hbdefs.h + Cleaner namings for some macro arguments. + HB_MKULONG() macro added. + source/rdd/dbstrux.prg source/rdd/Makefile source/rtl/dummy.prg doc/funclist.txt + __DBCOPYSTRUCT(), __DBCOPYXSTRUCT(), __DBCREATE() functions added. WARNING ! Please update non-GNU make files. * source/rtl/dir.c ! DIRECTORY() *very* small compatibility fix for the order of returned attribute chars. * source/vm/hvm.c ! hb_vmForTest() error handler value substitution support added. * source/rtl/browdb.prg * Small formatting. * source/rtl/tget.prg source/rtl/memoline.c source/rtl/mlcount.c * Typo (char with different codepage) corrected. * source/rtl/tget.prg ! SAY/DevPos() converted to SetPos(), DispOutAt(). + End() made more compatible. % Display() optimized, variable removed, cursor setting removed. * source/rtl/tgetlist.prg % Cursor setting on/off removed from ShowScoreBoard(). * source/rtl/strings.c ! UPPER(), LOWER() were modifying the item buffer directly. Fixed. ! UPPER(), LOWER() some internal item access changed to Item API calls. + UPPER(), LOWER(), LEFT(), SUBSTR(), VAL(), AT(), ALLTRIM(), LTRIM(), RTRIM()/TRIM(), STRTRAN() value substitution on error added. ! SUBSTR() made compatible in a rare error case. (SubStr(C,N,C)) ! AT() GPFd on passed types other than string. ! Fixed the small difference between RTRIM() and TRIM(), they are 100% identical since the same pcode is generated for both in Clipper. ; Now all error substitutions are covered in STRINGS.C * ALLTRIM() is now launching a Clipper 5.3 compatible error by default instead of returning an empty string. ! hb_strAt() now returns 0 when an empty string is searched, this matches the Clipper behaviour, but the regression test was fooled by the (buggy) compiler optimalization. * tests/rtl_test.prg tests/strings3.prg + UPPER(), LOWER(), TRIM(), RTRIM(), LTRIM(), ALLTRIM() regression tests added. Some Upper() tests are failing. Some STRTRAN() fail tests added, Clipper 5.2e STRTRAN() error recovering bug discovered. + SUBSTR(), LEFT(), RIGHT(), AT(), RAT(), VAL() tests added for error conditions. * ALLTRIM() error condition results updated to reflect the change above. * "" $ and AT("", test results corrected, CA-Cl*pper behaviour documented. + STRINGS3.PRG moved to RTL_TEST (some) + ACOPY() expected test results adjusted accordging to the stricter ACOPY() compatibility. * source/rtl/arrays.c ! hb_arrayCopy()/ACOPY() is now 100% Clipper compatible, the STRICT option removed, it's always strict now. * source/rtl/binnum.c + BIN2U(), U2BIN(), W2BIN() XBase++ compatible functions added. All guarded with HB_COMPAT_XPP (defined by default) (not tested) * source/rtl/dates.c include/hbextern.ch source/runner/stdalone/external.prg + STOD() put between HB_COMPAT_XPP guards, since it belongs to XBase++ and is not part of base Clipper. + HB_STOD() Harbour extension function added, same as STOD() but with consistent naming. * source/rtl/dircmd.prg * STOD() -> HB_STOD() * source/rtl/mouse/mousewin.c + hb_mouse_CountButton() added for Win32. * source/rtl/mouseapi.c source/rtl/filesys.c + Clipper 5.3 functions put between HB_COMPAT_C53 guards. + One function added to the proper Copyright holder. * include/hbsetup.h source/rtl/mousexxx.c * HARBOUR_USE_MSAPI setup #define removed, from now on the USE_GTAPI setting will choose the mouse driver, too, since the mouse handling is highly related to the output (GT) driver. + HARBOUR_USE_STD_GTAPI #define added as a start for the std stream IO GT API, which is currently called "non-GT" mode. * source/rtl/console.c include/hbextern.ch source/runner/stdalone/external.prg source/rtl/tbrowse.prg source/rtl/tget.prg tests/rtl_test.prg * __COLORINDEX() function renamed to HB_COLORINDEX() + source/rtl/isprint.c + source/rtl/net.c source/rtl/Makefile source/rtl/dummy.prg doc/funclist.txt + ISPRINTER() function first draft. + NETNAME() implemented for the Win32 platform. Implementation note for DOS added. WARNING ! Please update non-GNU make files. * include/fileio.ch include/filesys.h ! FO_INHERITED and FO_PRIVATE flags moved to the .H file for better Clipper compatibility. * source/rtl/tone.c * __DJGPP -> __DJGPP__ (cosmetic only __DJGPP was also valid) * source/rtl/mouse/mousetpl.c ! Small correction (0->FALSE) + source/rtl/gt/gtstd.c + source/rtl/mouse/mousestd.c source/rtl/gtxxx.c source/rtl/mousexxx.c + Standard ANSI C GT/MOUSE drivers added. GT needs some more work. * source/rtl/inkey.c % Win32 local variables made static, name prefixed with "s_" 19991022-16:21 GMT+1 Victor Szel * source/rtl/strings.c ! REPLICATE(), SPACE() error value substitution support added. * tests/rtl_test.prg * tests/mathtest.prg - tests/strings.prg (removed) - tests/strings2.prg (removed) tests/Makefile + REPLICATE(), SPACE(), LOG(), EXP() regression tests added. Two bugs showed up somewhere around LOG(). + STUFF() tests extended. + ISDIGIT(), ISALPHA(), ISLOWER(), ISUPPER() regression tests added. + MATHTEST.PRG moved to RTL_TEST + STRINGS.PRG moved to RTL_TEST (mostly) + STRINGS2.PRG moved to RTL_TEST (mostly) - Removed those lines which got moved to RTL_TEST. 19991022-15:16 GMT+1 Victor Szel * tests/rtl_test.prg - tests/filexist.prg (removed) - tests/val.prg (removed) - tests/strcmp.prg (removed) - tests/instr.prg (removed) - tests/syserror.prg (removed) - tests/operat.prg (removed) tests/Makefile + Rest of File() tests moved to RTL_TEST, so FILEXITS.PRG could be removed + One ValType() test moved to RTL_TEST, so VAL.PRG could be removed + STRCMP.PRG tests moved to RTL_TEST + INSTR.PRG tests moved to RTL_TEST + SYSERROR.PRG tests moved to RTL_TEST + OPERAT.PRG tests moved to RTL_TEST + Some new operator precedence and inline inc/dec op. tests added. * Small cleanup in RTL_TEST. ; All newly added tests passes. * tests/tstcolor.prg + Some tests added for the SetColor() bug fixed yesterday. ! RETURN added to suppress warning. 19991022-13:56 GMT+1 Victor Szel * tests/rtl_test.prg - tests/fileio.prg tests/Makefile + Harbour level file API is now automatically tested in RTL_TEST. - FILEIO.PRG removed. 19991022-13:10 GMT+1 Victor Szel * source/rtl/filesys.c tests/fileio.prg ! FREADSTR() zero byte bug fixed. Reported by V.Kazimirchik + Some new tests cases added to the test program. * source/tools/ctchksum.c ! Fixed for large strings. * tests/cmphello.prg ! Path fixed. - tests/copyfile.prg - tests/fornext2.prg tests/Makefile - Some obsolete test files removed, they were moved to RTL_TEST previously. 19991022-10:53 GMT+1 Victor Szel * source/vm/hvm.c + //INFO now displays Clipper-like memory info. Just the values are higher ;) * source/rtl/fm.c include/extend.h + MEMORY() functionality split into Harbour and C callable functions. hb_xquery() 19991022-10:41 GMT+1 Victor Szel * source/rtl/fm.c tests/memory.prg + MEMORY() extended with 1003 and 1004 parameters, to retrieve stack usage. 19991022-10:33 GMT+1 Victor Szel * source/rtl/fm.c tests/memory.prg tests/Makefile doc/funclist.txt + MEMORY() support for Win32 platform, it can now return available physical, page, virtual memory and total physical memory. + Test program added. 19991022-10:03 GMT+1 Victor Szel * source/rtl/fm.c + MEMORY() function enhanced internally. ! MEMUSED()/MEMFREE() non-standard functionality moved inside MEMORY(). 19991022-09:27 GMT+1 Victor Szel * source/rtl/console.c ! New C syntax bug fixed in hb_setpos() * source/tools/ctchksum.c source/tools/Makefile + CA-Tools compatible CHECKSUM() function. * source/rtl/natmsg.c * Small correction. 19991022-08:19 GMT+1 Antonio Linares * source/rtl/fm.c * fixed some bugs regarding the calculations for the largest used memory and the used blocks. + New function HB_MEMUSED() and HB_MEMMAX() added. 19991021-23:33 GMT+1 Victor Szel * config/rules.cf + /w switch added to the default Harbour switches in the GNU make system. Be warned that some new warnings may arise in some test programs. The core Harbour .PRG files compile without any warnings, though. The only exception is HBRUN.PRG, but in that case either the compiler or the PP should be modified, until then just ignore these. * tests/fortest.prg tests/memfile.prg ! /w warnings fixed. * source/rtl/achoice.prg source/rtl/menuto.prg source/rtl/tgetlist.prg % SetPos() + DispOut() -> DispOutAt() * source/debug/debugger.prg % Now all screen output is done using SetPos()/DispOutAt() so it's faster and it's not fooled by output redirection or SET DEVICE TO PRINTER. * Menu made more exactly Clipper like. % "&" hotkey marker char changed to "~" to avoid any macro expansion in the future. * Some formatting (Move() method). * source/debug/tbrwtext.prg * Formatted. 19991021-22:18 GMT+1 Victor Szel * source/rtl/gtapi.c ! hb_gtSetColorStr() now resets the ColorSelect() value to STANDARD, like in Clipper. 19991021-21:08 GMT+1 Victor Szel * source/rtl/gt/gtwin.c source/rtl/dates.c ! Indentation fixed. 19991021-19:40 GMT+1 Victor Szel * source/rtl/filesys.c % Updated, so that the platform dependent variable declarations got moved inside the block where they are used, instead of declaring them globally for all platform branches. HB_UNUSED_VARIABLE() lines could be then removed. Thu Oct 21 14:09:07 1999 Gonzalo A. Diethelm * source/rtl/gt/gtlin.c: A first, very basic, implementation of GT for Linux using curses. At this point, all I have tested is that tests/hello.prg works acceptably well when compiled with -DHARBOUR_USE_LIN_GTAPI. There are LOTS of functionality missing still. Thu Oct 21 14:02:53 1999 Gonzalo A. Diethelm * config/linux/gcc.cf: Added linking against ncurses. * include/gtapi.h: Added hb_gtReadKey() and hb_gt_ReadKey() functions. * include/hbsetup.h: * source/rtl/gtxxx.c: Made sure LIN_GTAPI is taken into account. * source/rtl/console.c: * source/rtl/filesys.c: * source/rtl/gtapi.c: * source/rtl/inkey.c: * source/rtl/gt/gtwin.c: Fixed several warnings. Thu Oct 21 11:56:55 1999 Gonzalo A. Diethelm * source/common/hbtrace.c: Modified the TRACE function so that it does no superfluous copying anymore. * source/compiler/Makefile: * source/runner/stdalone/Makefile: * tests/Makefile: Added the common library to the list of dependencies. * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/table.c: * source/pp/stdalone/hbpp.c: Made sure tracing is enabled only when both HB_DO_TRACE and HB_REALLY_DO_TRACE are defined; this way, the user can just set HB_DO_TRACE to enable tracing in harbour, but not see all the tracing output while compiling harbour itself. * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/codebloc.c: * source/rtl/console.c: * source/rtl/copyfile.c: * source/rtl/dates.c: * source/rtl/descend.c: * source/rtl/dir.c: * source/rtl/environ.c: * source/rtl/errorapi.c: * source/rtl/extend.c: * source/rtl/filesys.c: * source/rtl/fm.c: * source/rtl/gtapi.c: * source/rtl/hardcr.c: * source/rtl/inkey.c: * source/rtl/itemapi.c: * source/rtl/langapi.c: * source/rtl/math.c: * source/rtl/memvars.c: * source/rtl/mouseapi.c: * source/rtl/mtran.c: * source/rtl/natmsg.c: * source/rtl/samples.c: * source/rtl/set.c: * source/rtl/setcolor.c: * source/rtl/strings.c: * source/rtl/tone.c: * source/rtl/transfrm.c: Added tracing to all functions. 19991021-15:35 GMT+2 Ryszard Glab *include/extend.h *source/rtl/memvars.c *source/vm/hvm.c * new function hb_memvarNewParameter() used to create a variable listed on PARAMETER statement (corrected bug - private variables are created instead of reusing existing ones) 19991021-16:02 GMT+3 Alexander Kresin * contrib/odbc/todbc.prg * there was an infinite loop in TOdbc():New(), * now it works correctly. 19991021-09:14 GMT+3 Alexander Kresin + contrib/odbc/todbc.prg + contrib/odbc/readme.txt * These files I got from Felipe Coury 19991021-00:50 EDT Paul Tucker * source/rtl/environ.c changed defined(_Windows) to defined(_WINDOWS_) since this is what gets created in Windows.h 19991021-01:48 GMT+1 Victor Szel * include/hbtrace.h ! TRACE() fixed to HB_TRACE() (that was a bit late :) * Some formatting. * source/common/hbtrace.c * Formatting. * source/pp/*.c source/pp/stdalone/*.c * Tabs removed. 19991020-19:40 EDT David G. Holm * include/hbtrace.h ! Added missing HB_ prefix to #define TRACE(x) in the #else block. 19991021-01:37 GMT+1 Victor Szel * include/Makefile ! Added hbtrace.h and hbwinapi.h * include/hbwinapi.h ! Minor naming correction. * include/compiler.h ! Minor cosmetic correction. * source/compiler/genc.c % Some redundant generated code text removed. * source/rtl/gtapi.c ! hb_gtWrite() it truncated one more character than needed. * source/rdd/dbfntx/dbfntx1.prg ! Local error handler extension disabled, since sometimes it doesn't work because of the random INIT procedure execution order. 19991020-19:15 EDT David G. Holm + include/hbwinapi.h - include/wincheck.h * source/rtl/dates.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/inkey.c % Changed name of wincheck.h to hbwinapi.h (and added missing CVS ID, Copyright and free software header, and self-check). Wed Oct 20 19:28:51 1999 Gonzalo A. Diethelm * source/Makefile: * source/common/Makefile: * source/common/hbtrace.c: * include/hbtrace.h: Added a common/ library where all "common" stuff should be implemented. For starters, I placed here a rudimentary tracing facility. Basically, all functions should be of the form: int foo(char* name /* other parameters */) { HB_TRACE(("foo(%s)", name)); /* implementation */ } If harbour is compiled with HB_DO_TRACE defined, then this will generate a trace on stderr of all functions being called (caution: it generates LOTS of output!!!). If HB_DO_TRACE is not defined, the HB_TRACE() lines are defined out and there is no performance hit. * include/hbdefs.h: Included hbtrace.h. * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/stdalone/Makefile: * source/pp/stdalone/hbpp.c: Added tracing calls as a "proof of concept". * source/rtl/gt/gtwin.c: Fixed two minor typos. 19991020-21:30 GMT+1 Victor Szel * source/rtl/achoice.prg % FUNCTION -> PROCEDURE for speed. % Two small functions converted to macros for speed. * Formatted. (if() -> iif(), <> -> !=, some variable names standardized, S87 style comments * -> //, indent errors, etc.) * source/rtl/asort.prg % FUNCTION -> PROCEDURE for speed. * include/rddsys.h * Small aligning. 19991020-22:58 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares, Victor Szel and Guy Roussin - contrib/odbc/bld32exe.bat - contrib/odbc/hb32.bat + contrib/odbc/bld_b32.bat + contrib/odbc/odbccall.prg + contrib/odbc/odbcdemo.prg * contrib/odbc/odbc.c * contrib/odbc/harbour.mdb * These files I got from Felipe Coury 19991020-20:23 GMT+1 Victor Szel * source/rtl/alert.prg source/rtl/browdb.prg source/rtl/memvarbl.prg + #include hbsetup.ch added. + include/hbsetup.ch include/hbsetup.h include/Makefile + New header file added to setup things which are common to both .PRG and .C source files, currently HARBOUR_STRICT_CLIPPER_COMPATIBILITY was moved from hbsetup.h + HB_COMPAT_C53 HB_COMPAT_XPP HB_COMPAT_VO #defines added to be able to toggle inclusion of the new features of these compilers. All these are turned on by default. * source/rtl/browdb.prg + dbSkipper() function added, it's now guarded with HARBOUR_COMPAT_XPP, so there is a possibility to switch to the fully Clipper compliant, or the XBase++ compliant method. + NOTE added about dbSkipper. * source/rtl/filesys.c + source/rtl/binnum.c (added) * BIN2W(), BIN2I(), BIN2L(), I2BIN(), L2BIN() functions moved to a separate source file. Since these were not FileSys APi functions. WARNING ! Please update non-GNU make systems. - include/caundoc.api renamed to + include/hbundoc.api include/Makefile tests/extend2.c * Include file name standardized, now the HBUNDOC.API file should contain all undocumented API calls (not only for CA-Cl*pper). - include/harbour.ch renamed to + include/hbclip.ch include/Makefile samples/guestbk/testcgi.prg * Include file renamed to better fit into the include file naming scheme (hb prefix for all non-standard .ch files). 19991020-13:27 GMT+1 Victor Szel * include/extend.h source/rtl/arrays.c source/rtl/classes.c source/vm/hvm.c * Name change, to avoid possible collision. BASEARRAY -> HB_BASEARRAY PBASEARRAY -> PHB_BASEARRAY BASEARRAY_PTR -> HB_BASEARRAY_PTR NOTE: HB_ARRAY would be a better name, but that would collide with the Harbour function HB_ARRAY (ARRAY()). 19991020-12:59 GMT+1 Victor Szel * include/hbdefs.h source/pp/hbpplib.c source/rtl/arrays.c source/rtl/math.c source/rtl/samples.c source/rtl/tone.c source/rtl/filesys.c source/rtl/memvars.c source/compiler/harbour.y (HIBYTE(), LOBYTE(), MKLONG(), Ryszard!) source/compiler/genc.c source/compiler/genhrb.c source/compiler/genjava.c source/compiler/genobj32.c * Some global macros renamed to avoid name collision with C extend modules and standard OS makefiles. MAX() -> HB_MAX_() MIN() -> HB_MIN_() (the additional underscore is need to avoid name collisions with Harbour functions HB_MIN() and HB_MAX()) LOBYTE() -> HB_LOBYTE() HIBYTE() -> HB_HIBYTE() MKSHORT() -> HB_MKSHORT() MKUSHORT() -> HB_MKUSHORT() MKLONG() -> HB_MKLONG() * include/hbdefs.h include/hb_vmpub.h source/compiler/harbour.y (Ryszard!) source/vm/dynsym.c source/vm/hvm.c * SYMBOLSCOPE -> HB_SYMBOLSCOPE * include/extend.h source/vm/hvm.c * STACK -> HB_STACK * source/rtl/tbrowse.prg + Configure parameter added back, NOTE added that it's an undoc. feature in Clipper. * source/rtl/browdb.prg include/hbextern.ch source/runner/stdalone/external.prg + Public dbSkipper() function made STATIC, renamed to Skipped() to be Clipper compatible. Clipper doesn't have any public dbSkipper(), _dbSkipper() or Skipped() functions. - Non-Clipper compatible function _dbSkipper() removed. * Formatted. * source/rtl/browse.prg ! Small formatting correction. 19991019-19:00 EDT David G. Holm * config/w32/bcc32.cf ! I finally found out what I did wrong with regards to using BCC32 with the GNU Make System. I had accidentally set it up for the DOS GT API instead of for the Windows GT API! + include/wincheck.h * source/rtl/dates.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/inkey.c ! All source files that need to conditinally include the Windows API now use the new include file "wincheck.h" in order to eliminate inconsistent inclusion of "windows.h". If "windows.h" ends up being included, then the new manifest constant HARBOUR_USE_WIN is defined. * source/rtl/inkey.c ! Added Windows Console Mode translations for Alt+Tab and Shift+Tab. 19991019-11:55 GMT+1 Victor Szel * source/rtl/tbrowse.prg ! Fixed the header/footer separator to be drawn until the border. + ColorRect() support started. - Removed the parameter from ::Configure() calls, it was not used, and Clipper don't have such parameter. * source/rtl/browse.prg + Enhanced speed and compatibility. - Incremental refreshing. - Missing keys added. - Status line added. - Border fixed. - Setkey support added. 19991019-10:24 GMT+1 Antonio Linares * source/rtl/gt/gtwin.c * Windows apps only create a console when the debugger is linked. 19991019-01:50 EDT Paul Tucker * makefile.vc + source/rtl/natmsg.c * source/pp/hbpp.c * in ParseDefine() line 278: ==0 s/b <= 0 19991018-23:04 GMT+1 Victor Szel + source/rtl/natmsg.c (added) source/rtl/Makefile source/rtl/dummy.prg tests/rtl_test.prg + National message related functions added. ISAFFIRM(), ISNEGATIVE(), NATIONMSG() (by Jose Lalin) + _NATSORTVER(), _NATMSGVER() function added. ! Fixes and cleanup for IS*() and NATIONMSG() functions. + Regression tests added for these new functions. WARNING ! Please update non-GNU make systems. * source/rtl/dircmd.prg + NOTE added about a small anomaly in Clipper. * source/rtl/tbrowse.prg * Small changes. 19991018-14:54 GMT+1 Victor Szel * source/rtl/tbrowse.prg ! PgUp() fixed to set HitTop instead of HitBottom, now the cursor will not lock up in the first position. ! DevOut() changed to DispOut(), faster and Clipper compatible. % SetPos() + DispOut() -> DispOutAt() to be even faster. * source/rtl/console.c ! DISPOUTAT() color bug fixed. * source/pp/table.c ! dbClearRel() -> dbClearRelation() Using full name, otherwise Harbour will not find it. 19991018-14:10 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares * source/rtl/tbrowse.prg * Fixed some problems with Left(), Right() and logical fields. 19991018-11:58 GMT+1 Victor Szel * source/rtl/adir.prg + SET DEFAULT handling added. * source/rtl/dir.c + TOFIX: added to change to filename splitting/merging to use the hb_FName*() functions. That's why DIRECTORY() will GPF now on some systems (WinNT/MINGW32/normal slash in directory). * tests/rtl_test.prg ! Small fixes for some time parameters. * source/rtl/soundex.c ! Small pedantic fix. * source/rtl/fm.c * TODO text modified. * source/rtl/asort.prg * Small change. 19991018-09:36 GMT+1 Antonio Linares * source/rtl/gt/gtwin.c + Added support for Windows apps without console. (Now Harbour Windows apps may use the standard Harbour debugger and whatever console output is generated -for any reason- will be seen so it may be corrected!). 19991018-03:35 EDT Paul Tucker * makefile.vc + source/rdd/rddord.prg 19991018-09:34 GMT+1 Victor Szel * source/rtl/rddord.prg moved to source/rdd/rddord.prg source/rtl/Makefile source/rdd/Makefile * Moved to the proper place. WARNING ! Please update non-GNU make systems. (sorry for the huge amount of make file changes) 19991018-03:25 EDT Paul Tucker * makefile.vc + source/rtl/samples.c + source/rtl/soundex.c 19991018-09:28 GMT+1 Victor Szel * doc/gmake.txt ! win32 changed to w32. 19991018-09:21 GMT+1 Victor Szel + source/rtl/soundex.c source/rtl/Makefile source/rtl/dummy.prg source/rtl/rtl_test.prg doc/funclist.txt + SOUNDEX() and related regression tests added. WARNING ! Please add new file to non-GNU make systems. - source/rtl/afields.prg (removed) source/rtl/Makefile - AFIELDS() removed from the RTL, since it was already implemented in the RDD. 19991018-08:55 GMT+1 Bruno Cantero * source/rtl/dummy.prg - __dbSetLocate() and __dbSetFound() functions removed. * source/rdd/dbcmd.c + Added support for __dbSetLocate() and __dbSetFound() functions. 19991018-07:36 GMT+1 Victor Szel + source/rtl/afields.prg source/rtl/Makefile + AFIELDS() function added (by Jose Lalin) WARNING ! Please add new file to non-GNU make systems. 19991018-00:03 GMT+1 Victor Szel * source/vm/hvm.c + Support for overloading the following operators: *, /, %, ^, **, !, .NOT., .AND., .OR. * tests/rtl_test.prg + Tests added for new operator overloading features. * source/vm/dynsym.c ! Small formatting fixes. 19991017-21:24 GMT+1 Victor Szel * source/rtl/samples.c ! hb_SecToTimeStr() bug (typo) fixed. * tests/rtl_test.prg + Tests added for new Samples functions. 19991017-20:46 GMT+1 Victor Szel + source/rtl/samples.c source/rtl/Makefile source/rtl/dummy.prg source/rtl/rtl_test.prg + AMPM() (tested) + DAYS() + ELAPTIME() + LENNUM() + SECS() + TSTRING() Functions added, mostly not yet tested. RTL_TEST tests added for AMPM(). WARNING ! Please add new file to non-GNU make systems. * include/extend.h + hb_strVal() prototype added. + hb_strLTrim() prototype added. * source/rtl/dummy.prg include/hbextern.ch source/runner/stdalone/external.prg ! Some internal functions removed (added today), since they seem not real Clipper functions. + Several new Clipper (documented) functions added (db*() for 5.3, and SOUNDEX()) + One new undocumented function added. (__FLEDIT) 19991017-09:00 EDT Paul Tucker * makefile.vc + source/rtl/oldbox.prg + source/rdd/dbnubs.c 19991017-14:36 GMT+1 Victor Szel * source/rdd/dbnubs.c source/rdd/Makefile include/hbextern.ch source/runner/stdalone/external.prg * Added internal versions of database commands. All undocumented. WARNING ! Please add dbnubs.c to non-GNU make systems. * source/rtl/dummy.prg include/hbextern.ch source/runner/stdalone/external.prg + __dbArrange() + __dbFList() + __dbOpenSDF() + __dbSetFound() + __dbSetLocate() + __dbTrans() + __dbTransRec() Some more undocumented, internal Clipper functions added. With these, to my knowledge *all* Clipper level, internal and undocumented functions are defined in Harbour. 19991017-13:34 GMT+1 Victor Szel * source/rtl/dummy.prg + Some more undocumented and internal functions added. * source/rtl/harbinit.prg + ANNOUNCE CLIPPER520, ANNCOUNT CLIPPER530 added for complete compatibility. * source/vm/hvm.c + PROCFILE() function added. It does nothing, but it's there in Clipper. * include/hbextern.ch source/runner/stdalone/external.prg * Updated. ANNOUNCE-s also added this time. 19991017-13:04 GMT+1 Bruno Cantero * source/rtl/dummy.prg - __dbLocate() and __dbContinue() functions removed. * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c + Added support for __dbLocate() and __dbContinue() functions. * tests/testdbf.prg * Now use test.dbf file and test __dbLocate() and __dbContinue() functions. 19991017-12:57 GMT+1 Victor Szel * source/rtl/environ.c + GETE() undocumented Clipper function added. * source/rtl/memvars.c + __QQPUB() function added. % Some variable scopes adjusted. * source/rtl/dummy.prg - __QQPUB() removed. * source/rtl/classes.c + HB___CLASSNEW() + HB___CLASSINSTANCE() + HB___CLASSADD() + HB___CLASSNAME() + HB___CLASSSEL() Clipper compatibility functions added. + source/rtl/oldclear.c source/rtl/Makefile + __CLEAR() + __ATCLEAR() Undocumented Clipper functions added. Please add oldclear.c to non-GNU make systems. 19991017-08:51 GMT+1 Victor Szel * tests/Makefile + tstalias.prg added * tests/tstalias.prg + CVS ID header added 19991016-22:40 GMT+8 Ron Pinkas * harbour.y + added support for _FIELD->Expression and _FIELD->ALIAS->Expression "REPLACE Field WITH Exp" and "REPLACE ALIAS->Field WITH Exp" are supported "REPLACE 1->Field WITH Exp" will compile but requires some more work by Ryszard. + added support for Aliased Variables in Push/Pop support. + added "Invalid alias expression" error to _szCERRORS. - Removed Todo # 9 support for _FIELD->Alias->Field. * harbour.l + added {Integer} definition - used by _Field->Area#-> rule + added MEMV->& and MEMVA&-> to MACROOP defeinition. + added rules for _FIELD->"{Integer}"->", _FIELD->"{Number}"->" (Error condition), _FIELD->"{Integer}"->" and _FIELD->"{Identifier}"->" * Hberror.h + added #define ERR_ALIASEXP 38 + /Tests/TstAlias.prg added new test to demonstrate support for aliased expression. 19991016-18:40 GMT+8 Ron Pinkas * harbour.y * Corrected bug with Push/Pop optimizer and BlockList. 19991016-14:40 GMT+8 Ron Pinkas * compiler.h + added lLstPushPos to PFUNCTION structure to support nesting (like in blocks ). * harbour.y * Corrected bug with Push/Pop optimizer when var assignment in CodeBlock used. + added Push/Pop Optimizer support to CodeBlock expressions list. 19991016-20:46 GMT+1 Victor Szel * tests/test.dbf ! Readded in binary mode 19991016-19:07 GMT+1 Antonio Linares + tests/test.dbf + 500 records with random information added. (SuccessWare's dbcre8.exe 500 used to generate it) (Now tests/testbrdb.prg may be properly tested). 19991016-14:25 GMT+1 Victor Szel * source/rtl/gt/gtwin.c source/rtl/inkey.c * Renamed variable name HInput to hb_gtHInput * tests/Makefile + testbrdb.prg added 19991016-10:06 GMT+1 Victor Szel * source/rtl/Makefile + browse.prg added * source/compiler/harbour.y ! Temporarily commented out the new code from RemoveExtraPush() since it broke many existing code. 19991016-03:08 EDT Paul Tucker * makefile.vc + source/rtl/browse.prg 19991016-08:52 GMT+1 Antonio Linares + source/rtl/browse.prg + New function Browse() added (early prototype. Still some missing functionality). * source/rtl/dummy.prg - function Browse() removed. * makefile.b32 + added browse.prg (warning I have not updated other makefiles!) + tests/testbrdb.prg + New sample added. 19991016-00:10 EDT David G. Holm * doc/gmake.txt + Documented C_USR and -DHARBOUR_USE__GTAPI were missing. 19991016-00:00 EDT David G. Holm * source/rtl/set.c ! HB_DEFPATH() (and consequently HB___DEFPATH()) now append a drive or path delimiter if the default path does not have one at the end. 19991015-23:25 EDT Paul Tucker * source/compiler/harbour.c + || defined(_MSC_VER) around isatty() This allows gnu make to compile harbour.exe It doesn't seem to affect ms make * doc/gmake.txt * updated notes regarding MSVC 19991015-23:15 EDT David G. Holm * include/set.h * include/set.ch * source/pp/table.c * source/rtl/set.c * tests/set_num.prg * tests/set_test.prg + Added missing Clipper 5.3 SETs: HB_SET_VIDEOMODE HB_SET_MBLOCKSIZE HB_SET_MFILEEXT HB_SET_STRICTREAD HB_SET_OPTIMIZE HB_SET_AUTOPEN HB_SET_AUTORDER HB_SET_AUTOSHARE Not knowing what their defaults should be, I defaulted the first two to 0, the third one to '\0', and the rest to FALSE. 19991015-22:00 EDT David G. Holm * source/rtl/inkey.c - Removed Windows #ifdefs from DOS-style keyboard input. - Removed special handling for Borland C when used with Windows. - Removed Cygwin from Unix-like keyboard input support. + Windows keyboard input now uses Windows Console Mode functions GetNumberOfConsoleInputEvents() and ReadConsoleInput() and a whole lot of key code translation. NOTE 1: If INKEY_EXTENDED is used, then device-independent key codes are used instead of keyboard scan codes and no attempt is made to map extended keys to their Clipper equivalents. All key codes have 256 added to them. Enhanced adds 512, Shift adds 1024, Left Ctrl adds 2048, Right Ctrl adds 4096, Left Alt adds 8192, and Right Alt adds 16,384. Normal keys are in the range 0 to 255. A value that is larger than 255 represents an extended key. All state keys generate key codes. Use the test program INKEYTST with two parameters (such as S and X) to display the codes. NOTE 2: This is just an experiment to see if allowing Harbour to get all key codes when run under Windows is a good idea. NOTE 3: If INKEY_EXTENDED is not used, then keyboard scan codes are used and extended codes are translated to Clipper codes( and state keys do not generate key codes). * source/rtl/gt/gtwin.c % Removed 'static' declaration from 'HANDLE HInput;', so that hb_inkeyPoll() doesn't have to duplicate the initialization. Fri Oct 15 16:42:30 1999 Gonzalo A. Diethelm * config/lib.cf: * source/debug/Makefile: * source/pp/Makefile: * source/rdd/Makefile: * source/rdd/dbfcdx/Makefile: * source/rdd/dbfntx/Makefile: * source/rdd/nulsys/Makefile: * source/rtl/Makefile: * source/runner/Makefile: * source/tools/Makefile: * source/vm/Makefile: Now Makefiles that will create a library use LIBNAME for the library's name; the LIB variable is not used anymore, so it will not conflict with the widely used environment variable with that name. Thanks to Paul Tucker for pointing this out. 19991015-18:45 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * Bug removed, default alias work if not alias and extension is specified. * source/rdd/dbf1.c * Bug removed, Bof() now work properly. 19991015-09:53 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed little bug, reported by Antonio Linares 19991015-02:04 GMT+1 Victor Szel * source/compiler/genjava.c + Java source generation added to the compiler (by Matteo Baccan) * source/rtl/filesys.c + TOFIX: added to hb_fsIsDrv() (by Jose Lalin) * source/rtl/dates.c ! Some pp directives indented. Thu Oct 14 17:29:32 1999 Gonzalo A. Diethelm * source/rtl/dates.c: Fixed an include guard so that HB_DONT_DEFINE_BASIC_TYPES is defined for both gcc and mingw32. 19991014-18:17 GMT+1 Victor Szel * source/compiler/genc.c ! Fixed pcode generation with /gc0 switch for MODULENAME opcode. There was an incrementation operator embedded in an expression, which was not executed in this case. 19991014-18:13 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * Removed some low level access to item.asArray 19991014-16:18 GMT+3 Alexander Kresin * source/pp/hbpp.c * source/pp/hbppint.c * source/pp/stdalone/hbpp.c * Fixed some bugs, reported by Antonio Linares, Victor Szel and Jose Lalin 19991013-20:10 GMT+8 Ron Pinkas * harbour.y + added rules to allow inline assignment to RIVATE/PUBLIC &cVar (as in PRIVATE &cVar := 'Hello'). + added extern char *yytext to have acces to the original string form of numbers. * harbour.l + added rules to support new TOKEN MACROOP and completed support for macro in MODES PRIVATE and PUBLIC_ (Ryszard TODO removed). * tests/tstmacro.prg added more tests to demonstrate working capabilities of macro. 19991013-01:40 GMT+1 Victor Szel * source/rtl/dates.c ! #ifdef ...WIN_GTAPI changed to proper platform tests. 19991013-19:05 EDT David G. Holm * include/itemapi.h + Added a prototype for hb_itemString(). + Added a prototype for hb_itemValToStr(). * source/compiler/harbour.l ! Removed yy_strdup() call from yy_ConvertNumber(). * source/rtl/console.c - Removed the string conversion code from hb_out(). + Added a call to hb_itemString() to hb_out(). * source/rtl/dates.c ! Corrected two erroneous instances of 'hb_stack.szDate' in hb_dateDecStr() to use the 'szDate' parameter instead. * source/rtl/itemapi.c + Moved hb_itemStr() from source/rtl/strings.c + New function hb_itemString() converts practically any value to a string (this is a modification of the string conversion code that used to be in hb_out() in source/rtl/console.c). + New function hb_itemValToStr(), suggested by Antonio Linares. * source/rtl/strings.c - Moved hb_itemStr() to source/rtl/itemapi.c + New function HB_HB_VALTOSTR(), suggested by Antonio Linares. * tests/rtl_test.prg + Added several HB_VALTOSTR() tests. Note: hb_itemStr() is not re-entrant and probably not thread-safe. I'm not sure how to correct for that without requiring that the caller free up strings allocated by this function, which I would very much like to avoid. Any ideas? 19991013-13:46 GMT+8 Ron Pinkas * harbour.y + added MACROOP (last session also added MACROALIAS) + added rules to complete support for PRIVATE/PUBLIC &cVar - it now supports any mix of variables and macros. * harbour.l + added rules to support new TOKEN MACROOP and completed support for macro in MODES PRIVATE and PUBLIC_ (Ryszard TODO removed). * tests/tstmacro.prg added even more tests to demonstrate working capabilities of macro. 19991013-17:45 EDT Paul Tucker * source/rtl/oldbox.c * Add parens so cast applies to entire expression 19991013-22:37 GMT+1 Victor Szel * tests/rtl_test.prg * Column width adjusted. 19991013-22:26 GMT+1 Victor Szel * source/rtl/oldbox.c source/rtl/Makefile tests/boxtest.prg tests/Makefile makefile.b32 makefile.b16 makefile.vc + __BOX*() undocumented Clipper functions added. (Thanks to Jose Lalin) + Added to all make systems, please try them. * makefile.b32 runner.b32 ! Fixed and updated by Jose Lalin 19991013-11:00 GMT+8 Ron Pinkas * harbour.y + added TOKEN DOT and rules to support concatenation of Var and constant in macro variables assignments (like &cVar.PlusFix). + added rules to support PRIVATE/PUBLIC &cVar * harbour.l + added rules to support new TOKEN DOT and yylval.string to have the string value when parsing DOUBLE. * tests/tstmacro.prg added many tests to demonstrate working capabilities of macro. 19991013-13:52 EDT Paul Tucker * source/rtl/inkey.c + borland c 4.5 fixes as reported by Felipe 19991013-18:37 GMT+1 Antonio Linares * source/rtl/browdb.prg * Renamed function to public function DbSkipper() * New function _DbSkipper() (just calls DbSkipper()) 19991013-14:06 GMT+1 Bruno Cantero * source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * Errors on open or create operations now report the correct number. 19991013-03:13 GMT+8 Ron Pinkas * harbour.y + added TOKEN MACROALIAS and rules to support MemVar aliased macro and non aliased macro variables assignments. * harbour.l + added rules to support new TOKEN MACROALIAS +tests/tstmacro.prg sample program to demonstarte new macro assigments support. 19991012-20:41 GMT+1 Victor Szel * tests/rtl_test.prg + Tough FOR/NEXT tests added, many of them will not pass. ! Small fixes. 19991012-20:25 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * Fixed a GPF (when an open or create error occurs). 19991012-16:00 GMT+1 Victor Szel * source/vm/hvm.c ! hb_vmAnd(), hb_vmOr() - Value substitution on error added to .AND. and .OR. operators. (mentioned by Jose) 19991012-14:00 GMT+1 Antonio Linares * source/rtl/dates.c + Added support for Windows requirements. * include/hbclass.ch + Added support for METHOD ... OPERATOR ... for Harbour operators overloading. (An outstanding job from Eddie!) 19991012-13:13 GMT+1 Victor Szel * include/clipdefs.h ! ERRCODE typedef removed from here, since it has been moved to extend.h. 19991012-10:38 GMT+2 Ryszard Glab *samples/pe * new directory with a sample editor that can be used as a base for MEMOEDIT and TEditor class 19991012-00:52 EDT Paul Tucker * makefile.vc + source/rtl/input.prg + source/rtl/setta.prg + source/rtl/wait.prg 19991012-03:12 GMT+1 Victor Szel * source/compiler/harbour.y ! lLastPushPos -> _lLastPushPos 19991012-02:50 GMT+1 Victor Szel * include/caundoc.h + _bcmp, _bscan added (thanks to Matteo Baccan) * source/rtl/set.c + TOFIX: added for DEFPATH() * source/rtl/Makefile + source/rtl/input.prg + source/rtl/setta.prg + source/rtl/wait.prg + __INPUT(), __WAIT(), SETTYPEAHEAD() functions added. (Thanks to Jose Lalin) Note that INPUT() is not yet working, since it require macro functionality. Please add them to non-GNU make systems. 19991012-02:30 GMT+1 Victor Szel * source/rtl/filesys.c + Added some info about driver numbering to hb_fsChDrv(), hb_fsIsDrv(), hb_fsCurDrv(), hb_fsCurDir() + hb_fsIsDevice() added. (by Jose Lalin), return value type changed to BOOL to match Clipper. ! hb_fsIsDrv(), hb_fsChDrv() fixed to call the OS functions with the right drive number. (Please test this!) * include/ctoharb.h + More undocumented file functions added. (by Jose Lalin) * include/filesys.h ! Missing hb_fsSetDev*() prototypes added. * include/ctoharb.h ! Double copyright header fixed. * source/vm/hvm.c % w += 1 -> w++ 19991011-23:54 GMT+1 Victor Szel * source/rtl/fm.c + Newline readded to the closing //INFO message ;) * source/rdd/dbfcdx/dbfcdx1.prg - Removed the Inithandler/LockErrHandler since they are not there in Clipper. 19991011-14:20 EDT David G. Holm * source/rtl/set.c ! Corrected handling of NIL second parameter for SET() when the first parameter is _SET_ALTFILE, _SET_DEVICE, _SET_EXTRAFILE, or _SET_PRINTFILE. 19991011-19:30 GMT+1 Bruno Cantero * source/rtl/dummy.prg - Removed dbSetFilter(), dbClearFilter() and dbFilter() functions. * include/rddapi.h * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * Fixed SET DELETED. + Added dbClearFilter(), dbFilter() and dbSetFilter() functions. * doc/funclist.txt * Updated status of dbSetFilter(), dbClearFilter() and dbFilter() functions. * tests/testrdd.prg * Fixed a bug. * tests/testdbf.prg * Now test dbClearFilter(), dbFilter() and dbSetFilter() functions too. 19991011-04:59 GMT+8 Ron Pinkas * harbour.y + SetLastPushPos() to bookmark position of last possible redundant push. + RemoveExtraPush() to reset pFunc->lpCodePos to last known bookmark - in effect removing redundant last push. 19991011-13:42 GMT+1 Antonio Linares * source/vm/hvm.c * Finally fixed. Victor changed a wrong one I posted and then all the stack underflow mess started. Everything is ok now. 19991011-10:40 GMT+1 Victor Szel * source/vm/hvm.c ! __vmVarSList() <-> __vmVarSGet(), the function names were mistakenly exchanged, now OK. % __vmVarSGet() - Simplified. * source/vm/hvm.c ! HB_P_NOOP - Caused an infinite loop, fixed. (again) % hb_vmPlus(), hb_vmMinus() - Two returns from inside removed. (again) 19991011-10:04 GMT+1 Antonio Linares * source/rtl/classes.c + little change to fix Super accesses * source/vm/hvm.c + little change to fix Super accesses * include/extend.h + struct BASEARRAY new uiPrevHolders member added 19991010-23:30 GMT+1 Bruno Cantero + source/rdd/dbcmd.c + source/rdd/dbf1.c + Added support for SET DELETED. * Changed default extension from .DBF and .DBT to .dbf and .dbt * source/rdd/dbfcdx/dbfcdx1.c * Changed default extension from .FPT to .fpt * tests/testdbf.prg * Now test SET DELETED command too. + source/rdd/dbfcdx/Makefile + Added missing file. 19991010-15:05 GMT+1 Victor Szel * source/rtl/filesys.c + ISDISK() undocumented Clipper 5.3 function added. ! DISKCHANGE() fixed to call hb_fsChDrv() with the right parameter. ! hb_fsIsDrv(), hb_fsChDrv() return value fixed, since it returned the reverse of the proper value. * int types converted to USHORT for uiErrorOld variables. 19991010-14:03 GMT+1 Victor Szel * bin/*.bat + dbfcdx lib added. 19991010-13:36 GMT+1 Victor Szel * source/vm/hvm.c ! HB_P_NOOP - Caused an infinite loop, fixed. % hb_vmPlus(), hb_vmMinus() - Two returns from inside removed. 19991010-13:26 GMT+1 Bruno Cantero * include/rddapi.h * source/rdd/dbcmd.c + Added undocumented parameters: dbCreate( cFileName, aStruct, cRDD, lNew, cAlias, cDelimiter ) lNew: if specified, the created file will also be opened. If .F. this will be done in the current workarea; if .T. this will be done in the next available. cAlias: Alias for the workarea. cDelimiter: for the DELIM driver (not implemented yet). * source/rdd/dbf1.c * SELF_OPEN(), now generate an error with retry possibility. * SELF_OPENMEMFILE(), now generate an error with retry possibility. * SELF_CREATE(), now generate an error with retry possibility. * SELF_CREATEMEMFILE(), now generate an error with retry possibility. * SELF_INFO(), more values. + source/rdd/dbfcdx/Makefile + source/rdd/dbfcdx/dbfcdx0.prg + source/rdd/dbfcdx/dbfcdx1.c + Files for the DBFCDX driver. + .DBT and .FPT file memos. * rdd.b32 * makefile.vc * config/global.cf * tests/bld_vc.bat * Added new driver. * tests/testdbf.prg * Test for undocumented parameters in dbCreate() * Test for the DBFCDX driver. 19991010-13:25 GMT+2 Ryszard Glab *source/rtl/console.c * replaced USHORT for SHORT in adjust_pos *source/rtl/filesys.c * added WATCOMC branch for drive related functions We really need documentation here ! QUESTION: Does drive numbering start from 0 or 1 ? Is a A: drive numbered as 0 or 1 ? *source/compiler/harbour.l *source/compiler/harbour.y * { 1, 2, 3 }[ 2 ] syntax is supported now 19991010-12:22 GMT+1 Victor Szel * source/compiler/genc.c source/compiler/genhrb.c source/compiler/harbour.y source/vm/hvm.c % HB_P_STATICS now stores the number of statics in the pcode command itself and doesn't POP it from the stack. This causes a small speedup in the STATIC init code. * source/compiler/harbour.y source/compiler/genc.c include/compiler.h + /gc0 switch added to generate C code without comments, this makes it about 30% percent smaller, good for large code bases. 19991010-07:28 GMT+1 Antonio Linares * source/rtl/classes.c - Undone latest changes from Eddie * source/vm/hvm.c - Undone latest changes from Eddie * include/extend.h - Undone latest changes from Eddie (Eddie, I find your proposal very good -as all your ideas and code- but this one is uncompleted and breaks actual Harbour OO architecture) 19991010-02:05 GMT+1 Victor Szel * bin/*.bat ! Some minor fix in the help screens * doc/funclist.txt + Changed the format, now the third column (which was not in use) is meant to store the platform and multithreading support information. * source/compiler/harbour.y + One TODO added. * include/*.api include/assert.ch include/common.ch include/fileio.ch include/harbour.ch include/hbclass.ch include/hbextern.ch include/hbmemvar.ch include/hboo.ch include/inkey.ch include/reserved.ch include/std.ch include/clipdefs.h include/filesys.h source/rtl/filesys.c source/rtl/console.c ! FM_ #define names replaced with FD_ ones for Clipper compatibility. ! FXO_, FL_ #defines moved to filesys.h from filesys.ch for full compat. ! *.API guard names made compatible. ! Some missing #defines added to .API files (assert.ch, filesys.api) ! Small compatibility enhancement in extend.api (XDOUBLE) ! Guard names adjusted (mostly where filenames have changed). + Missing guard added to hbextern.ch + Harbour only #defines in compatbility headers prefixed with HB_ * Makefile + Added the samples to the make process, but it's commented out. 19991009-22:19 GMT+1 Antonio Linares * source/compiler/harbour.y * a[ b ]:c expressions fixed. 19991007-19:40 GMT+1 Victor Szel * tests/mankala.prg -> samples/misc/mankala.prg tests/guess.prg -> samples/misc/guess.prg tests/Makefile * Sample type of tests moved to /samples directory * samples/hscript/guest*.* -> samples/guestbk/*.* * Separated hscript and guestbk. * samples/hscript/*.bat samples/guestbk/*.bat + Borland build batch files updated, standardized. ! Fixed some issues, hb_OSNewLine() usage added, some RTL function names updated, minor fixes applied, now both works with the GNU make system (tested with MINGW32) + samples/Makefile samples/guestbk/Makefile samples/hscript/Makefile samples/misc/Makefile + GNU make files added for the samples. They are currently not invoked by the mainstream make process, but can be invoked manually. * tests/testcgi.prg % Got rid of s_cNewLine, so the HTML class no longer requires this variable. 19991008-20:00 CET Eddie Runia * include/extend.h uiPrevCls added to BASEARRAY * source/rtl/classes.c PrevCls set with previous class when using Super * source/vm/hvm.c Previous class handle restore _after_ retrieving the method + tests/inhprob.c Test program 19991008-15:42 GMT+2 Ryszard Glab *source/rdd/dbcmd.c * removed all direct modifications of memory buffers returned by hb_parc() function 19991008-06:31 EDT Paul Tucker * source\compiler\genc.c + && !defined(_MSC_VER) on generation of #pragma startup 19991007-23:18 GMT+1 Antonio Linares * source/rtl/tclass.prg * Method SetType() small fix (missing else). 19991007-17:37 GMT+1 Victor Szel * source/rdd/rddsys.prg ! Now using __rddSetDefault() instead of rddSetDefault(). This is required because at this point the requested RDD may not be registered and __rddSetDefault() will count with this. * source/rdd/dbcmd.c ! dbSetDriver() now throws the same error as Clipper. + __rddSetDefault(), alternate version of rddSetDefault() added which will not make any errors. * source/compiler/expropt.c + Small formatting fixes, file description fixed. * include/gtapi.h source/rtl/gtapi.c source/rtl/console.c * short -> SHORT + doc/cvshowto.txt + Text file describing the CVS update process. 19991007-17:55 GMT+2 Ryszard Glab *source/coompiler/expropt.c * added RCS Id header * added Ron Pinkas as copyright holder because he is the initial creator of this code 19991007-11:30 EDT Paul Tucker * makefile.vc * removed symbols.obj from compiler - I thought it needed it, but not so. * shortened filelist for Harbour.exe to $** 19991007-17:00 GMT+2 Ryszard Glab *source/compiler/harbour.y *source/coompiler/expropt.c *include/compiler.h * moved all code related to checking of expressions value type into th enew expropt.c file - it should be a good starting point for the expressions optimalizer * many coorections (rtl_test.prg doesn't GPF now when compiled with -w option) - however this type checking didn't worked correctly and it still doesn't work * moved PSTACK_VAL_TYPE stucture into expropt.c *source/compiler/harbour.y * applied changes posted by Eddie Runia to correct compile a:b[ 1 ]:c syntax *source/compiler/Makefile *makefile.b32 *makefile.vc * added expropt.c (not tested) *source/rtl/dates.c * change in #include (error in Linux) -> 19991007-09:16 GMT+1 Antonio Linares * source/rtl/tclass.prg * Method SetType() defaults init value to .f. when AS LOGICAL is specified. 19991007-01:02 EDT Paul Tucker * makefile.vc + source/rtl/readkey 19991007-02:57 GMT+1 Victor Szel * include/filesys.h source/rtl/filesys.c ! UINT_MAX changed to USHORT_MAX * source/tools/fileread.prg + "s_" prefix added to STATIC variable name. * source/rdd/dbcmd.c ! RDDSETDEFAULT() now throws an error if a non-existing RDD name is passed. Like in Clipper. + TOFIX: added about directly modified hb_parc() buffers. * source/rtl/tget.prg ! Mistyped object variable names corrected. ! :display now leaves to cursor at a Clipper compatible position. Cursor is positioned explicitly after internal :display calls. * source/rtl/tgetlist.prg + missing DateMsg() method added. 19991006-20:20 EDT Paul Tucker * makefile.vc * changed mainstd.c to main.c 19991007-01:42 GMT+1 Victor Szel * include/filesys.h source/rtl/filesys.c % Only use hb_fsReadLarge() and hb_fsWriteLarge() when the size of an unsigned int is not the same as the size of an unsigned long. (Same logic as for xmem*() functions) * source/rtl/dummy.prg - ReadKey() removed. 19991007-01:16 GMT+1 Victor Szel + source/vm/main.c (added) source/vm/Makefile include/hbsetup.h + main.c added as an includer for mainwin.c or mainstd.c, selectable via #defines in hbsetup.h, or via command line, just like the GTAPI and MOUSEAPI selection. Can be used from all build systems. * source/rtl/memoline.c ! Small formatting fix. 19991006-18:55 EDT Paul Tucker * makefile.vc * corrected creation of hbrun.exe 19991006-17:05 EDT Paul Tucker * source/rtl/gtapi.c * enable dispbegin/end calls in gtBox 19991006-21:08 GMT+1 Antonio Linares * source/rtl/classes.c * Fixed bug for CLASSDATAs INIT clause on inherited classes. 19991006-15:05 EDT Paul Tucker * makefile.vc + source/rtl/dummy.prg * move -DHARBOUR_OBJ_GENERATION flag to harbour.exe generation only * source/rtl/memoline.c * added a cast (again) on xgrab call. 19991006-20:11 GMT+1 Victor Szel * source/rtl/tgetlist.prg ! ReadExit() added back as method. 19991006-19:14 GMT+1 Antonio Linares * source/rtl/classes.c * Fixed bug for CLASSDATAs INIT clause. 19991006-18:34 GMT+1 Victor Szel * source/rtl/filesys.c include/hbdefs.h ! BIN2I() sign bug fixed Thanks to gjd@casema.net * source/rtl/dummy.prg ! Fixed some return values. 19991006-11:20 EDT David G. Holm * config/os2/icc.cf + Added way to select startup model using HB_MAIN, because ICC won't resolve main() from vm library. * tests/Makefile + Added HB_MAIN=std (but only if HB_MAIN not already set). + Added devtest.prg + Added disptest.prg + tests/devtest.prg + New module to test Clipper device compatibility. + tests/disptest.prg + New module to test Clipper display compatibility. 19991006-14:35 GMT+1 Victor Szel * source/rtl/dummy.prg source/rtl/Makefile source/rtl/rddord.prg include/hbextern.ch source/runner/stdalone/external.prg + All not yet implemented function skeletons added or moved to dummy.prg so that the number of unresolved externals will be reduced, and we can have a better view about what is left to do. Also updating EXTERNAL.PRG and HBEXTERN.CH will not be needed so frequently. * doc/funclist.txt source/rtl/readkey.prg source/rtl/Makefile + READKEY() added. * doc/funclist.txt + ORDCONDSET() added to the TODO list. * source/runner/stdalone/external.prg include/hbextern.ch + MEMOLINE()/MLCOUNT() added. * tests/run_tsta.bat -> tests/run_test.bat * Renamed. + Comments. * tests/run_b32.bat -> tests/bld_b32o.bat ! Small fix. * Renamed. !! WARNING !! Please modify non-GNU make files. 19991006-13:19 GMT+1 Victor Szel * source/rtl/memoline.c source/rtl/mlcount.c ! TAB handling fixes for MEMOLINE() and MLCOUNT() by Ignacio Ortiz de Zúniga * All USHORTs changed to ULONG. 19991006-13:05 GMT+1 Victor Szel * source/rtl/tclass.prg ! Reformatted (again) * include/rdd.api include/item.api include/gt.api include/error.api include/extend.api + Copyright added. * source/rtl/gtxxx.c source/rtl/mousexxx.c % Simplified the include logic, got rid of #error, since it was now obsolete. * source/rtl/memoline.c source/rtl/gtapi.c ! Some minor formatting fixes. 19991006-12:10 GMT+1 Victor Szel * include/extend.h rdd/dbcmd.c rtl/arrays.c rtl/classes.c rtl/codebloc.c rtl/dates.c rtl/errorapi.c rtl/extend.c rtl/itemapi.c runner/runlib.c vm/debug.c vm/hvm.c * stack -> hb_stack Global variable name renamed to protect non-Harbour namespace. * doc/funclist.txt + Updated (as per Chen Kedem) * tests/funcarr.prg tests/inherit.prg tests/objarr.prg tests/objasign.prg ! Debug function name changes applied (reported by David) * source/rtl/environ.c ! Indentation fix (old one). 19991006-10:44 GMT+1 Victor Szel * ChangeLog ! Fixed deleted entries, missing entries, conflict markers, double entries. * include/Makefile + harbour.ch added * include/harbour.ch ! Some minor fixes. 19991006-07:41 GMT+1 Antonio Linares * makefile.b32 + mising include source\compiler path compiling harboury.c * source/rtl/classes.c + Added support for CLASSDATAs INIT clause. * source/rtl/tclass.prg + Added support for CLASSDATAs INIT clause. * include/hboo.ch + new defines added for CLASSDATAS. 19991006-00:30 GMT+1 Jose Lalin * source/rtl/natmsg/msgeu.c ! full translated. Thanks to Nicolas del Pozo * source/rtl/natmsg/msgga.c * small changes 19991006-01:10 EDT David G. Holm * source/rtl/dates.c % SECONDS() now uses ftime() and localtime() for all platforms. * source/rtl/environ.c + Added HB_VERSION() changes supplied by Jose Lalin with corrections for the compiler version and revision for Borland C 3.1 and 5.x, Cygnus GCC with Cygwin, Cygnus GCC with Mingw32, and Delorie GCC. * source/rtl/set.c + Added HB_DEFPATH() and HB___DEFPATH() supplied by Jose Lalin. * include/extend.h * source/rtl/fm.c % Only use hb_xmemcopy() and hb_xmemset() when the size of an unsigned int is not the same as the size of an unsigned long. * include/gtapi.h * source/rtl/console.c * source/rtl/gtapi.c ! DEVPOS(), SETPOS(), console cursor position, and console display functions modified for improved Clipper compatibility. 19991005-23:20 EDT Paul Tucker + include/harbour.ch * This file is meant as a repository of defines or translations needed to allow CA-Clipper to compile programs that take advantage of any Harbour specific extensions or additions to the language. Currently, it only handles a substitute for HB_OsNewLine() 19991006-03:02 GMT+1 Victor Szel * include/extend.h source/rtl/arrays.c source/rtl/classes.c source/rtl/do.c source/rtl/itemapi.c source/vm/hvm.c * hb_g_symEval -> hb_symEval * source/vm/mainwin.c * hb_g_* -> hb_* * source/vm/hvm.c ! aStatics made static now for sure. * source/rtl/strings.c ! Typo fixed. * source/rtl/memoline.c ! Formatting fix. 19991005-20:35 EDT Paul Tucker * source/rtl/memoline.c * add a cast on xgrab call. 19991006-02:26 GMT+1 Victor Szel * include/set.h source/rtl/set.c source/rtl/console.c source/rtl/transfrm.c ! 64 changed to CLR_STRLEN in set.h * Separate global "set" variables moved inside HB_SET_STRUCT * include/caundoc.api + _bset, _bmove, _bcopy undocumented Clipper functions added, they are mapped to mem*() functions. * source/vm/main*.c ! Typo fixed. 19991006-00:32 GMT+1 Victor Szel * include/extend.h source/vm/debug.c source/vm/hvm.c * aStatics made static, prefixed with "s_" __vmVarSGet(), __vmVarSList moved to hvm.c from debug.c * source/vm/debug.c include/hbextern.ch source/runner/stdalone/external.prg source/debug/debugger.prg tests/debugtst.prg * __APARAM -> __vmParLList __GETLOCAL -> __vmVarLGet __STATIC -> __vmVarSGet __ASTATIC -> __vmVarSList __GLOBALSTACKLEN -> __vmStkGCount __AGLOBALSTACK -> __vmStkGList __STACKLEN -> __vmStkLCount __ASTACK -> __vmStkLList Functions renamed. * source/rdd/dbcmd.c + zeros changed to NULL/'\0' * source/debug/debugger.prg source/rtl/menuto.prg source/rtl/setkey.prg source/rtl/tclass.prg source/rtl/terror.prg source/tools/fileread.prg + static var names prefixed with "s_" in all .PRG modules. * source/rtl/console.c doc/funclist.txt + DISPOUTAT() undocumented Clipper function added. * include/extend.h source/rtl/arrays.c source/rtl/classes.c source/rtl/do.c source/rtl/itemapi.c source/vm/hvm.c * symEval -> hb_g_symEval Global variable prefixed with "hb_g_". 19991005-17:30 EDT Paul Tucker * makefile.vc + source/rtl/mlcount + source/rtl/memoline + source/vm/mainstd (for now) + source/rtl/rddord * gtapi.obj moved to terminal.lib * duplicate console.obj removed from terminal.lib (as reported by Gerrit Jan Doornink ) Tue Oct 05 14:44:16 1999 Gonzalo A. Diethelm * source/rtl/filesys.c (hb_fsTell): Replaced use of tell() with an equivalent call to lseek(), so that this is supported under gcc. 19991005-20:34 GMT+1 Victor Szel * include/hbextern.ch source/runner/stdalone/external.prg - One of the two HB_OSNEWLINE removed. + source/rtl/memoline.c source/rtl/Makefile doc/funclist.txt + MEMOLINE() added (thanks to Ignacio Ortiz de Zúniga ) !! WARNING !! Please modify non-GNU make files. 19991005-18:20 GMT+1 Victor Szel + source/rtl/rddord.prg source/rtl/Makefile + dbCreateIndex() dbSetIndex() dbClearIndex() dbReindex() dbSetOrder() IndexExt() IndexKey() These will not work yet, since they are simple wrapper to the ord*() functions. Just like in Clipper. !! WARNING !! Please modify non-GNU make files. 19991005-18:02 GMT+1 Victor Szel * tests/rtl_test.prg + Added more complete tests for <,>,<=,>=,!= operators. * source/vm/hvm.c % hb_vmPopDate() is no more checking the type of the popped value, and the related unrecoverable error is also removed, since the callers do this check before each call. * Some more function grouping, small corrections. ! hb_vmLess(), hb_vmLessEqual(), hb_vmGreater(), hb_vmGreaterEqual() some cases were not handled, so stack corruption could occure, when two ARRAY/BLOCK/OBJECT were compared. Fixed. ! hb_vmNotEqual() fixed for ARRAY/OBJECT/BLOCK types. * source/vm/hvm.c include/pcode.h source/compiler/genc.c source/compiler/genhrb.c source/compiler/harbour.y * HB_P_GENARRAY -> HB_P_ARRAYGEN * HB_P_DIMARRAY -> HB_P_ARRAYDIM !! WARNING !! Please rebuild all .PRG files, since the pcode values have changed. * include/hbver.h + Revision set to "a" * source/compiler/harbour.c + isatty.c put back in order. * source/compiler/main*.c + Some small cleanups. 19991005-14:41 GMT+1 Victor Szel * tests/run_tsta.bat tests/test_all.prg ! Fixed, HB32 changed to RUN_PRG, filename cases adjusted, using header files, date format set to standard. * .cvsignore make_tpl.* config/win32/* moved to config/w32/* * The GNU platform name for Windows 32bit has changed to "w32" from "win32", the only reason is that the new one is shorter. This way all the paths will be shorter, and the binary release filenames will be also shorter. Please update your GNU make starter batch files to use w32 instead of win32 in HB_ARCHITECTURE. 19991005-13:59 GMT+1 Victor Szel * source/compiler/harbour.y source/pp/stdalone/hbpp.c + Added closing \n to the help text, to make it appear OK under some shells. (Thanks to Dave Pearson) * source/compiler/harbour.c - isatty() removed. (Thanks to Dave Pearson) * makefile.* samples/hscript/bldguest.bat % Some more fix & cleanup. * source/rtl/tgetlist.prg doc/funclist.txt + READINSERT() function added. (Thanks to Matteo Baccan) * source/rtl/filesys.c include/filesys.h + hb_fsTell() added to the header file % hb_fsSetDev*() now calls hb_fsSetDevMode(), so some platform specific code could be eliminated. % Some simplification in FSETDEVMOD() + Added missing HB_ prefix to FSETDEVMOD() 19991005-12:55 GMT+1 Jose Lalin * source/rtl/filesys.c + missing FSETDEVMOD() + hb_fsTell() + hb_fsSetDevRaw() + hb_fsSetDevText() 19991005-12:30 GMT+2 Ryszard Glab *source/compiler/harbour.y * changed some rules to correctly handle the following syntax: LOCAL cbVar:={|| cbVar} (the cbVar inside a codeblock is correctly considered a local variable instead of memvar variable) * corrected usage info to print LF at the end of message 19991005-08:36 GMT+1 Victor Szel * source/vm/main*.c source/vm/Makefile include/ctoharb.h ! Some cleanup on the new main() functions. (using header file, fixed CVS headers, added copyright header, removed a TODO, TO DO -> TODO, Hungarian notation, global var name, 0 -> NULL, added to GNU makefile, std main return value missing.) * makefile.b40 (removed) makefile.b32 make_b40.bat + makefile.b40 removed, since from now on makefile.b32 provides the same functionality when B40 macro is defined. See make_b40.bat. * *.bat *.b?? hbpplib.b32 (removed) + Further uniformized. + hbpp.exe make process uncommented from make_b16.bat. We will see how it works. + hbpplib.b32 incorporated into hbpp.b32 - hbpp.b16 (removed) makefile.b16 make_b16.bat - hbpp.b16 removed, since it was not used, and is now incorporated to makefile.b16. * source/runner/stdalone/hbrun.prg + Using OutStd() instead of QOUT() to enable output redirecting like in other command line utilites. 19991005-07:55 GMT+1 Antonio Linares + New file source/vm/mainstd.c (entry point for std applications) + New file source/vm/mainwin.c (entry point for win appplications) * source/vm/hvm.c -+ main() renamed to hb_vmInit() * hb_quit() removed from there and moved to mainstd.c and mainwin.c respectively. * makefile.b32 * added support for mainstd.c and mainwin.c modules. (make_b32.bat tested and works ok). * tests/bld_b32.bat * %1 moved to the end of line * del %1.c removed (tested and works ok). 19991005-00:13 GMT+1 Victor Szel * source/compiler/genc.c ! Cosmetic: Some double tabs changed to single ones. 19991004-22:34 GMT+1 Victor Szel * tests/db_brows.prg - READEXIT() removed since it's now part of the RTL. 19991004-21:34 GMT+1 Victor Szel * tests/*.bat ! Reworked, standardized, simplified. Please test them. Now they resemble to the bin/*.bat batch files. * tests/buildexe.bat - Removed since it was obsolete, use bld_b16.bat instead. 19991004-19:54 GMT+1 Victor Szel * source/rtl/memvars.c ! memvars.ch changed to hbmemvar.ch * tests/working/*.* moved to tests/*.* * tests/working/db_brows.* ! Fixed the CVS header, they missed to closing "$" 19991004-19:23 GMT+1 Victor Szel * tests/broken/*.* moved to tests/working tests/working/Makefile * moved to the BAD_PRG_SOURCES - tests/broken/ - Removed * tests/working/hscript/*.* moved to samples/hscript * Moved * source/rtl/mlcount.c * BYTE type changed to USHORT. * Hungarian notation slighly corrected. 19991004-18:58 GMT+1 Victor Szel + source/runner/stdalone/hbrun.prg + Added (now for sure) 19991004-18:53 GMT+1 Victor Szel + include/reserved.ch + Added for complete Clipper compatibility, the file is a dummy, so it's a TODO to replicate to originial functionality. * include/Makefile * Updated. Mon Oct 04 12:52:42 1999 Gonzalo A. Diethelm * tests/working/Makefile: Added missing '\' after db_brows.ch. Changed spaces to tabs. 19991004-18:42 GMT+1 Victor Szel * include/classes.ch -> include/hbclass.ch include/external.ch -> include/hbextern.ch include/memvars.ch -> include/hbmemvar.ch source/debug/debugger.prg source/debug/tbrwtext.prg source/rtl/tbcolumn.prg source/rtl/tbrowse.prg source/rtl/tget.prg source/rtl/tgetlist.prg tests/working/classch.prg source/runner/stdalone/hbrun.prg source/rtl/memvarbl.prg source/rtl/menuto.prg * Non-Clipper compatible Harbour .CH filenames prefixed with "HB" to avoid possible name collisions with existing header files. 19991004-18:06 GMT+1 Victor Szel + source/rtl/mlcount.c source/rtl/Makefile doc/funclist.txt + MLCOUNT() added (thanks to Ignacio Ortiz de Zúniga ) - source/runner/stdalone/runner.prg - Removed (now for sure) 19991004-16:25 GMT+1 Victor Szel * source/runner/stdalone/runner.prg -> hbrun.prg source/runner/stdalone/Makefile runner.b32 makefile.vc tests/working/hbrun.bat -> hbrunprg.bat tests/working/run_all.bat tests/working/test_all.prg * runner.exe renamed to hbrun.exe to better fit into the final executable naming style (harbour/hbpp/hbrun) 19991004-15:15 GMT+1 Victor Szel * source/hbpp -> source/pp source/Makefile source/pp/Makefile source/pp/stdalone/Makefile source/compiler/Makefile source/runner/stdalone/Makefile tests/working/Makefile makefile.* *.b?? * source/hbpp changed to source/pp. 19991004-14:48 GMT+1 Victor Szel * tests/working/*.bat *.b?? makefile.vc libs/* lib/* * libs directory name changed to lib, the win16 and win32 subdirs have been removed. * win32 dir is no longer needed, since now the windows terminal.lib is named termwin.lib. ! HARBOUR_USE_GTAPI defines changed to HARBOUR_USE_WIN_GTAPI ; !!! PLEASE TEST THESE WITH BORLAND AND MSVC !!! (or wait a bit more since more changes are coming) 19991004-01:20 GMT+1 Victor Szel - make_b31.bat makefile.b31 harbour.b31 - Removed, make_b16.bat should be used instead. 19991004-01:14 GMT+1 Victor Szel * build16.bat -> make_b16.bat build31.bat -> make_b31.bat build32.bat -> make_b32.bat build40.bat -> make_b40.bat buildvc.bat -> make_vc.bat * Renamed. + buildexe-dos-bcc31.bat + buildexe-dos-djgpp.bat + buildexe-os2-gcc.cmd + buildexe-os2-icc.cmd + buildexe-w32-gcc.bat + buildexe-w32-mingw32.bat + buildexe-w32-msvc.bat + Added these files used in the binary releases, some fixes applied too: /include for harbour.exe, DJGPP -ldbfntx -> -ldbfnt, a note from the MSVC version copied into the others. CVS header added. -o%1.exe added to DJGPP version. Note the long filenames: I could not figure out a better method to identify the batch file, while keeping them in the same dir. * funclist.txt moved to doc/funclist.txt - genbuild.bat - Removed, since it's now obsolete. 19991003-09:45 GMT+1 Antonio Linares * include/classes.ch + Support for INIT and AS clauses. * source/rtl/tclass.prg + New DATAS uInit and cType added. + New SetInit() and SetType() methods added. (Notice that SetInit() is already working, though SetType() does nothing yet). 19991003-03:52 GMT+1 Victor Szel ; Modifications after a test build with the harbour /w2 switch: * tests/working/rtl_test.prg + QUESTION added about __FLAGSHIP__ and __VO__ constant names. * source/rtl/tgetlist.prg funclist.txt ! ReadModal() was buggy when a reader codeblock existed. Fixed. ! ReadExit() converted to function from a method, this way it's Clipper compatible, plus an unused variable warning has been fixed. * source/rtl/tget.prg ! _GET_/__GET was not assigning the passed VALID and WHEN blocks to the get object, this has been fixed, but not tested. * source/rtl/achoice.prg source/rtl/harbinit.prg source/rtl/tget.prg source/rtl/tgetlist.prg source/rdd/dbfntx/dbfntx0.prg (missing #include) source/debug/debugger.prg (mistyped and undeclared variables) ! /w2 warnings fixed. 19991002-22:45 GMT+1 Victor Szel * include/extend.h source/rtl/strings.c source/rtl/itemapi.c source/rtl/hvm.c % xmem*() function redefinition for Watcom has been moved in one central place to extend.h. * tests/working/extend2.c ! Now includes caundoc.api explicitly. * source/vm/hvm.c include/ctoharb.h + local functions made static, prototypes moved to HVM.C + grouped opcodes and opcode functions by category. ! Indentation completely fixed. ! Prototype of one non-existing function removed. 19991002-18:10 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed some bugs, reported by Victor Szel, Ryszard Glab, Jose Lalin and * Robert Arseniuk * tests/working/db_browse.ch renamed to db_brows.ch * tests/working/db_browse.prg renamed to db_brows.prg * added $Id * these two files added to makefile 19991002-03:20 EDT Paul Tucker * buildvc.bat makefile.vc tests\working\buildvc.bat * symbols.asm/obj is now a normal part of the make process and is added to harbour.lib so additional references to this have been removed. 19991001-17:10 GMT+2 Ryszard Glab *source/vm/hvm.c *source/rtl/strings.c *source/rtl/itemapi.c * added redefinition of hb_xmemcpy -> memcpy hb_xmemset -> memset because these functions can work with buffers larger then 64kB (size_t is typedefined as 'unsigned') - for WATCOM compiler only *include/pcode.h *source/compiler/harbour.y *source/compiler/genc.c *source/compiler/genhrb.c *source/vm/hvm.c + added support for new opcodes used to handle undeclared variables (the type of a variable is determined at runtime) HB_P_POPVARIABLE HB_P_PUSHVARIABLE * the generated pcodes depends on yhe use of HARBOUR_STRICT_CLIPPER_COMPATIBILITY option (see doc\compatib.txt for details) NOTE: You have to recompile all PRG sources! *source/rtl/memvars.c *include/extend.h * new function hb_memvarGet that retrieves the value of memvar variable without error generation in case when the variable does not exist *source/rdd/dbcmd.c *include/rddapi.h * new functions hb_rddFieldGet/hb_rddFieldPut used to retrieve/set the value of database field with no error generation in case when the field does not exist *include/extend.h * moved definition of ERRCODE, SUCCESS and FAILURE from rddapi.h to make them available for other modules *source/compiler/harbour.y *source/compiler/harbour.l * the line number is incremented in harbour.y now (Crlf rule) Incrementing in harbour.l caused incorrect line number reporting in error/warning messages. The look ahead FLEX feature caused incrementation in the middle of the parsed rule. *source/compiler/harbour.y * added warnings when a procedure returns a value or a function with no return value * replaced the WORD type with USHORT * corrected (and simplified) handling of parameters of DO WITH statements (passing by reference works correctly now) * corrected the rule for declaration of multidimensioned arrays ( LOCAL arr[ 1 ][ 2 ] ) *source/compiler/harbour.y *source/hbpp/hbpp.c *source/hbpp/stdalone/hbpp.c * the '-w' command line option can set the maximal level of reported warnings. The following levels are supported currently: '-w0' - no warnings '-w' or '-w1' - Clipper compatible warnings '-w2' - some useful warnings missed in Clipper '-w3' - warnings generated for Harbour language extensions * the first character of warning messages defines the level of warnings that triggers this message *source/hbpp/hbpplib.c * added setjmp/longjmp error handling - the error handling should be expanded later to made __PREPROCESS function useful in real applications *include/hberrors.h * new warnings *include/compiler.h * new flag FUN_WITH_RETURN * replaced the WORD type with USHORT *source/compiler/genobj32.c *source/compiler/genc.c *source/compiler/genhrb.c * replaced the WORD type with USHORT *include/clipdefs.h * removed #include "caundoc.api" because it contains undocumented materials that should be included on request only. It also caused redefinition errors (HB_FNAME defined in filesys.h) when harbour.y was compiled with HARBOUR_STRICT_CLIPPER_COMPATIBILITY *doc/compiler.txt * the basic documentation for harbour compiler *source/rtl/console.c * hb_cursor_enum -> HB_cursor_enum 19991001-00:25 EDT Paul Tucker * makefile.vc + source/rtl/dircmd.prg + source/rtl/fieldbl.prg + source/rtl/setfunc.prg + source/rtl/text.prg 19991001-05:40 GMT+1 Victor Szel + source/rtl/dircmd.prg source/rtl/Makefile funclist.txt + __DIR() function added, so the DIR command is working now. ( Please add this file to the non-GNU make files ) 19991001-05:30 GMT+1 Victor Szel * source/rtl/filesys.c ! BIN2I(), BIN2L() made Clipper compatible, for strings shorter than the expected length. One test call still fails, probably because of different int size on 32 bit platforms. * include/hbdefs.h ! MKINT() casted to long instead of int. * include/external.ch source/runner/stdalone/external.prg + W2BIN removed. + tests/working/rtl_test.prg + BIN2W(), BIN2I(), BIN2L(), L2BIN(), I2BIN() regression tests added. + FNAME*() tests enabled. - doc/*.nfo (removed) + doc/depend.txt (added) + The long filename files converted to one file with short name, the contents has been concatenated. The extension is standard now. 19990930-22:10 EDT Paul Tucker * makefile.vc updated to add missing files and to create runner.exe and hbpp.exe * buildvc.bat add if exist to remove error message on file not found. 19990807-10:17 CET Patrick Mast * updated doc/whatsnew.txt 19990930-23:00 GMT+1 Victor Szel * source/rtl/hbpp/hbppint.c source/rtl/hbpp/hbpplib.c (resParse removed) source/rtl/gtapi.c (tmpRow,tmpCol removed from a function) source/rtl/gt/gtwin.c ! Warnings fixed (reported by Patrick Mast with Borland C 4.0). * funclist.txt source/rtl/Makefile + Updated. ( Please add these files to the non-GNU make files ) + source/rtl/fieldbl.prg + FIELDBLOCK() and FIELDWBLOCK() functions added. They are not 100% compatible in error situations, since the method used is different than in Clipper. They are also slower. + source/rtl/setfunc.prg + __SetFunction() added + source/rtl/text.prg + __TextSave(), __TextRestore() added. Note that the TEXT feature is not yet working, since the PP should make some special processing not yet implemented. 19990930-22:15 GMT+1 Victor Szel * include/external.ch + Added HB_OSNEWLINE * source/compiler/genc.c + It's now possible to request the code generator not to put comments in the C code. This and some other small format changes can result in about 30% smaller generated source code size. This feature is currently permanently turned off, I will add switch for it soon. + If an incorrect pcode is encountered it's now put in the generated C file, with a proper comment which says that it's a invalid opcode. BTW, ideally it should exit on such errors. + The Harbour Compiler version is now included in the generated pcode as a comment. 19990930-15:20 EDT David G. Holm * include/extend.h + Added hb_setCursor() prototype. * source/rtl/console.c + Added hb_gtSetCursor( SC_NORMAL ) to hb_consoleInitialize(). + Added hb_setCursor(), which does the grunt work that SETCURSOR used to do, so that it can be called from SET(). % SETCURSOR() is now a shell function that calls hb_setCursor(). * source/rtl/set.c ! SET( _SET_CURSOR [, SC_...] ) now calls hb_setCursor(). * source/runner/stdalone/external.prg + Added HB_OSNEWLINE 19990930-21:00 GMT+1 Victor Szel * include/common.ch rtl/asort.prg rtl/errorsys.prg rtl/memvarbl.prg rtl/menuto.prg rtl/achoice.prg rtl/adir.prg rtl/alert.prg rtl/objfunc.prg rtl/readvar.prg rtl/tclass.prg rtl/tgetlist.prg rtl/setkey.prg ! ISCHAR() -> ISCHARACTER() ! ISNUM() -> ISNUMERIC() ! ISLOG() -> ISLOGICAL() Made them Clipper compatible. * source/rdd/dbfntx/dbfntx0.prg + Added Clipper compatible error handler extension for lock errors. * source/rtl/errorsys.c + __ERRINHANDLER() undocumented internal CA-Cl*pper function added, will be needed later. In CA-Cl*pper its name is ErrorInHandler(). * source/rtl/gtapi.c source/rtl/console.c source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c ; Fixes by Chen Kedem implemented. ! SETMODE() now returns a logical value. ! hb_gtSetMode() now returns an error code if the low-level API call fails. ! hb_gt_SetMode() now signals error in Windows, TODO added for DOS. * source/rtl/memvarbl.prg + MEMVARBLOCK() - Added a STRICT_COMPATBILITY code branch, where the returned codeblock will behave exactly like Clipper, so that it will not assign the passed value to the memvar if it's a NIL. The NG doesn't suggest this behaviour but that's how it works anyway. Same goes for the FIELD*BLOCK() functions. * harbour.b31 ! Some fixes reported by Jose Lalin. * include/gtapi.h source/rtl/gtapi.c ! int return value (as an error code) changed to USHORT to be even more compatible with Clipper. * source/rtl/fm.c - Removed CRLF before the ending //INFO message. + Dummy MEMORY() function added. * include/extend.h + ISBLOCK() added. 19990930-19:40 GMT+3 Alexander Kresin * source/rdd/dbf1.c * some changes in GoTo() and SkipRaw() functions for correct processing * of negative skip's and fBof setting. + tests/working/db_browse.ch + tests/working/db_browse.prg * A sample added, demonstrating dbf file browse * While running db_browse.exe, sign a filename as a parameter 19990930-18:00 GMT+1 Victor Szel ; Harbour Build 30 released 19990929-16:42 GMT+1 Victor Szel * include/hbver.h + Version info updated. 19990926-22:45 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed a bug, noted by Antonio Linares 19990926-19:22 GMT+1 Victor Szel * funclist.txt + __ACCEPTSTR marked ready. * source/hbpp/hbpp.c ! Non-ANSI (//) comments changed to /**/ 19990926-17:22 GMT+1 Victor Szel * source/rtl/asort.prg ! The block return type detection code now calls the block with the nStart item, and not always the first one. This way it has less side effect, since the block is not called with elements which would not be accessed at all normally. So this works now: aSort( { NIL, 20, 10 }, 2,, {|x,y| x < y } ) 19990926-14:10 GMT+2 Ryszard Glab *source/compiler/harbour.y * fixed generation of invalid pcodes when nested IIF were used * added an error message when any statements are used after DO CASE and before the first CASE or the OTHERWISE *include/hberrors.h * added ERR_MAYHEM_IN_CASE error code 19990925-11:10 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed some bugs, noted by Victor Szel, Andi Jahja and Antonio Linares 19990925-07:52 GMT+1 Victor Szel * tests/working/testwarn.prg ! Added a MAIN() function. 19990925-00:42 EDT Paul Tucker * tests/working/adirtest.prg * slight modification to the first call to Adir() to account for documented behaviour that you could get back a different length from Adir depending on the inclusion of the 5th parameter. (The docs don't exactly phrase it that way) 19990925-00:20 EDT Paul Tucker * source/rtl/adir.prg made a change - then reversed it. * source/rtl/asort.prg * The initial test to determine if the codeblock is going to return a logical was passing a numeric as a test - and the codeblock may not have been expecting it. 19990925-05:57 GMT+1 Victor Szel * source/vm/dynsym.c ! HB___DYNSGETNAME() now validates the index parameter passed. Previously it could GPF with 0 or too big index. * tests/working/dynsym.prg + Some new lines added to test the situations above. 19990924-23:10 EDT Paul Tucker * source/vm/dynsym.c * corrected return value of HB___DYNSGETINDEX() it was returning a cast of PHB_DYNS instead of the index. To accomodate this, added s_uiClosestDynSym = uiMiddle before the return in hb_dynsymFind. * source/rtl/fm.c * added a c/r before ---- for fm_statistics on exit. also minor 'by' => 'but' 19990925-03:00 GMT+1 Victor Szel * source/runner/stdalone/external.prg include/external.ch + Updated. * source/rtl/gt/gtwin.c * Copyright header formatting. 19990925-00:05 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed some bugs ( GPF after #undef and with non-symbolic string ) 19990924-11:33 GMT+1 Victor Szel * source/rtl/classes.c ! hb_clsDictRealloc() one cast added. 19990924-10:05 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed bug, noted by Matteo Baccan 19990924-07:18 GMT+1 Victor Szel * source/hbpp/hbpp.c ! Fixed warning about function not returning value (in ParseDefine()) * source/rtl/classes.c + hb_clsDictRealloc() implemented. By Janica Lubos 19990923-20:55 EDT Paul Tucker * source/rtl/gt/gtwin.c * fix for redirected console output as reported by Victor 19990923-23:42 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed bugs, noted by Antonio Linares and Matteo Baccan 19990923-13:58 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed a bug with clauses definition order. Now we can write use ... alias ... new shared or use ... shared new alias ... , etc. 19990923-11:40 GMT+1 Victor Szel * source/rtl/extend.c ! Fixed hb_stor*() functions to handle arrays with the -1 parameter like in CA-Clipper. Thanks to Janica Lubos 19990923-10:55 GMT+1 Victor Szel * include/gtapi.h include/set.h include/Makefile include/setcurs.ch + include/setcurs.h (new) ! Cursor style constants moved to a separate file setcurs.h, this new file is included to gtapi.h and set.h. The .ch file is no longer used from C code. Previously the constants defined in setcurs.ch and set.h collided, and could not compile. * include/set.h include/inkey.h source/rtl/inkey.c * HB_inkey_enum moved to inkey.h from set.h. 19990923-09:16 GMT+1 Victor Szel * include/vm.api ! Removed HANDLE typedef, since it conflicted with the one in clipdefs.h, it's also more Clipper compatible now. 19990923-03:30 GMT+1 Victor Szel * source/rtl/gt/gtwin.c ! Tab removed from the top of the file. * source/rtl/console.c ! Small fix in the function header of HB_OSNewLine(). 19990923-00:30 GMT+1 Victor Szel * source/compiler/genc.c + The generated C code now uses the "extern" keyword for functions defined outside the .C file. 19990922-17:05 EDT David G. Holm * source/tools/Makefile - Removed osnewlin.prg - source/tools/osnewlin.prg - This source module is no longer pertinent (OS_NewLine is now an RTL function named HB_OS_NewLine) 19990922-22:00 GMT+1 Victor Szel * source/tests/working/rtl_test.prg + Added a bunch of file name split/merge function tests, these are uncommented right now, since functions are not yet generating the ideal results. The functions should be fixed after Build 30. Maybe some expected results should be fixed, too. * source/rtl/fm.c source/rtl/extend.c * hb_xmem*() functions moved to fm.c * source/rtl/filesys.c ! Some more fix for hb_fsFNameMerge() buffer overrun. + HB_HB_FNAMESPLIT() HB_HB_FNAMEMERGE() functions added. * source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c source/rtl/set.c % Removed NULL checks for the results of hb_xgrab() calls, since these function will always return valid pointers (they will throw an unrecoverable error on failure). If someone needs to handle the memory allocation failure explicitly, he should use hb_xalloc() which may return a NULL pointer. 19990921-20:30 GMT+1 Victor Szel * source/hbpp/hbpp.c ! One warning about unused variable fixed in strincmp() * source/rtl/console.c + HB_OSNEWLINE() function added. * source/rtl/inkey.c ! // style comment changed to ANSI /**/ + Added #include "inkey.ch" * Some keyboard code constants changed to manifest constant. * source/runner/runlib.c ! Two casts added for MSVC 4 * adirtest.prg cdow.prg dates.prg dates2.prg dates3.prg dates4.prg dirtest.prg longstr2.prg output.prg readfile.prg round.prg rtl_test.prg seconds.prg set_num.prg set_test.prg testcgi.prg testhtml.prg * OS_NewLine() -> HB_OSNewLine() 19990921-14:25 EDT David G. Holm * source/rtl/set.c ! Changed unitialized bflag in call to open_handle() to FALSE * source/rtl/strings.c ! Rearranged the logic in hb_itemStr() that determines whether or not to round a floating point number being converted to a string * source/rtl/tone.c ! Added ' || defined(WINNT)' to the ULONG #if for calculating the value of 'temp' 19990921-12:25 EDT David G. Holm * source/rtl/console.c - Removed special handling for Unix and Cygwin in HB___ACCEPT(), per Georg Lehner * source/rtl/filesys.c ! Corrected convert_open_flags() check for FO_READONLY to mask out the share-mode flags before doing the check ! Switched OS/2 from open() to sopen() in hb_fsOpen() * source/rtl/inkey.c % Made two changes to Unix support, per Georg Lehner: 1) Added 'ta.c_iflag &= ~ICRNL;' 2) Changed 'return;' in hb_inkeyPoll() to 'ch = 0;' * source/rtl/gt/gtos2.c ! Removed the unsigned to signed conversions for sVert and sHoriz, now that the conversions are no longer needed 19990921-15:33 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Yet another bug fixed with restrivted match markers consisting of more than one word ( 'FROM USER', for example ) 19990921-00:07 EDT Paul Tucker * source/vm/hvm.c source/rtl/fm.c - removed a few casts for outerr calls 19990919-21:40 GMT+1 Victor Szel * source/rtl/console.c include/extend.h + BYTE* changed back to char* for the Console API functions, BYTE* casts were added for all hb_gt* and hb_fs*() calls. 19990919-17:14 GMT+1 Victor Szel * source/rtl/errorapi.c source/rtl/fm.c source/vm/hvm.c ! printf() calls changed to hb_outerr() calls, since Clipper is sending these to STDERR, too. The other issues fixed are file buffering and console inconsistency. In general one should not use printf(), fprintf(), or any f*() file functions to handle STDOUT/STDERR(), since this can cause anomalies due to both direct and buffered access to the same device, and also the internal cursor positions cannot be tracked that way. When using f*() functions from console.c an fflush() call must be issued after them. * source/rtl/console.c include/extend.h + hb_outerr(), hb_outstd() are now public functions. + hb_outerr(), hb_outstd() now automatically determines the length if the length parameter is zero. + hb_outerr(), hb_outstd() now don't call GT after hb_consoleRelease() has been called. This is needed since these functions are used in such situation, from hb_xexit() for example. ! hb_consoleRelease() now sets back the CRLF buffer to match the BINARY mode. ! fflush() calls are added after fputc()/fputs() call groups. * source/rtl/filesys.c ! hb_fsFNameMerge() now checks for buffer overrun. * source/rtl/gt/gtwin.c ! Added come casts to make Visual C happy. (mentioned by Matteo) * include/hbsetup.h * HARBOUR_YYDEBUG is now turned off by default. It can be turned on via the command line or C_USR. Please set your configuration if you need this feature. * include/rddsys.ch + Comment line added. * include/Makefile ! Updated the list of header files. * source/tools/hb_f.c ! Missing static added. * source/rtl/memofile.c + Added one cast. * source/rtl/itemapi.c ! hb_itemPutC() and hb_itemPutCL() now handles when the szText parameter is NULL. Clipper seems to handle this. GT_*() functions relies on this feature so they will not GPF now. 19990919-17:14 GMT+1 Victor Szel * source/compiler/harbour.y + Added some new items to the new TODO list. * include/hbsetup.h source/compiler/harbour.y + HARBOUR_YYDEBUG moved here for easy setup. 19990919-15:34 GMT+1 Victor Szel * source/rtl/console.c + Support added for //STDERR:x switch form. ! Fixed the redirection, it needed a bit more work, see next two items. % Some variable scopes adjusted. (these were removed with the next change) % fputs()/fputc()/fflush() changed to hb_fsWriteLarge() % Some (BYTE*) casts for BYTE* variables removed. * source/vm/cmdarg.c ! hb_cmdargNum() to not return -1 when the switch was found, but with not parameter. * source/vm/hvm.c ! Fixed constant error message about no starting procedure. * source/rtl/gt/gtwin.c ! Commented out closing of standard input and output, now printf() works after hb_consoleRelease(). (Thanks Paul) * tests/working/rtl_test.prg + Added Empty(ErrorNew()) test. * source/rtl/fm.c * Changed the ending message, since this is not the maximum memory consumed, but the total. Made it more compact, and meaningful. 19990919-15:45 GMT+2 Ryszard Glab *source/vm/hvm.c * added checking if starting symbol name points to a function 19990919-14:25 GMT+2 Ryszard Glab *source/rtl/console.c * added two (char *) casts *source/compiler/harbour.y * corrected invalid error when LOOP or EXIT was used inside a BEGIN/END sequence *source/compiler/harbour.l * corrected recognition of invalid number when no separators were used (for example: ? ( a=22.or.b=10 ) *tests/broken/numform.prg - removed (code moved to tests/working/rtl_test.prg) 19990919-01:55 EDT Paul Tucker * source/rtl/environ.c * added 1 cast to an xgrab call. 19990919-09:31 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * fixed bug with repeating result clauses ( noted by Antonio Linares ) 19990919-06:21 GMT+1 Victor Szel * source/vm/hvm.c + Added support for CA-Clipper undocumented _APPMAIN starting function, if this is defined, Harbour will start it first, overriding the default starting proc. ! Fixed the case when no PUBLIC functions were declared with no explicit starting procedure. Now it will silently exit (STRICT mode) or show a proper unrecoverable error message, instead of a possible GPF, * __XHELP() - hb_dynsymFindName() changed to hb_dynsymFind() * source/rtl/environ.c include/extend.h + hb_version() added, separated from HB_VERSION(), to make it callable from C, too. //INFO needed it. * source/rtl/console.c + Added undocumented //STDERR feature, when specified it will redirect all stderr output to stdout. * source/rtl/alert.prg + ALERT() now handles the //NOALERT switch. The NOALERT feature is now always turned on, not only in STRICT mode. + __NONOALERT() undocumented Clipper function added. * source/rtl/hvm.c + source/rtl/cmdarg.c source/rtl/Makefile include/extend.h makefile.* makefile.vc (with extra care taken to retain the alphabetical order :-)) + Internal command line and environment variable support added. //INFO //F:30 //TEMPPATH:"C:\TEMP", SET HARBOUR=F30;X00, SET CLIPPER=E0 INFO, now can be queried from Harbour runtime. + API added to reach the above functionality. + Harbour argument handling functions added: __ARGC() __ARGV() __ARGCHECK() __ARGGET() ! Now the internal parameters (//INFO) are no more passed to the Harbour MAIN and INIT functions. + Harbour now prints the version when //INFO switch is speficied. * source/rtl/fm.c + Will always print some memory info when the //INFO switch was specified. * include/clipdefs.h + Added WORD, DWORD typedefs. * source/rtl/strings.c include/extend.h + hb_strnicmp() added. % hb_stricmp() formatted, variable scopes adjusted, int type changed to char. * source/rtl/classes.c * Small modification. 19990918-17:42 GMT+1 Victor Szel * source/rtl/set.c * printhan < 0 changed to printhan == FS_ERROR, to not rely on the fact that FS_ERROR is negative. * source/rtl/console.c ! hb_out - One fsError() save/restore added for non GT mode console output. * *han >= 0 changed to *han != FS_ERROR, to not rely on the fact that FS_ERROR is negative. - Removed the // commented sections. * source/rtl/copyfile.c ! __COPYFILE() - Made the hb_fsOpen() flags Clipper compatible. * source/rtl/memvars.c ! __MVSAVE() - Made the hb_fsOpen flags Clipper compatible. * source/vm/hvm.c + new printf() info in hb_vmDo() integrated to hb_stackDispLocal(). (not tested) * include/extend.h source/rtl/arrays.c source/vm/hvm.c * hb_arrayGetItemPointer() -> hb_arrayGetItemPtr() 19990918-14:59 GMT+1 Victor Szel * source/rtl/browdb.prg + _lastrec() -> lastrec() + _recno() -> recno() * source/rtl/transfrm.c * Small modification. 19990918-14:05 GMT+2 Ryszard Glab *source/vm/hvm.c * corrected operators overloading (tests/working/overload.prg works correctly now) 19990918-13:07 GMT+1 Victor Szel * tests/working/rtl_test.prg ! OS_NewLine() is only used when __HARBOUR__ is defined. 19990918-01:55 EDT David G. Holm * config/win32/bcc32.cf ! My previous update only allowed Borland to compile, but not link. For some reason, the -L option didn't work. This update fixes that by dropping the -L option and specifying all libraries fully. * source/tools/io.c ! Restored version 1.11 as version 1.13 to restore the functions that were removed but shouldn't have been removed. 19990917-23:45 EDT David G. Holm * source/tools/Makefile + source/tools/osnewlin.prg + New module simplifies deciding when to use CR/LF or just LF when using OUTSTD() and/or OUTERR() * tests/working/Makefile + tests/working/longdev.prg + I forgot to 'cvs add' this module with my earlier large string changes, so it's a good thing that I left it out of the Makefile * tests/working/rtl_test.prg + Added 3 tests for long strings (longer than 64 KB, Harbour only) in a new function, Long_STRINGS() * tests/working/adirtest.prg * tests/working/cdow.prg * tests/working/dates.prg * tests/working/dates2.prg * tests/working/dates3.prg * tests/working/dates4.prg * tests/working/dirtest.prg * tests/working/harbour.ini * tests/working/longstr2.prg * tests/working/output.prg * tests/working/readfile.prg * tests/working/round.prg * tests/working/rtl_test.prg * tests/working/seconds.prg * tests/working/set_num.prg * tests/working/set_test.prg * tests/working/testcgi.prg * tests/working/testhtml.prg % These test programs now use OS_NewLine() instead of using 4 different methods. 19990918-04:58 GMT+1 Victor Szel * source/vm/hvm.c + Added WORD typedef for HARBOUR_OBJ_GENERATION section. * source/rtl/memofile.c + Added, this time for sure. * makefile.vc ! Now in alphabetical order. * source/compiler/harbour.y + Now the compiler shows if a message is a YACC error. * source/rtl/console.c + hb_max_row() now returns 23 for UNIXes and 24 otherwise. % fputs(" "...) -> fputc(' '...) 19990918-03:22 GMT+1 Victor Szel * source/rtl/memofile.c source/rtl/Makefile makefile.* funclist.txt + MEMOREAD()/MEMOWRIT() functions added. (Borland/MSVC makefiles modified, but not tested) * tests/working/rtl_test.prg + MEMOREAD()/MEMOWRIT() tests added. * include/itemapi.h source/rtl/itemapi.c + hb_itemPutCPtr() Item API function added, to make it possible to attach a buffer directly to a string item in a standard way, this way one memcpy()/strcpy() can be saved, this can be used when the caller have already allocated a buffer. Recommended when the expected string size is very large. The allocated buffer size must be ulLen + 1. * source/tools/io.c - CD(), MD(), RD(), DISKFREE() removed since these are in the standard RTL. * source/rtl/tget.prg ! Insert() fix by Kwon,Oh-Chul * source/rtl/console.c ! HB___ACCEPTSTR() one missing underscore added. ! SAVESCREEN() pBuffer type changed back to void *, since xgrab() would not be compatible, (char*) casts would not be needed, and gtSave() would have to complain...in theory at least. (What was the compiler (and which one) complaining about ?) 19990917-21:10 EDT David G. Holm * include/extend.h % Changed local pointers in hb_xmemcpy() and hb_xmemset() from void * to BYTE * to keep Borland C compiler happy. 19990917-18:00 EDT David G. Holm * include/extend.h + Added hb_xmemcpy() and hb_xmemset() * source/hbpp/hbpp.c * source/hbpp/hbppint.c * source/hbpp/table.c * source/hbpp/stdalone/hbpp.c % Set __MINGW32__ up to use the same #includes as _MSC_VER so that a search for instances of where they are not sharing won't give false hits on these files (has no effect on code) * source/hbpp/table.c % __HARBOUR__ now has the value 1 (should we set this to be the same as the build number, leave it at 1, or increment it with each version number change?) * source/rtl/console.c % Changed all looping hb_fsWrite() calls to hb_fsWriteLarge() % Use hb_fsWriteLarge() instead of putc() and/or puts() + Added s_iFilenoStdout and s_iFilenoStderr to avoid calling fileno() more than once each for stdout and stderr * source/rtl/dates.c % Set __MINGW32__ up to use the same #includes as _MSC_VER, so that SECONDS() also returns fractions of a second * source/rtl/dir.c ! Moved normal hb_itemReturn() and ...Release() calls out of the MSC, IBM & MingW32 #if block * source/rtl/extend.c + Added hb_xmemcpy() and hb_xmemset() to allow copying and setting of strings that are up to ULONG_MAX in length. * source/rtl/filesys.c ! hb_fsReadLarge() and hb_fsWriteLarge() can now read and write strings up to ULONG_MAX in length instead of only USHORT_MAX * source/rtl/itemapi.c % All string copying is now done via the new hb_xmemcpy() to allow string lengths up to ULONG_MAX instead of UINT_MAX * source/rtl/strings.c % All string copying is now done via the new hb_xmemcpy() to allow string lengths up to ULONG_MAX instead of UINT_MAX % HB_SPACE() now uses the new hb_xmemset() to allow string lengths up to ULONG_MAX instead of UINT_MAX * source/rtl/gt/gtos2.c ! Added missing ';' on 'USHORT width, y' in hb_gt_SetAttribute() * source/vm/hvm.c % All string copying is now done via the new hb_xmemcpy() to allow string lengths up to ULONG_MAX instead of UINT_MAX + tests/working/longdev.prg + New module tests VM and file handling of strings longer than USHRT_MAX * tests/working/inkeytst.prg % Only display the Cygwin if the program was built using Cygwin 19990917-15:10 GMT+1 Victor Szel * include/compiler.h include/hbdefs.h source/rtl/gt/gtwin.c ! WORD/DWORD type declaration moved from hbdefs.h to compiler.h and gtwin.c - LOWORD() removed from hbdefs.h * HIBYTE() now uses USHORT instead of WORD. (Is this OK ?) * source/rtl/extend.c * WORD -> USHORT ; Now only the compiler should be cleaned up from WORD types. (TODO !) GTWIN.C should define these types locally. * source/rtl/classes.c * WORD -> USHORT ! Some hb_parnl() changed to hb_parni() for class handles. * include/extend.h * WORD -> USHORT for all variables within HB_ITEM. * source/itemapi.c source/arrays.c include/extend.h * WORD -> USHORT for array/object struct. 19990917-13:30 GMT+1 Victor Szel * source/rtl/codebloc.c include/extend.h * WORD -> USHORT for codeblocks. * source/rtl/transfrm.c % Internal vmDo() call replaced with standard API functions. ! Internal error removed, direct buffer string modification resolved. * source/rtl/objfunc.prg + Explcitly repeated function names in the __ERR*() calls changed to PROCNAME(0). * source/vm/hvm.c include/ctoharb.h include/init.h ! Typo fixed. * WORD -> USHORT (for parameter count, local/static indexes and almost all the others) Only one WORD declaration stayed, this one is related to OBJ generation and SYMBOLS.ASM, so it should have strictly fixed size. ; Here comes to mind that the PCODE model should have a clear definition on the byte level, so that VMs could process pcode byte stream compiled on any platform, we are almost there, but for example storing a DOUBLE directly in the pcode could cause portability problems. * source/rdd/dbcmd.c + WORD -> USHORT (wLen) % HB_USED() small opt. * source/compiler/harbour.y * pOutPath made global and renamed to _pOutPath * "Functions %i" -> "Functions/Procedures %i" * source/rtl/console.c % __SHADOW() param checking logic simplified and corrected. % DISPOUT(), DEVOUT() one ISCHAR() call removed so it's a bit faster now. 19990917-11:30 GMT+1 Victor Szel * include/ctoharb.h source/vm/hvm.c + WORD -> USHORT (s_wActionRequest) + WORD -> int (wDec) + WORD -> USHORT (array dimensions) + WORD -> ULONG (array elements) ! __XHELP now uses hb_dynsymFindName() instead of hb_dynsymFind() * source/vm/debug.c + WORD -> USHORT * Using hb_itemRelease() instead of hb_itemClear() + hb_xfree() * Small formatting changes. * source/vm/dynsym.c + WORD -> USHORT * source/rtl/gtapi.c + Some types changed from char* to BYTE* to match the environment, so a few casts could be removed. * tests/working/dynsym.prg + Added test for __dynsymGetIndex(), it will now GPF, since this function is buggy right now. 19990916-23:45 EDT Paul Tucker * source/rtl/console.c * source/rtl/gtapi.c * added a number of casts The problem with declaring something to acctype (BYTE*) is that then the overly sensitive MSVC complains about passing a const * to it - it becomes quite bothersome to use (IMO). 19990917-03:15 GMT+1 Victor Szel * source/rtl/transfrm.c * WORD -> USHORT * include/errorapi.h source/rtl/errorapi.c source/rtl/copyfile.c source/rtl/filesys.c source/rtl/memvars.c source/rtl/set.c source/runner/runlib.c source/rdd/dbcmd.c * Changed WORD to USHORT in all Error handling stuff. * tests/working/rtl_test.prg * Version() -> Version( 0 ) (xBase++ likes the numeric value better here, but I could not test it) 19990917-03:15 GMT+1 Victor Szel * source/rtl/console.c (mainly) source/rtl/gtapi.c source/rtl/strings.c source/rtl/hardcr.c source/rtl/mtran.c + Changed some explicit constants to manifest constants (keyboard codes, character codes) % [f]printf( "%c", c ) -> fputc( c, std??? ) for speed. % [f]printf( "%s", s ) -> fputs( s, std??? ) for speed. % printf( constant ) -> fputs( constant, std??? ) for speed. ; Since I'm not sure whether fflush() is called from fput*() functions, it may be needed to place more explicit flush calls. This may have been an issue already since printf() is only flushing on \n chars, at least in MINGW32. ! s_szAcceptResult is now initialized on startup as an empty string. ! One cast added to hb_retc()/SAVESCREEN(). * include/inkey.h + NOTE that is's used from C, too. * include/hbdefs.h + HB_CHAR_ common character constants added. 19990916-19:35 EDT David G. Holm * doc/gmake.txt + Added gcc/mingw32. + Updated the BUILD.BAT paragraph. * source/rtl/console.c ! Added missing type override to hb_xgrab() call in SAVESCREEN(). * source/rtl/dir.c ! Changed FA_READONLY to FA_RDONLY ! Changed FILE_RDONLY to FILE_READONLY * source/rtl/environ.c ! Added conditional definition of a Windows define that is missing from some versions of Borland C. Thanks to Jose Lalin. + Added compiler identification to VERSION(), but only if called with a parameter (any parameter) based on an idea by Victor Szel. * source/rtl/filesys.c ! Added '#include ' for Borland C in order to eliminate a warning regarding '_getdrive()'. * source/rtl/inkey.c ! Restored Unix-style keyboard input, because it is non-blocking under Linux/GCC. + Added separate __CYGWIN__ Unix-style keyboard input, because it is blocking under Win32/GCC. + Actually added the Borland C Windows #elif code block supplied by Jose Lalin this time. * tests/working/inkeytst.prg * Modified warning text to refer only to Cygwin. * tests/working/version.prg * Changed 'QOUT( VERSION() )' to '? VERSION()'. + Added '? VERSION( .T. )' to display the compiler that was used to build Harbour.exe (which does not have to be the same compiler used to build the Harbour program). 19990917-00:50 GMT+1 Victor Szel * source/rtl/hardcr.c ! Fixed so that it doesn't modify the buffer returned by hb_parc(), it now uses Item API calls. * source/hbpp/stdalone/hbpp.c + Enhanced header. * source/runner/stdalone/runner.prg + Enhanced header. * source/runner/runlib.c + __HRBRUN() will now add default extension (.hrb) to the passed filename. 19990917-00:05 GMT+1 Victor Szel * include/hbdefs.h + typedef BYTE HB_CHAR; + typedef BYTE HB_ATTR; * source/rtl/mtran.c % Some Extend API calls changed for Item API, for speed. + const keyword added. * source/rtl/tone.c % TONE() parameters checking simplified. * Variable names standardized. * source/rtl/set.c * Removed all direct item access, replaced them with Item API calls. * Some variable names standardized. ! int -> BOOL in one place. ! int -> USHORT for hb_fsError() retvals. * source/rtl/console.c ! int -> USHORT for hb_fsError() retvals. * Variable names changed ( len -> ulLen, count -> ulCount, uiCount ) * pcount() > x -> pcount() >= x+1 * source/vm/hvm.c * pcount() > x -> pcount() >= x+1 (ERRORLEVEL()) * source/rtl/setcolor.c ! 0 -> '\0' ! SETCOLOR() now doesn't accept a non string parameter. 19990916-23:00 GMT+1 Victor Szel * source/rtl/gtapi.c ! hb_gtWriteCon() fixed handling of backspace character. * source/rtl/console.c % Some extend API calls changed to Item API to make it faster * Types changed: WORD -> USHORT to better sync it with GT API. char * -> BYTE *, int -> USHORT ! __ACCEPT() the length of the return string was not set properly under Unix. ! __ACCEPT() now displays non-string parameters, too, the logic is also simplified by just calling HB_QOUT(), like in Clipper. It will always call QOUT() even if no parameters were passed. This is still not *exactly* what Clipper does. ! __ACCEPT() now displays all parameters not only the first one. ! __ACCEPT() now used hb_retc() instead of hb_retclen(). ! hb_consoleRelease() now sets back stdout, and stderr to TEXT mode. ! __ACCEPT() one explicit constant changed to ACCEPT_BUFFER_LEN. ! __ACCEPT() now accepts ascii chars higher than 127, like in Clipper. + __ACCEPTSTR() added for Clipper compatbility, this will return the result of the last __ACCEPT() call. * source/rtl/inkey.c ! Small formatting fix. 19990916-21:00 GMT+1 Victor Szel * source/rtl/*.c * Copyright text format change. + Missing copyright headers added. ; Now this work is finished. * include/extend.h + hb_tone() prototype added. * source/rtl/gt/gtwin.c - Commented out two unused static variables. * source/rtl/classes.c - Removed two unused variables. * tests/working/rtl_test.prg + Some lines uncommented, since the PP can now process them. * tests/working/testcopy.prg tests/working/Makefile - Removed since it's now in RTL_TEST. * tests/working/hb*.bat ! Updates by Jose Lalin. * makefile.b32 ! Added memvarbl.prg * source/rtl/achoice.prg source/rtl/adir.prg source/rtl/alert.prg source/rtl/asort.prg source/rtl/memvarbl.prg source/rtl/menuto.prg source/rtl/objfunc.prg source/rtl/readvar.prg source/rtl/setkey.prg source/rtl/tbcolumn.prg source/rtl/tclass.prg source/rtl/tgetlist.prg source/rtl/errorsys.prg + Using IS*() macros for type checking, common.ch #included to all of these files. * Some = changed to == in setkey.prg 19990916-17:10 GMT+2 Ryszard Glab *source/vm/dynsym.c *include/extend.h + new function HB_DYNS hb_dynsymFindName( char * szName ) that checks if given name is a public symbol - this function converts given name to uppercase before checking *source/rtl/itemapi.c *source/rtl/classes.c *source/rtl/do.c *source/vm/hvm.c * replaced hb_dynsymGet with new hb_dynsymFindName *source/rdd/dbcmd.c * replaced hb_dynsymFind with new hb_dynsymFindName *source/rtl/dir.c * corrected invalid mask value in HarbourToOsMask() 19990916-14:30 GMT+1 Victor Szel * makefile.vc ! Fixed version by Matteo Baccan. 19990916-14:20 GMT+1 Victor Szel * source/rtl/mouse/*.* * Copyright text format change. * source/rtl/gt/*.c ! Indentations, formatting errors corrected. ! // comments change to /**/ + Copyright headers added. * source/rtl/inkey.c ! // comments change to /**/ * source/rtl/gt/gt_tpl.c ! Fixed hb_gt_SetMode() return value type. * source/rtl/gtapi.c ! hb_gtRepChar() will check for buffer overflow. * include/gtapi.h ! Added hb_gt_Replicate() to GTAPI.H * Variable names revised, standardized. * source/rtl/errorapi.c * hb_errPutArgs() Now using Item API instead of Array API. * source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/*.c include/gtapi.h + API functions made more Clipper compatible with some arg type changes: hb_gtBox() - Character parameter: char * -> BYTE * hb_gtRepChar() - USHORT character changed to BYTE, this is not completely Clipper compatible, but I've considered a bug to accept a character in an USHORT. hb_gtRest() - Buffer parameter: char * -> void * hb_gtSave() - Buffer parameter: char * -> void * hb_gtWrite*() - Character parameter: char * -> BYTE * * Some types changed in the low-level API. hb_gt_IsColor() - retval: int -> BOOL hb_gt_Get/SetCursorStyle() - int -> USHORT to match the high level API hb_gt_Puts() - char * -> BYTE *, int -> ULONG for the length. hb_gt_GetText() - char * -> BYTE * hb_gt_PutText() - char * -> BYTE * hb_gt_Replicate() - char -> BYTE, DWORD -> ULONG ; IMHO later we should change all unsigned coordinate types to signed ones, so that we can have a better "virtual screen" support. All attribute types to a generic HB_ATTR, all characters to HB_CHAR. 19990916-11:15 GMT+1 Victor Szel * source/vm/hvm.c + __XHELP() function added. ; So now if we had defined a function named HELP() in our app, it will be called by default if the user presses the F1 key. Like in Clipper. + Now using SYSINIT to force linking of the system init modul, instead of ERRORSYS. Forcing ERRORNEW explicitly is not needed, so it's now removed. * source/rtl/harbinit.prg + ANNOUNCE SYSINIT added. + __SETHELPK() function added. * source/rtl/harbinit.prg (added) source/rtl/errorsys.prg source/rtl/Makefile makefile.* ! ClipInit() INIT procedure moved from ERRORSYS to a separate .prg, this way the ERRORSYS.PRG module is completely replacable, like in Clipper. ( ! Borland and MSVC users please check the modified Makefiles ! ) * source/rtl/*.prg + All copyright header changed to the new one. + Missing copyright headers added. 19990916-13:07 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * fixed bug with Release ( noted by David G. Holm ) 19990916-10:37 GMT+1 Antonio Linares * source/compiler/harbour.y * Added support for multiple include paths using /I compiler flag 19990916-05:50 GMT+1 Victor Szel * source/rtl/itemapi.c + Added NOTE why pItemArg1 is needed. * tests/working/transdef.prg tests/broken/parexpr.prg - Removed (now for sure) 19990915-23:35 EDT Paul Tucker * source/rtl/gt/gtos2.c source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c include/gtapi.h * converted a number of parameters to USHORT, SHORT or BYTE 19990916-05:30 GMT+1 Victor Szel * source/compiler/harbour.y include/hberrors.h ! Proper error shown when more than one input (.prg) filenames are specified, it caused a leak previously and was not compatible with Clipper. ! Invalid filename message when the passed filename only contains dir/drive. GPF fixed. * *.bat tests/working/*.bat ! @echo off commands moved to the top of files. * tests/working/setkeys.prg ! Some functions names fixed, it still doesn't work because GetActive() function is not yet implemented. * tests/working/rtl_test.prg tests/working/transdef.prg (removed) tests/working/Makefile * Tests from transdef.prg moved to rtl_test.prg (2 failures more now) tests/working/transdef.prg (removed) * tests/broken/parexpr.prg - Removed, since it's in working now. ; The bugs above were reported by Jose Lalin. * source/rtl/*.* (partial) + All copyright header changed to the new one. + Missing copyright headers added. 19990916-03:57 GMT+1 Victor Szel * source/rdd/* source/tools/dates2.c source/tools/stringp.prg source/tools/nconvert.prg source/tools/fileread.prg source/tools/numtxthu.prg source/tools/strfmt.c + All copyright header changed to the new one. * source/rtl/menuto.prg ! RELEASE (cVariable) changed to __MVRELEASE( cVariable ) since now to former is not preprocessed, which is fine BTW, since Clipper is doing the same. * make_tpl.* + mingw32 added as a new option. 19990916-03:17 GMT+1 Victor Szel * source/debug/*.* source/hbpp/*.* source/hbpp/stdalone/hbpp.c + Copyright text changed to the newer version. + Missing copyright headers added. * source/runner/runlib.c + TODO: added about default extension handling. * source/hbpp/stdalone/hbpp.c source/hbpp/hbppint.c source/hbpp/hbpplib.c ! Formatting error corrected. 19990914-20:45 EDT David G. Holm + config/win32/mingw32.cf * source/hbpp/hbpp.c * source/hbpp/hbppint.c * source/rtl/console.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/filesys.c * source/rtl/inkey.c * source/rtl/tone.c + Added __MINGW32__ support for Cygnus GCC compiler. 19990916-02:25 GMT+1 Victor Szel * source/compiler/symbols.asm (removed) source/vm/symbols.asm (added) makefile.b31 * Moved to VM since it belongs there. * source/rtl/filesys.c ! Added missing break; to hb_fsSetDevMode()/_MSC_VER branch. * source/tools/hb_f.c source/vm/*.c source/compiler/*.c source/compiler/harbour.l source/compiler/harbour.y * Copyright text changed to the newer version. * source/compiler/harbour.y ! One buggy error message text fixed (%i format specifier removed). 19990915-17:40 EDT David G. Holm * include/itemapi.h * source/rtl/itemapi.c ! Added a third argument, PBH_ITEM pItemArg1, to the hb_itemDo() and hb_itemDoC() functions to solve a var-arg problem with the OS/2 version of GCC. When calling hb_itemDo() or hb_itemDoC() to evaluate a symbol, function, or code block that does not take any arguments, use '(PHB_ITEM *) 0' as the third argument. * config/win32/bcc32.cf ! The GNU make system now works with Borland 32-bit compilers. * config/win32/gcc.cf * Removed '-lmoldname' in order to avoid polluting the __CYGWIN__ build with __MINGW32__ stuff. * source/compiler/harbour.l ! Removed 'extern int _bQuiet', because it conflicts with the 'extern BOOL _bQuiet' declaration in include/compiler.h. * source/rtl/console.c ! Added __CYGWIN__ to the Unix-style input in HB___ACCEPT() * source/rtl/filesys.c ! Removed the alleged Cygwin mode flag fix, which turned out to be an incomptibility between the CYGWIN and MINGW32 libraries. * source/rtl/inkey.c ! Applied the Borland Windows fix supplied by Jose Lalin. ! Changed Cygwin support to use the Unix method in order to avoid polluting the __CYGWIN__ build with __MINGW32__ stuff. ! Moved the Unix keyboard input from hb_inkeyPoll() to hb_inkeyGet() in order to stop blocking the VM when it polls the keyboard. * tests/working/inkeytst.prg + Display a note regarding Unix-style keyboard input. ! Changed the final keyboard test exit key from ESC to TAB, because Unix-style keyboard input uses ESC as the lead-in for extended keys. 19990915-23:20 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * source/hbpp/table.c * fixed some bugs, reported by Victor and Matteo 19990915-15:50 GMT+1 Victor Szel * doc/hdr_tpl.txt * Some small changes. * include/*.api include/*.ch include/*.h + Added copyright header to all files, where the original author is not known, it's not filled. * Standardized the copyright header for all users. * ChangeLog sections separated from the copyright headers. * The one-liner file descriptions standardized. 19990915-14:14 GMT+1 Victor Szel * doc/license.txt + Added a text file containing the license text. * doc/hdr_tpl.txt ! Typo fixed (now v1.8) 19990915-14:04 GMT+1 Victor Szel * source/rtl/dir.c include/directry.ch ! printf()s commented out, proper (but silent) error handling added. + Now using directry.ch for the array format. + A TODO: added about changing the file composing/decomposing functionality to hb_fsFNameSplit()/Merge() functions. + NOTE added that the third parameter is a Harbour extension. % Some small logic streamlining. * Some variable names changes, some variable scopes adjusted. * source/compiler/genobj32.c + Every static thing is now declared static. + Missing prototypes added. * source/rtl/hardcr.c source/rtl/mtran.c source/tools/dates2.c * Slight change in the format of the copyright header, the text itself has not changed. * source/rtl/filesys.c + hb_fnFNameMerge() - TOFIX: added again about the lack of buffer overlow handling. * .cvsignore ! DOS/LINUX/OS2 GNU Make systems working directories added. * doc/hdr_tpl.txt + Some fine tunings, see the files own history. The copyright text hasn't changed. Version 1.7 * include/std.ch include/Makefile + Added a skeleton and a TODO for the STD.CH file. 19990915-11:15 GMT+1 Victor Szel * source/rtl/dir.c ! Two warnings fixed about possibly missing paranthesis. + Reformatted. * source/rtl/adir.prg ! Default flags reset to "HSD" * tests/working/adirtest.prg ! Fixed a bug which caused an error when zero file was found. + Added: SET DATE ANSI, SET CENTURY ON ! Newline handling made platform compatible. ! Some other fixes. * source/rtl/memvars.c ! Typos fixed. 19990915-03:40 EDT Paul Tucker * source/rtl/dir.c * Now Clipper compatible results are returned. definately with MSVC - most likely with compilers running under MS OS. since I'm not familliar with any quirks with those compilers I made almost no changes to compiler specific code. I suspect though that there may be problems when passing a full path with wildcard to Directory() - please test. + You can now get the 8.3 filename (msvc again) for true Clipper compatibible return results by passing a logical as the new 3rd parameter. The default is .f. which gives full long filenames + Add a number of static funcs like HarbourMaskToAttributes() to convert "DHS" to something the os understands. ! Where this all falls apart is for OS_UNIX_COMPATIBLE. I don't know what to do about translating Hidden or System files. and not too sure how to handle Readonly. Nobody commented when I posted the code - so here is what I came up with. * tests/working/dirtest.prg + added 3rd parameter to indicate 'want 8.3 filenames' 19990915-03:20 GMT+1 Victor Szel * source/rtl/do.c - Previous fix undone, since it was causing other problems. 19990915-02:20 GMT+1 Victor Szel * .cvspass - File removed, since it was probably added by incident. 19990915-01:22 GMT+1 Victor Szel * source/compiler/gen*.c + some fflush() calls added to see a better feedback about the progress of the generation process. 19990915-00:38 GMT+1 Victor Szel * tests/working/sound.prg tests/working/*.bat tests/working/*.ch + CVS header added to all files. + @echo off added where missing. 19990915-00:30 GMT+1 Victor Szel * (*.* in the root directory) + CVS header added to all files. + @echo off added where missing. * build32.bat build40.bat build31.bat build.bat (renamed) build16.bat (new) buildrdd.bat (removed) bldgt32.bat (removed) bldhbpp.bat (removed) % These three batch files has been incorporated to the main build batch files, since they were simple one-liners. ! hbpplib.b32 build process was executed two times from the build32.bat and build40.bat files. * build.bat renamed to build16.bat 19990914-17:30 GMT+1 Victor Szel * config/rules.cf * Harbour flag /q changed to /q0 to omit the compiler header. * source/rtl/do.c ! DO() fixed to use hb_dynsymFind() instead of hb_dynsymGet(), now it properly displays when the passed string is not a symbol, rather then throwing an internal error. * source/compiler/harbour.y + /CREDITS command line switch to display the development team. Like in Clipper. 19990914-13:15 GMT+1 Victor Szel * source/compiler/harbour.y source/compiler/gen*.c + Help screen made more Clipper like. + /f switch changed to /gf, and the whole object generation build in to the source in a more standard way. It works now. + /q0 switch added to the help screen. + All filename composing stuff related to specific output types moved to the appropriate gen*.c file. This way the code is more modular. ! One variable made static in genobj32.c 19990914-11:40 GMT+1 Victor Szel * source/runner/stdalone/external.prg include/external.ch * Regenerated. * source/runner/runlib.c ! Made some steps to release memory blocks when an undeclared symbol error occurs, seemingly with few success. This needs some more work. + TODO added about a possible direction for further development. The idea would be to replicate the Blinker DLL functionality. * source/compiler/harbour.y source/compiler/harbour.l source/compiler/gen*.c * Only every 100th line number is shown on the counter while parsing, this way it's more Clipper like. In theory it should also be faster, but due to the stdout buffering, it's approx. the same speed. Though it could be faster in some platform/compiler/screen output combinations. + The "syntax ok" message is now replaced with the total number of functions and the total number of lines. Similar to Clipper, but not so specific to the generated output. + /q0 switch no suppresses the "Harbour Compiler" header. + The "Generating ... output" line format changed, it's now more compact. * tests/working/rtl_test.prg + A new VAL() test added to test the huge value problem. ! One failure eliminated by hiding a filename generating difference in __COPYFILE(), NOTE added about this. * source/rtl/strings.c + HB_VAL() now uses hb_retnlen(). ! HB_VAL() was incompatible for huge integer values (5000000000). This is fixed. * source/rtl/memvars.c * __MVRESTORE() is now using hb_itemPutNLen() * source/rtl/extend.c include/extend.h + hb_retnlen() Extend API function added, which is a wrapper for hb_itemPutNLen(). * source/rtl/itemapi.c include/itemapi.h + hb_itemPutNLen() generic function added to assign a number to an item, the low-level type of the number is automatically selected, based on the magnitude and presence of decimal places. Similar to hb_vmPushNumber(). + hb_itemPutN?Len() functions will now accept any negative width/dec parameters as a request for the default. So: For iDec now any negative number will do the same as -1 before. For iWidth now any negative number will do the same as 0 before. This way the interface is more fool proof and consistent. 19990914-01:00 GMT+1 Victor Szel * source/vm/hvm.c include/ctoharb.h + hb_vmEqual() - Added support for alternate equal operator: "=" Currently they are exact synonyms. + hb_vmInc()/hb_vmDec() - "++", "--" operator overloading support added. + hb_stackDispLocal() - More values are printed, the format changed. * tests/working/rtl_test.prg tests/working/overload.prg ! The tests fixed again, "+="/"-=" operators removed from the class declaration. * "+"/"-" implementation changed to not modify the original value, since the expression "oString + 'A'" in itself in one line is not valid anyway. + "++", "--" operator overloading added. - Removed the "<>" and "#" overloading methods since they were not needed in this case. 19990913-23:45 GMT+1 Victor Szel * source/vm/hvm.c + hb_vmInString() - Added support for overloading the "$" operator. ! hb_vmPlus() - Fixed the operator overloading feature. + hb_vmNotEqual() - Added support for alternate notequal operators: "<>" and "#". * tests/working/rtl_test.prg tests/working/overload.prg - Removed +=, -= tests, since they will destroy the object, basically this gets executed: oString := oString + "Hello", where the right side expression will result in a string, which gets assigned to the object. This could be fixed by changing the overloader block to return self BTW, but from the test point of view, this is the same as "+"/"-". * gt.b32 makefile.b32 runner.b32 ! Fixes by Jose Lalin 19990913-23:00 GMT+1 Victor Szel * ChangeLog ChangeLog.003 * Old ChangeLog renamed to ChangeLog.003 * New ChangeLog created. 19990913-22:50 GMT+1 Victor Szel * source/rtl/gtapi.c ! hb_gtRectSize() fixed to always return a valid value, even when the coordinates are out of range, just like in Clipper. This caused a GPF when running a program with the standard output redirected. The screen size stored in the caching static variables were invalid or uninitialized. The Row()/Col() parameters are also cached in static variables, I'm not sure if this is needed, it would be better IMO to add hb_gtRow() and hb_gtCol() and call these when needed, it could be also cached locally to optimalize where appropriate. ! s_uiMaxCol()/s_uiMaxRow() static variables replaced with hb_gtMax*() calls. % hb_gtWriteCon() now caches the screen size info locally. * source/rtl/console.c ! SAVESCREEN() - Non GTAPI version now returns an empty string. * source/rtl/alert.prg + Will now return NIL and do nothing if the number of parameters was zero. This better mimics the STRICT Clipper behaviour. ! One explicit value changed to manifest constant. ( 0 -> SC_NONE ) * source/rtl/memvars.c ! FO_SHARED flag uncommented for __MVRESTORE(). NOTE: Cygwin will now delete the .mem file after a restore. This is a known problem and should be fixed elsewhere. * tests/working/overload.prg + New tests added by Jose Lalin. * source/rtl/natmsg/msggl.c * Updated version by Jose Lalin. * include/errorapi.h source/rtl/errorapi.c + hb_errPutArgs() function to set :Args of an Error object. * tests/working/rtl_test.prg tests/working/memfile.prg + __MVSAVE()/__MVRESTORE() error cases moved here from MEMFILE.PRG + Operator overloading tests added. 19990913-15:35 GMT+2 Ryszard Glab *source/rdd/dbcmd.c * added retry possibility for error handling in field assignment/access * changed BOOL to ERRCODE for hb_rddSelect*() and hb_rddPutFieldValue/hb_rddGetFieldValue *include/rddapi.h * changed BOOL to ERRCODE for hb_rddSelect*() and hb_rddPutFieldValue/hb_rddGetFieldValue *source/vm/hvm.c * changed BOOL to ERRCODE for hb_rddSelect*() and hb_rddPutFieldValue/hb_rddGetFieldValue * memvar handling functions moved directly into main VM loop *include/ctoharb.h * removed declaration of internal memvar functions used in VM *source/rtl/memvars.c * added retry possibility for error handling in variable access *tests/working/rtl_test.prg * added code to test __MVGET function (macro evaluation in Clipper) 19990913-13:30 GMT+1 Victor Szel * source/compiler/harbour.y ! Stupid bug fixed which always caused an error when using the /p switch. The bug has been introduced today. * source/runner/runlib.c * Formatting/indenting errors fixed. 19990913-12:00 GMT+1 Victor Szel * tests/working/rtl_test.prg + ASORT() tests added. ! Fixed an expected result for aScan() was 12 instead of 4. ! CHR() tests fixed to avoid the Clipper compiler expression optimizer. * source/rtl/asort.prg ! Parameter checking fixed and streamlined again. ! Fixed when sorting a given range of the array. ! Fixed when the codeblock is not returning a logical type. This is not Clipper compatible, but Clippers behaviour is not defined for this case, and seems buggy. % One variable eliminated from QuickSort() + Formatted. ; Results checked against Clipper 19990913-10:00 GMT+1 Victor Szel * include/compiler.h include/hberrors.h source/compiler/harbour.l source/compiler/harbour.y source/compiler/gen*.c source/hbpp/hbpp.c source/hbpp/hbppint.c source/hbpp/stdalone/hbpp.c ! Fixed a GPF when the .PPO file could not be created. * The compiler screen output made more Clipper like. * Some error messages made Clipper like. + Some printf()s changed to use GenError() instead. + Added www site name and Copyright notice to the header. * lPpo -> _bPPO variable name change. * source/vm/hvm.c + Some casts added. 19990913-01:40 GMT+1 Victor Szel * source/rtl/memvars.c ! __MVSAVE() - Pedantic fix to the saved format of DATE type. ! __MVSAVE() - Made it bug compatible with Clipper, for DOUBLE numeric types with no decimals, Clipper adds one to the saved width, which is wrong, since at restore the width will be incorrect (one more than it should be), you can check this with the value 5000000000 for example. HARBOUR_STRICT_CLIPPER_COMPATIBILITY added here, right now the bug fix in enabled. * source/rtl/asort.prg ! More parameter checkings added. * tests/broken/numform.prg + Added test to demonstrate a bug in the compiler. (a==22.and.b==10) * tests/working/memfile.prg ! Fixed faulty RESTORE command. * source/compiler/harbour.y 19990912-17:11 EDT Paul Tucker * source/rtl/memvars.c * added a few casts 19990912-20:45 GMT+1 Victor Szel * source/rtl/memvars.c ! __MVSAVE() will no longer try to save memvars with longer filename than 10 characters, the Clipper maximum. * tests/working/memfile.prg tests/working/Makefile + .MEM file save/restore test program added, it's a simple test and doesn't yet checks for every aspects of the topic. * funclist.txt + __MSAVE()/__MRESTORE() marked Ready. 19990912-20:30 GMT+1 Victor Szel * source/rtl/memvars.c + __MVSAVE()/__MVRESTORE() .MEM file saving and restoring support added, Clipper compatible, with extensions to __MVRESTORE() to only restore varnames with a specified mask. * source/rtl/itemapi.c include/itemapi.h + hb_itemPutDL() added to set a date directly with a Julian date value. * source/rtl/filesys.c ! hb_fsIsDrv() fixed bug when the original drive is not restored. Thanks go to Jose Lalin for finding this. * tests/working/statinit.prg + More meaningful messages are printed. * source/rtl/extend.c ! hb_parcsiz() now only works for parameters passed by reference, just like in CA-Cl*pper. 19990912-15:45 GMT+2 Ryszard Glab *include/errorapi.h *source/rtl/errorapi.c * all hb_errRT*() functions return error code returned by hb_errLaunch * separated generic runtime error creation from error launching *include/extend.h *source/rtl/strings.c + added hb_strncpyUpper( char *pDest, char *pSource, ULONG ulLen ) function to copy and convert to uppercase in one operation *source/rdd/dbcmd.c * functions that select workarea can now retry the select operation in case of error (the user code can open a missing database in a custom error handler) *source/vm/hvm.c *added substitution possibility in case of invalid alias value *tests/working/rtl_test.prg * failure description shows now function name and line number where failed code was used *include/external.ch * added declaration of MEMVARBLOCK, __MVGET, __MVPUT 19990912-07:43 GMT+1 Victor Szel * source/vm/hvm.c ! hb_vmSwapAlias() removed the RT error 9993, now it works like Clipper. + Added an empty TYPE() function prototype with a TODO: * source/vm/initsymb.c - QSELF removed from the list, since it's a native opcode in Harbour, there's not need to initialize it, the function address was NULL anyway. + Changed NULL pointer to HB_TYPE for the "TYPE" symbol. initsymb.c is complete now. * source/rtl/terror.prg source/compiler/genobj32.c * Small corrections. 19990912-01:29 EDT Paul Tucker * source/rtl/dir.c ! Changed selection criteria to include files that do not have any attribute set. This particularly affected the results returned by tests/working/adirtest.prg * source/rtl/adir.prg ! Changed default attributes passed to Directory to include "A" 19990912-00:45 EDT David G. Holm * source/rtl/dir.c ! Changed file size array element to numeric to match CA-Clipper. * tests/working/dirtest.prg + Added 'SET CENTURY ON'. - Removed padding from size array element. - Added a TRANSFORM call to size array element. - Removed padding from date and time array elements. 19990911-20:25 EDT David G. Holm * source/rtl/tone.c ! Added '|| defined(__CYGWIN__)' to the #if block for HARBOUR_GCC_OS2 and _Windows for calculating the value for temp for each pass of the tone duration timing loop. 19990911-07:42 EDT Paul Tucker * makefile.vc added new files for compiler to exe generation section 19990911-13:03 GMT+1 Victor Szel * source/compiler/harbour.y source/compiler/genc.c source/compiler/genhrb.c source/compiler/genjava.c source/compiler/genpas.c source/compiler/genrc.c source/compiler/Makefile include/compiler.h makefile.b32 makefile.b40 makefile.vc harbour.b31 + Separated the generation code from the main HARBOUR.Y file. (The Borland and MSVC make files have been modified, but I could not test them) * source/rtl/arrays.c + One comment added about hb_itemGetDS( NULL, szDate ); 19990911-12:45 GMT+2 Ryszard Glab *source/compiler/harbour.y * changed binary search to linear search for abbreviations or redefinitions of reserved functions *source/rtl/math.c * added generation of runtime errors in case of math errors (log(0), sgrt(-2), etc) - for Watcom C only at this moment. 'matherr' function is used to suppress printing of internal compiler message for math errors. I think we need rethink the handling of such errors. *source/rdd/dbcmd.c *include/rddapi.h *source/vm/hvm.c * functions called from virtual machine return SUCCESS or FAILURE 19990911-11:30 GMT+1 Victor Szel * contrib/odbc/odbc.c include/classes.ch include/compiler.h include/ctoharb.h include/errorapi.h include/extend.h include/init.h include/itemapi.h include/pcode.h source/compiler/genobj32.c source/compiler/harbour.l source/compiler/harbour.y source/compiler/symbols.asm source/debug/debugger.prg source/rtl/arrays.c source/rtl/classes.c source/rtl/console.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/descend.c source/rtl/errorapi.c source/rtl/errorsys.prg source/rtl/extend.c source/rtl/filesys.c source/rtl/fm.c source/rtl/inkey.c source/rtl/itemapi.c source/rtl/math.c source/rtl/msgxxx.c source/rtl/objfunc.prg source/rtl/setkey.prg source/rtl/strings.c source/rtl/tbcolumn.prg source/rtl/tbrowse.prg source/rtl/tclass.prg source/rtl/terror.prg source/rtl/tget.prg source/rtl/tgetlist.prg source/vm/dynsym.c source/vm/hvm.c * Partial copyright headers formatted, joined where possible, etc. * Copyright header changed to the standard doc/hdr_tpl.txt for Antonio Linares. 19990911-01:42 EDT Paul Tucker * source/compiler/harbour.y sz_Compare4() Change the length of the first compare to Min( 4, len(string)) to account for strings shorter than 4. Add 1 to the length in the second compare to include the trailing null so that (ie:) SetPos and SetPosBS can be detected as unique. 19990910-18:45 EDT David G. Holm * tests/working/rtl_test.prg ! Changed smart stringify token marker in TEST_LINE to regular stringify token marker. * Changed all alias tests to use TEST_LINE instead of TEST_CALL. 19990910-17:00 EDT David G. Holm * source/rtl/inkey.c ! In HARBOUR HB_INKEY( void ), the double seconds variable has to be initialized to 0.0, because not all compilers initialize all local variables to 0 and seconds is not assigned if INKEY() was called with no parameters. 19990910-22:10 GMT+1 Victor Szel * source/vm/hvm.c ! Fixed the operator overloading feature. (Reported by David) * source/compiler/harbour.y + Added /es switch, like in Clipper. /es0 and /es is the default, no errorlevel is raised on warning, /es1 will set errorlevel, /es2 will set errorlevel and not generate output. + The program header is always (even with /q) printed now, right at startup. * "id" -> "prefix" + /m /r /t /u @ command line switches added as todo, checks and messages added to the source, commented out lines added to help screen. * tests/working/Makefile tests/working/statinit.prg + //NOTEST removed, the missing dummy HELLO() function added, so now it links. * source/rtl/memvars.c * Fixed the MEMVARBLOCK() implementation in the doc examples 8) 19990910-15:25 EDT David G. Holm * source/rtl/gt/gtos2.c ! I forgot to remove a debug printf() call when I committed the hb_gt_Scroll() fixes in ChangeLog entry 19990908-21:35 EDT. 19990910-14:55 EDT David G. Holm * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rtl/copyfile.c * source/rtl/filesys.c * source/rtl/set.c * Changed F_ERROR back to FS_ERROR. 19990910-14:40 EDT David G. Holm * source/compiler/harbour.y ! Changed DWORD return type for PackDateTime() to ULONG. 19990910-14:20 EDT David G. Holm * source/rtl/console.c ! Uncommented two calls to hb_fsSetDevMode() in hb_consoleInitialize() which force the stdout and stderr handles to binary mode for Clipper compatibility. There was no explanation in the ChangeLog as to why the two calls had been commented out. 19990910-14:15 EDT David G. Holm * tests/working/Makefile ! Moved statinit.prg to BAD_PRG_SOURCES, because it won't link. * tests/working/statinit.prg ! Added '//NOTEST' as the first line, because it won't link. 19990910-17:40 GMT+1 Victor Szel * tests/working/rtl_test.prg + Added a more complete ALIAS regression test suite. * source/compiler/harbour.y ! Compiles even if the YYDEBUG constant is *not* defined, the compiler also hides the /y switch from the help screen. + Added command line switch /x. The init symbol function name can be set to an explicit value (using /xMyCoolLib) or to an automatically generated one (using /x). By default no mangling takes place. * include/itemapi.h source/rtl/itemapi.c + hb_itemPCount(), hb_itemParamPtr(), hb_itemReturnPtr() Item API calls added, to provide full functionality by the Item API. The longer term goal would be to make the Item API as the preferred, most complete and flexible API, and leave the Extend API as a secondary, bit slower, but simpler and more compatible option. Also the Item API should make it unnecessary to directly access internals, so it should provide a full but controlled access to all those. Only the VM itself should have access to internals IMO. * include/compiler.h * Some formatting. 19990910-16:00 GMT+2 Ryszard Glab *source/vm/hvm.c * string alias is now correctly handled *include/rddapi.h + added declaration for hb_rddSelectAorkAreaAlias 19990910-11:10 GMT+1 Victor Szel * tests/working/rtl_test.prg + Enabled some alias tests which fail. (Ryszard, could you take a look at them ?) * source/vm/hvm.c ! hb_vmSwapAlias() - Fixed mistyped variable name, pItem was accessed instead of pWorkarea. (Is this OK, Ryszard ?) * source/rtl/itemapi.c ! hb_itemStrCmp() - Fixed a bug, when the character were compared as a signed value instead of unsigned. ( BYTE ) casts added where needed. This caused four regr.tests to fail. * source/rtl/gtapi.c ! hb_gtSetColorStr() is now using toupper instead of a platform dependent bit operation. * tests/working/rtl_test.prg + Code added to test the :Args feature of error handling, this is commented out, since Harbour doesn't support it yet. * include/error.api ! Zero bytes (!) removed from some places, so now the compatibility header files are working fine. * source/compiler/harbour.y source/rtl/dir.c source/memvars.c * Some formatting corrections. * include/ctoharb.h * Opcode functions grouped by type. Later on the same thing should be done in HVM.C. If similar code fragments are close to each other, bugs are easier to spot. * include/pcode.h * Comments aligned. 19990910-11:05 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected support for pcode buffer larger than 64kB (many WORD converted to ULONG) However jumps are still limited to signed 16 bits - the compiler generates error when this limit is exceeded *include/compiler.h * changed WORD to ULONG *include/hberrors.h * new error ERR_JUMP_TOO_LONG 19990909-21:40 EDT Paul Tucker * makefile.vc + source/rtl/memvarbl.prg + /q to Harbour flags + /nologo to C flags 19990909-20:55 EDT David G. Holm * include/filesys.api ! Added FS_ERROR (defined using '#define FS_ERROR F_ERROR' following the already present '#include "fileio.ch"'). 19990909-20:00 EDT David G. Holm * include/fileio.ch * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rtl/copyfile.c * source/rtl/filesys.c * source/rtl/set.c ! Changed all FS_ERROR to F_ERROR for Clipper compatibility. Thanks to Matteo Baccan for reporting this. 19990910-01:10 GMT+1 Victor Szel * source/rtl/arrays.c % One memset() call replaced with a call to the Item API. It's a bit slower, but this is only an error handling branch, which is not getting called in normal cases anyway. * source/rtl/itemapi.c % hb_itemGetDS(), hb_itemPutDS() now uses the new date API call. Simpler. and the low level date handling memset(sz,' ',8) calls could be removed. * source/rtl/extend.c % hb_pards() uses the new date API call, so it's even simpler now. * source/rtl/dates.c include/dates.h + New simpler date API functions added: hb_dateDecStr() == hb_dateStrGet() + hb_dateEncode() hb_dateEncStr() == hb_dateDecode() + hb_dateStrPut() * source/rtl/errorapi.c + Added support for the :Tries variable, now Harbour will increment it on every retry. * A bunch of internal item access changed to Item API calls. This also fixed a possible problem with accessing Integer member without making sure that the type is an INTEGER. + "Internal error" text changed to "Unrecoverable error". * source/rtl/strings.c ! ASC(), CHR() error value substitution added. ! CHR() added a HARBOUR_STRICT_CLIPPER_COMPATIBILITY branch, where Harbour will handle the value 256/512/... like Clipper. * tests/working/rtl_test.prg + ASC(), CHR() tests added. + Detected preprocessor errors are always displayed. * include/external.ch source/rtl/tget.prg source/runner/stdalone/external.prg * __GET synonym for _GET_ added. Clipper really uses this function name _GET_ is always converted to __GET internally by the compiler. * source/tools/Makefile source/vm/Makefile source/tools/debug.c source/vm/debug.c makefile.b31 makefile.vc * DEBUG.C moved to the Harbour VM, since it's used from the debugger. Please check the non GNU makefile, since I could not test them. * source/rtl/terror.prg + Reformatted. 19990909-21:30 GMT+1 Victor Szel * source/rtl/arrays.c ! hb_arrayCopy() fixed. Now it has two methods, one strictly compatible, and one which fixes buggy behaviour on extreme parameters. Clipper will copy one item, even it an out-of-range start, or target position is passed, I've considered that buggy. You can choose with the HARBOUR_STRICT_CLIPPER_COMPATIBILITY switch anyway. * tests/working/rtl_test.prg + ACOPY() tests added. * source/rtl/tgetlist.prg + Using getexit.ch include file, instead of repeating its content. * source/debug/tbrwtext.prg + CVS header added. * include/extend.h ! Some Clipper compatibility include files moved to the bottom, it's better now, but it still doesn't work when HARBOUR_STRICT_CLIPPER_COMPATIBILITY is defined. * source/rtl/tget.prg source/debug/debugger.prg + Using common.ch include file, instead of repeating its content. DEFAULT := form changed to the standard DEFAULT TO form, which is a bit more efficient anyway, since it only assigns when needed. * source/tools/fileread.prg source/tools/dates2.c source/tools/hb_f.c source/vm/dynsym.c source/hbpp/table.c source/hbpp/hbppint.c source/hbpp/hbpp.c source/compiler/fixflex.c source/rtl/*.c * Standardization in header format. Note that we should also standardize the *text* of the copyright message. * source/vm/hvm.c * Small formatting correction. * source/rtl/xsavescr.prg + Reformatted. 19990909-18:22 GMT+1 Victor Szel * source/rtl/arrays.c ! ARRAY() fixed to parse the dimension list in the right order. * source/rtl/extend.c ! hb_stornd() fixed byref method, it stored INTEGER instead of DOUBLE. * tests/working/rtl_test.prg + Some new ARRAY() tests added. * tests/working/extend2.c ; Compiled/linked successfully with Cygwin. There's still incompatibility since Harbour needs all the C functions to be prefixed with "HB_". * Changed HARBOUR function types to CLIPPER. * include/clipdefs.h + Added #include "caundoc.api". * include/hbdefs.h + Added a __HARBOUR__ define, to make it possible to detect Harbour from C code. * include/caundoc.api + Added _reta() and _pcount(). * tests/broken/vec2.prg tests/working/statinit.prg tests/working/Makefile ! Moved to the working dir. 19990909-16:35 GMT+1 Victor Szel * source/rtl/memvarbl.prg ! MEMVARBLOCK() now returns NIL if the passed parameter was not a string, or the MEMVAR name is not declared. * source/rtl/arrays.c include/extend.h ! hb_arraySize() - Fixed a memory related bug. Now when an array is resized to zero length, it will free (and not reallocate) the memory allocated for the item pointer table. ASIZE({ "A", "B" }, 0) could show the problem. + ARRAY() now supprt multiple dimensions. Code based on hb_vmArrayNew(). ! Array functions error handling behaviour made completely CA-Clipper compatible. ! ARRAY() could GPF on an error condition. ! AADD() checks if the second parameter is not NULL. ! AFILL() could GPF when second param was omitted. ! AADD() now throws a substitutable error. ! AFILL(), ASCAN(), AEVAL(), ACOPY() - Made completely compatible the ulStart/ulCount/ulTarget parameter handling. Please note that ASCAN()/AEVAL()/ACOPY() has not yet been regression tested. * hb_arrayFill(), hb_arrayScan(), hb_arrayEval(), hb_arrayCopy() changed to parameter to implement the previous change. * source/rtl/environ.c ! __RUN() now checks for the parameter type, not the number. + __RUN() funtionality enabled for __CYGWIN__ + __RUN() will now throw an "operation not supported" runtime error on platforms where it's not supported, this is IMO better than silently doing nothing. The error has a Default case, so the use can continue running the program. ! __RUN() Standardized the doc header. * source/rtl/copyfile.c + Made completely compatible in order to pass the tests. A small file name forming difference is still there. * tests/working/rtl_test.prg + __COPYFILE() tests added. + __RUN() tests added. + Array function error condition tests. + MEMVARBLOCK() tests added. + AFILL() tests added. * source/rtl/memvars.c + Added Clipper compatibility functions: __MCLEAR(), __MRELEASE(), __MXRELEASE(), __MSAVE(), __MRESTORE() They are simple wrappers to the corresponding Harbour versions. * funclist.txt + Added all internal functions (beginning with __) from Clipper/STD.CH. + Marked MEMVARBLOCK() "Ready". * source/compiler/harbour.y * Small indentation fix in the generated code. 19990909-16:05 GMT+2 Ryszard Glab *source/rtl/memvarbl.prg + corrected to allow setings of NIL value 19990909-13:00 GMT+2 Ryszard Glab *source/runner/stdalone/external.prg + added __MVGET, __MVPUT, MEMVARBLOCK *include/init.h + added 'static' declaration for functions used to initialize symbols table 19990909-12:45 GMT+2 Ryszard Glab *source/rtl/memvars.c * removed unused variables *source/rtl/memvarbl.prg + added new file with MEMVARBLOCK() function *source/trl/Makefile + added memvarbl.prg to PRG_SOURCES 19990909-12:00 GMT+2 Ryszard Glab *source/rtl/memvars.c + added __mvGET and __mvPUT functions to set/get the value of private and public variables *doc/subcodes.txt * updated info for 3009 and 3010 subcodes used in __mvGET/__mvPUT 19990908-21:35 EDT David G. Holm * include/extend.h * include/hbdefs.h * include/hbpp.h * include/hbsetup.h * source/vm/hvm.c ! In order to eliminate a redefinition error for _POSIX_PATH_MAX, "extend.h" now includes "hbdefs.h", which includes "hbsetup.h", which includes . * source/rtl/gt/gtdos.c ! Fixed hb_gt_Scroll() by renaming parameter 'attrib' to 'attr', and assigning all other parameters to variables of the correct types and names that the code that was cut-and-pasted from the source/rtl/gtapi.c module expects. * source/rtl/gt/gtos2.c ! Changed the types of the hb_gt_Scroll() parameters to 'char' to match the source/rtl/gtapi.c usage and changed their names so that the scrolling logic won't try to use them directly. + Added local variables to hb_gt_Scroll() with the types and names expected by the scrolling code and assigned them from their corresponding parameters. + Added unsigned char to USHORT conversions for the row and column scroll values, because negative scroll values were coming through as positive values greater than 127, because ICC has to default the char type to unsigned to avoid char type related link failures. 19990909-01:10 GMT+1 Victor Szel * source/compiler/harbour.y + Modified to add the current date and time (in a packed form as a hexadecimal DWORD value) to the generated symbol init function name, in order to lessen the possibility of name collisions. * source/rtl/inkey.c % hb_inkeyPoll() optimized, so that if no key press could be detected, the function will immediately return. ! hb_inkeyPut() fixed to check the parameter and not allow to mistakenly stuff a zero key code to the buffer. * tests/working/rtl_test.prg ! Fixed the expected results of two math functions to the mathematically correct ones. + Added some AllTrim() tests which brings CA-Clipper 5.2e to it's knees. Harbour handles them fine. * include/hbdefs.h source/rtl/filesys.c source/compiler/harbour.y * MKLONG() and MKINT() moved to hbdefs.h * LOBYTE(), HIBYTE(), LOWORD() moved outside the HB_DONT_DEFINE_BASIC_TYPES guard, since they are guarded one-by-one anyway. (all this in hbdefs.h) * include/hbdefs.h include/hbsetup.h * _POSIX_PATH_MAX moved to hbsetup.h, where it belongs. * include/dates.h + Added some missing global functions. * source/rtl/dates.c * Small variable name corrections. * source/rtl/setcolor.c source/rtl/gtapi.c ! Fixed indentantion and some small formatting errors. 19990908-11:56 EDT Paul Tucker * source/rtl/gtapi.c * modified SetColor to accept a null pointer, and do nothing * changed so that "" resets colors to Clipper default. 19990908-17:00 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected handling of parenthesized expressions * corrected generation of pcodes for declaration of dimensioned array variables ( LOCAL var[ 2, 4 ] ) - there is no longer POP opcode between array dimensions *source/vm/hvm.c + added code that creates multi-dimensioned arrays (arrays declared by LOCAL arr[ 3, 5, getDim() ] - it supports PRIVATE and PUBLIC declaration too) *source/rtl/arrays.c + added functions hb_arrayGetItemPointer() which returns a pointer to an item occcupied by a specified array element *include/extend.h + added declaration of hb_arrayGetItemPointer() function *tests/broken/parexpr.prg ! moved to tests/working directory + added some code to test IF and IIF expressions (it is really related to parenthesized expressions) *tests/working/Makefile + added parexpr.prg 19990908-10:30 EDT David G. Holm * source/rtl/environ.c ! I restored the Windows #ifdef #include block from the 1.43 version, but kept the #define WIN32_LEAN_AND_MEAN from the 1.45 version. * source/rtl/set.c ! For _SET_COLOR case, only pass an argument to hb_setColor() if the 2nd SET argument is a string. Otherwise pass (char *) NULL. * source/vm/hvm.c * Moved hb_inkeyPoll() to the HB_P_DO case to enhance performance. 19990908-12:36 GMT+1 Antonio Linares * source/tools/debug.c + Added new function HB___GETLOCAL() to retrieve local variable containts. (see debug.c for GetLocal() use documentation). * source/debug/debugger.prg * First propotipe retrieving local variables values (still it is missing removing locals once a procedure is over. Editing is not implemented yet). 19990908-05:05 EDT Paul Tucker * source/rtl/inkey.c - remove extra #define INCL_DOSPROCESS + add #define INCL_NOPMAPI * source/rtl/gtapi.c simplified hb_gtScroll() to a function call. The code from this function was moved to gt/gtdos.c hb_gt_scroll() I currently can't compile a dos version so need a tester! * source/rtl/gt/gtos2.c - remove #define INCL_KBD since no keyboard functions are used + add #define INCL_NOPMAPI since PMAPI is not needed. * source/rtl/gt/gtdos.c * active hb_gt_scroll source. needs test. * most of this reported by Chen Kedem 19990908-03:05 EDT Paul Tucker * source/rtl/gt/gtos2.c + hb_gt_scroll by Chen Kedem 19990908-08:24 GMT+1 Antonio Linares * makefile.b32 * strfmt.c and strfmt.obj were missing. 19990908-08:09 GMT+1 Antonio Linares * rdd.b32 * Fixed missing '\' on the C output file path. 19990908-01:33 EDT Paul Tucker * source/rtl/environ.c corrected to work with msvc. The format passed to sprintf is now a variable. Under Windows, the hb_osletter is actually the build number, and the default format was not printing it correctly. 19990908-00:05 EDT David G. Holm * source/rtl/environ.c ! Version 1.43 added Windows code to detect the Windows version, but it also replaced the DOS code to detect Windows with Windows code to detect Windows. But Borland C 3.1 refuses to compile Windows code when creating DOS programs and I suspect that other DOS compilers do the same. So I restored version 1.42 and then put the Windows code from version 1.43 back in the only place where it belongs. - I removed the "95/98" designation from the Windows detection in DOS mode, because that code should also be able to detect Windows 3.x. * source/rtl/tget.prg ! Added missing ::Display() at end of ::Delete() 19990908-04:52 GMT+1 Victor Szel * tests/working/rtl_test.prg + Some tests now are only included when compiled with Harbour, to skip obvious bugs in Clipper. * source/hbpp/table.c + _SET_COUNT added. * include/clipdefs.h include/error.api include/item.api include/extend.api ! Some fixes. 19990908-03:14 GMT+1 Victor Szel * tests/working/rtl_test.prg + Some ==/= tests added for strings. * source/rtl/arrays.c ! hb_arrayScan(). Fixed a string comparison bug. * source/rtl/transform.c + TOFIX added about a directly modified item string buffer. 19990908-02:30 GMT+1 Victor Szel * source/rtl/math.c source/rtl/strings.c source/rtl/extend.c source/rdd/dbf1.c * WORDs changed to int to reflect the recent Item API changes. * include/itemapi.h source/rtl/itemapi.c ! hb_itemParam(), hb_itemType() parameter type and retval changed to USHORT from WORD, to be Clipper compatible. * hb_itemGetNLen(), hb_itemPutN?Len() WORD types changed to int. * include/extend.h source/rtl/arrays.c * hb_arrayGetType() retval type changed to USHORT instead of WORD. * include/extend.h source/rtl/extend.c * hb_retn?len() functions now uses int instead of WORD. * hb_parinfo() and hb_pcount() now returns int instead of WORD, to be more Clipper like. * hb_param() WORD param type changed to int. * tests/working/rtl_test.prg + The execution time is now showed at the end of the tests. + One missing copyright added. * source/rtl/filesys.c ! Formatting fixes. 19990907-20:17 EDT Paul Tucker * source/rtl/console.c + added HB_SETMODE() (reported by Matteo Bacaan 19990908-00:33 GMT+1 Victor Szel * source/rtl/filesys.c % FREAD() now uses the fixed ISCHAR() macro for parameter checking, and ISBYREF(). * source/rtl/extend.c ! hb_param() now checks the type mask against the dereferenced item, until now hb_param() was not working with values passed by reference. After this fix the IS????() macros are Clipper compatible. * source/rtl/tbcolumn.prg ! TBColumnNew() fixed not to throw an error when a block is not passed. + TBColumnNew() TOFIX added about possibly different behaviour than Clipper. * source/rtl/math.c ! hb_numRound() fixed for negative values. % hb_numRound() is not using sprintf(), atof(), hb_x*() calls, so it should be faster and requires less memory. All tests are still running fine. I don't know why was it needed ? (David ?) ! INT() fixed for values beyond -/+LONG_MAX. ! ROUND() fixed to set the decimal width to MAX(iDec, 0) instead of iDec. * tests/working/rtl_test.prg + Some ROUND() tests added (mainly for negative numbers). + Some byref tests added for several functions. + SQRT() and some other math function tests added. * source/rtl/strings.c ! hb_itemStr() fixed to always use the "%*.*f" format to convert a DOUBLE value. ! hb_itemStr() fixed a possible error when the item.asDouble member could accessed but the type was not DOUBLE. + STR(), STRZERO() value substitution possible on error. + STRZERO() added a HARBOUR_STRICT_CLIPPER_COMPATIBILIY to throw the same error code as in Clipper, actually Clippers STRZERO will call STR and the error will be handled by STR(), too. * source/rtl/inkey.c funclist.txt tests/working/rtl_test.prg + FKLABEL(), FKMAX() added. These are *really* dumb functions, but anyway. Tests added. * include/extend.h + One cast added the IT_NUMERIC #define. * source/rtl/environ.c + OS(): Added Windows version detection code by Luiz Rafael Culik 19990907-17:00 GMT+1 Victor Szel * source/vm/hvm.c ! hb_vmEqual() is now Clipper compatible for ARRAY and BLOCK types. ! hb_vmMinus() is now generating the result as LONG (instead of DOUBLE) when the two operands are DATEs. ! hb_vmDivide() fixed the decimal handling for integer operands with an integer result. ! hb_vmNegate() now handles the number width in a Clipper compatible way. ! hb_vmEqual(), hb_vmNotEqual(), hb_vmLess*(), hb_vmGreater*(), hb_vmDo(), hb_arrayAt() error handling now support value substitution. hb_vmDo() and hb_vmArrayAt() should be tested, since I'm not exactly sure if they are correctly pushing the result. * source/rtl/strings.c ! VAL() fixed to return INTEGER/LONG if applicable, not always a DOUBLE. Similar logic can be found in hb_vmPushNumber(). + REPLICATE() STROVERFLOW error now supports value substitution. * hb_itemPadConv() now uses less internal, type checks reordered with the most probable moved to the top. Some Extend API calls changed to Item API ones, to make it faster. ! hb_itemPadConv() was casting back DOUBLE value without decimals to LONG to convert it to string. Corrected. There may be other places where DOUBLE is converted to LONG, these should be revised, since a DOUBLE is also used when there are *no* decimal places, but the value is too big to fit in a LONG (like: 5000000000), for example INT() is buggy because of that right now. * tests/working/rtl_test.prg + Some new decimal handling and ABS() tests added. + Some divide and date subtracion tests added to decimal handling section. + Some negate tests added to the decimal handling section. + INT() tests added. * LOCAL test values converted to STATIC, PRIVATE test values converted to PUBLIC. * Split the tests into smaller functions, since the 64K function limit has been reached. ! Expected results changed where we consider Clipper to be buggy, mainly for cases when the parameters is passed by reference. + SQRT() tests added. * source/rdd/dbf1.c ! Fixed the passed parameters to hb_itemPutNDLen() * tests/working/testdbf.prg + Numeric value put/get tests added. * source/rtl/itemapi.c ! hb_itemType() now checks for NULL parameters, like in Clipper. ! hb_itemPutNDLen() was handling the wDec parameter in a wrong way by mistake. I assumed that the wDec value means the decimal places within the full length, but that was wrong. ! hb_itemStrCmp() two LONGs changed to ULONG. * source/rtl/math.c % MOD() one Extend API call changed to Item API to make it faster. + MIN()/MAX() now uses Item API instead of accessing internals. + ABS() uses Item API instead of internals. ! ABS() now keeps the width of the positive integers. ! hb_numRound() now uses a much larger buffer (like in hb_itemStr()), this seem to have fixed the random GPFs in Cygwin when running RTL_TEST. Same type of dangerous code can be found in RDD/DBF1.C, too. (Bruno!) + ABS(), INT(), ROUND(), EXP(), LOG(), SQRT(), MIN(), MAX() value substitution added. * source/rtl/descend.c * Now using Item API only, internals totally eliminated. Simpler code, some variables eliminated, some small optimalizations. * source/rtl/do.c * Value substitution added to EVAL(), DO() * source/rtl/classes.c * Value substitution added to :EVAL * tests/working/descend.prg tests/working/Makefile - Removed since an automated version is already included in RTL_TEST. * source/rtl/classes.c source/rtl/arrays.c + Copyright info added. * source/rtl/set.c ! Some minor formatting corrections. 19990907-02:30 GMT+1 Victor Szel * include/external.ch source/runner/stdalone/external.prg + Updated to reflect the recent changes. * source/rtl/itemapi.c ! hb_itemGetCPtr() will now return an empty string ("") on error and not a NULL pointer. ! Leak fixed in hb_evalLaunch() when the function to evaluate was passed as a string. (hb_itemGetC() changed to hb_itemGetCPtr()) * source/rtl/arrays.c source/rtl/extend.c source/rdd/dbcmd.c include/extend.h * Some array functions renamed to be consistent with the similar Item API function names. hb_arrayGetString -> hb_arrayGetCPtr hb_arrayGetStringLen -> hb_arrayGetCLen hb_arrayGetBool -> hb_arrayGetL hb_arrayGetDouble -> hb_arrayGetND hb_arrayGetDate -> hb_arrayGetDS * hb_arrayGetCPtr() now calls hb_itemGetCPtr() instead of using redundant code. + hb_arrayGetC() added keep it in sync with the Item API. + hb_arrayCopyC() added keep it in sync with the Item API. % Further simplified the hb_arrayGet*()/hb_arraySet()/+some more functions. * source/rdd/dbcmd.c funclist.txt + DBF() function added. (not tested yet) * source/rdd/dbf1.c source/rdd/delim1.c source/rdd/sdf1.c source/rdd/dbf0.prg source/rdd/delim0.prg source/rdd/sdf0.prg * The forcelink function names changed. The C functions got a "C" appended at the end, the Harbour ones got an underscore at the beginning, this way it's more Clipper like, but it was also inevitable, since previously the forcelink function HB_DBF() was colliding with the standard Clipper function named DBF() (HB_DBF() from C). * source/rdd/dbcmd.c source/rdd/rddsys.prg source/vm/hvm.c include/rddapi.h * Instead of calling rddShutDown() from a Harbour EXIT function, now the same functions C version is called by the Virtual Machine on exit. This way it's more Clipper compatible, since in CA-Cl*pper the RDDSYS doesn't need to clean-up on exit. RDDSYS.PRG is now exchangeable with the Clipper one. ! hb_rddShutDown() fixed a possible GPF if there was no rddSetDefault() calls at all (when RDDSYS was overridden by a dummy one). * source/rtl/setkey.prg * Not CA-Clipper compatible functions (extensions) renamed to avoid possible collision with existing code: SETKEYGET() -> HB_SETKEYGET() SETKEYSAVE() -> HB_SETKEYSAVE() SETKEYCHECK() -> HB_SETKEYCHECK() The function names are valid even if compiled with /10 switch. 19990907-01:00 GMT+1 Victor Szel * source/rtl/arrays.c ! hb_arrayScan() fixed, so that it can also search for a NIL value. Like Clipper. % Optimized the search loop for speed. ! Fixed searching of numeric values. Different numeric sub-types with the same value are also considered equal (of course), so 10 == 10.0 now. * Uses Item API calls where possible. * source/rtl/classes.c ! hb___msgEval() added, so now send an :eval message to a block will work fine, sending it to other types will result in a proper error message. ! hb___msgClsH() will return 0, if the checked type is not an ARRAY/OBJECT. Until now a GPF occured on this code: a := "A" ; a:classH * Functions reordered. * source/rtl/do.c source/vm/hvm.c * EVAL() moved to do.c. ! EVAL() internal message changed to the Clipper compatible one. * DO() parameter count error message changed to EG_ARGCOUNT/3000. * source/compiler/harbour.y + SETPOSBS() added to the reserved function list. * tests/working/rtl_test.prg + Some PAD?() tests added with new types, byref. Some new MIN()/MAX() tests added. ASCAN() tests added. + /SKIP: switch added, to make it possible to temporarly skip specific tests. (RTL_TEST /SKIP:100,102) + EVAL(), :EVAL() tests added. Some are commented out, due to bugs. * source/rtl/itemapi.c include/itemapi.h - Removed hb_itemSetNLen() since it was superseded by hb_itemPutN?Len() functions, these are more compact, faster, and have default value of the parameters. 19990906-11:25 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Fixes on Stabilize() method * source/rtl/tbcolumn.prg * Small fix on New() method * source/debug/debugger.prg * First outline for monitoring variables (it is left open for testing purposing) 19990906-01:27 EDT Paul Tucker * source/rtl/set.c * added a cast in open_handle to fsRead() 19990905-17:55 EDT David G. Holm * source/rtl/console.c + Added code to preserve the current user file error code when using Harbour hb_fs... functions. * source/rtl/set.c + Added code to preserve the current user file error code when using Harbour hb_fs... functions. + Added code to remove the old EOF character ('\x1A') when appending to text-mode files on non-Unix platforms. * tests/working/output.prg * Changed the names of the output files to OUTPUT_A (.txt), OUTPUT_E.EXT, and OUTPUT_P (.prn) so that the files may be examined and deleted without having to worry about the .PRG file (the extensions in parentheses are the default ones). 19990905-17:48 GMT+1 Victor Szel * source/rtl/dbf1.c % Uses hb_itemPutN?Len() instead of hb_itemSetNLen(), so it's a bit faster now. * source/rtl/errorapi.c % Now uses hb_itemDo() instead of the Eval API. Eight function calls substituted with a single one. * source/rtl/extend.c + hb_retn?len() functions now make simple calls to hb_itemPutN?Len() functions. * source/rtl/itemapi.c include/itemapi.h + EVALINFO structure now has a Clipper compatible paramCount member. ! hb_eval*() speed up a bit by using paramCount, and by assigning error return value only on error. ! hb_evalPutParam() now check if pItem is a NULL. ! hb_evalRelease() now sets back the EVALINFO structure to an initial state, just like Clipper. + hb_itemDo() and hb_itemDoC() function added, they do the same as hb_eval() but in a lot more convenient way. + hb_itemPutNDLen(), hb_itemPutNILen(), hb_itemPutNLLen() functions added to make to number lenght setting easier. * source/rtl/do.c ! DO() without any parameter caused a GPF. Fixed. * tests/working/rtl_test.prg + Alias tests enabled. Now an internal occurs in one of them, this will need fixing. Some alias Pop/Push/Swap functions are not checking NULL pointers and are not yet compatible with Clipper in strange situations. + Fixed some result in == test with objects and arrays. Added some more == tests. * source/vm/hvm.c ! Small correction in one debug message. * source/vm/initsymb.c + SETPOSBS added to the list. Since it's a native opcode in Clipper, it always linked in by nature. 19990905-02:47 EDT Paul Tucker * source/rtl/filesys.c * casts on access() and in HB_FILE 19990904-23:35 EDT David G. Holm * include/hbver.h * Bumped revision from "a" to "b". * Changed date to 1999.09.04 * source/rtl/filesys.c ! Borland needs "direct.h". 19990904-20:35 EDT David G. Holm * include/filesys.h + Added hb_fsFile(). * source/rtl/filesys.c + The guts of HB_FILE() are now in hb_fsFile(), so that C RTL functions can check for the existence of a file. ! Added temporary bug fix for Cygwin I/O flags (starting with O_CREATE, they are one bit position too high). + I left in the debug statements that I used to track down the Cygwin I/O flag bug, but I commented them out. */ * source/rtl/set.c ! Corrected the file open/create handling in open_handle(). 19990904-18:35 EDT David G. Holm * source/rtl/tone.c ! Added missing '&& ! defined(_Windows)' checks to the __BORLANDC__ checks that didn't already have them and weren't already preceded by a 'defined(_Windows)' check. 19990904-15:20 GMT+1 Victor Szel * source/rtl/arrays.c ! hb_arrayScan() fixed. (Thanks Antonio) 19990903-19:35 EDT David G. Holm * source/rtl/console.c ! Added #ifdef HARBOUR_USE_GTAPI/#endif around use of GT API functions in the new HB_SETPOSBS() function. * source/rtl/filesys.c ! Added #defines for _getdisk and _chdisk for DJGPP. 19990903-19:00 GMT+1 Victor Szel * source/itemapi.c include/itemapi.h + hb_itemGetCPtr() function added. Use this with care, don't modify the returned buffer. This is the fastest way to access a string buffer via the standard API. The retval should really be declared const, but that would generated a bunch of compiler warnings, so I didn't add it. ! hb_itemGetDS() made compliant with the Clipper NG, it now terminates the date with a zero character, so the buffer needs to be 9 characters long. Although Clipper itself is buggy in this respect and doesn't append a trailing zero, even the example in the NG is buggy. NOTE added about this. * source/vm/hvm.c * LEN(), EMPTY(), VALTYPE(), hb_stackDispLocal() (almost) now use no internals, or uses Item API instead of Extend API, since it's faster in their case. * source/rtl/arrays.c source/rtl/extend.c include/extend.h + hb_arrayIsObject() function added. * hb_arrayGetString() now uses hb_itemGetCPtr() + Copyright info added to arrays.c ! hb_arrayGetDate() now returns the date with a terminating zero. * Small cosmetic change in array.c. * source/rtl/extend.c % hb_stor*() functions further optimized, usage of ulArrayIndex eliminated. ! One bug slipped in to one of the hb_stor*() functions at the previous changes. Fixed. ( if -> else if ) + NOTE added to hb_parc() * hb_ret*() functions now uses Item API calls, this way a huge amount or sensitive redundant code has been eliminated. Since these functions are always called only once in Harbour callable function, the speed hit should not be noticable (There's one more NULL check and a function call). hb_retn?len() functions were not converted. We could make these functions inline to speed it up. Notice that the size of extend.c has been reduced from 23K to 17K. ; hb_par*() functions also have many redundant code, but it would be more of a speed hit to convert them, since these are generally called several times in a function, and two additional if()s would be also executed. * source/compiler/harbour.y + The parameter count checking now shows the expected *range* in the error message if applicable (not only the minimum number of params). * tests/working/rtl_test.prg + Changed the column layout. Few new tests added (==). * source/rtl/classes.c % One variable eliminated (wIndex). * source/rtl/dir.c include/init.h ! Indenting errors fixed. 19990903-15:30 GMT+1 Victor Szel * source/rtl/itemapi.c % hb_itemPutDS() contained one more hb_itemClear() then needed. + hb_itemGetNI(), hb_itemPutNI() added for completeness. ! hb_itemArrayGet()/hb_itemArrayPut() checks if the passed array item ptr is not a NULL. * source/rtl/extend.c * hb_parni(), hb_parnl() now uses hb_arrayGetN*() instead of hb_arrayGetDouble(). % Array index validation removed from hb_par*() functions, since the called Array API is doing this. + hb_stor*() function group now using Item API instead of duplicating the same code. These function looks much simpler now. ! hb_stor*() functions were suboptimal in handling the -1 parameter, they were assigning a new value to it, then checking IS_BYREF()/IS_ARRAY(). The logic has been optimalized. + Optional parameter type changed to ULONG from long. * source/rtl/array.c include/extend.h + Missing prototypes added to extend.h ! hb_arrayAdd() will not throw a runtime error anymore, instead it returns a BOOL to signal error. Error launching moved to AADD(). ! hb_arrayClone() will not throw error. ACLONE() is more compatible now. ! hb_arrayCopy() will not throw error, but return BOOL. ACOPY() is more compatible now. ! hb_arrayRelease(), hb_arrayEval() will not throw error. They will return BOOL. ! hb_arrayScan() will return ULONG instead of int. It will now throw an error anymore. ! hb_arrayGetType() will return WORD instead of int. ! hb_arrayIns(), hb_arrayDel() will return BOOL, and not throw an error. ! hb_arrayFill() will not throw an error, but will return BOOL, AFILL() will check if the second parameter is not NIL. ! hb_arrayAdd(), hb_arrayLast() checks if the passed item is an array, like the other hb_array*() functions. + hb_arrayNew() now returns BOOL. Actually a constant TRUE right now. + hb_arrayLast() now return BOOL, it will return FALSE if the passed item was not an array. ! hb_arraySize() now return BOOL. ! hb_arrayClone() fixed bug which caused a GPF. (Thanks Paul!) This was introduced around yesterday. ! hb_arrayLen() will not throw a runtime error anymore. ! hb_arrayGet*()/hb_arraySet() will no longer throw runtime errors. + hb_arrayGet(), hb_arraySet() now return BOOL. + hb_arrayGetNL(), hb_arrayGetNI() added to be in sync with Item API. ! hb_arrayGetDate() now properly clears the date field on error. * source/rtl/dir.c + NOTE: added about the behaviour on reaching array lenght limit. * source/rtl/extend.c + NOTE: added about parameter -1 * source/rtl/set.c * bMode name changed to bAppend * source/rtl/console.c funclist.txt + SETPOSBS() undocumented Clipper function added. I don't know why is this function so important to CA, but it's a pcode level function. * source/compiler/harbour.y + Added parameter count check for EVAL() + Added parameter count check for SETPOSBS() which is and undocumented Clipper function. Now the parameter count check list is complete. * source/vm/hvm.c + Added runtime parameter count check for EVAL(). * tests/working/ifelse.prg + Changes by Jose Lalin implemented. * source/rtl/classes.c source/rtl/itemapi.c (nszText -> szText) include/rtl/itemapi.h (nszText -> szText) ! Small formatting fix. * source/rtl/codebloc.c ! A few formatting errors corrected. 19990903-14:35 GMT+2 Ryszard Glab *source/rtl/codebloc.c * corrected bug if nested codeblocks without local variables references were created 19990903-14:00 GMT+2 Ryszard Glab *include/hb_vmpub.h * added a second parameter for HB_DYNS_FUNC *source/vm/dynsym.c *include/extend.h * added a second parameter for hb_dynsymEval() function *source/rtl/memvars.c * new function __mvDBGINFO() for memvars debugging (documentation included in memvars.c) *include/memvars.ch * new MV_PRIVATE definition *source/rtl/mouseapi.c * added (char*) type cast to make C++ compilers happy 19990903-08:00 GMT+1 Victor Szel * include/hbdefs.h include/extend.h ! IT_OBJECT() checked for IT_ARRAY type, correct to IT_OBJECT, which is equal to IT_ARRAY, so there was no bug, but it's not a good practice to take shortcuts like this. * Type checking macros moved to extend.h from hbdefs.h * source/vm/hvm.c % Variable optimed out in HB_PCOUNT(). * source/compiler/harbour.y source/hbpp/stdalone/hbpp.c source/rtl/filesys.c ! hb_fsFNameSplit() now leaves the szName pointer to NULL if there was no name specified. ! hb_fsFNameMerge() now handles when szName is NULL. * Some variable names made consistent in the functions above. 19990902-21:15 EDT David G. Holm * source/rtl/filesys.c ! Added missing semi-colon for line 1842. * Replaced all calls to getdisk() and setdisk(), which are not very likely to be POSIX-compliant (they don't exist in the Cygwin or OS/2 implementations of GCC), with _getdrive() and _chdrive(), which are not POSIX-compliant either, but at least they exist for OS/2 GCC, IBM Visual Age C++, Borland C, and Microsoft C. They also exist in mingw32/direct.h for Cygwin, but that includes dir.h instead of mingw32/dir.h, so it won't compile with a default Cygwin install, so I left in the Cygwin exclusion. I also set things up so that only OS2, DOS, and _Windows compilers will attempt to use these functions, seeing as how they are unlikely to exist on Unix and Linux. 19990902-17:30 GMT+1 Victor Szel * tests/working/rtl_test.prg + <=, >=, >, < operator tests added. * source/rtl/hvm.c % Variable scope optimalization, variables accessed only once eliminated, formatting errors corrected. + Error value substitution support added to: hb_vmNot(), hb_vmNegate(), hb_vmInString(), hb_vmInc(), hb_vmDec(). ! hb_vmEqual(), hb_vmNotEqual() fixed for those where it returned a constant FALSE, blocks, arrays, etc. It confused the stack. ! Fixed all hb_vmOperatorCall() calls since they were not popping the values from the stack. ( did not test this ) ! hb_vmGreater*(), hb_vmLess*() functions pushed inverse results for logical types. 19990902-12:20 GMT+1 Victor Szel * tests/working/rtl_test.prg + STOD() tests added. * source/rtl/dir.c * Direct stack access changed to hb_itemReturn(). * source/rtl/hvm.c ! hb_vmEqual(), hb_vmNotEqual() didn't handle DATE type. Fixed. % hb_vmEqual(), hb_vmNotEqual() reordered the order of type to be a bit more efficient. % hb_vmEqual(), hb_vmNotEqual(), hb_vmGreater*(), hb_vmLess*() function variable scopes optimed. They need less stack space now. * source/rtl/errorapi.c funclist.txt + First pass of DOSERROR() implementation. * source/rtl/dates.c source/rtl/extend.c source/rtl/itemapi.c + hb_dateStrPut() now takes care of filling the target with spaces when the date is empty, so from now on the caller shouldn't bother with this. This has also fixed a possible bug in RDD/PutValue with empty date. * source/rtl/itemapi.c include/itemapi.h + hb_itemGetCLen() function added, which simply returns the length of STRING item, arrays.c uses it right now. * source/rtl/arrays.c * Many stack.return accesses converted to use hb_itemReturn(). * One hb_itemClear()/hb_xfree() call pair converted to hb_itemRelease(). % Replaced internal hb_arrayLen() calls with direct access to the array structure. * hb_arrayGet*() functions will call the proper Item API function instead of repeating the functionality. * source/rtl/console.c * hb_fsSetMode() -> hb_fsSetDevMode() * include/filesys.h source/filesys.c + hb_fsSetError() added, to be able to get/set the last error number in internal functions which uses the FS API. * hb_fsSetMode() -> hb_fsSetDevMode() * source/rtl/descend.c - One obsolete comment removed. * source/rtl/console.c ! Some formatting errors removed. 19990901-21:24 EDT Paul Tucker * source/rtl/filesys.c * hb_fsReadLarge() -> drop out on eof * hb_fsWriteLarge() -> drop out on disk full * source/rtl/console.c source/rtl/set.c * added casts. 19990902-01:44 GMT+1 Victor Szel * source/rtl/filesys.c include/filesys.h - For speed reasons the hb_fsRead/Write() functions were set back to use USHORT, they are again Clipper compatible, and don't have the overhead of the long buffer support, since for most cases it's not needed. + hb_fsReadLarge() and hb_fsWriteLarge() API functions added, which support the very long buffer lengths (ULONG_MAX). FREADSTR() is using the large read right now. ! hb_fsWriteLarge() infinite loop on error fixed (?) Paul ? + TOFIX: added to hb_fsFNameMerge() (related to buffer overrun). * source/rtl/console.c source/rtl/set.c include/set.h + Changed to use the Filesys API instead of calling the platform dependent file handling functions. ! hb_err*() caller now expect E_BREAK, too. ! hb_setRelease() called close_binary() instead of close_text() for hb_set_extrahan. Fixed. - Removed a bunch of (now) unneeded include files and OS branched. Source looks kind of clean now. * config/rules.cf make_tpl.* + Added the L_USR variable, to make it possible to pass custom parameters to the linker. Some platform/compiler combinations need to add support for this manually: DOS/BCC31, DOS/WATCOM, WIN32/BCC32, WIN32/ICC * source/rtl/itemapi.c ! Some formatting errors removed. * tests/working/rtl_test.prg * Small corrections. 19990901-20:34 GMT+1 Victor Szel * source/vm/initsymb.c + HB_LOCK pointer added. * tests/working/Makefile ! Mistakenly got replaced with my private one. Fixed. 19990901-17:20 GMT+1 Victor Szel * tests/working/rtl_test.prg + Added tests for decimals handling. (NUMPAR.PRG) * source/rtl/strings.c + VAL() now using hb_retndlen() instead of internalling (wow!). + hb_itemStr() is now using hb_itemGetNLen() * source/rtl/math.c + No functions (except ABS()) are now accessing the internals. They are using hb_retndlen() and hb_itemGetNLen() instead. ABS(), MAX(), MIN(), MOD(), ROUND() ! HB_MOD() accessed item.asDouble even if the item was not a DOUBLE. - There were places were the decimals places were explicitly set to the default SET_DECIMAL setting, even though the hb_retnd() call already set this. I've removed these assigments. (David, is this OK ?) * source/rtl/itemapi.c * hb_itemGetNLen() is now optionally returning the parameters, so passing a NULL is now valid. ! hb_itemGetNLen() now returns zeros for non-numeric values. ; hb_itemSetNLen() tested. * source/rtl/extend.c include/extend.h + hb_retndlen(), hb_retnilen(), hb_retnllen() added, which are the same as the standard hb_retn*() functions, but the width and decimals can be specified. * source/rtl/dates.c + DAY(), MONTH(), YEAR(), DOW() now using the new hb_itemSetNLen() API call instead of dealing with the internals. * source/rtl/console.c + Changed to call hb_fsSetMode(). * source/rtl/filesys.c include/filesys.h include/fileio.ch + Added hb_fsSetMode() function, and the constants. * Changes by Jose Lalin implemented. 19990901-15:00 GMT+1 Jose Lalin * filesys.c + Added hb_fsChDrv() + Added hb_fsCurDrv() + Added hb_fsIsDrv() ! BC4.5 docs: setdisk/getdisk are for DOS, WIN16, WIN32 and OS/2 I don't know if they work under Unix/Linux too. * hb_fsCurDir() * hb_fsExtOpen + some HB_SYMBOL_UNUSED added. NOTE [vszel]: 1.) I've #ifdef-ed out the new stuff for __CYGWIN__ since setdisk()/getdisk() were neither declared nor present in any libraries. 2.) I've added some new header files to FILESYS.C. Please check them on your system, whether they are correct. 19990901-14:05 EDT Paul Tucker * source/rtl/filesys.c * hb_fsread() -> account for the possibility that num read is less than requested. (It was staying in the while loop forever without this) 19990901-17:59 GMT+1 Bruno Cantero * source/rdd/dbcmd.c + Added Lock() function 19990901-17:20 GMT+1 Victor Szel * source/rtl/set.c funclist.txt + SetCancel() function added. * source/vm/hvm.c ! hb_vmRequestCancel() now diplays correctly on DOS/DJGPP, since it's using hb_consoleGetNewLine() to display a newline instead of '\n'. * source/runner/runlib.c ! __HRBRUN() now handles if the error launcher returns with an E_BREAK. * source/rtl/copyfile.c ! The error launching now also reacts to a BREAK correctly. * source/compiler/harbour.l ! At one place BREAK was not converted to uppercase, so the generated pcode was faulty. RTL_TEST.PRG didn't link because of that. (Ryszard, is this the correct fix ?) * source/rtl/errorapi.c ! szOperation now can be NULL. This caused some error launchings to GPF, for example BADALIAS calls in HVM.C. * IS_*() internal macros changed to hb_itemType() calls. * source/rtl/filesys.c + Added runtime error 2018 to DISKSPACE(). * source/vm/hvm.c ! Fixed a variable name which went out sync between the last two CVS sessions. * source/rtl/inkey.c + Added copyright info. 19990901-15:40 GMT+1 Victor Szel * source/compiler/harbour.y + It will now recognize and accept filenames specified via the /o switch (not only paths), it also allows to override the extension. Like CLIPPER.EXE. * Indentation more or less fixed. * Zeros changed to NULL and '\0'. % Inc()/Dec() logic cleaned-up. Note that there are many more places where such logic cleaning and variable scoping optim. could be done. I'm also not sure if the debug_msg() calls should only be made when warnings are turned on, IMHO they should always appear when DEBUG is on. ! Some formatting errors corrected. * tests/working/fileio.prg + New test cycle added beginning with FOpen() (Temporary solution) ! nFlags is not NIL anymore. * tests/working/rtl_test.prg + Some tough alias related tests added. They are commented out for Harbour, since right now they will GPF for sure. * source/rtl/langapi.c source/rtl/natmsg/*.c ! Fixed eleven error messages to look exactly like in Clipper. * source/rtl/filesys.c include/filesys.h * hb_fsRead(), hb_fsWrite() changed to use ULONG instead of USHORT. ( ! not tested ! ) ! FOPEN() added FO_COMPAT to the default open flags. (cosmetic) * source/rdd/dbf1.c + GetValue() now sets the width and decimals of the returned numeric value properly using hb_itemSetNLen(). ( not tested ) * source/rtl/itemapi.c include/itemapi.h + hb_itemGetNLen() added. The pair of the recently added hb_itemSetNLen(). * source/rtl/console.c + Some static renamed and prefixed with s_ * source/compiler/symbols.asm + CVS header added. * source/compiler/harbour.c ! Formatting errors corrected. 19990901-14:40 GMT+2 Ryszard Glab *source/compiler/harbour.l * corrected handling of BREAK statement *source/compiler/harbour.y * corrected generation of line number opcodes * corrected the support for local variables when nested codeblocks are used * the step value is popped correctly at the end of FOR/NEXT loop (the nested loops are working correctly now) *source/rtl/codebloc.c * corrected the support for local variables when nested codeblocks are used *source/vm/hvm.c *include/ctoharb.h * added hb_vmRequestCancel() function *source/rtl/inkey.c * signals the virtual machine that Alt-C was pressed *doc/codebloc.txt * updated information 19990831-22:49 EDT Paul Tucker * include/set.h source/rtl/set.c Set(_SET_DEBUG) now returns Logical as in Clipper 5.2 and 5.3 operation. (Clipper 5.3 docs are incorrect) 19990831-23:10 GMT+1 Victor Szel * source/rtl/itemapi.c include/itemapi.h + hb_itemSetNLen() added to set the numeric values length and number of decimal places. This way we have a standard way to set these without fiddling with the internals. Cool. 19990831-22:20 GMT+1 Victor Szel * source/rtl/hvm.c ! hb_vmFunction() now resets the return value to NIL, since previously the default return value of the functions was not defined if there was no hb_ret*() calls in them or if the called function was a PROCEDURE. * source/rtl/descend.c include/extend.h ! It was modifying the string buffer directly, RTL_TEST failed in some situations. Fixed. hb_strDescend() prototype modified. * tests/working/Makefile + ValType() tests added. ! empty.prg, strsub.prg removed. + Descend() tests added. 19990831-20:55 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Methods RefreshAll() and Invalidate() were not recalculating ::RowCount. 19990831-19:47 GMT+1 Bruno Cantero * source/rdd/dbf1.c * Bug fixed 19990831-19:09 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c * Added more RDD functions. * tests/working/Makefile * Added testdbf.prg 19990831-17:40 GMT+1 Victor Szel * source/rtl/arrays.c include/extend.h ! Fixed handling of zero array index, it was allowed previously. (hb_arrayGet*(), hb_arraySet()) + Added hb_arrayError() which checks the pArray and ulIndex, if it's not valid, it throws a runtime error. * source/vm/hvm.c ! Fixed where operations followed the hb_err*() call. (hb_vmArrayAt(), hb_vmArrayPut(), hb_vmDo(), ...) ! hb_vmPopLogical() was decrementing the stack but was only clearing it when it was logical type. Leak fixed. (Is this correct ?) * hb_vmAliasPop() -> hb_vmPopAlias() hb_vmAliasPush() -> hb_vmPushAlias() hb_vmAliasSwap() -> hb_vmSwapAlias() Renamed to be consistent with the pcode name and with the others. * tests/working/rtl_test.prg tests/working/empty.prg (removed) tests/working/strsub.prg (removed) + Added many new tests, comments, enhancement. + EMPTY.PRG, STRSUB.PRG incorporated. ! Some TRANSFORM() test results changed (@0) * source/rtl/devoutp.prg % One local variable eliminated. * source/vm/hvm.c + Added value substitution for errors 1081, 1082, 1083, 1084, 1085, 1088 * source/rtl/transfrm.c + Put all stuff related to the @0 picture clause between #ifndef HARBOUR_STRICT_CLIPPER_COMPATIBILITY guards, since this was not in original Clipper, that's why the tests failed. * source/rtl/set.c ! Fixed "ON"/"OFF" error where OFF was not recognized, this bug was introduced yesterday. % Some variables scopes optimalized, some internals changed to standard interface calls. * source/rtl/errorapi.c source/vm/hvm.c include/extend.h + Moved ERRORBLOCK() and errorBlock variable to errorapi.c, hb_errInit() hb_errExit() added. All that is a *bit* slower, since only "official" API calls are being used. * source/runner/runlib.c source/rtl/gtapi.c source/vm/dynsym.c source/vm/hvm.c include/vm.api include/fm.api include/hbpp.h include/gtapi.h include/extend.h include/hb_vmpub.h include/hbdefs.h * Formatting errors corrected. + static variables prefixed with "s_" 19990831-02:37 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c tests/working/testdbf.prg * Full support for memo fields. 19990830-19:00 GMT+1 Victor Szel * source/filesys.c include/filesys.h funclist.txt + Added: DIRCHANGE(), MAKEDIR(), DIRREMOVE(), DISKCHANGE(), DISKNAME() All of them are Clipper 5.3 compatible functions. Some of them will not work, since the underlying low level API is not worked out. ! Fixed CURDIR() to preserve the FERROR() value. ! Fixed prototype of hb_fsChDrv(). + DISKSPACE() added (currently only working in DOS). * source/rtl/arrays.c + hb_arrayAdd() added BASE/1187 Bound error "AADD" error message. ! 1068 Not an array errors changed to the 9999 code, until we allocate a 3xxx error for. This error was not there in Clipper. * source/vm/hvm.c + Added standard "no exported method" and "no exported variable" runtime error instead of the internal error. ( ErrorNew():hello := 1, ErrorNew():hello ) + hb_vmPlus() and hb_vmMinus() added "string overflow" runtime errors (1209, 1210) (could not test this though :) * Error code 1000 in BADALIAS errors changed to 9999, until someone finds out the correct error code, since there's no 1000 error code in Clipper. * source/rtl/set.c ! Fixed to also accept strings that *begin* with "ON" or "OFF", like Clipper. * source/rtl/tone.c source/rtl/codebloc.c source/rtl/memvars.c source/rtl/environ.c source/rtl/classes.c source/rtl/console.c source/rtl/langapi.c source/rtl/setcolor.c source/rtl/strings.c source/rtl/dates.c source/rtl/set.c source/rtl/transfrm.c (removed static) source/rtl/inkey.c source/rtl/fm.c source/rtl/dir.c source/rtl/gtapi.c * Formatting errors corrected. + static variables prefixed with "s_" * Some type changed to BOOL. 19990830-16:59 +0300 Chen Kedem * source/rtl/mouse/mouseos2.c * hb_mouse_Hide() now work in any text screen mode. * hb_mouse_IsButtonPressed() now return TRUE if any button was pressed. TOFIX: every time I read event from the queue I lose the result so I can not check if iButton was pressed, so for now I ignore iButton and return TRUE if the last event saved had DOWN in it. also to keep the noise level down I mask out MOUSE_MOTION events. * suMouHandle changed to s_uMouHandle * Some reformatting. 19990830-12:49 EDT Paul Tucker * source/rtl/gtapi.c * Handle nesting of gtPre/PostExt * corrected s_uiPreCount handling in gtDispEnd 19990830-14:25 GMT+1 Victor Szel * tests/working/rtl_test.prg + Added the possibility to test expressions resulting in a runtime error. + Added ABS(), EXP(), operator tests, some runtime error tests. * Some bugs fixed, some enhancements. * include/errorapi.h source/rtl/errorapi.c ! hb_errRT_TERM now accept the OS code parameter. * source/rtl/set.c ! Open error now shows the correct error codes for SET_PRINTFILE, and SET_EXTRAFILE. The error message made completely Clipper compatible. Retry and Default now works. * source/rtl/arrays.c ! Fixed two error messages ("AEVAL" -> "(AEVAL() function)") UNDONE. * source/rtl/classes.c - Removed some externs not needed anymore. * include/set.h * Cleaned up. * source/rtl/set.c source/rtl/dates.c source/rtl/transfrm.c source/rtl/strings.c source/rtl/inkey.c source/rtl/setcolor.c source/rtl/console.c source/rtl/mouseapi.c source/rtl/filesys.c * Formatting errors corrected. 19990830-10:40 GMT+1 Victor Szel * source/rtl/errorapi.c include/errorapi.h + Error launcher with substitution added. + Added an emulation to the Clipper "Processor stack fault" error to indicate the situation where there is an error in the error handler itself, and thus infinite recursive calls are being executed. The Harbour error message gives a better idea about the problem than in Clipper. * source/vm/hvm.c ! hb_vmEqual() - Exact error message now depends on the bExact setting. (1070 vs. 1071) * source/vm/hvm.c ! hb_vmNegate() - Throws a proper runtime error, instead of an internal error. (like Clipper) ( -("1") ) * source/compiler/harbour.y + Added compile time parameter check for LOCK() (BTW, there should be no parameter passed.) * source/rtl/copyfile.c ! Fixed one error code (2012 -> 2016). ! Two QUESTION: removed. ; __COPYFILE is now 100% Clipper compatible (tested). * source/vm/initsymb.c + Added function pointers to the RDD functions. + TODO: added for the NULL pointers still there. (there are only three of them) * source/vm/hvm.c source/vm/initsymb.c funclist.txt + WORD() function added. * source/vm/hvm.c source/rtl/errorsys.prg + hb_vmDivide(), hb_vmModulus() Zero divide error is now handled in the standard error handler, and the zero divide runtime error is properly generated. * source/rtl/dates.c ! DTOC() now throws Clipper compatible runtime error 1118. ( DTOC("1") ) * source/rtl/strings.c + TODO: added to STRTRAN() (to check string overflow once) * source/rtl/arrays.c ! Fixed two error messages ("AEVAL" -> "(AEVAL() function)") * source/rtl/filesys.c source/rtl/strings.c source/rtl/copyfile.c + NOTE: added that the runtime errors are Clipper compatible, but undocumented (FOPEN(), STRTRAN(), __COPYFILE()) * source/rtl/transfrm.c * Some reformatting. 19990829-15:47 EDT Paul Tucker * include/filesys.h * hb_fsDelete and hb_fsRename now return int * source/rtl/filesys.c hb_fsDelete(), hb_fsRename now Clipper compatible (only tested so far with msvc) combined _some_ #if posix and msc_ver statements since posix version works with msvc * hb_fsClose - Invalid memory block error mapped to Invalid Handle * hb_fsSeek Now Clipper compatible with -1 and FS_SET Unknown Command error now mapped to Seek Error * HB_FSERASE error is now 'invalid path' on bad parameter * HB_FSRENAME error is now 'file not found' on bad parameter 19990829-13:30 EDT Paul Tucker * source/include/set.h rearrange set struct to be in correct order * source/hbpp/table.c hand corrected output for _SET_ defines * tests/working/set_test.prg modified output to show which set is being displayed, and external 'hooks' so that it demonstrates the same thing under Clipper. 19990829-14:45 GMT+1 Victor Szel * source/vm/hvm.c ! hb_vmArrayPut() - QUESTION: replaced with the proper runtime error message. (like Clipper) ( array[ .T. ] := 1 ) ! hb_vmArrayAt() - Fixed: Now throws a proper runtime error instead of an internal error. (like Clipper) ( array[ .T. ] ) ! hb_vmDec() - Throws a proper runtime error. (like Clipper) ( a := .T. ; a-- ) ! hb_vmModulus(), hb_vmMult(), hb_vmDivide(), hb_vmPower() - Throws a proper runtime error, instead of an internal error. (like Clipper) ( "1" / 10, "1" * 10, "1" % 10, "1" ^ 10 ) * include/set.ch include/set.h source/rtl/set.c + _SET_COUNT added to be even more Clipper compatible. + _SET_* numeric values made compatible with Clipper. * HB_INVALID_SET changed to HB_SET_INVALID_ WARNING ! All source codes should be recompiled. * source/rtl/errorapi.c + Added copyright information. * source/rtl/itemapi.c source/rtl/extend.c + One QUESTION: removed, it was obsolete now. * source/rtl/set.c + One QUESTION: answered. ( _SET_EXIT ) * source/rtl/array.c source/rtl/classes.c * Some reformatting. 19990829-11:21 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c * Beginning with memos. 19990829-01:20 EDT Paul Tucker * source/debug/debugger.prg * ::Activate - call restoreAppStatus() since code was the same. * ::Go added a DispEnd() * __dbgEntry() Modified so that the app Screen is visible when you select 'go' (F5) The dispbegins/Ends here seem a bit weird, but this is temporary as I'm working on a more permanent solution for the debugger to do screen handling. 19990828-22:20 EDT Paul Tucker * source/rtl/filesys.c * modified FO_ flags handling slightly to correctly reflect their state. * modified handling of O_BINARY for msvc (was being discarded) 19990828-14:00 GMT+1 Victor Szel * source/rtl/filesys.c source/hbpp/stdalone/hbpp.c source/compiler/harbour.y include/hbsetup.h include/hbpp.h ! hb_fsFNameSplit() fixed handling of colon in filenames. (reported by Bruno Cantero) * source/compiler/harbour.y ! Fixed the name format of the generated symbol registration function, since it was causing a compiler error where the .prg name begun with a number ( for example: 1.prg ). The new format is: hb_vm_SymbolInit_*() * include/ctoharb.h source/rtl/errorapi.c source/vm/hvm.c + hb_errLaunch() and hb_errLaunchSubst() finished (the latter not yet tested). Thanks to Ryszard Glab. * include/ctoharb.h source/vm/hvm.c source/vm/initsymb.c * hb_vmRTSymbolsInit() -> hb_vmSymbolInit_RT * include/hbsetup.h include/hbpp.h + Changed OPT_DELIMITER to OS_OPT_DELIMITER_LIST and moved to hbsetup.h So now it's multiplatform. * source/rtl/mouse/mousedos.c + hb_mouse_IsButtonPressed() added by Luiz Rafael Culik. (small fixes applied, code not tested) * include/hbdefs.h ! LOBYTE(),HIBYTE(),LOWORD() put in #ifndef guards. (reported by Jon Berg) * tests/working/fileio.prg + Some tests added. 19990828-08:40 GMT+1 Antonio Linares * source/vm/hvm.c * Fixed hb_vmDebuggerEndProc() (now it properly saves the previous PRG returned value) * source/debug/debugger.prg * CallStack now shows Classes and methods names * It properly works debugging object oriented code 19990827-18:46 GMT+1 Bruno Cantero * source/rtl/filesys.c * Now hb_fsCommit() work with MSVC * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c * Added dbCommit() and dbCommitAll() functions 19990827-14:19 GMT+1 Bruno Cantero * include/rddapi.h source/vm/hvm.c source/rdd/dbcmd.c source/rdd/dbf1.c * Bug in hb_rddGetFieldValue() and hb_rddPutFieldValue() removed. 19990827-13:01 GMT+1 Antonio Linares * source/vm/hvm.c + Added new function hb_vmDebuggerEndProc() (notifies the Debugger __DBGENTRY() about a HB_P_ENDPROC * source/rtl/tbrowse.prg * fixed small bug on method stabilize * source/debug/debugger.prg + Added support for the CallStack window (notice I have intentionally left it open by default, to monitorize how it is working) * source/debug/tbrwtext.prg * small fixes. 19990827-06:50 GMT+1 Victor Szel * source/rtl/inkey.c include/inkey.h + hb_inkeyPut() added, see next. + __KEYPUT() added. This function is able to insert *any* inkey codes (not just the 0-255 range) to the keyboard buffer one by one. ! __KEYBOARD() allowed to insert zero codes into the buffer which made INKEY() hang. It's now using hb_inkeyPut() to avoid this. % __KEYBOARD() uses ISCHAR() instead of two hb_p*() calls. Eliminated one of the two hb_parclen() calls. * hb_inkeyPoll() now calls hb_inkeyPut() to insert the new code. ! INKEY() fixed parameter count checking bug introduced a few hours ago. 19990827-06:00 GMT+1 Victor Szel * include/mouseapi.h source/rtl/mouseapi.c source/rtl/mouse/mousedos.c + Copyright info corrected. + Added original (BorlandC) implementation (MOUSE.ZIP) by Jose Lalin . Luiz Rafael Culik . + The OS/2 implementation is thanks to Chen Kedem Please note that these files have not been tested yet, Borland users should comment out the #define BORLANDC line in mousedos.c. Non-GNU make file users should add the new files source/rtl/mouseapi.c and source/rtl/mouse/mousedos.c file to their make system. 19990827-05:00 GMT+1 Victor Szel * include/Makefile include/mouseapi.h source/rtl/mouseapi.c source/rtl/mousexxx.c (renamed) source/rtl/Makefile source/rtl/mouse/mousetpl.c source/rtl/mouse/mousedos.c source/rtl/mouse/mouseos2.c source/rtl/mouse/mousewin.c (added) include/mouse.h (changed to mouseapi.h) source/rtl/mouse.c (changed to mouseapi.c) source/rtl/msxxx.c (changed to mousexxx.c) + Changed the previouse Mouse API implementation to a somehow more Clipper compatible and complete one. * source/rtl/inkey.c + INKEY() add runtime parameter count checking and error message. * Two ints changed to BOOLs. * source/vm/hvm.c include/rddapi.h * Some int -> BOOL, Some 0 -> NULL, '\0', Some cleanup. ! LEN(), EMPTY(), PCOUNT() returns a runtime error if bad number of parameter was passed. + BREAK() doesn't have a parameter count check, an explanation of this added as a NOTE:. * hb_rdd*() function declarations moved to rddapi.h * include/ctoharb.h source/vm/hvm.c source/vm/initsymb.c * InitSymbolTable() -> hb_vmRTSymbolsInit() * include/extend.h source/rtl/fm.c source/vm/hvm.c + Moved memory statistics printing to fm.c, fixed memory subsystem now has a hb_xinit() and hb_xexit() functions, which should contain all init and exit code related to memory. % Memory statistic variables made static, prefixed with "s_" + #define added to suppress the collection of statistics. * include/ctoharb.h source/vm/hvm.c source/rtl/errorapi.c * hb_stackShow() -> hb_stackDispLocal() * hb_callStackShow() -> hb_stackDispCall() * include/errorapi.h source/rtl/errorapi.c * hb_errLaunch() using eval API to launch the handler. + hb_errLaunchSubst() added to be able to add error handling using value substitution. Not finished yet. * include/hbdefs.h % PCOUNT uses hb_pcount() since it's more efficient than hb_parinfo(0) * source/rtl/extend.c ! hb_evalPutParam() is no longer making a copy of the items, like Clipper. * source/rtl/itemapi.c % hb_itemParam(): one hb_param() call optimed out. * source/hbpp/stdalone/hbpp.c include/hbpp.h + Standalone PP is now showing the line numbers in errors and warnings. * source/compiler/harbour.y source/hbpp/hbpplib.c source/hbpp/stdalone/hbpp.c source/rtl/errorapi.c % GenError(), GenWarning(), hb_errInternel() no longer need sprintf() neither the local stack buffers, so there's no more an undocumented limit on the message length. * source/rtl/console.c ! In some places printf( "\n" ) was changed to print CrLf. (Non-GT version is affected only) * source/rtl/errorapi.c source/hbpp/hbplib.c source/vm/hvm.c ! Uses hb_consoleGetNewLine() instead of \n character, so that it will work on all platforms. This was needed because we have turned off cooked mode of stdout, so the compiler/OS will not do it for us. The bug could be observed in the stack dump on an internal error in DOS/DJGPP. * source/rtl/console.c include/extend.h + New function hb_consoleGetNewLine() which returns the CrLf value. * source/vm/hvm.c include/extend.h * hb_console*() declarations moved to the header file. * source/compiler/harbour.y + Small cosmetic enhancments in generated C code. * source/tools/debug.c - Removed external declaration of non-existing function. * source/rtl/langapi.c source/rtl/natmsg/*.c ! Typo fixed "Limit exeeded" -> "Limit exceeded". Thanks to Jose Lalin . * source/tools/io.c source/tools/nconvert.prg source/tools/Makefile gt.b32 ! HB_RD() - Fixed: chdir() changed to rmdir() + nconvert.prg added, Borland makefile modified by Luiz Rafael Culik . 19990826-22:00 EDT Paul Tucker * include/hbsetup.h + add mouse driver selector defines + source/rtl/mouse.c * harbour level mouse interface code by Jose Lalin dezac@corevia.com and Luiz Rafael Culik (culik@sl.conex.net) + source/rtl/msxxx.c * similar usage to gtxxx.c + source/rtl/mouse directory + source/rtl/mousedos.c code by Jose Lalin dezac@corevia.com and Luiz Rafael Culik (culik@sl.conex.net) + source/rtl/mouseos2.c code by Chen Kedem + source/rtl/mousetpl.c 19990826-20:05 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Added dbAppend() function 19990826-03:25 GMT+1 Bruno Cantero * source/rtl/filesys.c + Changed hb_fsOpen for support shared files (MSVC) 19990825-23:30 GMT+1 Victor Szel * source/compiler/harbour.y source/compiler/harbour.l source/compiler/genobj32.c source/hbpp/stdalone/hbpp.c source/hbpp/hbpplib.c include/hbpp.h include/compiler.h include/hberrors.h + Added standard error messages for memory management errors. + Changed yyerror so that it calls the standard error launcher. - hb_xalloc() functions removed, since it was not used anymore. * hb_xalloc() changed to hb_xgrab(), it was not tested for the possible NULL return value. - One exit() after GenError() removed (source/hbpp/hbpp.c). * exit( 1 ) -> exit( EXIT_FAILURE ) ! GenWarning(), GenError(), CheckArgs() was allocating memory which was not freed.Now the stack is used instead of calling memalloc functions, so they can be used to report memory errors, too. ! The last printf() changed to GenError() in harbour.l * source/tools/io.c include/external.ch source/runner/stdalone/external.prg - RENFILE() removed since there is already a function with the exact same functionality in the standard Harbour RTL, named FRENAME(). * Cleanup in io.c. * Some __DOS__ guards changed to DOS. Some left since the code guarded is compiler specific. Warning! This change could cause problems with some other DOS compilers. + TOFIX: added about a chdir call in RD() code. + Code added to the non DOS branch. * source/rtl/console.c % SCROLL() - Some hb_pcount()s removed, parameter init optimed. ! hb_out() - hb_parinfo() changed to pItem->type, since hb_parinfo() can now contain the IT_BYREF flag, so if something would be passed by reference, it would not be recognized as a valid type. * source/rtl/do.c * Small cleanup. * gt.b32 ! Fixes by Luiz Rafael Culik implemented. 19990825-17:22 GMT+1 Bruno Cantero * source/vm/hvm.c + Added support for FIELD symbols * source/rdd/dbcmd.c + Open function improved + Added support for FIELD symbols * source/rdd/dbf1.c + PutValue function improved 19990825-13:30 GMT+2 Ryszard Glab *source/vm/hvm.c * corrected alias handling in hb_vmAliasSwap() however we still need to implement the function that will select an workarea using passed string with an alias name * if QUIT or BREAK is called in EXIT PROCEDURE then processing of these procedures is stopped 19990825-12:50 GMT+1 Victor Szel * source/rdd/dbcmd.c - Removed symbol init code. * source/tools/io.c ! Modified so that it defines each function everytime, not just when __DOS__ constant is defined. __DOS__ guard was moved around the function bodies. ! Removed FILE() function from here, since it's already declared in Harbour RTL/filesys.c * include/external.ch source/runner/stdalone/external.prg + Updated list of EXTERNAL, now including RDD and HBPP functions. * source/compiler/harbour.y ! Compile time parameter checking modified for RTRIM(), TRIM() since we have a Harbour extension here, which should be allowed, added missing LEFT() from the compile-time parameter checking list. * source/rtl/filesys.c + Added parameter count checking to FILE() * source/rtl/transfrm.c + Added parameter count checking to TRANSFORM() * source/rtl/dates.c + Added parameter count checking to CTOD(), DTOC(), DAY(), MONTH(), YEAR(), DOW(). * Code reformatting, variable scoping, some small optimalizations. * source/rtl/strings.c doc/subcodes.txt * Some pcount() checkings converted to IS*() macros in PAD*(), *TRIM(). * RTRIM(), TRIM() will now consider more than two parameters as an error. - Removed parameter count checking from RIGHT(). + NOTE: added about RTRIM(), TRIM(), ALLTRIM() Harbour extension. % Simplified checking code for LEFT() and RIGHT() ! LEFT(),STRTRAN() are no longer launching custom Harbour error codes 3009/3010, this was not compatible, Clipper launches a standard error code here. * AT() parameter checking standardized. * source/rtl/itemapi.c * hb_itemGetL() and hb_itemGetNL() made consistent with the recent changes in hb_parl() and hb_parnl(). * Some code reformatting, some casts added, some branch and retval optimalization. 0 -> NULL, '\0' * source/debug/debugger.prg * SHADOW() -> __SHADOW() * source/rtl/console.c - SHADOW() changed to __SHADOW() since it's not a std Clipper function. ! SETCURSOR() is returning SC_NORMAL if there's no GT API. * Some reformatting, some small optimalizations, added some copyright info. + Parameter count error added to DEVPOS(), SETPOS(), PROW(), PCOL(), COL(), ROW() * source/rtl/copyfile.c ( #include "itemapi.h" removed ) source/rtl/hardcr.c source/rtl/mtran.c source/rtl/arrays.c ( 0 -> NULL ) source/rtl/descend.c ( hb_pcount() call removed ) * Reformatting. Small cleanup. Some small optimalizations. 19990825-09:02 GMT+1 Antonio Linares * source/debug/tbrwtext.prg * Improved display functionality. 19990825-09:02 GMT+1 Antonio Linares * source/debug/debugger.prg + Breakpoints already working. (Notice the Harbour debugger does not debug multiple files yet). 19990825-01:15 GMT+1 Victor Szel * source/rtl/extend.c ! hb_parinfo() fixed so that it will return proper type information for parameters passed by reference, like in Clipper. ! hb_par*() functions accept zero parameter again to access self. NOTE: added about this. * tests/working/fileio.prg source/rtl/filesys.c ! FREAD() fixed, it now checks second parameter correctly using hb_parinfo(). + Some new tests added, one test put between HARBOUR_STRICT_CLIPPER_COMPATIBILITY guards, see next. ! FREAD() uses hb_parcsiz() (hb_parclen()+1) as the maximum number of bytes which could be read. Modified FREAD() but put between HARBOUR_STRICT_CLIPPER_COMPATIBILITY guards, since this is a rather unexpected behaviour, plus it can overwrite the terminating zero byte in the string buffer. + NOTE: added about an incompatibility in hb_fsSeek()/hb_fsWrite() behaviour. * contrib/odbc/odbc.c - Removed symbol init code. * source/rtl/math.c * Ultra minor change. 19990824-17:20 EDT David G. Holm * config/dos/bcc31.cf - Removed '-DHARBOUR_USE_GTAPI' from 'CPPFLAGS'. + Include RDD libraries when RDD is in library list. * config/os2/icc.cf - Removed '-DHARBOUR_USE_GTAPI' from 'CPPFLAGS'. ! Corrected 'LINKELIBS' to read 'LINKLIBS'. * source/compiler/harbour.c + Added 'extern unsigned _stklen = UINTMAX;' for Borland DOS mode, because compiling source/rtl/tget.c resulted in stack overflow with the default 4096 byte stack. * source/rtl/inkey.c + Added 'DosSleep( 25 );' to hb_releaseCPU() for OS/2. * source/rtl/tone.c + Added 'Beep()' support for Win32, thanks to Chen Kedem . Notes: Only tested with Cygwin() on Windows NT and 95; On other Windows it only produces the default sound or standard beep. ! Removed call to hb_releaseCPU() at end of outer loop for long durations in order to provide as seamless a sound continuation as possible and to avoid increasing the duration when using DOS platform code on some platforms (DOS DPMS, Windows NT, and OS/2). 19990824-15:30 EDT Paul Tucker * source/rtl/filesys.c * added a couple of casts. 19990824-20:30 GMT+1 Victor Szel * include/hbdefs.h ! ISBYREF() macro changed to call hb_parinfo() instead of hb_param(), it was not working previously since hb_param() was automatically dereferencing the parameter. FOPEN() parameter checking was not working correctly because of this. ( WARNING ! THIS SEEMS TO BE A WORKAROUND FOR SOME OTHER PROBLEM WITH PARAMETERS PASSED BY REFERENCE, PLEASE ALSO NOTE THAT FRead() IS NOT WORKING RIGHT NOW ) * source/rtl/filesys.c doc/subcodes.txt * Huge cleanup, reformatted, eliminated usage of internal structures, fixed types, standardized variable names, explicit constants changed to manifest constants, fixed a whole bunch of bugs, simplified code fragments, optimalized variable usage and scope. 65535U -> (USHORT)-1 % "return;"s removed * reindented using 3 chars ! FWRITE() and hb_fsWrite() returns 0 instead of 65535 if the write failed. ! FOPEN() runtime error code fixed ! FERASE() return value fixed ! FREAD() will check if the passed buffer size is smaller than the required read length. ! FREAD(): Added warning about the fact, that the buffer returned by hb_parc() will be directly modified. (this is strictly prohibited by Clipper doc). ! hb_fsCreate() didn't reset the last error code on success. ! hb_fsDelete(), hb_fsRename(), hb_fsLock(), hb_fsCommit() - the not defined platform branch is now setting the last error code. ! hb_fsExtOpen() is now setting the last code to FS_ERROR. % FREADSTR() made much faster for longer strings. ! FREADSTR() uses hb_fsRead() instead of read() ! hb_fsClose() didn't set the last error code. ! I2BIN(), L2BIN() was returning one more character than Clipper (it worked OK when bad parameters were passed). ! BIN2L() returned an int instead of long, this is fixed. * source/rtl/math.c * Reformatting finished. 19990824-19:05 GMT+1 Victor Szel * source/rtl/math.c ! MIN(), MAX() code fixed to behave exactly like Clipper, it will now return a DOUBLE if any parameter is DOUBLE, it will return LONG if any parameter is LONG, otherwise it will return INT, the HB_ITEM decimals now are only accessed for DOUBLE types (and of course only set for DOUBLE return types). The bug could be observed by running AC_TEST pressing PgDn at the bottom of the list then pressing Up button, the index display was shown with decimals in it (DOS/DJGPP). % MIN(), MAX() code optimalized. * Some direct hb_param() calls changed to macros. 19990824-18:05 GMT+1 Victor Szel * source/rtl/extend.c include/extend.h % Variable declarations moved to inner blocks. ! Parameter number zero is considered a bad case, instead of undefined. % Optimalization and cleanup. Returns from inner blocks optimed out. % Array index parameter is only evaluated when actual parameter is an array, so that it should be faster now. % The type checkings reordered, so that the first is the most probable one. Array type is checked last, since this is the most rarely occuring case. This will speed up things a bit. ! Casting to (long) fixed in hb_parni() when return an array element. ! Variable parameters are treated consistently as longs, we are not Clipper compatible here, but in Harbour an array index can be ULONG, just as like the string lengths were already ULONGs instead of ints. ! WORD wArrayIndex changed to ULONG ulArrayIndex. ! hb_storclen() WORD parameter changed to ULONG. + Some casts added to hb_parni(), hb_parnd() ! hb_parl() is returning valid values for INTEGER, LONG and DOUBLE type of parameters. (Clipper does the same except for DOUBLE) ! hb_parnl() is returning the date value as a long is the paramater is DATE type. (just like in Clipper). ; Reformatted to Harbour standard. * source/arrays.c ! hb_arrayGetDouble() is now returning a value even for the DATE type, to be consistent with hb_parn*(); ! hb_arrayGetBool() is now returning a value even for INTEGER, LONG and DOUBLE types, to be consistent with hb_parl(). * Reindented using Harbour standard. % Removed hb_ret() calls, they are not needed, since the default return value is always NIL. ! AEVAL() GPF fixed when the second parameter was not a codeblock. - Removed (unsigned) casts from hb_arrayLen(). ; Reformatted to Harbour standard. * source/rdd/dbcmd.c ! HB_DBSKIP() it will work even when a DOUBLE type of numeric was passed, (like Clipper). The low level HB_ITEM access changes to use the extend API. * makefile.b32 ! Fixes by Luiz Rafael Culik implemented. * source/rtl/strings.c + Added a new runtime error for ALLTRIM(), this error has been introduced in Clipper 5.3. (Put between HB_COMPATIBILITY_CLIPPER_53 guard) % Some PHB_ITEM accesses changed to type checking macros, only where the PHB_ITEM was only used to check the type. * Some reformatting (putting spaces between ()[] chars) ; Reformatted to Harbour standard. * source/rtl/math.c % PHB_ITEM access changed to Extend API calls and/or type checking macros. * source/rtl/console.c % PHB_ITEM access changed to Extend API calls and/or type checking macros. ! SETPRC() was checking the first parameter type two times, but not at all the second. * source/rtl/descend.c ! One (double) cast moved to the right place. * source/rtl/classes.c % One hb_ret() removed. * Some reformatting. * tests/working/rtl_test.prg + CA-Clipper bugs documented somewhat better. * source/rtl/dates.c source/rtl/dir.c source/rtl/inkey.c source/vm/hvm.c * Some minor formatting change: defined( x ) -> defined(x). + Two (double) casts added to hb_vmPopDouble() 19990824-17:57 GMT+1 Antonio Linares * source/debug/debugger.prg + Added support for Next Window (K_TAB) and Prev Window (K_SH_TAB) 19990824-17:10 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Added FLOCK, DBUNLOCK, DBUNLOCKALL, AFIELDS, DBSTRUCT, LUPDATE, NETERR, HEADER and RECSIZE 19990824-16:04 GMT+1 Antonio Linares * source/debug/debugger.prg + Added support for F5-Go. (Breakpoints are not checked yet). 19990824-14:55 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected arguments type checking in Inc/Dec functions *source/hbppint.h * memory.h is not defined in WATCOM C/C++ *include/rddapi.h * added forward declaration for _AREA struct 19990824-11:07 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Added RLOCK, DBRLOCK and DBRUNLOCK functions 19990824-03:50 GMT+1 Victor Szel * tests/working/fileio.prg + Rewritten to check more functions in more situations, displaying all return values, etc. (almost like RTL_TEST.PRG) * source/compiler/harbour.y + Changed spaces to tabs in the generated code. This made the generated code size almost 30% smaller, and the comments better aligned. * source/compiler/harbour.l source/compiler/harbour.y include/hberrors.h + One yyerror() call converted to standard GenError(). * source/hbpp/hbppint.c ! 'W' sign changed to 'I' for preprocessor warning. * config/dos/djgpp.cf - -( -) removed. * runner.b32 ! Fixes by Luiz Rafael Culik implemented. * include/ctoharb.h + hb_vmRequest*() functions added. * source/rtl/errorsys.prg + BREAK uncommented. * include/filesys.h * Some name standardization (fp -> p). 19990823-19:37 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Added Class TbColumn DATA ColorBlock support. * source/debug/debugger.prg * Added support for setting breakpoints. (they don't work yet, but you may set them pressing F9) 19990823-17:00 GMT+1 Antonio Linares * source/debug/debugger.prg * improved application colors and cursor management. 19990823-12:40 GMT+2 Ryszard Glab *source/compiler/harbour.y + added full support for BEGIN/RECOVER/END sequence + added full support for BREAK statement and BREAK function (BREAK statement is implemented using BREAK function) + fixed incorrect warning about unused static variables * added some optimalization of generated opcodes - repeated HB_P_LINE opcodes are replaced with only one HB_P_LINE opcode if compiled with no debugger support *source/vm/hvm.c + added full support for BEGIN/RECOVER/END sequence and BREAK + new functions hb_vmRequestBreak() and hb_vmRequestQuit() that can be used from C code to request BREAK or QUIT action + changed HB_DEBUG to empty macro instead of function when debug code is not requested * some internal variables declared 'static' * EXIT functions are called on exit when QUIT is requested QUESTION: How to handle the call to QUIT function inside of EXIT procedure? Should we continue execution of the rest of procedures or immediatelly quit to OS? *include/pcode.h + added new opcodes HB_P_SEQBEGIN HB_P_SEQEND HB_P_SEQRECOVER NOTE: You have to recompile all PRG code! *include/hberrors.h + added new error code ERR_EXIT_IN_SEQUENCE called when EXIT, LOOP or RETURN is used inside BEGIN/END sequence (however these statement are valid in RECOVER code) *tests/working/begin.prg + new file to test BEGIN/RECOVER/END sequence and BREAK statement *tests/working/Makefile * added begin.prg 19990823-10:45 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c + Added support for SUPER methods. 19990823-02:00 EDT Paul Tucker * source/debug/tbrwtext.prg * GotoLine() only forceStable once after loop is done. 19990823-01:11 EDT Paul Tucker * source/debug/debugger.prg * ::Activate - fix for trashed screens Escape key will now exit the debugger, but the app will continue to run Altd() will reactivate the debugger (maybe not imediately) 19990823-01:11 GMT+1 Victor Szel * source/rtl/alert.prg ! PreExt/PostExt code moved inside Alert(), then the STATIC variable could be removed, so that it will work even in nested calls. * source/compiler/harbour.y ! Extern "DEBUGGER" changed to "__DBGENTRY" * config/win32/gcc.cf tests/working/Makefile source/runner/stdalone/Makefile ! Removed the -( -) parameter, RDD lib added a second time after the VM lib to resolve circular dependency. (Thanks to Paul Tucker) * include/extend.h include/hbdefs.h * Standard #include files included from hbdefs.h instead of extend.h * source/compiler/genobj32.c ! Some types changed to BOOL % Some #includes removed. * source/runner/runner.c - Removed (runlib.c is the new name) * runner.b32 + Added (missed from the previous CVS session) * source/vm/hvm.c % Removed some unneeded HARBOUR prototypes. % Removed #include "init.h" * source/rtl/strings.c + Put #include "init.h" between guards * tests/working/transfrm.prg tests/working/Makefile - Removed since all its content has been moved to rtl_test.prg previously. 19990822-16:20 EDT Paul Tucker * source/rtl/alert.prg + PreExt() and PostExt() These allow alert to display if dispbegin is in effect. 19990822-20:02 GMT+1 Bruno Cantero * source/rdd/dbcmd.c source/rdd/dbf1.c * Bug in PutValue removed (again) 19990822-18:20 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c * Bug in PutValue removed 19990822-14:12 GMT+1 Victor Szel * config/win32/gcc.cf + -( -) parameters temporarly readded, to make it work, new circular dependencies has been introduced, since HVM.C is calling RDD functions. * include/extend.h source/rtl/strings.c source/rtl/math.c * hb_mathRound() -> hb_numRound() ! hb_numRound() fixed, so that it handles negative and zero iDec parameter correctly. (STR()/STRZERO() got also fixed) + Comment header added to STR() and STRZERO() * tests/working/rtl_test.prg * /FAIL changed to /ALL, so from now on, only the failing lines will be showed by default. + Added some tests. * source/rtl/console.c ! Comment typo fixed. 19990822-12:49 GMT+1 Bruno Cantero * include/rddapi.h source/vm/hvm.c source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c * Renamed hb_GetCurrentWorkAreaNumber, hb_SelectWorkAreaNumber and hb_SelectWorkAreaAlias to hb_rddGetCurrentWorkAreaNumber, hb_rddSelectWorkAreaNumber and hb_rddSelectWorkAreaAlias. 19990822-07:40 GMT+1 Victor Szel * source/rtl/strings.c ! hb_itemStr() fixed so that it rounds the value if the required decimal width is smaller than the original. Note that rounding is buggy so it still doesn't work. * HB_STRTRAN() one more long converted to ULONG. (lFound -> ulFound) * include/extend.h source/rtl/math.c tests/working/rtl_test.prg + Made a C callable version of ROUND() function, named hb_mathRound(). + Added ROUND() tests. * source/rtl/strzero.prg source/runner/stdalone/external.prg include/external.ch tests/working/rtl_test.prg funclist.txt + STRZERO() added. + STRZERO() and STR() tests added. + EXTERNAL NUMTOTXTHU enabled, since STRZERO() is existing now. * source/rtl/alert.prg source/rtl/menuto.prg source/rtl/achoice.prg ! Some warnings fixed. (Why aren't we compiling with /w by default ?) ! Hotkey handling bug fixed in ACHOICE(). ! Comment typo fixed in Alert() * source/rtl/hardcr.c tests/working/hardcr.prg ! Fixed a bug in HARDCR() with handling strings including Chr(0). It's now 100% Clipper compatible. * hb_hardcr() renamed to hb_strHardCR() * source/rtl/mtran.c * Small change in internal function, it returns the resulting string pointer now. * hb_memotran() renamed to hb_strMemotran() * source/tools/dates2.c source/hbpp/hbpplib.c source/vm/hvm.c source/vm/initsymb.c source/rtl/arrays.c source/rtl/classes.c source/rtl/console.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/descend.c source/rtl/dir.c source/rtl/do.c source/rtl/environ.c source/rtl/errorapi.c source/rtl/filesys.c source/rtl/hardcr.c source/rtl/inkey.c source/rtl/math.c source/rtl/memvars.c source/rtl/mtran.c source/rtl/set.c source/rtl/setcolor.c source/rtl/strings.c source/rtl/tone.c source/rtl/transfrm.c - Removed HB_INIT_SYMBOLS_*() automatic symbol registration, placed "forcelink" code where needed. * include/extend.h + hb_strDescend() prototype added. (this may be used in index creation once) * source/runner/runhrb.c (removed) source/runner/runlib.c (added) source/runner/external.prg -> source/runner/stdalone/external.prg source/runner/runhrb.prg -> source/runner/stdalone/runner.prg source/runner/Makefile source/runner/stdalone/Makefile tests/working/Makefile include/initsymb.h (removed) include/initsymc.h (removed) include/run_exp.h (removed) runner.b32 (added !! NOT tested !!) build32.bat (modified) build40.bat (modified) - Removed include files not needed anymore. + Separated runner library from standalone executable. * Renamed HB_RUN() to __HRBRUN() + Added return value support to __HRBRUN() + Added standard error messages to runlib.c, printf() is no longer called. + TODO: the error codes should be replaced with meaningful ones. * Large cleanup in runlib.c, functions made static, renamings, some BYTE changed to BOOL, TOFIX, TODO added, etc. + runner.prg help message standardized, extended. + Tried to modify Borland makefiles to be able to build runner. + Added runner lib to the Makefile's library list. ( !! PLEASE CHECK THE BORLAND MAKEFILES !! ) * tests/working/rtl_test.prg + /FAIL switch added to only show failing lines. * Reindented using 3 characters. * source/rtl/inkey.c include/inkey.h ! Some ints changed to BOOL. * source/rtl/transform.c tests/working/rtl_test.prg ! The rest of the long types and one int converted to ULONG. ! A temporary fix for an obvious bug, an if branch commented out. This way it seems to work far better. GPF seem to have fixed. Now only 10 tests fails. ! TRANSFORM() test results corrected where Clipper is buggy, two tests added which previously GPF-ed. * source/debug/debugger.prg source/vm/hvm.c * Function DEBUGGER renamed to __DBGENTRY * libs/icc/empty - Removed since this directory is not used anymore. * source/hbpp/makefile.b16 (moved to /hbpp.b16) source/hbpp/makefile.b32 (moved to /hbpp.b32) source/hbpp/build.bat (removed) source/hbpp/build32.bat (removed) build.bat build32.bat hbpp.b16 (added !! NOT tested !!) hbpp.b32 (added !! NOT tested !!) + Moved to the root, renamed and incorporated to the mainstream Borland make process, it's commented out. ( !! PLEASE UPDATE THE BORLAND MAKEFILES !! ) * source/compiler/harbour.y source/hbpp/hbpp.c * Reformatted code for error and warning tables. 19990821-22:18 GMT+3 Alexander Kresin * source/debug/tbrwtext.prg * minor improvements * makefile.b32 * added tone.c 19990821-14:20 GMT+2 Ryszard Glab *source/rtl/inkey.c * added test code for OS_UNIX_COMPATIBLE based on noncanonical low-level terminal functions - we need however to extend this code to support different terminals 19990821-00:05 GMT+1 Antonio Linares * source/debug/debugger.prg * improved debugger functionality. * source/vm/hvmc. * improved debugger support. 19990820-16:25 EDT Paul Tucker * source/rtl/gtapi.c * account for nesting of gtPre/PostExt and for calling DispBegin/End while Pre/Post in effect. 19990820-14:24 EDT Paul Tucker * source/rdd/dbf1.c * casts on sztext 19990820-19:42 GMT+1 Bruno Cantero * filelist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c dbUseArea() and dbCreate() add a default extension to filename if not provided. 19990820-11:50 EDT Paul Tucker * source/rtl/dir.c * corrected case of iDirnameLen * source/rtl/transfrm.c * added casts as required * makefile.vc - remove HARBOUR_USE_GTAPI 19990820-15:05 GMT+2 Ryszard Glab *source/rtl/strings.c * corrected a NULL assigment to '\x0' *source/rdd/dbcmd.c * corrected SELF_DELETE to SELF_DELETED in HB_DELETED function *source/runner/runner.c * corrected NULL to 0L (we are returning LONG in ReadLong()) *include/external.ch + new file with EXTERNAL declaration for all harbour functions/procedures *source/rtl/dir.c * corrected a parameter passed to 'opendir' function when Watcom C/C++ is used *source/runner/Makefile *source/runner/external.prg *source/runner/runhrb.c *source/runner/runmain.prg * new files to create the runner executable. + external.prg is here temporary because the preprocessor doesn't process EXTERNAL statement yet + runhrb.c is copied from runner.c however without all code used to handle the symbol table + runmain.prg calls HB_RUN from runhrb.c NOTE: I have left runner.c unchanged because I was unable to replace it with new files in all these build*.bat - these build*.bat doesn't allow to create an executable from more then one source file :( 19990820-14:40 GMT+1 Victor Szel * include/hbsetup.h + HARBOUR_USE_GTAPI is automatically #defined if any type of the GTAPIs is #defined. So from now on only one of these should be #defined to turn on the GT: #define HARBOUR_USE_DOS_GTAPI #define HARBOUR_USE_OS2_GTAPI #define HARBOUR_USE_WIN_GTAPI 19990820-14:30 GMT+1 Victor Szel * source/compiler/harbour.y source/hbpp/hbpp.c source/hbpp/hbpplib.c source/hbpp/stdalone/hbpp.c include/hbpp.h + All occurence of FILENAME, MakeFilename, SplitFilename() changed to the Harbour standard hb_fsFName*() and HB_FNAME. This way one copy of them could be safely removed. 19990820-13:47 GMT+1 Bruno Cantero * source\rdd\dbcmd.c Fixed some warnings, now RDD compile without warnings 19990820-13:27 GMT+1 Bruno Cantero * source\rdd\dbcmd.c source\rdd\dbf1.c source\rdd\delim1.c source\rdd\sdf1.c source\rdd\dbfntx\dbfntx1.c Fixed some warnings (unused variables) 19990820-12:50 GMT+1 Victor Szel * source/rdd/dbcmd.c ! SELF_DELETE -> SELF_DELETED (missed from the previous ChangeLog entry) 19990820-12:40 GMT+1 Victor Szel * source/rtl/filesys.c include/filesys.h + hb_fsFNameSplit() hb_fsFNameMerge() filename handling functions and structure added to the Harbour RTL. These function were originated from MakeFilename() and SplitFileName() * tests/working/rtl_test.prg + rtl_test now shows the compiler version, os, date and time, other improvements. * All TRANSFORM() tests moved to rtl_test to allow automatic regression testing. * source/rtl/transfrm.c * PicFlags type changed to WORD * Some length and pos variable types changed to ULONG. * TOFIX: added about an unreachable code segment. * Some zero changed to '\0'. * source/rtl/strings.c source/rtl/maths.c source/rtl/dates.c source/rtl/arrays.c * QUESTION:s changed to NOTE: regarding the parameter checking 19990820-12:28 GMT+1 Antonio Linares * source/debug/debugger.prg * improved debugger functionality. F8 and F4 already operative. * source/debug/tbrwtext.prg * GotoLine() method added * source/vm/hvmc. * new bDebugging, bDebugShowLines variables added. * new hb_vmDebuggerShowLine() function 19990820-11:47 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c source/vm/hvm.c + Added new functions, changed VM for support Alias and updated function list. 19990819-18:42 GMT+1 Victor Szel * tests/working/rtl_test.prg + STUFF() and RAT() tests added, some more tests added to PAD*() family. * include/extend.h source/rtl/strings.c source/rtl/descend.c source/vm/hvm.c ! hb_strUpper(), hb_strLower(), hb_strAt() uses ULONG instead of long for string positions and lengths. ! hb_pad_prep() uses ULONG instead of WORD + REPLICATE() now checks for string overflow. * REPLICATE() uses only standard Extend API calls now. * STUFF() made completely Clipper compatible, it now uses only standard Extend API calls. * hb_stricmp() USHORT changed to ULONG. * return type of hb_strgreater changed to int from WORD ! Some types changed to BOOL, many "long"s changed to ULONG. * long -> LONG, _retni() -> retnl() in one place. * Some zeros changed to \0 and NULL. * Small name changes: hb_pad_prep() -> hb_itemPadConv() hb_strempty -> hb_strEmpty hb_strdescend -> hb_strDescend * source/rtl/copyfile.c ! Fixed a bug when HB_STRICT_CLIPPER_COMPATBILITY was set. * contrib/odbc/odbc.c source/rtl/copyfile.c source/rtl/descend.c source/hbpp/hbpplib.c ! Fixed #pragma startup directives. (missing "startup", missing __GNUC__ guard.) * source/hbpp/hbpplib.c tests/working/testpre.prg * HB_PREPROCESS -> HB___PREPROCESS, since this is an extension. PREPROCESS -> __PREPROCESS * source/vm/dynsym.c * One small change. 19990819-12:30 GMT+1 Victor Szel * source/rtl/strings.c ! hb_itemStr() possible error fixed when item.asDouble was accessed without making sure whether the item is a double. 19990819-00:15 EDT Paul Tucker * source/rtl/gtapi.c + hb_gtPreExt() + hb_gtPostExt() Like Clipper internals - these functions should be called as bookends to printf if there is a possibility that a dispbegin is in effect when the printf or fprintf(stderr) takes place. * gtDispEnd(); decrement counter after restoring screen * source/rtl/console.c * added calls to above functions * source/rtl/gt/gtdos.c * account for dispCount change * source/rtl/gt/gtwin.c * If the Windows console handle is not the initial handle inherited from stdin - printf fails to work. Modified Dispbegin/end logic to account for this. 19990819-05:26 GMT+1 Victor Szel * source/compiler/harbour.l source/compiler/harbour.y source/compiler/genobj32.c source/hbpp/hbpp.c source/hbpp/hbppint.c source/hbpp/hbpplib.c source/hbpp/stdalone/hbpp.c include/compiler.h include/hbpp.h + Standardized the names of the memory handling functions. OurMalloc() -> hb_xalloc() OurRealloc() -> hb_xrealloc() OurFree() -> hb_xfree() _xgrab() -> hb_xgrab() _xrealloc() -> hb_xrealloc() _xfree() -> hb_xfree() So that from now on, the Harbour API form can be used everywhere. Some duplicate code eliminated. * source/rtl/arrays.c - hb_arrayScan() ! Checks the return value of the comparer block whether it's logical. 19990819-04:44 GMT+1 Victor Szel * source/rtl/memvars.c include/extend.h * int -> BOOL (hb_memvarValueNew()) + PUBLIC CLIPPER and PUBLIC HARBOUR will initialize those variables with .T. instead of .F., to be compatible with Clipper, and to be able to detect Harbour. * include/extend.h source/rtl/extend.c source/rtl/itemapi.c source/vm/hvm.c source/rtl/transfrm.c - Removed HB_ITEM/asLogical.length variable, since it was never used, and has no sense anyway. - Removed HB_ITEM/asDate.length variable, since it was never used, and has no sense anyway. - Removed HB_ITEM/asInteger.decimal variable, since it was never used, and has no sense anyway, it's always zero. - Removed HB_ITEM/asLong.decimal variable, since it was never used, and has no sense anyway, it's always zero. * source/rtl/arrays.c source/rtl/extend.c source/rtl/memvars.c source/vm/hvm.c include/extend.h * HB_ITEM/asLogical.value type changed to BOOL * include/hbdefs.h + ISNIL() macro added. * source/tools/dates2.c * Some optimalizations, simplifications. * source/rtl/transfrm.c ! Fixed handling of the case, when the second parameter was not a string. * Some optimalizations, simplifications. ! Reenabled symbol registration, to avoid an empty initialization list. This is only a temporary workaround. 19990819-02:15 GMT+1 Victor Szel * source/hbpp/hbpplib.c ! OurMalloc -> _xgrab * source/compiler/genobj32.c ! "_VirtualMachine" -> "_hb_vmExecute" * source/rtl/arrays.c source/rtl/console.c source/rtl/dates.c source/rtl/inkey.c source/rtl/math.c source/rtl/strings.c source/rtl/transfrm.c source/vm/hvm.c ! Commented out those symbol registration line, which are already included in source/vm/initsymb.c * source/vm/dynsym.c * Some variable declaration moved to the block where it's used. * Some 0 (zero) changed to NULL and '\0' * source/rdd/dbcmd.c ! extern HARBOUR functions declared as extern. * source/rtl/classes.c ! __msg*() function names changed to hb___msg*(), to avoid the leading underscores. * Many variable declaration moved to the block where it's used. ! Some (5?) potential GPFs fixed when the string/block parameter was omitted. * BYTE changed to BOOL in one place. ! Added proper (commented out) error description to three runtime errors. * source/rtl/extend.c * Some 0 (zero) changed to NULL and '\0' * include/inkey.ch ! Typo fixed. * include/extend.h source/rtl/arrays.c source/rtl/classes.c * BASEARRAY/wSuperCast changed to bSuperCase, type changed to BOOL. * source/vm/hvm.c source/vm/initsymb.c source/tools/io.c source/runner/runner.c source/rtl/codebloc.c source/rtl/console.c source/rtl/dates.c source/rtl/dir.c source/rtl/extend.c source/rtl/filesys.c source/rtl/fm.c source/rtl/inkey.c source/rtl/langapi.c source/rtl/memvars.c source/rtl/msgxxx.c source/rtl/set.c source/rtl/strings.c source/compiler/harbour.y % Removed all #includes which are always included indirectly via extend.h * include/extend.h * changed inclusion order of hbsetup.h and hbdefs.h, so that hbsetup.h is included first. * source/vm/initsymb.c source/compiler/harbour.y - DO removed from here. (since it's non standard Clipper) * source/vm/initsymb.c - STOD removed from here. (since it's non standard Clipper) * made all HARBOUR prototypes extern. - #include "init.h" removed. + #include "initsymd.h" guarded with HARBOUR_STRICT_ANSI_C + INKEY, PCOL, PROW address filled with proper value instead of NULL. * include/memvars.ch * Really small correction. 19990818-19:20 EDT David G. Holm * source/vm/hvm.c * Added TODO: comment to indicate that the divide by zero check needs to be removed once proper divide by zero error handling has been added to Harbour. 19990818-18:45 EDT David G. Holm * config/os2/icc.cf ! Fix to only use RDD libraries when RDD library is specified. * include/inkey.h + Added '#include "set.h"' to get HB_set_enum. * source/rtl/dates.c * Renamed hb_seconds() to hb_secondsToday() to avoid a duplicate symbol warning when using a C++ compiler. * source/rtl/environ.c * Moved hb_revision to after hb_build to match Harbour build number (e.g., "(Build 29a)"). * source/rtl/gtapi.c ! Moved speed enhancement display code in hb_gtWriteCon() to be outside the switch() statement, so that forced display updates take place immediately instead of when the next character is processed. (This bug caused QOUT to act like QQOUT.) ! Added a check to force the display of whatever is in 'strng' when the buffer is full, because it's possible to write more than 500 characters without hitting any other forced display conditions when starting more than 500 characters away from the bottom right corner of the screen (a 25 x 80 screen is 2000 characters). - Commented out the calls to hb_gtDispBegin() and hb_gtDispEnd() in hb_gtWriteCon() in anticipation of removing them, because their use subverts the use of DISPBEGIN() and DISPEND() in Harbour code. * source/rtl/inkey.c - Removed '#include "set.h"', because inkey.h includes it. + Uncommented DOS release CPU code and added '#if defined(DOS)'. * source/rtl/tone.c * Added support for long delays, like in Clipper. ! OS/2 upper frequency limit is 32767. * Limited all platforms to an upper frequency of 32767. * source/vm/hvm.c ! When dividing by 0, always return 0, just like Clipper. * tests/working/mathtest.prg * Moved modulo 0 test ahead of divide by 0 test. * Put "error" text on a separate line. * tests/working/sound.prg + Calculate elapsed time, which should be close to 1.5 seconds (except on platforms where SECONDS() only returns whole seconds). 19990819-02:23 GMT+1 Bruno Cantero * funclist.txt source/rdd/rddsys.prg source/rdd/dbcmd.c source/rdd/dbf0.prg source/rdd/dbf1.c source/rdd/sdf0.prg source/rdd/sdf1.c source/rdd/delim0.prg source/rdd/delim1.c source/rdd/dbfntx/dbfntx0.prg source/rdd/dbfntx/dbfntx1.c tests/working/testrdd.prg Added new functions, run-time errors and update function list. 19990818-16:16 EDT Paul Tucker * source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/gtwin.c * fixes to my fixes * makefile.vc + source/debug/tbrwtext.prg 19990818-14:33 EDT Paul Tucker * source/rtl/console.c * source/rtl/gtapi.c * a number of small changes to improve speed. * source/rtl/gt/gtwin.c * correction to cursor positioning when dispend called * tests/working/dirtest.prg * comment out (for now) asort it works, but it's rather slow on a larger directory 19990818-14:13 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c Added new functions 19990818-03:00 GMT+1 Victor Szel * source/compiler/harbour.y ! Fixed "incorrect pcode" error with /gh switch and certain .prg files. (Thanks to: Ryszard Glab ) * source/compiler/harbour.y + Invalid pcode error now shows the failing pcode number. * source/vm/hvm.c + TODO: added to include the actual unsupported pcode in the error message. * include/run_exp.h include/initsymc.h include/initsymd.h source/vm/hvm.c source/rtl/memvars.c source/rtl/math.c source/rtl/arrays.c source/rtl/console.c source/rtl/dates.c source/rtl/do.c source/rtl/errorapi.c source/rtl/filesys.c source/rtl/strings.c + Standard name registration method added (hvm.c). ! Completed init tables so that all declared Harbour function get registered. * include/run_exp.h + ACHOICE added. * source/compiler/harbour.y source/compiler/harbour.l source/rtl/itemapi.c source/rdd/dbcmd.c * Some tricks used to suppress unused variable warnings changed to HB_SYMBOL_UNUSED(). 19990817-15:36 EDT Paul Tucker * source/debug/tbrwtext.prg * modified to with with cr/lf or just lf 19990817-21:10 GMT+1 Antonio Linares * source/rtl/errorsys.prg * public getlist := {} uncommented. 19990817-14:26 EDT Paul Tucker * source/debug/Makefile + tbrwtext.prg 19990817-20:51 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Added lHeaders := .f. at method New(). * source/rtl/tbcolumn.prg * Small fix on nWidth do case otherwise. 19990817-20:35 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected code used to generate HB_P_ENDPROC - the declared length of function/procedure is now equal to the number of bytes written into HRB file - some comments added *source/runner/runner.c * corrected reading of function/procedure body (it was trying to read (size+1) bytes) * the MAIN procedure is defined if HARBOUR_START_PROCEDURE is defined - the runner works with GCC/Linux now * corrected code used to call (_INITSTATIC) function - inside this function there is no access to passed parameters then there is no need to pass them - static variables can be initialized using literal values only 19990817-20:14 GMT+1 Victor Szel * tests/working/Makefile tests/working/colorind.prg (content moved to rtl_test.prg) tests/working/rtl_test.prg tests/working/testhbf.prg tests/working/and_or.prg ! Starting procedure name changed to Main() so Win32/GCC is also able to run them. * Some minor changes 19990817-13:50 EDT David G. Holm * config/dos/global.cf + Added code to leave COMSPEC alone instead of changing '\' to '/' for bcc31, because NT chokes on '/' when using the Cygwin GNU Make System to build the Borland C 3.1 version of Harbour. * source/rtl/console.c + Surrounded 'if( isatty( fileno( stdout ) ) )' in hb_outstd() with '#ifndef __CYGWIN__' and '#endif'. ! Corrected 'if( isatty( fileno( stdout ) ) )' in hb_outerr() to check stderr instead of stdout. + Surrounded 'if( isatty( fileno( stderr ) ) )' in hb_outerr() with #ifndef '__CYGWIN__' and '#endif'. * source/runner/runner.c ! Added ')' that was missing from a conditional test. * tests/working/dates4.prg * Moved output of extra CR/LF pair in CheckDate() subroutine to after the __Accept() call, because __Accept() already outputs a CR/LF pair before displaying the prompt. 19990817-17:13 GMT+1 Antonio Linares + source/debug/tbrwtext.prg * Class TBrwText for browsing debugger source code * source/debug/debugger.prg * Improved * makefile.b32 * TBrwText module added 19990817-13:20 GMT+1 Antonio Linares * include/classes.ch * extern added, so now the SuperClass symbol is properly linked. 19990817-07:30 GMT+1 Victor Szel * source/vm/hvm.c source/rtl/errorapi.c source/rtl/classes.c source/rtl/fm.c source/rtl/itemapi.c source/rtl/transfrm.c include/error.ch + printf()s changed to a call to hb_errInternal() instead. * hb_callStackShow() modified so that it uses the same format as the standard error handler. * include/initsymc.h include/initsymd.h source/rtl/errorapi.c + Harbour callable __errRT_BASE() function added. * include/errorapi.h source/rdd/dbcmd.c source/rtl/errorapi.c source/rtl/arrays.c source/rtl/classes.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/do.c source/rtl/errorapi.c source/rtl/filesys.c source/rtl/inkey.c source/rtl/math.c source/rtl/memvars.c source/rtl/set.c source/rtl/strings.c source/rtl/transfrm.c source/tools/dates2.c source/vm/hvm.c * hb_error*() -> hb_err*() - removed obsolete hb_errorNat*() prototypes. * include/hberrors.h include/hbpp.h source/compiler/harbour.y source/hbpp/*.c source/hbpp/stdalone/*.c + Added the ability to display warnings in standard format. ! Adjusted and corrected to help display of HBPP.EXE * source/rtl/objfunc.prg doc/subcodes.txt * Got rid of the QOUT() type runtime-error messages, there's now a more comprehensive, standard error checking system, which throws Harbour errors. ! Some small bugs fixed. (checking argument after usage, additional parameters passed in one place - typo) * include/hboo.ch source/rtl/objfunc.prg source/rtl/tclass.prg source/tools/stringp.prg * DATA_VAL -> DATA_VALUE 19990816-21:57 GMT+1 Victor Szel * source/rtl/console.c tests/working/colorind.prg + Added standard header to __ColorIndex() ! Some Lint warnings fixed. + Some tests added. * include/hbdefs.h include/extend.h ! Some Lint warnings fixed. * include/Makefile + Added hboo.ch 19990816-22:15 GMT+3 Alexander Kresin * source/rtl/tbrowse.prg * tests/working/testbrw.prg * added functionality - methods PanLeft().PanRight(),Hilite(),DeHilite() * Up() and Down() now uses Scroll() and Hilite()/DeHilite() instead of RefreshAll() and RefreshCurrent() * source/hbpp/hbpp.c * Bug fixed for new CLASS implementation ( with 'extern' ) 19990816-12:26 EDT Paul Tucker * source/rtl/browdb.prg + copyright info. + todo info * makefile.vc + browdb + tone 19990816-15:30 GMT+1 Victor Szel * source/rtl/errorapi.c ! Fixed hb_errLaunch() so that it will handle error handler return values correctly. NOTEs added about this. 19990816-13:30 CET Eddie Runia * source/compiler/harbour.y EndProc error resolved. PushDouble error resolved. Padding problem resolved * source/runner/runner.c; include/run_exp.h First symbol should be executed. Main renamed to HB_RUN Init symbol code fixed 19990816-13:20 GMT+1 Victor Szel * source/rtl/Makefile + browdb.prg added * source/rtl/errorsys.prg ! Removed ErrorLevel() call. * source/rtl/itemapi.c ! hb_evalNew() is no longer making a copy of the passed block/name parameters, so hb_evalRelease() will properly release that item. Although not exactly defined in CA-Clipper NG, the example program suggest that it works like this. CA-Clipper example generated unreleased blocks in Harbour. % Some variable scopes optimized. 19990816-12:39 GMT+1 Antonio Linares + source/rtl/browdb.prg * source code for TBrowseDb() * source/rtl/tbrowse.prg * removed source code for TBrowseDb() * harbour/makefile.b32 * browdb module added. 19990816-12:03 GMT+1 Antonio Linares * source/vm/hvm.c * Enhanced ProcName() returned information. (it generates the name of the Class and the method). 19990816-12:03 GMT+1 Antonio Linares * include/ctoharb.h + Added new hb_callStackShow() prototype * source/vm/hvm.c + Added new hb_callStackShow() function * improved internal errors reporting information 19990816-01:11 EDT Paul Tucker * source/vm/hvm.c * ProcessObjSymbols -> hb_vmProcessObjSymbols 19990816-02:45 GMT+1 Victor Szel * include/extend.h source/rtl/classes.c source/rtl/objfunc.prg source/rtl/tclass.prg source/vm/hvm.c source/tools/stringp.prg tests/working/dynobj.prg tests/working/debugtst.prg tests/working/inherit.prg tests/working/strip.prg tests/working/objects.prg % Some variables and functions made static in classes.c ! Completed init symbol list. * Names changed to standard ones (they should also work in 10 chars mode): ClassCreate -> __clsNew ClassInstance -> __clsInst __InstSuper -> __clsInstSuper ClassAdd -> __clsAddMsg ClassDel -> __clsDelMsg ClassMod -> __clsModMsg WClsDatas -> __cls_CntClsData __wDatas -> __cls_CntData __wDataDec -> __cls_DecData __wDataInc -> __cls_IncData aOMethod -> __objGetMethodList aOData -> __objGetMsgList aOGet -> __objGetValueList aOSet -> __objSetValueList oClone -> __objClone ClassName -> __objGetClsName oSend -> __objSendMsg isMessage -> __objHasMsg IsData -> __objHasData IsMethod -> __objHasMethod oAddMethod -> __objAddMethod oAddInline -> __objAddInLine oAddData -> __objAddData oModMethod -> __objModMethod oModInline -> __objModInLine oDelMethod -> __objDelMethod oDelInline -> __objDelInLine oDelData -> __objDelData ClassH -> __msgClsH ClassName -> __msgClsName ClassSel -> __msgClsSel SelectSuper -> __msgSuper EvalInline -> __msgEvalInline GetClassData -> __msgGetClsData SetClassData -> __msgSetClsData GetData -> __msgGetData SetData -> __msgSetData Virtual -> __msgVirtual DictRealloc -> hb_clsDictRealloc ReleaseClass -> hb_clsRelease ReleaseClasses -> hb_clsReleaseAll hb_GetClassName -> hb_objGetClsName hb_GetMethod -> hb_objGetMethod hb_isMessage -> hb_objHasMsg * include/hboo.ch source/rtl/classes.c source/rtl/objfunc.prg source/rtl/tclass.prg source/tools/stringp.prg tests/working/dynobj.prg tests/working/objects.prg tests/working/overload.prg tests/working/objects.prg + MET_ and DATA_ declaration moved to one place (hboo.ch). * source/rtl/errorapi.c include/errorapi.h % hb_error*() functions are returning void instead of WORD, except for hb_errorRT_BASE_Ext1(). * include/error.ch include/langapi.h source/rtl/langapi.c + New error code EG_ARRDIMENSION added * source/rtl/arrays.c ! ARRAY() now properly checks the passed parameters (Clipper compatible). + ARRAY() TODO: added (to support multiple dimensions) ! AADD() Fixed parameter handling, throws errors like Clipper. ! ASIZE() Fixed parameter handling. ! hb_arrayIns() removed one error to be Clipper compatible. ! hb_arrayDel() removed one error to be Clipper compatible. + AFILL(), ASCAN(), AEVAL(), ACOPY() TOFIX: added. * source/rtl/transform.c ! _exit -> exit (_exit had no prototype, and that was the only place where it was used) ! Some BYTE and int changed to BOOL at obviouse place. ! Some functions made static. ! Some unused variables removed (lFact*) 19990815-18:45 GMT+2 Ryszard Glab *source/rtl/hvm.c * added 'hb_vm' prefix to alias/field related functions * some functions declared 'static' *include/ctoharb.h - removed declarations of internal virtual machine functions *source/compiler/harbour.y * changed an error description for incorrect use of PARAMETERS statement * added type casting to compile under C++ compilers * static frame is correctly generated if static variable is used in a codeblock only *include/extend.h - removed obsolete declaration of hb_memvarNewSymbol() *include/hb_vmpub.h + added definition of callback function HB_DYNS_FUNC used to enumerate dynamic symbols *source/vm/dynsym.c + new function hb_dynsymEval() that enumerates dynamic symbols by calling specified HB_DYNS_FUNC * function *source/rtl/memvars.c + added __MVCLEAR function to release all PRIVATE and PUBLIC variables (this function is used in CLEAR MEMORY statement) 19990815-19:59 GMT+3 Alexander Kresin * source/rtl/tbrowse.prg * tests/working/testbrw.prg * added functionality - some methods implemented, added support of footing, head separator, footer separator, freeze. Now it seems almost complete. 19990815-17:40 GMT+1 Victor Szel * bldodbc.bat hbodbc.b32 * moved to /contrib/odbc * updated for the new locations (not tested though). 19990814-20:40 GMT+1 Victor Szel * include/hb_vmpub.h source/vm/dynsym.c ! FS_ declarations now included casts, to suppress some pedantic warnings (Win32/GCC -ansi -pedantic). * source/hbpp/hbpp.c source/hbpp/table.c ! Made them end with newline. (ANSI C req.) * source/vm/hvm.c include/rddapi.h source/hbpp/hbpp.c ! // comment changed to /**/ (ANSI C req.) * include/init.h include/run_exp.h source/compiler/harbour.y contrib/odbc/odbc.c source/hbpp/hbpplib.c source/rdd/dbfntx/dbfntx1.c source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/delim1.c source/rdd/sdf1.c source/rtl/arrays.c source/rtl/classes.c source/rtl/console.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/descend.c source/rtl/dir.c source/rtl/environ.c source/rtl/filesys.c source/rtl/hardcr.c source/rtl/inkey.c source/rtl/math.c source/rtl/mtran.c source/rtl/set.c source/rtl/setcolor.c source/rtl/strings.c source/rtl/tone.c source/rtl/transfrm.c source/tools/dates2.c ! Corrected some HB_INIT_SYMBOLS_END() and HB_CALL_ON_STARTUP_END() macro definitions to include the ending ";". ! Removed the ";" after HB_INIT_SYMBOLS_END() and HB_CALL_ON_STARTUP_END() macro references. (ANSI C req.) (Win32/GCC complained about it with -ansi -pedantic: "warning: ANSI C does not allow extra `;' outside of a function") 19990814-19:55 GMT+1 Victor Szel * ChangeLog ChangeLog.002 * Old ChangeLog renamed to ChangeLog.002 * New ChangeLog created. 19990814-19:50 GMT+1 Victor Szel * source/compiler/harbour.y ! BYTE -> unsigned char Previous change reverted, and replaced with a NOTE: not to change this again. 19990814-19:30 GMT+1 Victor Szel * source/vm/dynsym.c tests/working/dynsym.prg * Name change to allow these functions to work even in 10 character symbol limit mode. __DYNSYMCOUNT -> __DYNSCOUNT __DYNSYMGETNAME -> __DYNSGETNAME __DYNSYMGETINDEX -> __DYNSGETINDEX * make_tpl.* + PRG_USR added. * source/runner/runner.c ! Fixed warning with unused InitSymbolTable() function. * source/rtl/dates.c * hb__seconds() -> hb_seconds() * tests/working/fortest.prg tests/working/Makefile + New test file added. (It's broken BTW) * source/compiler/harbour.y * unsigned char -> BYTE * source/rtl/console.c * unsigned short -> USHORT * source/rtl/transfrm.c * unsigned long -> ULONG/DWORD * source/rtl/classes.c ! Added two missing prototypes. 19990813-16:47 GMT+3 Alexander Kresin * source/rtl/tbrowse.prg * tests/working/testbrw.prg * added some functionality ( PageDown(), PageUp(), GoBottom(), GoTop() ) 19990813-11:00 GMT+2 Ryszard Glab *source/compiler/harbour.y *corrected generation of local variables positions when PARAMETERS are used (for example: if there are two declared PARAMETERS, then the first local variable are placed on third position) 19990813-01:30 EDT David G. Holm * config/os2/gcc.cf - Removed -( and -), which OS/2 GCC does not support. * config/os2/icc.cf + Added handling of HB_DB_DRIVERS. * include/hbsetup.h + If HARBOUR_GCC_OS2 is defined, then OS2 must get defined. * include/hbver.h * Set hb_revision to "a", hb_month to 8, and hb_day to 12. * source/compiler/harbour.y + Display revision code immediately following build code (e.g., "Build 29a (1999.08.12)" ! Moved display of compiler version from inside Include() to immediately following command line option processing, so that the version will always be displayed, unless the /q option or an unsupported output language option is used. * source/debug/debugger.prg ! Changed CLEAR TO on line 208 to SCROLL(), to work around preprocessor problem with certain compilers. * source/rtl/console.c ! Corrected display erasing for BackSpace in HB___ACCEPT() for Harbour builds that are using the GT API. * source/rtl/tone.c ! Don't include for Borland C. + Added support for OS/2 GCC/EMX. * source/rtl/gt/gtos2.c ! Put the fixes for the x vs. y coordinates bugaboo and the change from DWORD to ULONG back in. * tests/working/Makefile ! Added rtl to the library list so that it can include rdd functions and the rdd can include rtl functions for those compilers that have no way to force recursive checking of libraries (specifically, OS/2 GCC 2.8.1). 19990812-22:29 GMT+3 Alexander Kresin * source/rtl/tbrowse.prg * source/rtl/tbcolumn.prg * tests/working/testbrw.prg * added some functionality * funclist.txt * updated status of TBrowse functions 19990812-14:15 EDT David G. Holm * funclist.txt * Updated the status of several functions to S or R * Updated the status of the errornew class and its members to R 19990812-14:00 EDT David G. Holm * source/rtl/Makefile + Added tone.c + source/rtl/tone.c + New TONE() function supplied by Chen Kedem I reorganized it so that Harbour C functions can generate tones by callin hb_tone( , ) and I also added DOS support for Borland and DJGPP. * tests/working/Makefile + Added sound.prg + tests/working/sound.prg + New test module to test TONE() function. 19990812-14:10 GMT+2 Ryszard Glab *source/compiler/harbour.y * PARAMETERS statement can be used before LOCAL statement (the stack frame is calculated correctly) * PARAMETERS statement cannot be used if there are local parameters (parameters inside '()') declared already *include/compiler.h + added wParamNum member to _FUNC structure *include/hberrors.h + added new error code ERR_PARAMETERS_NOT_ALLOWED *source/rtl/console.c * corrected `\0` to '\x0' for OS_UNIX_COMPATIBLE 19990812-08:32 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * enhanced 19990812-01:45 EDT Paul Tucker * source/rtl/gt/gtwin.c * corrections to window sizing between dispbegin buffers - this part is now working as it should. There is still the problem of writing past the visible screen boundry which will gpf. * source/rtl/gtapi.c * temporarily limit string length in hb_gtwrite (attempting to avoid above problem) 19990811-09:01 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * fixed some bugs *changed logic of #translates scan, so it is possible now use #translate with non alphabetical definitions ( such as '::', for example ). 19990811-18:00 EDT Paul Tucker * source/rtl/gt/gtwin.c * hb_gt_getRow/Col were using the wrong screen handle. 19990811-14:30 EDT Paul Tucker * source/rtl/console.c * set binary mode on stanard files before intializing gt system. * HB_SCROLL - changed to only call hb_max_row and col once each. * source/rtl/gtapi.c * hb_gtInit() + add call to hb_gtMaxRow and Col to initialize statics properly - remove calls to setmode, setpos and setcursor * some reformatting * source/rtl/gt/gtwin.c * simplified hb_gtDone * modified code that returns maxrow and col to take into account a window that is larger than the display region. Now the system will use a screen size of 25x40 or the visible window, whichever is greater. Comments? NOTE: if you resize the window after initialization, Dispbegin/end may cause the screen to jump around a bit - this will be corrected. Also, if you resize the window while a savescreen is in effect, the resulting restore screen will be unpleasant -this is being reviewed. * simplified hb_gt_DrawShadow + static hb_gt_SetScreenBuffer() * dispbegin/end support routine ! changed hb_gt_SetMode to return BOOL * include/gtapi.h source/rtl/gtdos.c ! changed hb_gt_SetMode to return BOOL * source/rtl/gtos2.c (Chen Kedem ) ! changed hb_gt_SetMode to return BOOL + hb_gt_IsColor() + hb_gt_SetAttribute() + hb_gt_DrawShadow() * source/rt/gt/gt_tpl.c * changed a comment 19990811-11:35 EDT David G. Holm * doc/gmake.txt + Added a new section under 'NOTES' discussing how to build only parts of Harbour, with examples for Harbour only and tests only and how to build a single test file using the DOS build.bat file. * source/rtl/console.c ! Corrected #ifdef blocks for unistd.h and io.h. ! Added code to remove newline in Unix compatible ACCEPT() code, per Georg Lehner . * source/rtl/setkey.prg * New version from April White . * source/rtl/gt/gtdos.c + Added DJGPP compatible GTAPI handling, but not sure how to deal with dispbegin()/dispend(). Need to add cursor handling. * source/rtl/gt/gtos2.c ! Changed DWORD to ULONG. * tests/working/Makefile ! Added new setkey test program (as BAD, because no GETACTIVE()). + tests/working/setkey.prg + New test program from April White . Note: Needs a working get system and needs SetKeyCheck() integrated into the appropriate Harbour input functions. 19990810-00:55 EDT Paul Tucker * source/rtl/gtapi.c source/rtl/gt/gtwin/c source/rtl/gt/gt_tpl.c * minor formatting changes * corrected an instance of nested comments. 19990809-14:15 EDT Paul Tucker + source/rtl/xsavescr.prg * support for save screen and restore screen commands. + __xSaveScreen() and __xRestScreen() * source/rtl/Makefile + xsavescr.prg * makefile.vc + xsavescr.prg 19990809-13:10 EDT Paul Tucker * source/rtl/gt_tpl.c + added a number of TODO comments * from Chen Kedem * source/rtl/gt/gtos2.c + support for: hb_gt_Get/SetBlink hb_gt_Get/SetCursorStyle Mon Aug 09 11:53:18 1999 Gonzalo A. Diethelm * source/Makefile: Moved the debug directory after rdd. * source/hbpp/hbpp.c: * source/rtl/filesys.c: * source/runner/runner.c: Got rid of several warnings. 199908.09-15:24 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * fixed problem with new DATA implementation 19990809-12:20 GMT+2 Ryszard Glab *source/compiler/harbour.y * restored all code related to debugger * fixed alias expressions in '=' statement 199908.09-13:12 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * added support for list match patterns 19990809-03:47 EDT Paul Tucker * source/compiler/harbour.l + added DECLARE statement - treated as PRIVATE (Don't recall the exact rules for DECLARE) 19990809-03:23 EDT Paul Tucker * source/rtl/filesys.c"source/rtl/filesys" * hb_fsLock implimented for msvc 19990809-07:40 GMT+1 Victor Szel * source/odbc moved to contrib/odbc * source/rtl/console.c + #include "io.h" added for __CYGWIN__ * tests/working/block2.PRG removed. * tests/working/transdef.prg tests/working/testrdd.prg tests/working/testpre.prg tests/working/testdbf.prg tests/working/strsub.prg tests/working/dates4.prg ! CVS tag added. * source/rtl/mtran.c ! Small typo. 19990809-06:23 GMT+1 Victor Szel * include/memvars.ch ! #ifdef _MEMVARS_CH guard added. ! Changed all comments to ANSI C style, since it's included in C code, too. * source/rtl/errorapi.c + Fixed logic for _errLaunch(), it seem ready now, plus highly Clipper compatible. * source/Makefile + runner added. * source/odbc/odbc.c ! Small typo fixed. * source/rtl/menuto.prg + Handles non-declared variables correctly. Uses __MVSCOPE(). * include/hbdefs.h * Small cleanup, typo fix. * tests/working/copyfile.prg tests/working/copyfile.txt (removed) % copyfile.txt is no longer needed. * Open error test uses a much more rare file name. 19990808-20:55 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected checking for duplicated variable names when MEMVAR and PRIVATE variable was declared * Arguments used in DO ... WITH ... are pushed correctly now using either a value or a reference * RETURN statement is no longer generating JMP opcodes - it generates HB_P_ENDPROC opcode now * generated C code again includes "init.h" + added support for aliased expressions (it seems that generated C code is correct) *source/rtl/do.c + added documentation *source/rtl/memvars.c + added __MVSCOPE function to check if variable is created already *include/memvars.ch ! new file that defines the values returned from __MVSCOPE function *include/hb_vmpub.h *include/extend.h * changed to not duplicate definition of structures and type. Duplicated definitions have caused undefined symbols during linking of C++ compiler (Watcom) output. The C++ compilers can mangle function's name into different names when duplicated definitions of data types are used. *source/rtl/initsymb.c + added again '#include "init.h"' - because some definitions were moved into hb_vmpub.h to avoid problems with duplicated definitions of data types. *include/langapi.h - removed declaration of extern langDef (Watcom reported error) see TODO comment in this file *include/pcode.h - removed unused HB_P_PUSHWORD + added opcodes: HB_P_POPALIAS HB_P_PUSHALIAS HB_P_SWAPALIAS HB_P_POPFIELD HB_P_PUSHFIELD HB_P_POPALIASEDFIELD HB_P_PUSHALIASEDFIELD NOTE: You have to rebuild all harbour libraries and object files ! *source/vm/hvm.c + added initial support for aliased expressions (fields are not handled yet - we need to synchronize it with RDD development) *include/hberrors.h + added ERR_INVALID_REFER reported when field or aliased variable is passed by the reference *tests/working/alias.prg + new file to check if aliased expressions are handled correctly (only manual check at this moment - by looking at generated C code) *test/working/Makefile + added alias.prg into BAD_PRG_SOURCES because it cannot be run yet - removed debugger.prg *source/rtl/console.c - io.h cannot be included on Linux/GCC (placed inside #ifdef) *source/vm/dynsym.c + restored definition of SYM_ALLOCATED because it is local symbol NOTE: When compared then this symbol _have to_ be type casted to SYMBOLSCOPE. If it will be not type casted then some compilers will compare (int)-1 with (char)-1 which is never true! (I am changing it for the second time :) 19990808-11:50 GMT+1 Victor Szel * source/runner/runner.c source/runner/Makefile include/run_exp.h ! Some missed name changes adapted. * source/rtl/errorapi.c ! hb_vmPushlogical() uses BOOL. + Some improvement in _errLaunch(). 19990808-10:05 GMT+1 Antonio Linares * makefile.b32 * setkey and devoutp were not properly referenced 19990808-09:34 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * improved * tests/working/TestBrw.prg * improved 19990808-23:33 EDT Paul Tucker * source/rtl/gt/gtwin.c + add missing = 19990808-03:00 GMT+1 Victor Szel * source/rtl/codebloc.c source/rtl/itemapi.c source/vm/hvm.c include/extend.h ! hb_Codeblock*() -> hb_codeblock*() * source/rtl/codebloc.c source/rtl/itemapi.c source/rtl/memvars.c source/vm/hvm.c include/extend.h ! hb_Memvar*() -> hb_memvar*() * source/vm/hvm.c ! Fixed and updated declaration list for HARBOUR functions. * source/rdd/dbcmd.c source/rtl/arrays.c source/rtl/classes.c source/rtl/do.c source/rtl/errorapi.c source/rtl/itemapi.c source/rtl/transfrm.c source/runner/runner.c source/vm/hvm.c source/vm/initsymb.c include/ctoharb.h include/hb_vmpub.h * All function belonging to the vm renamed to hb_vm*() * source/tools/debug.c ! Some functions made static. * source/vm/hvm.c % Some variable declarations moved to the block which uses it. * source/vm/hvm.c include/ctoharb.h * PushLogical(), PopLogical() uses BOOL instead of int. * source/vm/hvm.c include/extend.h include/ctoharb.h * declarations belonging to the vm moved to ctoharb.h * declarations belonging to extend moved to extend.h (ulMemory* variables) * source/rtl/console.c source/rtl/copyfile.c source/tools/debug.c ! Removed #include "ctoharb.h" * source/rtl/gt/gtwin.c ! Fixed warning about missing parenthesis. * include/ctoharb.h ! #include "extend.h" * source/runner/runner.c ! HB_HB_RUN -> HB_MAIN - So it now works with Win32/GCC. (this change belongs to 19990807-22:55 GMT+1) 19990808-17:25 EDT Paul Tucker * makefile.vc + debug.lib + menuto * source/rtl/buildvc.bat + debug.lib 19990807-22:55 GMT+1 Victor Szel * builddos.bat makedos.env makefile.dos source/compiler/makefile.dos source/makefile.dos source/rdd/dbfntx/makefile.dos source/rdd/makefile.dos source/rtl/makefile.dos source/tools/makefile.dos source/vm/makefile.dos tests/working/biccexe.cmd tests/working/hbdos.bat tests/working/hbicc.cmd tests/working/makefile.dos tests/working/makerunr.dos tests/working/runrdos.bat Removing all makefiles related to IBM C and the non-GNU makefiles for DOS/DJGPP. * source/rtl/error.prg renamed to source/rtl/terror.prg makefile.* * source/hbpp/Makefile - Removed unused parts for making standalone version * source/rtl/Makefile source/tests/working/Makefile source/debug/Makefile source/Makefile + source/rtl/tbrowse.prg + source/rtl/tbcolumn.prg + source/debug/debugger.prg + tests/working/testbrw.prg * source/rtl/alert.prg ! Fixed handling of parameters of other types than string and array. * source/rtl/asort.prg ! Fixed, so that it will now return NIL when the first parameter is not an array, just like Clipper. * source/rtl/errorapi.c ! hb_errLaunch() interprets the non logical return value of the error handler as an E_DEFAULT, some other small improvements. * source/rtl/menuto.prg ! Fixed errorblock return value. ! Fixed deleted assigment to the variable n * source/rdd/dbcmd.c source/rtl/classes.c source/rtl/do.c source/rtl/errorapi.c source/rtl/itemapi.c source/rtl/memvars.c source/rtl/transfrm.c source/runner/runner.c source/vm/dynsym.c source/vm/hvm.c * hb_*DynSym() functions renamed to hb_dynsym*() format. * include/extend.h source/vm/dynsym.c * SYM_ALLOCATED renamed to FS_ALLOCATED and moved to extend.h from dynsym.c (is this right ?) * include/langapi.h + Some new declarations. 19990808-17:25 EDT Paul Tucker * tests/working/Makefile -debugger +cursrtst + tests/working/cursrtst.prg 19990808-15:00 EDT Paul Tucker * makefile.vc + source/rtl/tbrowse.prg + source/rtl/tbcolumn.prg + source/debug/debugger.prg + tests/working/testbrw.prg * source/rtl/gtapi.c -hb_gt_ScreenBuffer * include/gtapi.h -hb_gt_ScreenBuffer * source/rtl/gt/gtwin.c source/rtl/gtdos.c + Improved or added Dispbegin/end support * minor corrections in gtdos * source/rtl/gt_tpl.c + dummy hb_gt_Set/GetBlink hb_gt_replicate * source/rtl/gtos2.c + dummy hb_gt_Set/GetBlink hb_gt_replicate * corrected parameter order as reported by Davig G. Holme NOTE: cursor sizes are not correct in this version. 19990808-01:00 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * tag added * source/rtl/tbcolumn.prg * tag added * tests/working/TestBrw.prg * tag added 19990807-19:34 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * improved * source/rtl/tbcolumn.prg * improved * tests/working/TestBrw.prg * improved 19990807-18:51 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * improved * tests/working/TestBrw.prg * improved 19990807-18:40 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf0.prg source/rdd/dbf1.c source/rdd/delim0.prg source/rdd/delim1.c source/rdd/sdf0.prg source/rdd/sdf1.c source/rdd/dbfntx/dbfntx0.prg source/rdd/dbfntx/dbfntx1.c More RDD functions: addField, createFields, setFieldExtent, info, newArea, release and sysName 19990807-22:00 WIB Andi Jahja * source/rtl/asort.prg bug fix when sorting an empty array 19990807-12:54 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * improved * source/rtl/tbcolumn.prg * improved * tests/working/TestBrw.prg * improved 19990807-11:37 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Some methods added 19990807-10:17 CET Patrick Mast * removed debugger.prg from /tests/working 199908.07-12:03 GMT+3 Alexander Kresin * makefile.b32 * added 'source/debug' to .prg path for build32.bat to work 19990807-9:38 GMT+1 Antonio Linares * tests/working/hb32.bat * Second supplied parameter is a compiler flag * source/rtl/tbrowse.prg * Some methods added 19990807-9:19 GMT+1 Antonio Linares * source/compiler/harbour.y * Debugger() symbol requested when compiling using /b * source/vm/hvm.c * ModuleName() automatically invokes Debugger() if module compiled using /b 19990807-8:39 GMT+1 Antonio Linares + source/rtl/tbcolumn.prg * Harbour Class TBColumn first outline * tests/working/testbrw.prg * Updated * makefile.b32 * tbcolumn module added 19990807-8:39 GMT+1 Antonio Linares + source/rtl/tbrowse.prg * Harbour Class TBrowse first outline + tests/working/testbrw.prg * Harbour Class TBrowse sample * makefile.b32 * tbrowse module added Fri Aug 06 20:04:05 1999 Gonzalo A. Diethelm * config/rules.cf: Added the removal of *.core to the clean target. * source/hbpp/hbpp.c: * source/hbpp/stdalone/hbpp.c: Fixed two unused variable warnings. 199908.06-22:12 GMT+3 Alexander Kresin * include/hbpp.h * source/hbpp/hbpp.c * source/hbpp/hbppint.c * source/hbpp/table.c * fixed some bugs * linked list for #commands and #translates storage instead or array * source/hbpp/stdalone/hbpp.c * added run-time messages * creation of table.c contens 19990806-19:55 GMT+1 Antonio Linares * include/classes.ch * Added support for SETGET methods 19990806-19:55 GMT+1 Antonio Linares * makefile.b32 * hvm module added * tests/working/bld32exe.bat * removed hvm.c module 19990806-19:35 GMT+1 Antonio Linares * include/pcode.h + Added new HB_P_LOCALNAME opcode * source/compiler/harbour.y + Added support for HB_P_LOCALNAME opcode * source/vm/hvm.c + Added support for HB_P_LOCALNAME opcode 19990806-18:43 GMT+1 Antonio Linares * include/pcode.h + Added new HB_P_MODULENAME opcode * source/compiler/harbour.y + Added support for /b compiler flag + Added support for HB_P_MODULENAME opcode * source/vm/hvm.c + Added support for HB_P_MODULENAME opcode 19990806-10:45 GMT+1 Antonio Linares * makefile.b32 * updated with latest modules 19990806-01:40 EDT Paul Tucker * makefile.vc + readvar.prg 19990806-05:31 GMT+1 Victor Szel * source/rtl/menuto.prg ! MENU TO made highly Clipper compatible (100%), with the addition of the nesting capability. (only BEGIN/END SEQUENCE and Break() support is missing) * make_tpl.bat make_tpl.cmd (added) make_tpl.sh * Updated and extended make starter files. * source/rtl/readvar.prg source/rtl/Makefile funclist.txt + Added: READVAR() (used in MENU TO) (*** Please update other makefiles accordingly ***) * include/Makefile ! hb_vmpub.h added * source/rtl/achoice.prg ! Fixed handling of Ctrl+PgUp/PgDn/Home/End when a user func was passed. * source/rdd/dbcmd.c source/rtl/classes.c source/rtl/do.c source/rtl/memvars.c source/runner/runner.c source/vm/dynsym.c source/vm/hvm.c include/extend.h include/hb_vmpub.h * DYNSYM -> HB_DYNS PDYNSYM -> PHB_DYNS * include/*.* - More small cleanups 19990805-17:10 GMT+1 Victor Szel * source/rtl/setcolor.c ! #includes "extend.h" instead of "pcode.h" * source/compiler/harbour.y include/hb_vmpub.c % New header file which contains only those definitions which are a must to compile a Harbour generated C file. * source/rtl/natmsg/msghe862.c source/rtl/natmsg/msghewin.c source/rtl/msgxxx.c + Hebrew language files added (Posted by Chen Kedem ) * source/rtl/Makefile source/rtl/menu.prg (removed) source/rtl/menuto.prg (added) tests/working/testmenu.prg (removed) tests/working/menutest.prg (added) tests/working/Makefile + New MENU TO implementation (Phil Barnett) which is highly Clipper compatible. (nesting, color and setting buffering, setkey, some side effects simulated, output redir behav.) "~" hotkey char support removed, since there's no such in Clipper. + Test includes recursive capability ! Test added to Makefile (Please update other makefiles accordingly) * source/rtl/achoice.prg + Added SETKEY() handling. * source/rtl/alert.prg ! HARBOUR_STRICT_CLIPPER_COMPATIBILITY mode bug fixed. * include/extend.h - Removed obsolete SYMBOL type. * include/pcode.h source/compiler/harbour.y - #include "extend.h" removed from pcode.h * include/hbdefs.h include/extend.h include/filesys.h include/rddapi.h include/rddapi.h source/rdd/dbf1.c _LOCALNAME opcode 19990806-18:43 GMT+1 Antonio Linares * include/pcode.h + Added new HB_P_MODULENAME opcode * source/compiler/harbour.y + Added support for /b compiler flag + Added support for HB_P_MODULENAME opcode * source/vm/hvm.c + Added support for HB_P_MODULENAME opcode 19990806-18:00 WIB Andi Jahja * source/rtl/menuto.prg - added error checker 19990806-10:48 GMT+1 Victor Szel * source/rtl/classes.c ! One cast added back. 19990806-10:45 GMT+1 Antonio Linares * makefile.b32 * updated with latest modules 19990806-01:40 EDT Paul Tucker * makefile.vc + readvar.prg 19990806-05:31 GMT+1 Victor Szel * source/rtl/menuto.prg ! MENU TO made highly Clipper compatible (100%), with the addition of the nesting capability. (only BEGIN/END SEQUENCE and Break() support is missing) * make_tpl.bat make_tpl.cmd (added) make_tpl.sh * Updated and extended make starter files. * source/rtl/readvar.prg source/rtl/Makefile funclist.txt + Added: READVAR() (used in MENU TO) (*** Please update other makefiles accordingly ***) * include/Makefile ! hb_vmpub.h added * source/rtl/achoice.prg ! Fixed handling of Ctrl+PgUp/PgDn/Home/End when a user func was passed. * source/rdd/dbcmd.c source/rtl/classes.c source/rtl/do.c source/rtl/memvars.c source/runner/runner.c source/vm/dynsym.c source/vm/hvm.c include/extend.h include/hb_vmpub.h * DYNSYM -> HB_DYNS PDYNSYM -> PHB_DYNS * include/*.* - More small cleanups 19990805-17:10 GMT+1 Victor Szel * source/rtl/setcolor.c ! #includes "extend.h" instead of "pcode.h" * source/compiler/harbour.y include/hb_vmpub.c % New header file which contains only those definitions which are a must to compile a Harbour generated C file. * source/rtl/natmsg/msghe862.c source/rtl/natmsg/msghewin.c source/rtl/msgxxx.c + Hebrew language files added (Posted by Chen Kedem ) * source/rtl/Makefile source/rtl/menu.prg (removed) source/rtl/menuto.prg (added) tests/working/testmenu.prg (removed) tests/working/menutest.prg (added) tests/working/Makefile + New MENU TO implementation (Phil Barnett) which is highly Clipper compatible. (nesting, color and setting buffering, setkey, some side effects simulated, output redir behav.) "~" hotkey char support removed, since there's no such in Clipper. + Test includes recursive capability ! Test added to Makefile (Please update other makefiles accordingly) * source/rtl/achoice.prg + Added SETKEY() handling. * source/rtl/alert.prg ! HARBOUR_STRICT_CLIPPER_COMPATIBILITY mode bug fixed. * include/extend.h - Removed obsolete SYMBOL type. * include/pcode.h source/compiler/harbour.y - #include "extend.h" removed from pcode.h * include/hbdefs.h include/extend.h include/filesys.h include/rddapi.h include/rddapi.h source/rdd/dbf1.c source/rdd/dbfntx/dbfntx1.c source/rdd/dbcmd.c source/rtl/gt/gtos2.c source/rtl/copyfile.c source/rtl/environ.c source/rtl/filesys.c source/runner/runner.c source/vm/hvm.c source/tools/hb_f.c Non Harbour standard, sparsly used and redundant types removed. - PBYTE -> BYTE * (few occurences) BYTEP -> BYTE * (few occurences, non standard) PVOID -> void * (1 occurence) FARPP -> void ** (few occurences) FARP -> void * (few occurences) 19990805-04:47 GMT+1 Victor Szel * source/rtl/console.c - Small var naming change. * source/rtl/achoice.prg ! Fixed: SET DEVICE is no longer redirecting it's output. % Optimalized color handling. (Thanks to Paul Tucker) 19990804-14:30 EDT Paul Tucker * source/rtl/filesys.c * added a cast (reported by Matteo) 19990804-20:30 GMT+1 Victor Szel * source/rtl/achoice.prg + Uses __COLORINDEX() * source/rtl/console.c tests/working/colorind.prg ! __COLORINDEX() small bug fixed related to trimming trailing spaces. ! expected test results updated. 19990804-20:00 GMT+1 Victor Szel * source/rtl/console.c tests/working/colorind.prg tests/working/Makefile source/rtl/tget.prg + Added function: __COLORINDEX(). ! TGET modified to use __COLORINDEX() instead of STRTOKEN() * source/rtl/Makefile source/rtl/stringsx.c source/tools/stringsx.c ! STRTOKEN() put back to TOOLS. 19990804-00:40 EDT Paul Tucker * makefile.vc + tget tgetlist langapi 19990804-19:07 GMT+1 Victor Szel + include/langapi.h Added. (Missed from the previous CVS session, sorry) 19990804-00:40 EDT Paul Tucker * source/rtl/gtwin.c * reduced the internal buffering to 1 level to improve speed. * source/rtl/gtapi.c * commented out dispbegin calls in gtbox (for now!) Wed Aug 04 12:25:12 1999 Gonzalo A. Diethelm * source/rdd/dbcmd.c: Got rid of the bell (0x07) character printed in error messages; it tends to screw up in some consoles. Changed hb_rddRegister() to return an int rather than a bool, so now it is possible to return different status values. Now trying to register the same RDD more than once is a NOOP. * source/rdd/dbfntx/dbfntx0.prg: KLUDGE ALARM: since the DBFNTX driver depends on the DBF driver, and the order of INIT procedures is not guaranteed (and is actually the wrong order under gcc/Win32), I forced the initialization of DBF before DBFNTX. 19990804-17:30 GMT+1 Victor Szel * source/rtl/msgxxx.c - __TURBOC__ branch deleted. * source/rtl/alert.prg + Added the handling of first parameters of Alert() if they are not strings. * source/rtl/copyfile.c + Changed to use: hb_errorRT_BASE_Ext1() So now it can retry or default. * source/rtl/errorapi.c include/rtl/errorapi.h + Added: hb_errorRT_BASE_Ext1() + Added: hb_errorRT_New() (static) ! Fixed: hb_errorLaunch() so that it converts the logical value returned by the codeblock to a number. + Added: hb_errorLaunch() some notes about internal error which can occur here. * source/rtl/errorsys.prg + Added: Alert() box. * source/rtl/msgxxx.c (code moved away from here) source/rtl/classes.c source/rtl/errorapi.c source/vm/hvm.v + Uses Language API instead of hb_errorNat...() function. * source/vm/hvm.c ! LONG lLineNo -> WORD wLineNo to suppress a warning. * include/langapi.h source/rtl/langapi.c + Language API initial implementation. * source/rtl/vm/ForTest() - Removed the "internal error" which stated that there will be infinite loop if STEP 0 is used, Clipper just goes into an ininite loop. ! Changed printf() to a standard error is STEP expression is not numeric. * include/errorapi.h source/rtl/errorapi.c source/rtl/msgxxx.c source/rtl/msg*.c + Added internal error launcher API call hb_errorInternal() * source/hbpp/hbpp.c include/hberrors.h * "#error" message standardized, made Clipper like. * tests/working/Makefile tests/working/dyssym.prg + __DYNSYM*() tests added. * include/Makefile include/initsymc.h (renamed from initsymb.h) include/initsymd.h (added) source/vm/initsymb.c source/runner/runner.c Init function extern declarations put into initsymd.h * source/vm/dynsym.c * Name changes: HB_DYNSYMBOLS -> HB___DYNSYMCOUNT HB_DYNSYMNAME -> HB___DYNSYMGETNAME HB_GETDYNSYM -> HB___DYNSYMGETINDEX * source/runner/runner.c ! Using "ctoharb.h" * source/rtl/gt/gtwin.c ! Compiler warning corrected. * source/rtl/achoice.prg % Some small optimalizations, userfunc as codeblock support documented. * source/rtl/alert.prg + Added TOFIX: DispBegin issue. * include/ctoharb.h include/extend.h include/init.h source/vm/initsymb.c source/vm/hvm.c source/vm/dynsym.c source/rtl/memvars.c source/rtl/codebloc.c source/rtl/classes.c source/runner/runner.c source/compiler/genobj32.c * SYMBOL -> HB_SYMB PSYMBOL -> PHB_SYMB * tests/working/Makefile + debugger.prg and testread.prg added * source/rtl/tget.prg source/rtl/tgetlist.prg tests/working/testread.prg tests/working/debugger.prg + CVS tags added. * source/rtl/Makefile + Added tget*.prg Wed Aug 04 11:00:07 1999 Gonzalo A. Diethelm * source/tools/stringsx.c: * source/rtl/Makefile: * source/rtl/stringsx.c: Moved STRTOKEN from tools/ to rtl/, even though it is not a 100% Clipper standard function. The reason is because we will probably be using this function a lot (such as Antonio did in TGet.prg). * source/rtl/gt/gtwin.c: * source/vm/hvm.c: Fixed two minor warnings. Wed Aug 04 10:12:24 1999 Gonzalo A. Diethelm * config/win32/gcc.cf: Got rid of -( and -). * tests/working/Makefile: Corrected the order of the libraries to link against. 199908.04-16:32 GMT+3 Alexander Kresin * source/hbpp/table.c * change in @ y,x GET ... 19990804 GMT+1 Antonio Linares + source/rtl/TGet.prg added Harbour Class TGet (developed by Ignacio Ortiz) + source/rtl/TGetList.prg added Harbour Class TGetList (object oriented implementation of Clipper language GetSys.prg) * makefile.b32 + TGet.prg and TGetList.prg modules added. * Alphabetically sorted names. * Please note I have not updated other makefiles + tests/working/TestRead.prg added * @ ... GET and READ sample * source/compiler/harbour.y * Fixed VarDef IDENTIFIER '[' ExpList ']' rule * source/vm/hvm.c * Added support for DimArray() just for one dimension (it generates an error and exists if trying to build a more than one dimensions array). 199908.04-11:35 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Some bugs fixed,mentioned by Victor Szel, Matteo Baccan and David G. Holm * makefile.b32 * msgxxx.c replaced with msguk.c * config/win32/bcc32.cf * LD = bcc32 19990804-00:40 EDT Paul Tucker * source/rtl/gt/gtwin.c * better selection of default screen size reported by MaxRow/Col 19990804-00:35 EDT David G. Holm * source/vm/hvm.c ! Corrected Power() to set the correct number of decimal points. * tests/working/build.bat + Added checks for HB_ARCHITECTURE and HB_COMPILER. + Modified to always build the target. 19990804-00:40 EDT Paul Tucker * source/rtl/gt/gtwin.c * corrected screen buffer size for dispbegin * makefile.vc + adir.prg + setkey.prg * Corrections to Achoice, filesys * re-enabled gtDispbegin/end calls in gtBox 19990804-00:20 EDT David G. Holm + tests/working/build.bat + New batch file to build and run individual PRG files Syntax: "BUILD module", where module is the main part of the file name of the PRG file to be built and run. For example, to build and run T.PRG, use "BUILD T". 19990804-00:15 EDT David G. Holm * source/rtl/math.c ! Corrected MOD() to set the correct number of decimal points. * source/vm/hvm.c ! Corrected Div() to set the correct number of decimal points. ! Corrected Modulus() to use fmod() instead of the % operator. ! Corrected Modulus() to set the correct number of decimal points. 19990803-22:10 EDT David G. Holm * source/rtl/setcolor.c + Added missing '#ifdef HARBOUR_USE_GTAPI'. * source/rtl/gt/gtos2.c + Added missing 'char' type on 'cRight' parameter for both hb_gt_SetAttribute() and hb_gt_DrawShadow(). 19990803-21:20 EDT Paul Tucker * source/rtl/gt/gtwin.c * SetCursor fixed 19990803-22:30 GMT+1 Victor Szel * source/rtl/gtapi.c include/gtapi.h + hb_gtGetBlink() added. (still dummy though) * source/rtl/console.c + SETBLINK() added. * source/rtl/filesys.c source/rtl/Makefile tests/working/curdirt.prg tests/working/Makefile + CURDIR() plus test program CURDIRT added. (Please update other makefiles accordingly) Note that hb_fsCurDir() is not fully implemented yet, so the test will not work like Clipper. * source/rtl/setcolor.c + COLORSELECT() added. * source/rtl/adir.prg source/rtl/Makefile tests/working/adirtest.prg tests/working/Makefile + ADIR() plus test program ADIRTEST added. (Please update other makefiles accordingly) * funclist.txt * Updated statuses + Added some functions (_fs*()) * doc/codestyl.txt + "NOTE:" Added * tests/working/descend.prg - Byref test added. 19990803-19:00 GMT+1 Victor Szel * source/rtl/achoice.prg source/rtl/Makefile tests/working/ac_test.prg tests/working/Makefile + ACHOICE() plus test program AC_TEST added. (Please update other makefiles accordingly) * include/box.ch include/box.h + XBase++ compatible B_THIN, B_FAT border types added. * include/memoedit.ch + Some XBase++ extensions added. 19990803-16:50 GMT+1 Victor Szel * config/win32/gcc.cf config/os2/gcc.cf (not tested) ! Fixed rddtest linking failure, with method by Ryszard (also used in config/dos/djgpp.cf) * make_tpl.bat + C_USR, list of available commands, HB_*_INSTALL. * include/error.ch include/rddsys.ch include/set.ch include/fileio.ch include/color.ch include/setcurs.ch Added a note that these files are also used in C files. * include/inkey.ch + Added missing K_ definitions. * Converted so it can now be used in C. Tue Aug 03 11:20:17 1999 Gonzalo A. Diethelm * include/rddapi.h: Changed all #ifdef 0 with #if 0, assuming the original intent was to comment those sections out. * source/rtl/gt/gtwin.c: Moved an unused variable within the commented out portion of the code where it was used. 19990803-14:55 GMT+1 Victor Szel ! source/rtl/strings.c - ASC() fixed. It could return negative values since a typecase (BYTE) was missing. ! source/rtl/descend.c * Fixed so that it's returning NIL type on bad parameter type, and not "NIL" as a string. * Fixed Chr(0) handling in the middle of the string. * Fixed so that it returns DOUBLE type even when an integer is passed, just like in Clipper. + tests/working/descend.prg - Output to STD, plus some new tests. ! source/rtl/console.c makefile.b16 makefile.b31 terminal.b32 WINDOWS define check removed. QOUT() will no longer throw a MessageBox() when compiled wit -DWINDOWS Since this by no means expected behaviour. To throw a MessageBox() one should call a user function to do this. - source/vm/hvm.c WINDOWS define check removed, since it was never defined, in any current build system. * include/rddapi.h "Translated" to English. + include/extend.h - Added hb_strdescend() function extern. + include/itemapi.h - Added type EVALINFO_PTR ! include/Makefile - Completed file lists. 19990803-12:22 GMT+1 Victor Szel ! include/rddapi.h ITEM -> PHB_ITEM #ifdef COMMENT -> #ifdef 0 + include/error.api ERRORP definition added. ! include/itemapi.h - HB_EVAL_PARAM_MAX_ set back to 9 + include/*.api - #include all the things they include in original CA-Cl*pper. (*.api, clipdefs.h) Some other CA-Cl*pper compatible typedefs added. + include/fm.api - Some Clipper'87 compatible memory alloc functions added, also contained in CA-Cl*pper. _exmgrab(), _exmback (anyone using these ? 8-) ! include/filesys.h source/rtl/files.c ERRORP -> PHB_ITEM * source/rtl/files.c -> source/rtl/filesys.c source/rtl/Makefile makefile.* ! makefile.b31 - Fixed a bug where filesys.obj depended on extend.c + include/filesys.api include/extend.api - Some more CA-Cl*pper defines added. * source/rtl/gt/gtwin.c __CYGWIN32__ -> __CYGWIN__ Since Cygnus's wrote somewhere that the "32" will be removed in the future versions of Cygwin GCC. * include/gtapi.h - Platform detection code moved to include/hbsetup.h BTW, it seems that it's not used anywhere yet. 19990803-04:50 EDT Paul Tucker * source/rtl/codebloc.c source/rtl/memvars.c + #include "itemapi.h" (also reported by Matteo Baccan) 19990803-04:15 EDT Paul Tucker + source/rtl/gt/gt_tpl.c * renamed source/rtl/gt/gtxxx.c since it's a template. * source/rtl/gt/gtwin.c * major changes Working DispBegin/DispEnd - original was leaving screen turds when running in a window (hard to figure out, easy to fix) * source/rtl/gtapi.c * minor changes * changed SetMode() executed at startup to default to your screen size. (Movie humour: This program has been modified to fit your screen : How do you know how big my screen is? It's late) 19990803-05:30 GMT+2 Ryszard Glab *tests/working/Makefile + added possibility to build a single file. Usage: make PM=file make PM=file.prg PM can be replaced with pm *source/compiler/harbour.y * DO .. WITH .. statement passes variables by reference now *source/vm/hvm.c * added reporting of line numbers in some internal errors *source/compiler/harbour.l * corrected missed line continuation with BREAK; EXIT; and LOOP; 19990802-20:00 EDT David G. Holm * config/os2/icc.cf * Added '/NOE' to 'AR_FLAGS' to get rid of linker errors for multiply defined and unresolved symbols. * config/win32/dir.cf ! Fixed COMMAND shell support . * config/win32/gcc.cf + Added 'moldname' to list of libraries to include (for hb_inkeyPoll() support). * config/win32/install.cf ! Fixed COMMAND shell support. * include/hbdefs.h ! Macros MAX and MIN are not types and must therefore be outside 'the #if ! defined(HB_DONT_DEFINE_BASIC_TYPES)' and '#if defined(__IBMCPP__)' type exclusion blocks. * include/inkey.h + Added extern prototype for hb_inkey(). * source/hbpp/stdalone/hbpp.c * Changed #include tests to allow more compilers to build it. * source/rtl/console.c * Added code to switch stdout and errout from text mode to binary for Borland C, IBM C++, DJGPP, Cygwin, and MS C. * Changed HB___ACCEPT() to use hb_altout() instead of using a P-Code call to QOUT(). Changed HB_OS_DOS_COMPATIBLE version to use INKEY(). Moved the function to the bottom of the file in order to avoid having to add a prototype for hb_dispout(). * source/rtl/dir.c ! Worked around bug where certain compilers that only have standard chmod() support were being treated as if they had Borland / DJGPP style _chmod() support, which resulted in OS/2 / GCC and Windows / GCC version of DIRTEST marking all files read only. Compilers that previously caused read-only files will no longer show attributes. * source/rtl/inkey.c - Removed __CYGWIN__ exclusion from hb_inkeyPoll(). + Added comments to key translations. + Created hb_inkey() from the low-level guts of HB_INKEY, so that internal Harbour functions can get input events without having to resort to using a P-Code call to INKEY(). * source/rtl/set.c * Added message with actual error for file create failure. * tests/working/cdow.prg * Changed CHR(10) to CHR(13)+CHR(10) * tests/working/dates.prg * Changed CHR(10) to CHR(13)+CHR(10) * tests/working/dates2.prg * Changed CHR(10) to CHR(13)+CHR(10) * tests/working/dates3.prg * Changed CHR(10) to CHR(13)+CHR(10) * tests/working/dates4.prg * Changed CHR(10) to CHR(13)+CHR(10) * tests/working/dirtest.prg * Attempt to determine if running on a DOS type system and use the result to determine whether to use CR,LF or LF. * tests/working/inherit.prg * Attempt to determine if running on a DOS type system and use the result to determine whether to use CR,LF or LF. * tests/working/inkeytst.prg + Added two command line parameters: If the first one is present, only the last test will be run. If the second one is present, extended keyboard codes are allowed. * tests/working/longstr2.prg * Attempt to determine if running on a DOS type system and use the result to determine whether to use CR,LF or LF. * tests/working/readfile.prg * Changed from having newline differ based on Clipper vs. Harbour to having it differ based on DOS vs. Unix. * tests/working/round.prg * Attempt to determine if running on a DOS type system and use the result to determine whether to use CR,LF or LF. * tests/working/seconds.prg * Attempt to determine if running on a DOS type system and use the result to determine whether to use CR,LF or LF. * tests/working/set_num.prg * Changed CHR(10) to CHR(13)+CHR(10) 19990802-19:45 GMT+1 Victor Szel + include/dates.h source/rtl/dates.c - const keyword added. - include/ctoharb.h - extern StackShow() removed. - include/set.h - HARBOUR externs removed. * include/extend.h hb_item*() moved to include/itemapi.h source/rtl/console.c source/rtl/transfrm.c * source/rtl/console.c source/rtl/strings.c include/itemapi.h - hb_str() -> hb_itemStr() %! source/rtl/transfrm.c - Fixed the case when no picture is passed. Got rid of NUMDEFAULT(). Now using hb_itemStr() instead of HARBOUR function callback to HB_STR(), some callbacks are still left though. * include/*.h - Some more cleanup. 19990802-18:23 GMT+1 Victor Szel + source/tools/mathx.c - Added PI() Posted by Matteo Baccan (baccan@isanet.it) 19990802-17:53 GMT+1 Victor Szel ! source/rtl/setkey.prg - Fix: aSetKeys := aClone( OldKeys ) 19990802-10:50 EDT Paul Tucker * makefile.vc + added setkey * source/rtl/setkey.prg * fixed stray comment. 19990802-16:10 GMT+1 Victor Szel + include/extend.h _PTR flavour of pointer names added. * include/gtapi.h source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/gt*.c gt*() -> hb_gt_*() hb_gt_DispBegin() color removed from the parameter list. + source/rtl/setkey.prg source/rtl/Makefile SetKey() function added. 19990802-15:20 GMT+1 Victor Szel % source/hbpp/hbpplib.c source/tools/debug.c source/tools/stringsx.c - Unused #includes removed + doc/codestyl.txt - Added. Moved here from source/vm/hvm.c * source/rtl/strings.c include/extend.h source/vm/dynsym.c - hb_strgreater() and hb_strupr() moved. * source/vm/dynsym.c source/vm/hvm.c LogSymbols() -> hb_LogDynSym() hb_ReleaseDynamicSymbols() -> hb_ReleaseDynSym() * source/rtl/classes.c source/runner/runner.c source/vm/hvm.c include/extend.h include/hbdefs.h - HARBOURFUNC -> PHB_FUNC + include/item.api include/itemapi.h - Moved #define ITEM PHB_ITEM to item.api, guard added. ! source/rtl/itemapi.c hb_itemGetDS() handling of the case when item is not a date fixed and made Clipper compatible. It will no longer place a \0 after the date. Clipper does the same, the NG is obviously wrong here, since it requires to pass an 8 byte buffer which is then supposed to hold an 8 chars date plus the terminating zero. Testing showed that Clipper doesn't place a \0. + include/extend.h source/rtl/arrays.c source/rtl/extend.c Change hb_arrayGetDate() to be thread safe by design, got rid of static buffer. + source/rtl/files.c/hb_fsCurDir() - Added TODO: Make it thread safe. % source/rtl/dates.c/STOD() - Some checkings removed, which had been moved to hb_retds() previously. + source/rtl/dates.c source/rtl/arrays.c source/rtl/extend.c source/rtl/itemapi.c include/dates.h hb_dateStrPut(), hb_dateStrGet() added. Redundant code converted to calls for these. * include/set.h - Extern decls moved to source/rtl/set.c and to source/vm/hvm.c * source/rtl/codebloc.c - Extern decls moved to include/extend.h * source/vm/initsymb.c - Extern decl moved to include/extend.h + include/*.h - extern keyword added to all extern declarations. ! include/item.api - _array* removed since not in Clipper. ! include/extend.api - _pcount, _reta removed since not in Clipper. ! include/gt.api - _gtInit removed since not in Clipper. ! include/vm.api - #include "extend.h" added. - include/compat.h include/super.h include/extra.h include/Makefile - Unused header files removed. They supposed to be used by Ad's RDD implementation. + include/itemapi.h source/rtl/itemapi.c The maximum number of parameters that could be addd with hb_EvalPutParam() can be set with a #define. Also 10 instead on 9 parameters can be used now. % include/itemapi.h - Two unused variables removed from the EVALINFO structure. + include/extend.api include/extend.h source/rtl/extend.c - hb_parcsiz() added for Clipper compatibility. 19990802-05:30 EDT Paul Tucker * test/working/scroll.prg * added calls to dispbegin/dispend - nice & snappy now! 199908.02-12:15 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Bug fixed ( mentioned by Victor Szel ) 19990802-02:30 EDT Paul Tucker * source/rtl/gtapi.c ! hb_gtDispbegin/end and hb_gtSetMode now supported for gtwin + hb_gt_ScreenBuffer - internal function for use by hb_gt_DispBegin/End * source/rtl/gtos2.c source/rtl/gtdos.c + dummy hb_gt_DispBegin, hb_gt_DispEnd and hb_gt_SetMode (for now) * source/rtl/gtwin.c + hb_gt_DispBegin, hb_gt_DispEnd and hb_gt_SetMode * couple of comments in gtSetCursor along with a minor change due to cursor not always turning on when app quit. * source/rtl/inkey.c * updated a comment. * include/gtapi.h + hb_gt_DispBegin hb_gt_DispEnd hb_gt_ScreenBuffer hb_gt_SetMode * makefile.vc + added do 19990802-06:30 GMT+2 Ryszard Glab *source/tools/strfmt.c * added (char *) type cast to call for hb_xgrab() *config/dos/djgpp.cf *config/linux/gcc.cf * changed to link correctly regardless the libraries order (the GCC linker searches the library only once by default) *source/rtl/classes.c *source/rtl/dates.c *source/rtl/files.c *source/rtl/inkey.c *source/rtl/math.c *source/rtl/memvars.c *source/rtl/strings.c *source/tools/dates2.c *source/vm/hvm.c * changed numbering of error subcodes *source/rtl/errorapi.c + added hb_errorRT_TOOLS() function *include/errorapi.h + added definition of HB_ERR_SS_TOOLS + added hb_errorRT_TOOLS() function *doc/subcodes.txt + added new file with proposed format for documenting of used error subcodes. *include/hberors.h + added new error code ERR_INVALID_LVALUE *source/compiler/harbour.y + added new error 'invalid lvalue' generated in cases like: alias->(var1, var2) := 0 + enhanced support for DO WITH statement - procedure is called however variables are nnot passed by reference yet *source/vm/initsymb.c + updated systems symbols' table with HB_DO function *source/rtl/do.c + added new HARBOUR HB_DO function (visible in harbour as 'DO') that calls passed function/procedure. This function can be called directly passing the string with function/procedure name or passing a codeblock. This function is also used to implement DO WITH statement *source/rtl/Makefile + added new file do.c 19990801-21:58 GMT+1 Victor Szel % source/rtl/descend.c #include removed ! source/compiler/harbour.y - hb_INITSTATICS() -> HB_INITSTATICS() (case adjusted) Change undone. Comment added to make this clear. 19990801-21:58 GMT+1 Bruno Cantero * source/rdd/dbcmd.c Fixed a GPF with MSVC, thaks Paul 19990801-21:40 GMT+1 Victor Szel ! source/compiler/harbour.y source/hbpp/hbpplib.c source/odbc/odbc.c source/rtl/dates.c source/rtl/dir.c source/tools/dates2.c include/rddapi.h (some are still left) Changed all // style comments to /**/ 19990801-20:40 GMT+1 Bruno Cantero * source/rdd/rddsys.prg source/rdd/dbf0.prg source/rdd/sdf0.prg source/rdd/delim0.prg source/rdd/dbfntx/dbfntx0.prg tests/working/testdbf.prg Added a message for check if all the RDD's are linked 19990801-20:20 GMT+1 Bruno Cantero * source/rtl/files.c Changed for MSVC * tests/working/buildvc.bat Added a include path to harbour 19990801-18:14 CET Victor Szel ! source/compiler/harbour.y - hb_INITSTATICS() -> HB_INITSTATICS() (case adjusted) + source/rdd/nulsys/nulsys.prg - Using ANNOUNCE ! source/rtl/mtran.c - Fixed, now 100% Clipper compatible. - HARD and SOFT characters swapped. - HARD and SOFT characters pairs are changed to only one character, like in Clipper. - unnecessary include ctype.h removed. ! source/rtl/hardcr.c - unnecessary include ctype.h removed. - "HARD_" -> "SOFT_" #define names corrected. + tests/working/mtran.prg - More extensive tests added. ! source/rtl/msgxxx.c - Previous changes undone, to make it work in GCC. + source/tools/numtxten.prg source/tools/Makefile NumToTxtEN() - English language number to text conversion added. Author: "Michael Mozina" Donated to the Public Domain. 199908.01-16:30 GMT+3 Alexander Kresin * source/hbpp/hbppint.c * Bug fixed ( related to line continuation ) 199908.01-20:30 WIB Andi Jahja * msgxxx.c correct directives, it now works 199908.01-16:30 GMT+3 Alexander Kresin * hbpplib.b32 * it works now 19990801-13:14 GMT+1 Antonio Linares * tests/working/debugger.prg * pulldown menu already functional. 19990801-07:45 GMT+2 Ryszard Glab *source/rtl/inkey.c * added #include for Watcom section *source/vm/hvm.c * the symbols are not scaned if there is no INIT/EXIT procedure in the module (this is checked at the time of symbol registration) * _INITSTATICS function is called directly (by pointer) instead of Do() function - it gives faster startup code * removed calls for hb_ItemClear for uninitialized data during startup code - these data have to be initialized by assigning the IT_NIL value - removed unnecessary calls for hb_itemClear in Push* functions (the number of calls decreased almost 3 times) * StackPop() clears now the last item on the stack (it clreared the first free previously) + added StackDec() that decrements the stack pointer but doesn't clear the item (hb_itemClear() must be called when this item is no longer needed) * storing/restoring of private variables stack position moved to VirtualMachine function *source/rtl/itemapi.c + added checking for proper type before calling hb_itemClear *include/rddapi.h * added forward declaration for _RDDFUNC struct *config/dos/watcom.cf * changed to support new RDD directory structure *source/rdd/dbcmd.c * removed #ifdef _MSC_VER that was placed before some type casting - this type casting should be included for all compilers *source/runner/runner.c * corrected to properly call static variable initialization function before other INIT functions *include/run_exp.h + added symols: __MVPUBLIC, __MVPRIVATE *source/runner/Makefile + added required libraries *include/extend.h * added declaration for hb_strMatchRegExp() function *source/rtl/strings.c * moved hb_strMatchDOS() function from rtl/dir.c * added hb_strMatchRegExp() function (it calls hb_strMatchDOS at this moment) *source/rtl/dir.c * moved hb_strMatchDOS() function to rtl/strings.c *source/hbpp/table.c * corrected entry for RELEASE command *source/rtl/memvars.c * corrected __MVXRELEASE function used in RELEASE statement + added __MVRELEASE function used in RELEASE ALL LIKE/EXCEPT 19990801-00:15 EDT Paul Tucker * source/rtl/gtapi.c * hb_gtScroll() - call gtScroll if WIN_GTAPI * source/rtl/gt/gtwin.c + gtScroll() Much improved scroll speed -not up to Clipper yet though. * include/gtapi.h + declaration for gtScroll() 19990731-23:20 GMT+1 Bruno Cantero * source/rdd/dbcmd.c Forced to link rddsys.prg 19990731-17:00 EDT Paul Tucker * makefile.vc * moved contents of rdd.lib into harbour.lib * tests/working/buildvc.bat * removed reference to rdd.lib 19990731-22:27 GMT+1 Bruno Cantero * makefile.dos Removed target 'nat' 19990731-22:17 GMT+1 Bruno Cantero * include/rddapi.h * source/rdd/rddsys.prg * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/delim1.c * source/rdd/dbfntx/dbfntx1.c * tests/working/testrdd.prg dbCreate() is finished! + tests/working/testdfb.prg This file create a DBF file 19990731-15:10 EDT Paul Tucker * makefile.vc * oodles of changes. * tests/working/buildvc.bat * added a couple of libs 19990731-22:55 Alexander Kresin * source\hbpp\hbpp.c * Fixed bugs mentioned by Victor Szel 19990731-20:16 GMT+1 Antonio Linares * tests\working\debugger.prg * improved sample. * rdd.b32 * added delim... and sdf... modules * makefile.b32 * little fixes 19990731-17:51 Alexander Kresin * source\hbpp\hbpp.c * Fixed problem with @ ::nTOP,... SAY ... * source\rdd\rddsys.prg * source\rdd\sdf0.prg * source\rdd\dbf0.prg * source\rdd\delim0.prg * source\rdd\dbfntx\dbfntx0.prg * Uncommented 'ANNOUNCE' - now it can be used 19990731-14:44 CET Victor Szel ! source/rtl/alert.prg - Handling of "*" in color string is made compatible with Clipper. - source/hbpp/buildgcc.bat - Removed. Use GNU Make instead. - include/fm.api - _xrealloc removed, since it was not there in Clipper. ! source/rtl/extend.c - "item.api" -> "itemapi.h" ! source/tools/hb_f.c - "filesys.api" -> "filesys.h" * tests/working/extend2.c - #include -> "x" + funclist.txt - Extended with a huge amount of new functions, method and class variables. Please review it for your functions. 19990731-14:50 Alexander Kresin * source\hbpp\hbpp.c * source\hbpp\table.c * fixed some bugs, mentioned by Kwon,Oh-Chul ( ?"1234" ), Victor Szel * added support of letters, prefixed by '\' in rezult patterns * some other improvements that I don't remember already :) + added 'ANNOUNCE' keyword 19990731-11:40 CET Patrick Mast * updated build40.bat and makefile.b40 19990731-08:22 CET Victor Szel * source/rtl/natmsg/*.c GenericErrors renamed to hb_errorsGeneric static removed from the declarations. * source/rtl/msgxxx.c - Small cleanup. * source/rtl/natmsg/*.c source/rtl/msgxxx.c All files and language manifest constants renamed, so that they use the RFC language code. msgr1251 renamed to msgruwin, I may be wrong that codepage 1251 can be called russian windows codepage, but the name could not fit in 8 chars otherwise. * include/error.ch - Small modification. + source/rtl/natmsg.c - msg_tpl.c Added template language file. Contributors should use this to add support for a new language. + source/tools/Makefile source/tools/strfmt.c - StrFormat() added, see the file for documentation. StrFormat("%1 %2", "Hello", "world!") -> "Hello world!" + source/tools/Makefile source/tools/numtxthu.prg - NumToTxtHU() function to convert a number (especially currency) to a text. This is the Hungarian version. ( 115 -> "One hundred fifteen" ) !! If you have such a function for your language, please add it, too. 19990731-02:30 EDT David G. Holm * source/hbpp/hbpplib.c ! ParseExpression() expects a null-terminated string. ! ParseExpression() returns the parsed input in the input string, not in the output string. 19990731-06:50 CET Victor Szel * include/extend.h include/hbdefs.h include/errorapi.h More small cleanups, additions. + include/clipdefs.h Added Clipper compatible header file. (not tested) + include/*.api - Added a file description line. Added a line which warns users not to use these files for new Harbour code. + include/caundoc.api - Contains undocumented API declarations (only wrappers as of now). Original idea by Bruno Cantero . * include/rdd.api most of the content moved to include/rddapi.h source/rdd/dbfntx/dbfntx1.c source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/delim1.c source/rdd/sdf1.c *.api files are for compatibility only, not for new harbour code. + doc/hdr_tpl.txt - Small modification RCS ID and licenc part of the header separated. * include/*.* - Standardized (again) RCS ID and licenc headers. 19990731-06:40 GMT+2 Ryszard Glaaab *source/compiler/harbour.y * PUBLIC and PRIVATE variables referenced inside a codeblock can be used to initialize a static variables 19990731-06:00 CET Victor Szel + include/achoice.ch include/common.ch include/dbstruct.ch include/directry.ch include/memoedit.ch include/dbedit.ch include/assert.ch include/getexit.ch include/simpleio.ch Missing Clipper compatible Harbour header files added. * source/rtl/extend.c -> Fixed memory management stuff moved to the new file source/rtl/fm.c source/rtl/Makefile makefile.* + source/rtl/fm.c include/fm.api include/extend.h _xalloc(), hb_xalloc() added for Clipper compatibility. + include/vm.api VM API added to provide some Clipper compatibility. VM functions are mapped to FM calls, Heap calls are accepted but functionality is not supported. * include/rdd.api include/error.ch include/inkey.ch include/color.ch include/fileio.ch include/rddsys.ch include/box.ch include/classes.ch include/set.ch Small cleanups. Missing #ifdef guards added. + make_tpl.sh - GNU Make launcher for bash/linux/gcc. 19990731-03:33 CET Victor Szel ! source/vm/hvm.c - Fixed some error codes. (.OR., .AND., PVALUE) * hb_ErrorNatDescription -> hb_errorNatDescription source/vm/hvm.c source/rtl/natmsg/*.c source/rtl/errorapi.c source/rtl/arrays.c include/errorapi.h + source/rtl/natmsg/*.c - Standardized, reformatted, ISO codes filled. + source/rtl/msgxxx.c source/rtl/natmsg/msghu852.c (former msghu.c) source/rtl/natmsg/msghucwi.c source/rtl/natmsg/msghuwin.c Support for two additional Hungarian codepages. % source/rtl/natmsg/*.c source/rtl/msgxxx.c hb_errorNatDescription() moved from natmsg/*.c to msgxxx.c so there's only one copy of it now. - source/rtl/natmsg/makefile.dos - Removed since it was not used at all. + doc/lang_id.txt - Standard RFC language code list. ! source/rtl/alert.prg - Some typo fixed. * source/rtl/runner/runner.c - #include <> -> #include "" 19990731-08:05 WIB Andi Jahja + source/rtl/menu.prg __AtPrompt() __MenuTo() + tests/working/testmenu.prg - Test Program 19990731-00:05 CET Victor Szel ! source/rtl/files.c - __CYGWIN__ defines changes rolled back, to fix the new DOS/DJGPP errors. + source/rtl/alert.prg - Made almost 100% Clipper compatible. - Parameter list is now compatible. - Placing of the box is now compatible. - Sizing of the box is now compatible. - Console mode added as in Clipper. - Color handling compatible. - Parameter error handling compatible. A Clipper bug fixed. - Hotkey support added as in Clipper. - Leaves the cursor where it was. - Optional support logic for undocumented //NOALERT switch. - Some small cleanups. 19990730-21:05 CET Victor Szel * source/rtl/files.c - Two __CYGWIN__ branches joined. Fri Jul 30 14:44:00 1999 Gonzalo A. Diethelm * config/bin.cf: * config/c.cf: * config/prg.cf: Added support for recursing into subdirectories in addition to creating a target (library or executable). Added support for executables whose main function is defined in a PRG file. * config/header.cf: Temporarily got rid of two definitions that look buggy. * include/run_exp.h: Got rid of warning regarding pragma. * source/hbpp/Makefile: * source/hbpp/hbppmain.c: * source/hbpp/stdalone/Makefile: * source/hbpp/stdalone/hbpp.c: Support for recursing into stdalone. Moved hbpp/hbppmain.c tp hbpp/stdalone/hbpp.c. * source/odbc/Makefile: * source/runner/Makefile: Added GNU-makefiles for these two directories (but they don' compile ok under gcc/Win32). * source/rtl/files.c: Changed defined(__GNUC__) for defined(__CYGWIN__). * source/rtl/gt/gtwin.c: Got rid of a warning. 19990730-20:24 CET Victor Szel - buildicc.cmd - Removed. - tests/working/list.txt - Removed, since it was suprseded by /funclist.txt 19990730-20:04 CET Victor Szel ! source/rtl/inkey.c source/rtl/files.c __CYGNUS__ -> __CYGWIN__ ! tests/working/testpre.prg - Typo fixed. 19990730-14:00 EDT Paul Tucker * makefile.vc (reported by Matteo Baccan) + source/tools/fileread.prg + source/rtl/alert.prg 19990730-19:51 CET Victor Szel ! source/rtl/strings.c/HB_STRTRAN() Fixed so that it throws an error instead of returning "", when parameter 1 or 2 is of bad type. ! source/rtl/gtapi.c - Non-ANSI C compliant var declaration fixed. Posted by Dave Pearson 19990730-12:30 EDT Paul Tucker * source/rtl/gt/gtwin.c * simplified gtputs and gtSetAttribute * corrected gtGetCursorStyle for !cci.bVisible return SC_NONE other cases should be handled by the switch that follows. * source/rtl/gt/gtdos.c source/rtl/gt/gtwin.c source/rtl/gt/gtos2.c ! renamed gtSetAttribute gtDrawShadow (currently active only in gtwin) + created new gtSetAttribute that will recolor a region. (currently not used) * source/rtl/gtapi.c * modified most internal calls to hb_gtMaxRow/Col to use Static vars. * gtScroll - fill scrolled region with spaces, not nulls * source/rtl/console.c * HB_SHADOW - call gtDrawShadow * HB_ISCOLOR now active when using gtdos * include/gtapi.h + added decl for gtDrawShadow 19990730-12:00 EDT Paul Tucker * makefile.vc + added inkey to harbour.lib * as submitted by Matteo Baccan + added missing dates2 to tools.lib * corrected output of dbfntx?.obj * source/rtl/dbfntx/dbfntx1.c * added typecast in getfunctable 19990730-15:33 CET Victor Szel + source/rtl/descend.c source/rtl/hardcr.c source/rtl/mtran.c Added documentation. Posted by Jose Lalin 19990730-09:20 EDT Paul Tucker * makefile.vc + added sdf and delim support * changed natmsg\msgxxx to msgxxx * source/hbpp/hbpplib.c + added typecasts to 2 xgrab calls * source/rdd/dbcmd.c + added typecasts at line 337 but wrapped this one in an #if defined(_MSC_VER) 19990730-14:55 CET Victor Szel ! source/hbpp/preproc.c - defines _pFileName. ! source/hbpp/hbppmain.c - Definition of pFileName changed scope and name to _pFileName, so that OpenInclude() can use it. (not tested) ! source/rtl/alert.prg - Added left out original author info. Added missing #includes. Added RCS id. ! source/rtl/Makefile - Added alert.prg ! source/rdd/Makefile - Added new RDD stuff. ! source/hbpp/preproc.c/HB_PREPROCESS() Fixed unterminated result string problem. Fixed return value inconsistencies. Fixed to not use internals. Code cleanup. + include/hbdefs.h - Added MIN() and MAX() macros. * source/hbpp/harb.h - Removed. * source/hbpp/preproc.c renamed to hbpplib.c source/hbpp/Makefile (Please update other makefiles accordingly) * include/hbpp.h source/hbpp/hbpp.c source/hbpp/hbppint.c source/hbpp/hbpplib.c source/hbpp/hbppmain.c source/compiler/harbour.y Common declarations moved to one place, hbpp.h * source/hbpp/hbpp.c isname() -> ISNAME() * tests/working/testpre.prg - Small cleanup. 19990730-08:50 EDT Paul Tucker * makefile.vc * added dbfntx support (not nulsys yet) 19990730-12:46 GMT+1 Bruno Cantero * tests/working/testrdd.prg Fixed a bug 19990730-12:24 GMT+1 Bruno Cantero + source/rdd/sdf0.prg, source/rdd/sdf1.c, source/rdd/delim0.prg and source/rdd/delim1.c Support for two RDD's (SDF and DELIM) * include/rdd.api, source/rdd/dbcmd.c, source/rdd/dbf0.prg, source/rdd/dbf1.c Changed for support the new RDD's * tests/working/testrdd.prg Test for all RDD's in one PRG - include/rdd_api.old Removed old backup file 19990730-11:05 GMT+1 Antonio Linares * include/inkey.ch + More defines added 19990730-10:21 GMT+1 Antonio Linares * buildrdd.bat * removed PRGs building from there * rdd.b32 * Added PRGs building * makefile.b32 * Added Alert.prg building (note: I have not updated all makefiles!) * source/compiler/harbour.y * Added support for a:b[ c ]:d = e statements + source/rtl/alert.prg * tests/working/classch.prg * added Super:New() test + tests/working/debugger.prg 19990730-05:55 CET Victor Szel + source/hbpp/hbppint.c - Added "Warning" to the message "non directive in include file" + tests/broken/vec2.prg - Added a failing command: STATIC bBlock2 := {|| cMyPubVar } 19990730-05:00 CET Victor Szel ! source/rtl/inkey.c - #elif defined(__GNUC__) -> #elif defined(__CYGNUS__) ! source/hbpp/preproc.c - MakeFilename() bug fixed here, too. It's quite strange that we have three copies of MakeFilename() in various source files. + source/hbpp/hbppint.c - Added hbpp_init() prototype. ! source/hbpp/hbpp.c - Fix: #include directive will search for the header file in the directory of the compiled .PRG file, not in the current directory as before. + source/hbpp/hbpp.c - Added support for #include 'x' and #include , the latter searches only in the include directories, like in C. ! source/hbpp/hbpp.c - Added patch to fix the GPF in RTL_TEST when using Win32/GCC (and some others). Posted by Dave Pearson 19990729-22:00 EDT Paul Tucker * source/rtl/inkey.c + added comments and example for implimenting ReleaseCPU 19990729-22:00 EDT Paul Tucker * source/rtl/console.c * HB_SHADOW/DBGSHADOW 5th param is optinal and defaults to 7 (w/n) 19990729-19:40 EDT Paul Tucker * source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c source/rtl/gt/gtos2.c * Adjusted a number of functions to accept coordinates in Row, Col order - some of them were reversed. ! source/rtl/gt/gt*.c renamed gtwhereX gtwhereY and gtGotoXY to gtCol, gtRow and gtSetPos * include/gtapi.h adjusted gt decls to account for above changes 19990729-23:35 CET Victor Szel ! source/rtl/objfunc.prg - Typo fixed. "doesnt exists in class" -> "does not exist in class" 19990729-23:00 GMT+1 Bruno Cantero * makefile.env, makefile.dos,source/makefile.dos, source/rdd/makefile.dos + source/rdd/dbfntx/makefile.dos Full support RDD for DJGPP Thu Jul 29 16:17:09 1999 Gonzalo A. Diethelm * config/dos/djgpp.cf: * config/linux/gcc.cf: * config/os2/gcc.cf: * config/win32/gcc.cf: * config/win32/msvc.cf: One more modification: the DB drivers must be linked against only when the Makefile specifies linking against the rdd library. Otherwise, other binaries such as the Harbour compiler would try to link against the DB drivers. Thu Jul 29 15:58:44 1999 Gonzalo A. Diethelm * source/rdd/Makefile: * source/rdd/nulsys/Makefile: Bruno Cantero pointed out that a user may use all of the DB drivers simultaneously, so I got rid of the environment variable and made sure all of the valid DB drivers are linked against the application. On of the valid drivers is nulsys. * config/global.cf: Now a list of all the valid DB drivers is stored in HB_DB_DRIVERS. * config/dos/djgpp.cf: * config/linux/gcc.cf: * config/os2/gcc.cf: * config/win32/gcc.cf: * config/win32/msvc.cf: Deleted support for environment variable HB_DB_DRIVER. Added support for make variable HB_DB_DRIVERS. Thu Jul 29 14:46:51 1999 Gonzalo A. Diethelm * source/rdd/Makefile: * source/rdd/dbfntx/Makefile: Now there is a subdirectory for each database driver. For now, only dbfntx/ is supported. The Makefile in rdd/ walks into each subdirectory. * source/rdd/dbfntx0.prg: * source/rdd/dbfntx1.c: * source/rdd/dbfntx/dbfntx0.prg: * source/rdd/dbfntx/dbfntx1.c: Moved these files from rdd/ to rdd/dbfntx/. * config/bin.cf: * config/dir.cf: * config/header.cf: * config/lib.cf: * config/test.cf: * config/dos/djgpp.cf: * config/linux/gcc.cf: * config/os2/gcc.cf: * config/win32/gcc.cf: * config/win32/msvc.cf: Added support for the new separate directories for the database driver. The user must define an environment variable HB_DB_DRIVER with the appropriate driver he wants to use. For example, defining it to 'dbfntx' will pick up that driver. 19990729-18:39 CET Victor Szel - source/rdd/dbcmd.c now redundant declarations removed. (again) + source/rdd/Makefile - new files added. 19990729-18:51 GMT+1 Bruno Cantero + source/rtl/natmsg/msgspa.c Changed any messages. 19990729-19:38 GMT+1 Antonio Linares * source/rtl/console.c * several fixes at SAVESCREEN, RESTSCREEN and SETCURSOR 19990729-18:50 GMT+1 Bruno Cantero + source/rdd/dbf0.prg, source/rdd/dbf1.c Added RDD DBF * source/rdd/rddsys.prg Prepared for use ANNOUNCE/REQUEST keywords * source/rdd/dbcmd.c Added more functions and now the RDD system is a tree of RDD's * tests/working/testrdd.prg Changed for test two RDD's * makedos.env Added DBFNTXLIB=$(HARBOURDIR)/libs/libdbfntx.a * source/rdd/makefile.dos Changed to create $(HARBOURLIB) and $(DBFNTXLIB) dbcmd.o, rddsys.o, dbf0.o and dbf1.o now in lharblib.a dbfntx0.o and dbfntx1.o now in ldbfntxlib.a * tests/working/makefile.dos Added ldbfntxlib.a to link 19990729-18:40 GMT+1 Bruno Cantero * source/vm/hvm.c Remove all RDD references. Now it isn't necesary. 19990729-11:35 EDT Paul Tucker * source/rtl/console.c * hb_setCursor - account for optional param. #ifdef .. GTAPI * hb_Save/RestScreen #ifdef .. GTAPI * account for nil params ie: SaveScreen(,,,,@Buf) * use hb_gtRectSize 19990729-13:26 GMT+1 Antonio Linares * source/rtl/gt/gtwin.c * Fixed gtGetCursorStyle when cci.bVisible returning SC_NORMAL * source/rtl/console.c * high level C source code implemented for SAVESCREEN, RESTSCREEN anb SETCURSOR 19990729-12:13 CET Victor Szel + include/extend.h - hb_strLower(), hb_strUpper() declarations added. extern STACK stack; added extern SYMBOL symEval; added extern HB_ITEM errorBlock; added extern HB_ITEM aStatics; added - source/rdd/dbcmd.c source/rtl/setcolor.c now redundant hb_strUpper() declarations removed. - source/rtl/transfrm.c source/rtl/classes.c source/rtl/arrays.c source/rtl/math.c source/rtl/itemapi.c source/rtl/extend.c source/rtl/dir.c source/rtl/descend.c source/rtl/dates.c source/rtl/codebloc.c source/rtl/errorapi.c source/rdd/dbcmd.c source/hbpp/preproc.c source/tools/debug.c Removed explicit references to above added externs. + include/dates.h - extern char *hb_monthsname[]; added extern char *hb_daysname[]; added - source/rtl/dates.c source/tools/dates2.c Removed explicit references to above added externs. - source/rtl/classes.c - Removed reference to DoBlock() - source/rtl/codebloc.c - Redefinition of TRUE/FALSE removed. + source/rtl/dir.c - Copyright statement added for hb_strMatchDOS() function. 19990729-11:20 CET Victor Szel ! tests/working/rtl_test.prg - Now returns errorlevel 1 if anything fails, and 0 if OK. Now for sure. * source/vm/hvm.c - Get rid of a few low level ITEM access. 19990729-10:40 CET Victor Szel ! source/vm/hvm.c - #include "itemapi.h" added to fix a warning. ! source/rtl/inkey.c - hb_inkeyPoll() #define-ed out the kbhit() and getch() calls in Cygwin, until some better solution is found. + include/ctoharb.h - PushNumber() declaration added. + source/rtl/arrays.c/hb_arrayEval() now passes the index to the codeblock as the second parameter. + tests/working/arreval.prg tests/working/Makefile aEval() test program added. - source/rtl/arrays.c - Removed duplicate declarations. + tests/working/rtl_test.prg - Now returns errorlevel 1 if anything fails, and 0 if OK. 19990729-01:40 EDT Paul Tucker * source/rtl/dir.c + #if !defined(FA_ENCRYPTED) * source/compiler/harbour.y * in FUNCINFO[] change: { SELECT, 0, 1 } 19990729-05:25 CET Victor Szel * Changed all #include to #include "x", where x is a Harbour header file. Many source and header files involved. * include/extend.h - Small cleanups. * include/extend.h - Some functions renamed to be more consistent. source/rtl/arrays.c source/rtl/classes.c source/rtl/codebloc.c source/rtl/dir.c source/rtl/errorapi.c source/rtl/extend.c source/rtl/itemapi.c source/rtl/memvars.c source/rtl/transfrm.c source/tools/debug.c source/vm/hvm.c ItemCopy() -> hb_itemCopy() ItemRelease() -> hb_itemClear() ItemUnRef() -> hb_itemUnRef() GetMethod() -> hb_GetMethod() * include/version.h renamed to hb_ver.h source/rtl/environ.c source/compiler/harbour.y include/Makefile * source/vm/hvm.c - hb_item*() functions moved to source/rtl/itemapi.c * source/vm/hvm.c - Codeblock and memvar management function declarations moved to include/extend.h * source/rtl/strcmp.c/hb_stricmp() moved to source/rtl/strings.c * source/rtl/strcmp.c/hb_itemStrCmp() moved to source/rtl/itemapi.c - source/rtl/strcmp.c removed. source/rtl/makefile makefile.b16 makefile.b31 makefile.b32 makefile.b40 makefile.vc - makefile.icc removed (superseded by GNU Make System) + tests/working/rtl_test.prg - Further improved, it's now fully automatic. ! source/rtl/strings.c - LEFT(),RIGHT(),SUBSTR() bugs fixed with some LONG casts for asstring.length. UPPER(),LOWER() LONG -> ULONG * source/compiler/harbour.y source/compiler/harbour.l source/compiler/genobj32.c Some ints changed to BOOL. ! tests/working/strsub.prg - "Press a key" changed to "press Enter". 19990728-19:45 GMT+1 Antonio Linares * include/classes.ch Added support for 'Super' keyword 19990728-19:35 CET Patrick Mast + /harbour/contrib/directX Added Jesus'es DirectX files. Wed Jul 28 11:54:06 1999 Gonzalo A. Diethelm * source/rtl/dir.c: Fixed a typo: #if define(USE_NT) => #if defined(USE_NT). * source/rtl/inkey.c: Added an include of when compiling with gcc. * include/Makefile: * tests/working/Makefile: Updated list of files. 19990728-14:30 CET Eddie Runia * source/rtl/dir.c #include added 19990728-14:15 CET Eddie Runia * source/rtl/dir.c FA_ENCRYPTED etc. only available if USE_NT has been defined 19990728-13:10 CET Victor Szel ! source/hbpp/hbppmain.c - MakeFilename() bug fixed here, too. (see 19990728-05:40) ! source/hbpp/harb.h - Include Harbour header files, instead of repeating part of their content explicitly. Some warnings about re-#defines fixed. ! source/hbpp/preproc.c - #pragma Preprocess__InitSymbols excluded when __GNUC__. So no more compiler warning with Win32/GCC. 19990728-13:13 GMT+1 Bruno Cantero * source/rdd/rddsys.prg, source/rdd/dbcmd.c, source/rdd/dbfntx0.prg source/rdd/dbfntx1.c, include/rdd.api, tests/working/testrdd.prg The size of WorkAreas now is variable Testing under MSVC++ 6.0 and DJGPP 19990728-14:44 Alexander Kresin * source\hbpp\hbpp.c * Bug, appeared after last change, fixed 19990728-12:30 CET Eddie Runia * source/runner/runner.c Symbols with both INIT and EXIT raised are not EXIT symbols. * include/extend.h FS_INITEXIT added as a mask to check the above 19990728-11:31 Alexander Kresin * source\hbpp\hbpp.c * Yet another problem fixed with rtl_test and C++ Builder 19990728-10:22 Alexander Kresin * source\hbpp\hbpp.c * source\hbpp\hbppint.c * source\hbpp\hbppmain.c * source\hbpp\table.c * include\hbpp.h * Bug fixed for rtl_class.prg ( mentioned by Victor Szel ) * Linked list for defines instead or array 19990728-01:10 EDT Paul Tucker * source/rtl/gtapi.c * minor correction in case of inverted coordinates 19990728-05:40 CET Victor Szel ! source/compiler/harbour.y/MakeFilename() - Fixed bug, which sometimes caused that the filename losed the "." extension separator char. ! tests/working/makefile - newcopy.prg removed. + tests/working/strsub.prg - Added some more tests, and the expected results. ! source/vm/hvm.c - Minus() simplified and fixed for strings. ! config/dos/djgpp.cf - Added -g to CFLAGS, so it's able to make test programs. 19990728-03:50 CET Victor Szel ! config/win32/msvc.cf - Missing include added. 19990727-16:30 EDT David G. Holm * source/rtl/dir.c + Added support for IBM Visual Age C++ compiler * source/rtl/gt/gtos2.c ! Corrected function declration for gtSetAttribute() * tests/working/dirtest.prg * Changed QOUT() to OUTSTD() to allow the directory listing to be redirected, regardless of whether or not the GT API is linked in 19990727-22:20 CET Victor Szel + tests/broken/lnlenli1.prg + tests/broken/lnlenli2.prg Test programs added to test how Harbour handles extremly long lines. ! tests/broken/vec2.prg Added RCS line. 19990727-21:00 CET Victor Szel + source/compiler/harbour.y - Help screen updated. /a,/v added /t deleted, made it even more Clipper like. original Clipper typo "supress" fixed. 19990727-20:15 GMT+2 Ryszard Glab *source/compiler/harbour.y * static variables can be initialized using the codeblocks that calls functions. However static variables still cannot be initialized with direct function call. * changed the symbol created for function that initialize static variable to: '(_INITSTATICS)' and generated function is named now hb_INITSTATICS - this allows to create an user defined function or memvar named _INITSTATICS * the _INITSTATICS function (used to initialize static variables) have the scope equal to (FS_INIT | FS_EXIT) - to distinguish this function from other INIT functions. All _INITSTATICS functions defined in the application have to be called before normal INIT functions are called. *source/vm/hvm.c * All _INITSTATICS functions defined in the application are called before normal INIT procedures - this allows to use static variables in INIT procedures *tests/working/initexit.prg * updated code to test cooperation of INIT procedures with static variables *include/rdd.api + added forward declaration for struct _RDDFUNCS *source/rtl/natmsg/msgbas.c *source/rtl/natmsg/msgcat.c *source/rtl/natmsg/msgcz852.c *source/rtl/natmsg/msgczkam.c *source/rtl/natmsg/msgdut.c *source/rtl/natmsg/msgeo.c *source/rtl/natmsg/msgfre.c *source/rtl/natmsg/msggal.c *source/rtl/natmsg/msgger.c *source/rtl/natmsg/msghu.c *source/rtl/natmsg/msgia.c *source/rtl/natmsg/msgita.c *source/rtl/natmsg/msgkor.c *source/rtl/natmsg/msgpl852.c *source/rtl/natmsg/msgplmaz.c *source/rtl/natmsg/msgpor.c *source/rtl/natmsg/msgr1251.c *source/rtl/natmsg/msgru866.c *source/rtl/natmsg/msgspa.c *source/rtl/natmsg/msguk.c *source/rtl/natmsg/msgyu852.c * corrected bug in hb_ErrorNetDescription (was "<=" instead of "<" ;-) 19990727-19:48 GMT+1 Bruno Cantero * source/rdd/dbcmd.c Fixed a GFP (Paul, test it) 19990727-19:18 GMT+1 Bruno Cantero * source/rdd/dbfntx1.c Fixed a bug 19990727-19:08 GMT+1 Bruno Cantero * source/rtl/natmsg/*.c Added #include to these files 19990727-12:35 EDT David G. Holm * source/rtl/dir.c ! Corrected two errors that the MSC changes introduced for non-MSC non-Unix compilers: 1) The intermediate long variable fsize is now back in place; 2) The use of 'attrib = entry.attrib;' is now #ifdefed for MSC and the use of 'attrib = _chmod(fullfile,0);' is restored for non-MSC non-Unix compilers. 19990727-13:45 GMT+1 Antonio Linares * include/classes.ch + added support for multiple classes definition on the same PRG 19990727-13:08 CET Victor Szel + tests/broken/vec2.prg - Added 19990727-14:21 Alexander Kresin * source\hbpp\hbpp.c * ParseExpression() rewritten for supporting new classes functionality 19990727-02:22 EDT Paul Tucker * include/gtapi.h + added definition of gtSetAttribute * source/rtl/dates.c * hb__seconds - fixed MSC support for correct hundreths. * source/rtl/dir.c * Directory() now works under msc. Other platform users should review the code and add defined()'s or code as needed. * source/rtl/gt/gtwin.c + gtSetAttribute() * source/rtl/gt/gtdos.c source/rtl/gt/gtos2.c + Empty gtSetAttribute() * source/rtl/console.c + empty SAVESCREEN,RESTSCREEN + SHADOW() and DBGSHADOW() now implimented 19990727-07:50 CET Felipe Coury * tests/working/hscript/dir.hs; tests/working/hscript/hello.hs; tests/working/hscript/hscript.prg; tests/working/hscript/multiply.hs; tests/working/hscript/ugly.hs New version * tests/working/testcgi.prg New version as well 19990727-06:12 GMT+1 Antonio Linares * makefile.b32 + Added inkey.c module 19990726-21:35 EDT David G. Holm * config/os2/dir.cf ! Corrected FOR statement to work properly when called from CMD.EXE which means that when using 4OS2, the GNU Make System must be run using: CMD /C make -r (or CMD /C make -r clean) * config/os2/install.cf ! Corrected FOR statement to work properly when called from CMD.EXE which means that when using 4OS2, the GNU Make System must be run using: CMD /C make -r install * include/inkey.ch + Added INKEY_EXTENDED event mask code + Added mouse event codes + include/inkey.h + New support module for new module source/rtl/inkey.c * include/set.h + Added INKEY_EXTENDED + Added version comment for V 1.17 by Bruno Cantero * Corrected version number in version history for V 1.16 * source/hbpp/Makefile ! Added preproc.c, so that tests/working/testpre.prg will link * source/rtl/Makefile * Added inkey.c * source/rtl/dates.c + Added _MSC_VER to list of compilers that use DOS method to get seconds and fractions in SECONDS() instead of just whole seconds * source/rtl/files.c * hb_fopen() now generates runtime error BASE/2021 when filename parameter is not a string (argument error) + source/rtl/inkey.c + New module for CLEAR TYPEAHEAD, INKEY(), KEYBOARD, NEXTKEY(), LASTKEY() and SET TYPEAHEAD support (no mouse support yet) * source/rtl/math.c ! MIN() and MAX() no longer generate an argument error when called with different numeric types ! MIN() and MAX() now return the first parameter when both are equal * source/rtl/set.c * Modified HB_SET_TYPEAHEAD handling to use INKEY() support function hb_inkeyReset() to adjust the size of the keyboard typeahead buffer ! Corrected HB_SET_TYPEAHEAD handling to use set_number() * source/tools/Makefile + Added fileread.prg + source/tools/fileread.prg + New file reader class reads files one line at a time * source/vm/hvm.c + Added call to hb_inkeyPoll() at top of Virtual Machine loop * tests/working/Makefile + Added inkeytst.prg + Added readfile.prg + tests/working/inkeytst.prg + Test program for INKEY(), NEXTKEY(), LASTKEY(), KEYBOARD, SET TYPEAHEAD, and CLEAR TYPEAHEAD. * tests/working/mathtest.prg + Added MIN() and MAX() tests + tests/working/readfile.prg + Test program for new file reader class (the test program dumps the file contents to STDOUT to let you redirect to file so that you can compare the input and output files) * tests/working/seconds.prg * If run with a number as a command line parameter, the loop will be executed that many times, without pausing between calls to SECONDS() 19990726-22:35 CET Patrick Mast + Build40.bat and Makefile.b40 Build and makefile for Borland 4.0 19990726-03:25 EDT Paul Tucker * source/rtl/dbcmd.c + memset(pWorkAreas,0,sizeof(AREA)); in rddInit * a couple more (or maybe the same) casts to help msvc. 19990726-20:52 CET Victor Szel * tests/working/rtl_test.prg - make use of the preproc and thus it's more easy to expand it, and fewer human errors can be made. We could use this idea in several other test programs, too. ! tests/working/transfrm.prg - Buggy test line fixed. 19990726-20:32 GMT+1 Bruno Cantero * source/rdd/dbfntx1.c Fixed bug under msvc 19990726-20:20 CET Eddie Runia * tests/working/hscript/bldguest.bat Better version added. (Old version was meant for working directory) 19990726-20:59 Alexander Kresin * source\hbpp\hbpp.c * Fixed some bugs with quotes, '??' * source\hbpp\hbppint.c * source\hbpp\hbppmain.c * some functions prefixed with pp_ 19990726-18:24 GMT+1 Bruno Cantero * include/rdd.api, source/rdd/dbcmd.c, source/rdd/dbfntx1.c and tests/working/testrdd.prg Added more RDD functions Implemented dynamic WorkAreas 19990726-18:12 GMT+1 Bruno Cantero * makefile.dos, source/makefile.dos and source/rdd/makefile.dos Added RDD support Mon Jul 26 11:42:11 1999 Gonzalo A. Diethelm * include/Makefile: * source/rdd/Makefile: * tests/working/Makefile: Updated file lists. 19990726-13:20 CET Victor Szel + source/rtl/gtapi.c Some minor fixes and corrections mainly to gtBox() 19990726-12:50 CET Victor Szel + source/rtl/natmsg/msghu.c Error descriptions translated. 19990726-06:05 EDT Paul Tucker * source/rtl/gtapi.c * position cursor inside top-left corner of box - compatibility * source/rtl/console.c * Row() and Col() - too passive when linked with gtapi. 19990726-05:20 EDT Paul Tucker * source/rtl/gtapi.c * much improved box drawing speed. * source/rtl/msgita.c from Matteo Baccan * source/rtl/msgpor.c from Felipe Coury 19990725-09:50 CET Felipe Coury + tests/working/hscript/guestbk.ini; tests/working/hscript/guestbk.htm; tests/working/hscript/guestbk.prg; tests/working/hscript/guestbk.txt; tests/working/hscript/bldguest.bat; Harbour guestbook added 19990725-09:45 CET Eddie Runia * source/runner/runner.c GPL text added 19990726-09:45 Antonio Linares * source/rtl/natmsg/msguk.c * missing #include 19990726-01:06 EDT Paul Tucker * makefile.vc * changed msguk to msgxxx * source/rdd/dbfntx1.c * corrected assignement of RDDFUNCSCOUNT now that I see what it's doing 19990726-00:20 EDT Paul Tucker (from Felipe Coury) * rdd.b32 * buildrdd.bat * tests/working/bld32w.bat + added support for new files in rdd 19990726-02:30 GMT+2 Ryszard Glab *include/errorapi.h + added declaration of hb_ErrorNatDescription() function -this function should be used to read a description of generic errors *source/rtl/errorapi.c * changed to read a generic error description form national language module: hb_errorRT_BASE(), hb_errorRT_TERMINAL(), hb_errorRT_DBCM() calls hb_ErrorNatDescription() when there is no description specified in function that generates an error *include/error.ch * new generic error codes: EG_ARGCOUNT Incorrect number of arguments EG_ARRACCESS array access EG_ARRASSIGN array assign EG_NOTARRAY not an array EG_CONDITION conditional *source/rtl/natmsg/msgbas.c *source/rtl/natmsg/msgcat.c *source/rtl/natmsg/msgcz852.c *source/rtl/natmsg/msgczkam.c *source/rtl/natmsg/msgdut.c *source/rtl/natmsg/msgeo.c *source/rtl/natmsg/msgfre.c *source/rtl/natmsg/msggal.c *source/rtl/natmsg/msgger.c *source/rtl/natmsg/msghu.c *source/rtl/natmsg/msgia.c *source/rtl/natmsg/msgita.c *source/rtl/natmsg/msgkor.c *source/rtl/natmsg/msgpl852.c *source/rtl/natmsg/msgplmaz.c *source/rtl/natmsg/msgpor.c *source/rtl/natmsg/msgr1251.c *source/rtl/natmsg/msgru866.c *source/rtl/natmsg/msgspa.c *source/rtl/natmsg/msguk.c *source/rtl/natmsg/msgyu852.c + the table with generic errors' descriptions was added + new hb_ErrorNatDescription() that returns error description *source/rtl/natmsg/msgpliso.c + new module for Polish ISO-8859-2 coding *source/rtl/arrays.c *source/rtl/copyfile.c *source/rtl/classes.c *source/rtl/dates.c *source/rtl/math.c *source/rtl/set.c *source/rtl/strings.c *source/rtl/transfrm.c *source/rtl/memvar.c *source/rtl/rdd/dbcmd.c *source/tools/dates2.c *source/vm/hvm.c * changed to use generic error codes (EG_*) instead of hard-coded descriptions *source/rdd/Makefile *corrected to compile files placed in this directory *tests/working/Makefile + added rdd library *source/rtl/gtxxx.c + added #include "hbsetup.h" to properly include platform specific files based on settings in hbsetup.h *source/rtl/msgxxx.c + added #include "hbsetup.h" to properly include platform specific files based on settings in hbsetup.h +added #include "hbdefs.h" *source/compiler/harbour.y + added support for '-a' automatic MEMVAR declaration * extended support for MEMVAR declaration + added definition of VS_PRIVATE and VS_PUBLIC *include/hberror.h + new warning code WARN_MEMVAR_ASSUMED *include/extend.h - removed definition of VS_PRIVATE and VS_PUBLIC *source/rtl/memvars.c + added definition of VS_PRIVATE and VS_PUBLIC *source/hbpp/table.c * changed names for memvar related functions ('__MV' prefix) in RELEASE, CLEAR* and SAVE/RESTORE commands 19990725-23:12 CET Victor Szel + make_tpl.bat Template batch file to call the GNU make system. 19990724-21:20 EDT Paul Tucker * source/rdd/dbcmd.c * added type casts mostly on xgrab calls * source/rdd/dbfntx0.c * commented out 1 assignment, as uiCount is not pointing at anything. * makefile.vc + added additional rdd support 19990725-19:47 GMT+1 Bruno Cantero + include/rddsys.ch, source/rdd/dbfntx0.prg, source/rdd/dbfntx1.c Skeleton for DBFNTX functions + tests/working/testrdd.prg Test for RDD functions * source/rdd/dbcmd.c Bug fixed * source/rdd/rddsys.prg Register the default driver (DNFNTX) * include/rdd.api, include/rdd_api.old File renamed 19990724-21:20 EDT Paul Tucker * makefile.vc * tests/working/buildvc.bat + added support for the rdd. 19990725-01:00 GMT+2 Ryszard Glab *source/rtl/memvars.c * corrected code that handle values' cache + added code to test variables with the names that are the same as functions names * variables passed by reference are correctly handled now in PARAMETERS statement * renamed __PUBLIC to __MVPUBLIC and __PRIVATE to __MVPRIVATE all other functions related to memory variables will start with '__MV' prefix + added __MVXRELEASE function to release value stored in memvar variable (it can be used in RELEASE command) *source/vm/hvm.c * variables passed by reference are correctly handled now in PARAMETERS statement *source/compiler/harbour.y * the symbol table is generated correctly now if a memvar variable have the same name as one of used functions or is the same as the name of compiled module * simplified and cleared handling of symbol positions *source/compiler/harbour.l * MEMVAR keyword is handled correctly now *tests/working/memvar.prg + added code to test variables with the names that are the same as functions names 19990725-00:20 CET Felipe Coury * tests/working/bld32exe.bat changed for RDD + buildrdd.bat; rdd.b32 makefiles for RDD * build32.bat changed for RDD 19990724-21:02 GMT+1 Bruno Cantero + include/set.h Added two prototypes + source/vm/hvm.c Added one prototype and initialize the RDD + include/errorapi.h Added one prototype + source/rtl/errorapi.c New function: hb_errorRT_DBCMD + source/rdd/dbcmd.c New file. First functions for the RDD system + source/rdd/rddsys.prg New file. Define the default RDD driver (DBFNTX) * source/rdd/nulsys/nulsys.prg New file. Allow compile without RDD driver 19990727-21:11 CET Patrick Mast * Release of Build 29 19990724-11:50 CET Patrick Mast * Makefile.b16 and Makefile.b32 added -DHARBOUR_USE_GTAPI swicth 19990723-06:39 EDT Paul Tucker * source/rtl/gtapi.c * source/rtl/setcolor.c * modified some if statements to specifically test for != 0 19990723-06:39 EDT Paul Tucker * source/rtl/devoutp.prg * second param to devout() is color, not picture 19990723-06:39 EDT Paul Tucker * source/rtl/transfrm.c * changed GetDynSym to hb_GetDynSym (again) 19990723-12:07 Antonio Linares * terminal.b32 * Fixed for Win32 console mode Harbour apps * makefile.b32 * Support for C debugger * tests/working/bld32exe.bat * Support for C debugger 19990723-12:00 CET Eddie Runia * source/rtl/transfrm.c Decimals and width from parameter used if no template specification is present + tests/working/transdef.prg Test program used 19990723-07:45 CET Matthew Hamilton * tests/working/inifiles.prg Even newer version 19990723-02:45 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected generation of symbols for memvar variables * PARAMETERS are handled now in the same way as in Clipper (if PARAMETERS statement is repeated in the same function then the first parameter listed is always equal to the first argument, the second parameter is initialized with the second argumennt etc) *source/rtl/memvars.c * reference to variables are correctly updated * item returned from hb_arrayGet() is of proper type now and is properly released *source/rtl/codebloc.c * changed to use second parameter of hb_MemvarValueNew() *source/vm/dynsym.c * symbols created dynamically are properly released now (SYM_ALLOCATED is now type casted to new type SYMBOLSCOPE - the scope value (char) was compared with (int) previously and it was never true (char was extended to int -1) *include/hbdefs.h + added new SYMBOLSCOPE typedef *include/extend.h * changed to support new SYMBOLSCOPE typedef * replaced void *pDynSym with struct _DYNSYM *pDynSym *tests/working/memvars.c + added noew code to test memvars * it shouldn't report the unreleased memory blocks now 19990722-10:50 EDT Paul Tucker *source/rtl/dir.c * corrected hang when passing a second param to dirtest. 19990722-16:30 GMT+2 Ryszard Glab *source/compiler/harbour.y * symbol names are no longer released for the second time (it caused that DJGPP hanged in 'free' function) *source/hbpp/makefile + added preproc.c *source/hbpp/harb.h - changed to definie LONG and ULONG typedefs if there is no HB_DEFS_H_ defined (these typedefs are defined in hbdefs.h) *source/hbpp/preproc.c - removed nested /* */ *tests/working/Makefile - removed statics1.prg and statics2.prg because these file have to be linked together into an executable (we should change Makefile architecture to support it) - removed testpre.prg (it requires hbpp library however this library cannot be linked because of duplicated symbol 'hb_strAt' defined in rtl library also) -the changes in source/hbpp/*.c was an attempt to get it working. 19990722-14:30 CET Matthew Hamilton * tests/working/inifiles.prg cFile -> @cFile in fRead statement 19990722-03:30 GMT+2 Ryszard Glab *source/rtl/classes.c *source/rtl/console.c *source/rtl/errorapi.c *source/rtl/itemapi.c *source/rtl/transfrm.c * changed GetDynSym to hb_GetDynSym * changed FindDynSym to hb_FindDynSym *source/runner/runner.c * changed FindDynSym to hb_FindDynSym *source/vm/dynsym.c * changed GetDynSym to hb_GetDynSym * changed NewDynSym to hb_NewDynSym * changed FindDynSym to hb_FindDynSym + added initialization of hMemvar and hArea *source/vm/hvm.c * changed GetDynSym to hb_GetDynSym * changed NewDynSym to hb_NewDynSym * changed FindDynSym to hb_FindDynSym + added support for PUBLIC and PRIVATE variables and PARAMETERS (not finished yet) *include/extend.h * changed definition of DYNSYM + added definition of VS_MEMVAR, VS_PUBLIC, VS_PRIVATE *include/init.h + added again 'static' declaration (only for WATCOM compiler at this moment) *config/dos/watcom.cf * changed to not link and lib in no case exact mode *include/pcode.h - removed unused opcode HB_P_DEFSTATIC + added HB_P_PARAMETER to create memvar variables that store function/procedure parameters *source/rtl/codebloc.c *updated to support current memvars implementation *source/rtl/memvars.c + added support for PUBLIC and PRIVATE statements + new __PUBLIC and __PRIVATE functions that can be accessed from PRG code to create memvar variables + support for PARAMETERS statement NOTE: It is still in development! There is something wrong with reference counting (see tests/working/memvar.prg) *source/compiler/harbour.y + added support for PUBLIC and PRIVATE variables + added support for PARAMETERS statement *source/compiler/harbour.l + added full support for PUBLIC, PRIVATE and PARAMETERS * LOCAL can now be used in abbreviated form +tests/working/memvar.prg + tests memvar variables (NOTE: it can show unreleased memory blocks) *tests/working/Makefile + added memvar.prg Wed Jul 21 17:39:35 1999 Gonzalo A. Diethelm * include/hbsetup.h: Added Win32 as a case when CR/LF must be output for a new line to appear on the screen. 19990721-22:36 CET Patrick Mast * Makefile.vc errorsys compiles with /iinclude now 19990721-10:25 CET Eddie Runia * source/hbpp/hbpp.c Old lookup returned for '??'. Follow (ER) for the change Wed Jul 21 15:36:04 1999 Gonzalo A. Diethelm * source/compiler/harbour.y: Moved printing the "build..." message after the command line arguments have been checked, so that if the user specifies -q, it is not shown. * source/vm/hvm.c: Got rid of a couple of warnings. * include/Makefile: * tests/working/Makefile: Updates list of files. * include/init.h: * include/initsymb.h: * source/hbpp/preproc.c: Updated use of RCS Id keyword. 19990721-18:39 GMT+1 Paul Tucker / Bruno Cantero * source/compiler/harbour.y Added support for empty arguments in functions. 19990721-15:50 CET Eddie Runia * source/rtl/classes.c; source/rtl/transfrm.c Clean-up of source 19990721-04:12 EDT Paul Tucker * source/rtl/gtapi.c * corrected color string Underline handling. * Much more color compatibility even for some undocumented behaviour. The only inconsistancy is for ie: ("w+/n*") Clipper returns "w+*/n" - Harbour returns "w+/n*" This is on purpose, as it agrees with the documentation instead of observed behaviour. AFAIK, the only thing that may need change is for mono monitors. Is anyone using one? 19990721-09:30 CET Eddie Runia * source/vm/hvm.c Copy & Paste error 19990721-09:00 CET Jose Lalin * source/vm/hvm.c + added support for concatenation operator "-" + added support to generate correct runtime errors in functions: And(), Equal(), Greater(), GreaterEqual(), Inc(), Instring(), Less(), LessEqual(), Not(), NotEqual(), Minus(), Or(), Plus(), HB_LEN() + tests/working/strsub.prg tests for operator "-" on strings 19990721-09:00 CET Matthew Hamilton * tests/working/inifiles.prg * Case sensitive & Speed improvement 19990720-09:38 Alexander Kresin * source\hbpp\hbpp.c * Fixed bugs related to nested #ifdef, #ifndef * Fixed bug with '??' command 19990720-17:15 EDT David G. Holm * funclist.txt * Updated the status of several functions 19990720-20:55 GMT+1 Bruno Cantero * makefile.b31 Changed fixflex to bin\fixflex. * harbour.b31 Added /iinclude to compile prg's. 19990720-20:10 CET Eddie Runia * source/vm/hvm.c wsize =*( (WORD *) ... part removed. 19990720-13:40 EDT Paul Tucker * source/rtl/gtapi.c * If a color string of ("r/b,b/r" ) is used, the fifth param is set equal to the second. (as in clipper) 19990720-13:30 EDT Paul Tucker * source/rtl/gtapi.c * implimented color attribute in gtWrite and gtScroll. This is the last selected color set via gt_ColorSelect() 19990721-16:35 CET David G. Holm * source/compiler/harbour.y ! Correct _StdFunc entty for INKEY to allow no parameters - Removed _StdFunc entry for SET * Display build date for include/version.h instead of a season 19990721-15:10 CET Felipe Coury + bldodbc.bat; hbodbc.b32; source/odbc/bld32exe.bat; source/odbc/harbour.mdb; source/odbc/hb32.bat; source/odbc/odbc.c; source/odbc/odbc.txt; source/odbc/odbc32.def; source/odbc/sql.ch; source/odbc/sql.h; source/odbc/sqlext.h; source/odbc/sqltypes.h; source/odbc/testodbc.prg First version of ODBC implemented. 19990720-14:35 CET Matthew Hamilton * tests/working/inifiles.prg New version installed 19990720-09:55 CET Eddie Runia * source/rtl/files.c #include added for __BORLANDC__ 19990720-09:30 CET Eddie Runia * tests/working/run_all.bat %1 exchanged for test_all 19990719-17:55 EDT Paul Tucker * source/rtl/gtapi.c - removed temp init line now that init order is fixed. + added call to gtDone from hb_gtExit * source/rtl/setcolor.c * removed a comma * tests/working tstcolor.prg + Added 'numeric' color example. 19990719-16:50 EDT David G. Holm * config/dos/bcc31.cf + Added -DHARBOUR_USE_GTAPI and -DHARBOUR_USE_DOS_GTAPI to the C preprocessor options * include/set.h + Added prototypes for hb_consoleInitialize() and hb_consoleRelease(), because console doesn't own an include file and these two functions were added to allow synchronization with hb_setInitialize() and hb_setRelease(), both of which are prototyped here * include/version.h * Updated build to 29, set revision to "", and set date to 1999, 7, 19, in anticipation of a new public release * source/compiler/harbour.y + Added #include "version.h" * Changed version printout to use hb_build from version.h * Changed version printout us use "Summer" instead of "Spring" * Removed newline from middle of version printout * Moved prinout of version ahead of command line option checks, so that the version is always displayed, like in Clipper * source/rtl/console.c + Added hb_consoleRelease() function that calls hb_gtExit() * Converted InitializeConsole() from an HB_CALL_ON_STARTUP function to a normal function named hb_consoleInitialize() * source/rtl/setcolor.c - Removed HARBOUR GTEXIT() function * source/vm/hvm.c + Added call to hb_consoleInitialize() immediately following call to hb_setInitialize and added call to hb_consoleRelease() immediately prior to calling hb_setRelease(). * tests/working scroll.prg * Changed the introductory text message * tests/working/tstcolor.prg - Removed GTEXIT() call 19990719-16:15 EDT Paul Tucker * source/rtl/gtapi.c * Minor change to catch last color parameter that may be empty 19990719-15:55 EDT Paul Tucker * source/rtl/gtapi.c * Added support for 'numeric' color strings ie: "1/7,8/15" 19990719-19:28 GMT+2 Ryszard Glab *source/compiler/harbour.y +added 'PushFunCall' function to push the name of function. This function checks if passed name is an abbreviation of reserved function. If the abbreviation is used then the full name is pushed. 19990719-18:33 Antonio Linares * source/rtl/classes.c * enhanced methods amount meanwhile DictRealloc() is built. * several defines missing. * source/rtl/extend.c * new hb_xsize() function needed for classes.c DictRealloc() implementation. 19990719-18:30 GMT+2 Ryszard Glab *source/compiler/harbour.y -removed call for non ANSI C 'stricmp' *changed to support abbreviated functions' names 19990719-11:40 EDT Paul Tucker *source/rtl/gtapi.c * Changed call in hb_gtinit() to pass the literal initial color setting in case the GT system is initialised prior to Set * Skipped color params in a string now keep their previous value. ie ",,,r/b" *source/rtl/set.c * corrected parameter passing in _SET_COLOR case. 19990719-10:40 EDT Paul Tucker *source/compiler/harbour.y * replace CheckArgs() as supplied by Jose Lalin - with a few minor tweaks. 19990719-16:00 GMT+2 Ryszard Glab *source/rtl/msgxxx.c +added support for Polish national messages *source/rtl/natmsg/msgpl852.c *source/rtl/natmsg/msgplmaz.c * corrected names of months 19990719-03:10 EDT David G. Holm * config/os2/icc.cf + Added /Gs+ option to enable runtime stack checking * include/dates.h + Added prototype for hb_dow() * include/gtapi.h + Added prototype for hb_gtExit() * include/set.h + Added prototype for hb_setColor() * Changed hb_set.HB_SET_COLOR from char * to char[64] * source/compiler/harbour.y * Replaced _StdFunc table with new table supplied by Jose Lalin, while keeping the entry for SET that Paul Tucker had CVSed * source/hbpp/hbpp.c * Made mpatt and rpatt buffers in ParseCommand() static. * source/hbpp/hbppint.c * Allocate sBuffer in Hp_Parse() using _xgrab() (and release with _xfree() before exiting) * source/rtl/console.c + Added call to hb_gtInit() to InitializeConsole() - Removed all gt...() calls from InitializeConsole() * source/rtl/gtapi.c + Added gt...() calls that used to be in InitializeConsole() to hb_gtInit() and also added a call to gtInit() * Renamed hb_gtexit() to hb_gtExit() to match Harbour style * Converted three // style comments to /* style comments */ * source/rtl/set.c * Simplified handling of HB_SET_COLOR by just calling hb_setColor() * Made changes related to hb_set.HB_SET_COLOR now being char[64] * source/rtl/setcolor.c + Added #include * Replaced gt prototypes with #include * Changed hb_SetColor() to hb_setColor() to match Harbour style * Changed hb_setColor() to use hb_set.HB_SET_COLOR instead of allocating a buffer and requiring the caller to free the buffer + Added conditional logic for not using the GT API * source/rtl/gt/gtwin.c - Removed call to hb_gtInit() * source/tools/dates2.c + Added #include ! Added missing semicolon to HB_INIT_SYMBOLS_END() - Removed prototypes for hb_dow() and hb_dateDecode() * tests/working/Makefile - Removed strings4.prg + Added tstcolor.prg * tests/working/empty.prg - Removed call to empty() with no parameters, because it now results in a compile error - tests/working/string4.prg - Removed this test program, because Harbour now checks for the correct number of arguments when compiling 19990719-00:55 EDT Paul Tucker * source/rtl/set.c * Trap for NIL param in Set( _SET_SETCOLOR, NIL ) 19990719-00:12 EDT Paul Tucker * corrected new parameter check added {"SET",1,3} also increased strncmp len param by 1 to get null byte for complete match. 19990718-22:25 EDT Paul Tucker * source/rtl/gtapi.c * corrected returned color strings so pair ordering is the same as Clipper 19990718-21:20 EDT Paul Tucker * source/rtl/gt/gtwin.c * call hb_gtinit from gtinit * source/rtl/gtapi.c * changed gtSetColorStr and gtGetColorStr to support clipper compatible color strings. * source/rtl/set.c * changed _SET_COLOR support to tie in to SetColor() * source/rtl/setcolor.c * cleaned up - added HB_GTEXIT till proper exit support is working + tests/working/tstcolor.prg test for SetColor() * makefile.b16 makefile.b31 makefile.b32 makefile.icc source/rtl/makefile * added setcolor * makefile.vc * added setcolor * changed -o$(RTL_DIR) -o$(**D) * added missing datesx and copyfile * removed duplicate errorsys from harbour.lib obj list 19990718-20:45 CET Eddie Runia - source/rdd/rdd.api And removed again 19990718-20:35 CET Jose Lalin * source/compiler/harbour.y; include/hberrors.h Argument checking for standard functions added. Thanks to Ryszard 19990718-20:30 CET Eddie Runia + source/rdd/rdd.api Restore from the attic 19990718-13:06 EDT Paul Tucker + source/rtl/setcolor.c * my first cvs upload * I'll work on adding this to the various makefiles as well as the required support code in gtapi.c (not posted yet) 19990718-18:05 CET Patrick Mast * Release of Build #28 * version.h, updated build version 19990718-17:33 CET Patrick Mast * /source/rtl/errorsys.prg changed #include "include\error.ch" back into #include "error.ch" changed makefile.b32 to compile PRG's with switch iinclude 19990718-15:44 CET Patrick Mast * /test/working/buildvc.bat For PRG -> EXE with MSVC++ * buildvc.bat Includes MASM'ing Symbols.obj now 19990718-15:25 CET Bruno Cantero / Eddie Runia * source/vm/hvm.c PushString endian ordered not determined by compiler but by HVM 19990718-14:13 CET Patrick Mast * /source/hbpp latest files from Alexander. With these files Build32.bat works ok. 19990718-14:22 CET Eddie Runia * tests/working/run_all.bat Harbour compile added 19990718-14:00 CET Eddie Runia * build32.bat bldhbpp.bat called * makefile.b16; makefile.b31; makefile.b32; makefile.icc; makefile.vc dates2 included * makedos.env very strange error. msgxxx could not include natmsg/msguk.c. I haven't seen this error before, -Isource/rtl was added to resolve the problem * source/rtl/dates.c; source/rtl/descend.c; source/rtl/hardcr.c; source/rtl/mtran.c Copyright Jose Lalin added * source/rtl/msgxxx.c Esparanto added + source/rtl/natmsg/msgeo.c Esparanto added + source/tools/dates2.c File from Jose Lalin added. The following modification have been made : * Symbol table added * Bug as reported by Andi resolved * Casts added to eliminate warnings produced by DJGPP * source/tools/makefile dates2.c added * include/initsymb.h; source/runner/runner.c; source/vm/initsymb.c Dates2 added to file list. + tests/working/dates4.prg Test program tools/dates2 added + tests/working/run_all.bat Batch file for testbench added. Will run test_all.prg and subsequently run all symbols 19990716-20:00 EDT David G. Holm * config/rules.cf + Added ifeq section for BCC, which requires that the output file be listed ahead of the input file on the command line (at least for version 3.1) + config/dos/bcc31.cf + New GNU Make System module for Borland C++ 3.1 (adapted from original config/win32/bcc32.cf) * config/dos/global.cf + Added 'if not exist' to both 'dirbase::' commands + Added 'if exist' to all deletes of a single file type * config/win32/bcc32.cf * Applied several changes from config/dos/bcc31.cf, but remains untested * doc/gmake.txt + Added dos/bcc31 * source/hbpp/hbpp.c ! Temporary fix to avoid an incorrect "Cycled #define" error * source/hbpp/hbppint.c ! Use of exit() warrants inclusion of stdlib.h for all compilers * source/rtl/environ.c + Added RUN() support for MSC, IBMCPP, and GCC for OS/2 * tests/working/dosshell.prg + Added support for OS/2 * tests/working/procline.prg - Removed unneeded 'local a' that I accidentally left in earlier Fri Jul 16 17:53:35 1999 Gonzalo A. Diethelm * source/rtl/gt/gtwin.c: Added the possibility to log everything to a file; this made it possible for me to find out what was wrong with GTwin (which is, noone was calling gtInit()). * source/rtl/console.c: Call gtInit() as the first console initialization. This finally made it possible to have a working GT on Win32 with gcc (it should work with other compilers too). 19990716-20:43 Alexander Kresin * source\hbpp\hbpp.c * Problem with C++ Builder resolved 19990716-18:10 CET Eddie Runia + tests/working/clasname.prg Test program for clasname implemented. Warning : Just a partial implementation * source/vm/hvm.c void Do() changed so all types call GetMethod * source/rtl/classes.c Small changes so messages to non-objects are properly handled. 19990716-16:00 CET Eddie Runia * source/rtl/transfrm.c Memory allocation error resolved 19990716-15:00 CET Eddie Runia * source/rtl/math.c Round() : One byte more should be allocated * source/rtl/copyfile.c; source/runner/runner.c; source/vm/initsymb.c; include/initsymb.h __CopyFile added as symbol * source/rtl/console.c DevOutPict() added as symbol 19990716-14:30 CET Eddie Runia * source/runner/runner.c Typo corrected 19990716-13:00 CET Eddie Runia * include/initsymb.h; source/vm/initsymb.c; source/runner/runner.c; include/run_exp.h The runner is back on-line :-)) 19990716-10:54 Alexander Kresin * source\hbpp\hbpp.c * source\hbpp\table.c * fixed some bugs, simplified expressions in SearnRep() 19990716-06:45 GMT+1 Ryszard Glab *source/compiler/harbour.y * corrected generation of proper static frame for functions (the values of static variables defined in different modules are no longer overlapped) *tests/broken/statics1.prg *tests/broken/statics2.prg -moved to tests/working directory *config/dos/watcom.cf * corrected to support HB_*_COMPILE variables *config/global.cf *config/rules.cf * removed duplicated definition of HB variable * HB_*_COMPILE variables are defined now before architecture and compiler specific config file is included (it allows to change these variables for specific architecture/compiler requirements) *doc/codebloc.txt + added description of an incompatibility with Clipper 19990715-23:40 CET Eddie Runia * tests/working/arrays.prg; tests/working/dosshell.prg; tests/working/dupvars.prg; tests/working/keywords.prg; tests/working/linecont.prg; tests/working/linecont.prg; tests/working/longstr2.prg; tests/working/spawn.prg; tests/working/spawn2.prg; tests/working/test10.prg; tests/working/testid.prg; tests/working/test_all.prg //NOTEST should be the first line 19990715-23:14 CET Patrick Mast All files for the Preprocessor lib from Felipe Coury + source/hbpp/preproc.c + doc/hbpplib.txt + tests/working/testpre.prg + Hbpplib.b32 + Bldhbpp.bat * changed tests/working/bld32exe.bat (to include hbpp.lib) Thu Jul 15 17:32:29 1999 Gonzalo A. Diethelm * config/rules.cf: Added support for a couple of environment variables for the user to specify additional flags for compilation. They are C_USR and PRG_USR. An example using bash: export C_USR='-DHARBOUR_USE_GTAPI -DHARBOUR_USE_WIN_GTAPI' make -w * include/hbdefs.h: * source/rtl/gt/gtwin.c: Modified these files to be able to compile gtwin.c with gcc. It compiles and links, but it dumps core on execution... 19990715-16:30 Ryszard Glab *source/compiler/harbour.l * added support for case ::variable while ::variable * corrected line numbering in NEXT and END keywords * changed ';' (line continuation logic) *source/compiler/harbour.y * corrected line numbering (opcode for line number is no longer placed inside an expression) *tests/working/procline.prg * corrected line numbering *config/linux/gcc.cf *config/linux/global.cf * corrected to support the latest changes in GNU make system 19990715-09:50 CET Patrick Mast *makefile.vc * Changed output for PRG's that needed to be compiled with Harbour * Deleted 'Classes.Prg' lines. (No need for them) * Added parameter -n for compiling asort.prg * Added parameter -n for compiling errorsys.prg * Deleted 'GenObj.c' lines (No need for them) * Changed 'Stringp.c' line $(RTL_DIR) should be $(TOOLS_DIR) = Works fine with MSVC++ 6.01 now 19990715-09:50 CET Patrick Mast *source/rtl/environ.c changed all 'defined(__MSC__)' to 'defined(__MSC__) || defined(_MSC_VER)' It compiles with MSVC++ 6.01 now 19990714-22:45 EDT David G. Holm * config/dos/djgpp.cf * Modified to support new HB_*_COMPILE variables * config/dos/global.cf - Removed initialization of old HB_*_DIR variables * config/dos/watcom.cf * Modified to support new HB_*_COMPILE variables + config/os2/dir.cf + New GNU Make System module for OS/2 + config/os2/gcc.cf + New GNU Make System module for GCC for OS/2 + config/os2/global.cf + New GNU Make System module for OS/2 + config/os2/icc.cf + New GNU Make System module for IBM Visual Age C++ for OS/2 + config/os2/install.cf + New GNU Make System module for OS/2 * doc/gmake.txt + Added documentation for os2/gcc and os2/icc * Changed names of installation variables to HB_*_INSTALL * Changed NOTES section to reflect new 2-step process for a clean build * include/hbsetup.h + Added documentation of new #define for HARBOUR_GCC_OS2, which is used by config/os2/gcc.cf in order to ensure that the GCC build of Harbour for OS/2 gets created as OS_DOS_COMPATIBLE and not OS_UNIX_COMPATIBLE + Added platform #defines for the GT API for use by the GNU Make System * include/set.h - Removed obsolete global variable hb_set_fixed and declaration for obsolete HB_SETFIXED() * source/compiler/harbour.y + Added #ifdef guard for GCC around generated #pragma startup directive (like the #ifdef guard that was added to the runtime source modules) ! Display entire command line option when reporting invalid options (like Clipper, instead of leaving off the option switch character) * source/hbpp/hbpp.c + Added grouping parentheses as a safeguard around the one use of the isname() macro parameter that didn't already have a grouping ! The use of 'exit(1);' requires that stdlib be included for all compilers * source/hbpp/table.c ! Changed all _SET_ constants to match Harbour instead of Clipper * source/rtl/Makefile + Added new gtxxx.c module * source/rtl/environ.c + Added OS() support for GCC when using OS/2, because OS/2 uses 'version' as the version indicator and uses 'release' as a revision indicator * source/rtl/files.c + Only use S_IRUSR and S_IWUSR flags when creating a read/write file, per correction supplied by Dave Pearson + source/rtl/gtxxx.c + Added new module to allow the GNU Make system to build the GT API * source/rtl/set.c + Added #include for GCC, per warning generated by GCC for OS/2 when sys/types.h was not included - Removed obsolete global variable hb_set_fixed * source/rtl/strings.c ! Replaced use of obsolete hb_set_fixed with hb_set.HB_SET_FIXED * tests/working/codebloc.prg ! Corrected the spelling of 'Trying' * tests/working/procline.prg ! Corrected the expected ProcLine() line numbers * tests/working/testcgi.prg ! Initialize cRes variable to "" to get rid of run time error on line 280 Wed Jul 14 20:02:55 1999 Gonzalo A. Diethelm * config/bin.cf: * config/c.cf: * config/global.cf: * config/header.cf: * config/lib.cf: * config/rules.cf: * config/win32/bcc32.cf: * config/win32/gcc.cf: * config/win32/icc.cf: * config/win32/msvc.cf: Now there are two sets of variables to control compilation and installation: HB_*_COMPILE points to where to get all the files (binaries, includes, etc.); if not defined, it will pick them off the working repository. HB_*_INSTALL points to where you want to install the files (binaries, includes, etc.) when you issue a "make install". Wed Jul 14 18:20:24 1999 Gonzalo A. Diethelm * config/global.cf: * config/rules.cf: * config/dos/djgpp.cf: * config/linux/gcc.cf: * config/win32/gcc.cf: * config/win32/msvc.cf: Now it is not necessary to "install" harbour anywhere. If you do NOT define HB_BIN_DIR, HB_INC_DIR and HB_LIB_DIR, it uses all the files (binaries, headers, libraries, etc.) right off the working repository. * include/Makefile: Updated list of files. 19990714-12:01 Alexander Kresin * source\hbpp\hbpp.c * source\hbpp\hbppint.c * source\hbpp\hbppmain.c * include\hberrors.h * fixed some bugs, including those, needed for classes.ch 19990713-22:30 CET Eddie Runia - source/runner/run_exp.h + include/run_exp.h run_exp.h moved because of problem with BC 4.5 19990713-20:35 CET Eddie Runia * source/rtl/tclass.prg Changed standard message Super to __Super * tests/working/clsdata.prg Named class name used instead of Super Tue Jul 13 14:06:03 1999 Gonzalo A. Diethelm * include/classes.ch: * include/compat.h: * include/extra.h: * include/super.h: * source/rtl/natmsg/msgbas.c: * source/runner/run_exp.h: * source/runner/runner.c: * tests/broken/clasname.prg: * tests/broken/parexpr.prg: * tests/broken/statics1.prg: * tests/broken/statics2.prg: * tests/broken/vec1.prg: * tests/working/ainstest.prg: * tests/working/and_or.prg: * tests/working/array16.prg: * tests/working/arrayidx.prg: * tests/working/arrays.prg: * tests/working/arrindex.prg: * tests/working/atest.prg: * tests/working/box.prg: * tests/working/byref.prg: * tests/working/calling.prg: * tests/working/cdow.prg: * tests/working/clasinit.prg: * tests/working/classch.prg: * tests/working/classes.prg: * tests/working/clsdata.prg: * tests/working/cmphello.prg: * tests/working/codebl.prg: * tests/working/codebloc.prg: * tests/working/comments.prg: * tests/working/copyfile.prg: * tests/working/dates.prg: * tests/working/dates2.prg: * tests/working/dates3.prg: * tests/working/debugtst.prg: * tests/working/descend.prg: * tests/working/dirtest.prg: * tests/working/docase.prg: * tests/working/dosshell.prg: * tests/working/dupvars.prg: * tests/working/dynobj.prg: * tests/working/empty.prg: * tests/working/exittest.prg: * tests/working/extend1.prg: * tests/working/extend2.c: * tests/working/fib.prg: * tests/working/fileio.prg: * tests/working/filexist.prg: * tests/working/fornext.prg: * tests/working/fornext2.prg: * tests/working/funcarr.prg: * tests/working/guess.prg: * tests/working/hardcr.prg: * tests/working/hello.prg: * tests/working/ifelse.prg: * tests/working/ifinline.prg: * tests/working/inherit.prg: * tests/working/inifiles.prg: * tests/working/initexit.prg: * tests/working/inline.prg: * tests/working/instr.prg: * tests/working/iotest.prg: * tests/working/iotest2.prg: * tests/working/keywords.prg: * tests/working/linecont.prg: * tests/working/longstr.prg: * tests/working/longstr2.prg: * tests/working/mankala.prg: * tests/working/mathtest.prg: * tests/working/mtran.prg: * tests/working/multiarg.prg: * tests/working/nums.prg: * tests/working/objarr.prg: * tests/working/objasign.prg: * tests/working/objects.prg: * tests/working/operat.prg: * tests/working/os.prg: * tests/working/output.prg: * tests/working/overload.prg: * tests/working/passref.prg: * tests/working/procline.prg: * tests/working/procname.prg: * tests/working/readhrb.prg: * tests/working/recursiv.prg: * tests/working/returns.prg: * tests/working/round.prg: * tests/working/rtfclass.prg: * tests/working/rtl_test.prg: * tests/working/say.prg: * tests/working/scroll.prg: * tests/working/seconds.prg: * tests/working/set_num.prg: * tests/working/set_test.prg: * tests/working/spawn.prg: * tests/working/spawn2.prg: * tests/working/statfun.prg: * tests/working/statics.prg: * tests/working/strcmp.prg: * tests/working/strdelim.prg: * tests/working/strings.prg: * tests/working/strings2.prg: * tests/working/strings3.prg: * tests/working/strings4.prg: * tests/working/strip.prg: * tests/working/syserror.prg: * tests/working/t1.prg: * tests/working/test.prg: * tests/working/test10.prg: * tests/working/test_all.prg: * tests/working/testcgi.prg: * tests/working/testcopy.prg: * tests/working/testerro.prg: * tests/working/testfor.prg: * tests/working/testgt.prg: * tests/working/testhbf.prg: * tests/working/testhtml.prg: * tests/working/testid.prg: * tests/working/testinc.prg: * tests/working/testmem.prg: * tests/working/teststr.prg: * tests/working/testtok.prg: * tests/working/testvars.prg: * tests/working/testwarn.prg: * tests/working/transfrm.prg: * tests/working/val.prg: * tests/working/version.prg: * tests/working/while.prg: Added RCS Id keywords to all these files. Got rid of a few '//' comments in C/H files. Added include guards to a few H files. Tue Jul 13 13:44:04 1999 Gonzalo A. Diethelm * include/Makefile: * source/rtl/Makefile: * tests/working/Makefile: Updated list of files. * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/console.c: * source/rtl/dates.c: * source/rtl/descend.c: * source/rtl/dir.c: * source/rtl/environ.c: * source/rtl/files.c: * source/rtl/hardcr.c: * source/rtl/math.c: * source/rtl/mtran.c: * source/rtl/set.c: * source/rtl/strings.c: * source/rtl/transfrm.c: Protected all uses of #pragma startup so they won't trigger a warning with gcc. * tests/working/inifiles.prg: Fixed a typo. 19990712-23:40 EDT David G. Holm * include/hbdefs.h ! The HB_HANDLE type was being defined in the #else section of a #ifdef __IBMCPP__ section instead of being defined for all compilers 19990712-19:30 EDT David G. Holm * tests/working/inifiles.prg ! new() no longer returns nil and now checks to see if the file was successfully opened or created before attempting to access it 19990712-19:15 EDT David G. Holm * source/rtl/files.c ! hb_fsCreate now creates files that are read-write instead of write-only ! hb_fsRead now returns 0 instead of 65536U after a read() error 19990712-22:00 Eddie Runia * source/rtl/classes.c Some more test data left in 19990712-19:10 Eddie Runia * tests/working/*.prg Little inconsistency corrected 19990712-16:52 Antonio Linares * include\classes.ch * Inheritance class creation command support * Enhanced tests\working\classch.prg classes.ch sample 19990712-15:54 Antonio Linares * include\classes.ch * Missing oClass:Create call * Fixed Method INLINE command * Added tests\working\classch.prg classes.ch sample 19990712-13:56 Antonio Linares * include\classes.ch * Added support for CONSTRUCTOR and INLINE Methods 19990712-10:52 Alexander Kresin * source\hbpp\hbpp.c * fixed some bugs of #translate implementation 19990711-21:30 Eddie Runia * source/rtl/classes.c Debug text removed 19990711-21:15 Eddie Runia * include/hbdefs.h; include/extend.h; source/rtl/codebloc.c; source/rtl/memvars.c HANDLE changed to HB_HANDLE 19990711-20:25 Ryszard Glab * include/init.h * all functions and variables declared in this file have to be 'static' * source/vm/initsymb.c * added again #ifdef HARBOUR_STRICT_ANSI_C to call functions for symbols table initialization only when strict ANSI C compiler is used. * include/extend.h + added HB_VALUE structure for storing memvars and detached locals + added hb_struMemvar used in HB_ITEM structure * include/hbdefs.h + added IT_MEMVAR constant for values stored as memvar reference + added IS_MEMVAR macro * source/vm/hvm.c * corrected support for detached local variables + added support for static variables passed by reference * variables passed by reference can be now chained and a reference to static variable can be mixed with a reference to local variable (this should work for memvar variables too) * source/rtl/codebloc.c * corrected support for detached local variables + added copyright info + source/rtl/memvars.c + new file for PUBLIC and PRIVATE variables handling (it supports detached locals currently) * source/rtl/classes.c * updated to use 'ItemUnRef()' function instead of direct stack access * source/rtl/extend.c * updated to use 'ItemUnRef()' function instead of direct stack access * removed all if( pItem->type & IT_BYREF ) and replaced with the *only* correct if( IS_BYREF(pItem) ) * source/rtl/Makefile + added memvars.c file - tests/working/codebl2.c - removed this file because its code is now in codebl.prg file * tests/working/codebl.prg * added new code to test detached locals (donated by David Pearson) * tests/working/byref.prg * added new code to test if Harbour handles variables passed by reference correctly * tests/working/Makefile - removed codebl2.prg * doc/codebloc.txt * updated information to reflect current implementation of codeblocks + config/win32/bcc32.cf + new file for Borland C/C++ Builder (This file is NOT TESTED yet) + config/win32/icc.cf + new file for IBM Visual Age C++ (This file is NOT TESTED yet) * makefile.b16 * makefile.b32 * makefile.icc * makefile.vc + added source/rtl/memvars.c * makedos.env * added '-I.' switch for compiler flags * source/compiler/harbour.l - removed #include "./harboury.h" (it is now handled by makedos.env) * source/tools/stringp.prg * corrected bug in line 101 (':=' should be here instead of '+=' 19990710-23:15 Alexander Kresin * source\hbpp\hbpp.c * fixed some bugs - now we can use classes.ch Old Changelog renamed to Changelog.001 + ChangeLog 19990710-15:00 Ryszard Glab * tests/working/Makefile + added longstr2.prg 19990710-14:00 Ryszard Glab * tests/working/Makefile * removed asctest.prg * renamed errorsys.prg to syserror.prg * tests/working/errorsys.prg - renamed to syserror.prg to avoid duplicated symbol ERRORSYS__initSymbols * source/compiler/harbour.y * EXTERN definition is now in 'Statement' section to compile code: if .T. EXTERNAL xx ENDIF 19990709-19:00 Eddie Runia + tests/working/clsdata.prg Test program supplied by Bruno Cantero * source/rtl/classes.c; source/rtl/tclass.prg inheritance class data bug resolved. 19990709-18:21 Antonio Linares + source/compiler/harbour.l added support for ppo #line token Described line bug was mine. Fixed! + source/compiler/harbour.y added support for ppo #line syntax (including XBase++ style) 19990709-16:25 Eddie Runia * build32.bat; source/runner/runner.c; source/runner/run_exp.h; tests/working/hb32.bat; tests/working/runrdos.bat - tests/working/runner.c; tests/working/run_exp.h runner moved to /source/runner * source/vm/initsymb.c; include/init.h init symbols no longer worked both on Borland C++ Builder as well as DJGPP + source/compiler/harbour.l include bug for DJGPP resolved * tests/working/ainstest.prg copy error resolved 19990709-20:00 Andi Jahja + tests/broken/clasname.prg by Dave Pearson + tests/broken/statics1.prg by Bruno Cantero + tests/broken/statics2.prg by Bruno Cantero 19990709-11:05 CET Eddie Runia * source/compiler/harbour.y Copyright portable objects added 19990709-10:50 CET Eddie Runia * tests/working/*.prg identified my tests and moved them to the PD 19990709-10:30 CET Felipe Coury * tests/working/hscript/hscript.prg; tests/working/hscript/*.hs Copyright & GPL inserted 19990708-20:05 EDT David G. Holm + Added my email address to my Coypright notice in each of the following: * include/fileio.ch * include/filesys.api * include/filesys.h * include/set.ch * include/set.h * include/version.h * source/rtl/console.c * source/rtl/dates.c * source/rtl/devoutp.prg * source/rtl/set.c * source/rtl/strcmp.c * tests/working/output.prg * tests/working/round.prg * tests/working/scroll.prg * tests/working/seconds.prg * tests/working/version.prg 19990708-18:20 EDT David G. Holm * makefile.icc + Have to create a dummy unistd.h in the include directory after running bison and then delete it after building harbour.exe, because GNU bison adds "#include " for C++ mode, but the IBM Visual Age C++ 3.0 compiler doesn't have such a file. * config/dos/global.cf Added individual -$(RM) commands for *.bak, *.obj, core, and *.o, because the COMMAND.COM DEL command won't take more than one target. * include/fileio.ch + Added copyright and license header and filled in version history * include/filesys.api + Added copyright and license header and filled in version history * include/filesys.h + Added copyright and license header and filled in version history * include/set.ch + Added copyright and license header and filled in version history * include/set.h + Added copyright and license header and filled in version history 19990708-22:00 Bruno Cantero CVSed by Andi Jahja Applying undocumented calling to _par*() and _stor*() providing a -1 as the first parameter will access the item located at stack.Return instead of accessing the stack parameters include/extend.h: * hb_param * hb_parc * hb_parclen * hb_pards * hb_parl * hb_parnd * hb_parni * hb_parnl * hb_parinfo * hb_storc * hb_storclen * hb_stords * hb_storl * hb_storni * hb_stornl * hb_stornd source/rtl/extend.c: * hb_param * hb_parc * hb_parclen * hb_pards * hb_parl * hb_parnd * hb_parni * hb_parnl * hb_parinfo * hb_storc * hb_storclen * hb_stords * hb_storl * hb_storni * hb_stornl * hb_stornd source/working : * extend1.prg - undocumented feature included * extend2.c - undocumented feature included 19990808-12:18 Antonio Linares * source/vm/hvm.c Added copyright and license information * source/vm/dynsym.c Added copyright and license information * source/compiler/harbour.l Added copyright and license information * source/compiler/harbour.y Added copyright and license information * source/compiler/genobj32.c Added copyright and license information * source/compiler/symbols.asm Added copyright and license information * source/rtl/dates.c Added copyright and license information * source/rtl/console.c Added copyright and license information * source/rtl/extend.c Added copyright and license information * source/rtl/strings.c Added copyright and license information * source/rtl/arrays.c Added copyright and license information * source/rtl/classes.c Added copyright and license information * source/rtl/errorapi.c Added copyright and license information * source/rtl/itemapi.c Added copyright and license information * source/rtl/tclass.prg Added copyright and license information * source/rtl/error.prg Added copyright and license information * source/rtl/errorsys.prg Added copyright and license information * source/rtl/errorapi.prg Added copyright and license information * include/classes.ch New Harbour file for classes creation commands * include/compiler.h Added copyright and license information * include/ctoharb.h Added copyright and license information * include/errorapi.h Added copyright and license information * include/extend.h Added copyright and license information * include/init.h Added copyright and license information * include/itemapi.h Added copyright and license information * include/pcode.h Added copyright and license information 19990808-10:15 Eddie Runia * source/rtl/transfrm.c header change 19990708-14:00 Andi Jahja * source/rtl/file.c Change per Paul for MSC 19990708-14:00 Bruno Cantero CVSed by Andi Jahja include/extend.api + #define _reta hb_reta * change hb_storlen to hb_storclen source/rtl/extend.h + declaration of hb_reta source/rtl/extend.c :) wArrayIndex use now completely implemented + #include * hb_storc * hb_storclen * hb_stords * hb_storl * hb_storni * hb_stornl * hb_stornd tests/working : * extend1.prg * extend2.c 19990705-14:10 Alexander Kresin * source\hbpp\hbpp.c * source\hbpp\table.c * source\hbpp\hbppmain.c * source\hbpp\hbppint.c * include\hberrors.h * Implemented genError() for preprocessor + Added copyright and license information 19990707-23:10 EDT David G. Holm + harbour.b31 + Separate harbour.exe makefile, so that it is possible to build 16-bit Harbour programs using a 32-bit compiler and the 16-bit libraries or by using a 16-bit compiler and libraries. * makefile.icc + Put bison and flex back into operation after finding OS/2 versions of each that work as expected: gnubison.zip and flex254-2.zip from http://www.leo.org/pub/comp/os/os2/leo/gnu/index.html * include/init.h ! Missing ; after return 1 in HB_STARTUP_SYMBOLS_END for MSC and IBMCPP * source/rtl/transfrm.c ! Missing ; after HB_INIT_SYMBOLS_END 19990707-20:45 EDT David G. Holm * doc/gmake.txt + Added NOTES section with steps needed for a clean build * include/version.h + Added copyright and license header and filled in version history * source/rtl/console.c + Added copyright and license information for functions that I wrote * source/rtl/dates.c + Added copyright and license information for functions that I wrote * source/rtl/math.c + Added copyright and license information for function that I wrote * source/rtl/strcmp.c + Added copyright and license information for function that I wrote * tests/working/output.prg + Added copyright and license information * tests/working/round.prg + Added copyright and license information * tests/working/scroll.prg + Added copyright and license information * tests/working/seconds.prg + Added copyright and license information * tests/working/version.prg + Added public domain information 19990708-01:33 Bruno Cantero CVSed by Andi Jahja source/rt/arrays.c * hb_arrayGetDate() - fixed warning : function returns address of local variable. include/extend.api + #define _parinfa hb_parinfa include/extend.h + declaration hb_parinfa source/rtl/extend.c: * hb_parinfa - now return long tests/working : + extend1.prg + extend2.c These are test programs for Harbour extend system 19990707-20:50 Eddie Runia - tests/working/asctest.prg not an original work 19990707-20:10 Eddie Runia * tests/working/mankala.prg; tests/working/transfrm.prg; tests/working/debugtst.prg; tests/working/readhrb.prg; tests/working/strip.prg; tests/working/inherit.prg; tests/working/guess.prg Copyright added (why not) 19990707-19:40:00 Eddie Runia * source\rtl\asort.prg; source\rtl\objfunc.prg; source\runner\runner.c; tests\working\runner.c; source\tools\debug.c; source\tools\stringp.prg GPL Licensing added * source\rtl\console.c; source\rtl\environ.c; source\rtl\tclass.prg Partial Copyright added 19990707-16:22:20 Bruno Cantero CVSed by Andi Jahja * source/rtl/natmsg/msgspa.c 19990707-16:20:20 Bruno Cantero CVSed by Andi Jahja source/rtl/arrays.c + hb_arrayGetDate - retrieves the date value contained on an array element include/extend.h: + hb_arrayGetDate protoype source/rtl/extend.c * hb_pards - wArrayIndex use when retrieving date value of an array element implemented 19990707-11:10 Alexander Kresin * source\compiler\harbour.l * source\compiler\harbour.y * include\hberrors.h * changed calls of genError() function for implementing it to preprocessor * from harbour.y removed some lines related to #include implementation 19990706-23:35 EDT David G. Holm * source/rtl/set.c + Added header template and filled in complete version history by cross- referencing ChangeLog and the output from "cvs log source/rtl/set.c". 19990706-22:40 EDT David G. Holm * doc/hdr_tpl.txt - Removed "(C)" from Copyright notice + Put author's name rather than date next to each version number, because the RCS tracks dates, but only tracks CVS user names, not author names. + Added version comment for Victor Szel's change * source/compiler/fixflex.c + Placed under GPL * source/rtl/devoutp.prg - Removed "(C)" from Copyright * Updated previous version comments 19990707-03:48 CET Victor Szel * doc/hdr_tpl.txt * Description line changed to be a template, too. * source/rtl/natmsg/msghu.c tests/working/rtl_test.prg + Copyright notice added. 19990707-22:25:59 Bruno Cantero CVSed by Andi Jahja source/rtl/extend.c * hb_parni - wArrayIndex use when retrieving an array element implemented * hb_parnl - wArrayIndex use when retrieving an array element implemented 19990706-16:30 Eddie Runia * source/rtl/asort.prg; source/rtl/objfunc.prg; source/runner/runner.c; source/tools/debug.c; source/tools/stringp.prg; source/rtl/transfrm.c Copyright assertions made. * source/rtl/strcmp.c; source/rtl/classes.c Partial copyright assertion made 19990706-20:15 Bruno Cantero CVSed by Andi Jahja => retrieve the logical value contained on an array element => retrieve the double value contained on an array element source/rtl/arrays.c + internal hb_arrayGetBool + internal hb_arrayGetDouble source/rtl/extend.c * hb_parnl * hb_parnd include/extend.h + hb_arrayGetBool prototye + hb_arrayGetDouble prototype 19990705-14:10 Alexander Kresin * source\hbpp\hbpp.c * fixed some warnings * source\hbpp\table.c * fixed bugs in table, reported by David G. Holm 19990704-23:45 EDT David G. Holm * makefile.b16 + Added devoutp * makefile.b31 + Added devoutp * makefile.b32 + Added devoutp * makefile.icc + Added devoutp * makefile.vc + Added devoutp + Added commands to compile .prg to .c * include/dates.h + Added date format parameter to hb_dtoc() * source/rtl/Makefile + Added devoutp * source/rtl/console.c ! Corrected non-GT API version of DISPBOX() to also draw lines + Added date format parameter to call to hb_dtoc() * source/rtl/dates.c + Added date format parameter to hb_dtoc() instead of always using hb_set.HB_SET_DATEFORMAT, so that TRANSFORM() can use it + Added hb_set.HB_SET_DATEFORMAT as parameter in call to hb_dtoc() + source/rtl/devoutp.prg + New module for HARBOUR DEVOUTPICT(,,[]) * source/rtl/gtapi.c ! Corrected hb_gtBox to also draw lines * source/rtl/strings.c + Added hb_set.HB_SET_DATEFORMAT as parameter in call to hb_dtoc() * source/rtl/transfrm.c ! Corrected date transformation to call hb_dtoc() with either hb_set.HB_SET_DATEFORMAT, the 2-digit year british date format, or the 4-digit year british date format (depending upon the use of the format function "@E" and the setting for SET CENTURY + tests/working/say.prg + Demonstrates DEVPICT() by use of @ ... SAY ... PICTURE ... 19990704-18:50 EDT David G. Holm * include/ctoharb.h * Converted length parameter in PushString to ULONG in order to support strings longer than 64 KB * include/errorapi.h + Added hb_errorRT_TERMINAL() wrapper function * include/gtapi.h + Added support for strings longer than 64 KB * include/hbsetup.h + Added optional HARBOUR_LANGUAGE_ manifest constant to select which national language will be in the RTL library created by the GNU Make System * include/set.h + Added extern int hb_set_extrahan; + Limited size of SET strings to 64 KB or less * source/rtl/console.c * Made various changes after running through Gimpel Lint + Added support for HB_SET_EXTRAFILE * source/rtl/environ.c + Added OS() support for DJGPP - Removed OS/2 check from non-OS/2 section of OS() * source/rtl/errorapi.c + Added hb_errorRT_TERMINAL() wrapper function * source/rtl/gtapi.c + Added support for strings longer than 64 KB * source/rtl/msgxxx.c ! Changed from using #if (HB_LANGUAGE == to using #if defined(HB_LANGUAGE_) with a default of UK * source/rtl/set.c * Made various changes after running through Gimpel Lint + Added call hb_errorRT_TERMINAL() wrapper function upon failure to create an alternate file and/or a printer file (and/or an extra file, even though I still don't know have any idea as to what it is used for) + Added support for HB_SET_EXTRAFILE + Added support for strings longer than 64 KB * source/vm/hvm.c * Converted length parameter in PushString to ULONG to allow for strings longer than 64 KB (Note: 16-bit programs and constant strings in source files are still limited to 64 kB) ! Corrected Instring() to call hb_strat() with the entire first string as the first parameter instead of looping to check if each character in the first string is in the second string + tests/working/longstr2.prg + Demonstrates the creation and output of short, long, and very very long strings (10 bytes, 40960 bytes, and 1310720 bytes) * tests/working/output.prg + Added demonstration of _SET_EXTRAFILE 19990704-16:20 Ryszard Glab * include/init.h * changed definitions of HB_INIT_SYMBOLS_* and HB_CALL_ON_STARTUP_* to make it more consistent. The symbol table should be defined now: HB_INIT_SYMBOLS_BEGIN( moduleName__InitSymbols ) { "FIRST", FS_PUBLIC, HB_FIRST, 0}, /* more symbols */ HB_INIT_SYMBOLS_END( moduleName__InitSymbols ); * source/compiler/harbour.y * changed generated C code to support new HB_INIT_SYMBOLS_* macros * source/rtl/arrays.c * source/rtl/classes.c * source/rtl/console.c * source/rtl/dates.c * source/rtl/descend.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/files.c * source/rtl/hardcr.c * source/rtl/math.c * source/rtl/mtran.c * source/rtl/set.c * source/rtl/strings.c * source/rtl/transfrm.c * changed to use he new definition of HB_INIT_SYMBOLS_* and HB_CALL_ON_STARTUP_* macros * tests/working/box.prg * changed "BOX.CH" to lowercase (Linux is case-sensitive OS) 19990702-09:08 Alexander Kresin * source\hbpp\hbpp.c * Changed logic for fixing some problems * source\hbpp\hbppint.c * source\hbpp\hbppmain.c * changed code for accepting #line sentences 19990702-00:30 EDT David G. Holm * makefile.b31 * Changed -DUSE_GTAPI to -DHARBOUR_USE_GTAPI + Added module hb_f + Added module copyfile 19990701-22:30 EDT David G. Holm * makefile.icc * Changed -DUSE_GTAPI to -DHARBOUR_USE_GTAPI * source/rtl/console.c ! HB_CALL_ON_STARTUP_END() must be called from inside the function that was defined using HB_CALL_ON_STARTUP_START() * source/rtl/environ.c ! No #includes are allowed ahead of #ifdef __IBMCPP__ 19990630-19:35 EDT David G. Holm * source/rtl/errorapi.c - Removed assignment of default severity value. * source/rtl/error.prg + Added default values to all member variables (which is the correct permanent solution). 19990630-19:25 EDT David G. Holm * source/rtl/errorapi.c * Changed the default severity value in hb_errNew() to ES_WHOCARES as the permanent solution (matches Clipper). 19990630-17:45 EDT David G. Holm * source/rtl/errorapi.c + Added a default severity value of ES_ERROR in hb_errNew() as a temporary workaround to the error severity problem. * source/rtl/errorsys.prg - Removed CHR(13)+CHR(10) from QOUT() of error message, because Clipper doesn't have a blank line between the error message and the error trace. 19990630-02:10 EDT David G. Holm * harbour.b31 - Removed -DHARBOUR_STRICT_ANSI_C * makefile.b31 - Removed -DHARBOUR_STRICT_ANSI_C * include/init.h - Removed #pragma startup * source/compiler/harbour.y + Added output for #pragma startup in C generation * source/rtl/arrays.c + Added #pragma startup * source/rtl/classes.c + Added #pragma startup * source/rtl/console.c + Added #pragma startup * Made InitializeConsole() a startup function * source/rtl/dates.c + Added #pragma startup * source/rtl/descend.c + Added #pragma startup * source/rtl/dir.c + Added #pragma startup * source/rtl/environ.c + Added #pragma startup * source/rtl/files.c + Added #pragma startup * source/rtl/hardcr.c + Added #pragma startup * source/rtl/math.c + Added #pragma startup * source/rtl/mtran.c + Added #pragma startup * source/rtl/set.c + Added #pragma startup * source/rtl/strings.c + Added #pragma startup * source/rtl/transfrm. + Added #pragma startup * source/vm/hvm.c - Removed InitializeConsole() 19990629-23:00 EDT David G. Holm * build31.bat + Added option to build 16-bit harbour.exe instead of just the harbour libraries by using "build31 hb" instead of "build31" * makefile.b31 - Moved everything to do with harbour.exe to harbour.b31 + Added dir and msguk + harbour.b31 + Split out from makefile.b31 + Added preprocessor files * source/compiler/fixflex.c + Switched from using a series of if statements for the smaller large files to using an array of table names and a for loop - Removed yy_acclist from new array * source/vm/hvm.c * Changed a few error messages from "types not match..." to "types do not match..." * tests/working/Makefile * Changed order in which library files are included 19990630-00:25 Ryszard Glab * include/init.h * the HB_INIT_SYMBOLS in now divided into HB_INIT_SYMBOLS_BEGIN and HB_INIT_SYMBOLS_END to support Borland C compilers. * include/hbdefs.h * added missing changes related to new HB_ITEM * source/compiler/harbour.y * corrected line continuation bug (the parse parameters was counted incorrectly) * the compiler generates code to use HB_INIT_SYMBOLS_* macros for symbol table initialization * source/rtl/*.c * corrected some missing code related to new HB_ITEM * changed code that registers local symbol table (it uses HB_INIT_SYMBOLS_* macros now) * source/tools/debug.c * changed code to support new HB_ITEM structure 19990629-05:55 Ryszard Glab * Tagged all sources with the name 'release_old_item' You can download old version by issuing tthe following command: cvs checkout -r release_old_item harbour (be sure to checkout into new directory) To check tag names for file use: cvs status -v * include/extend.h * changed definition of HB_ITEM structure * include/init.h * added HB_INIT_SYMBOLS and HB_CALL_ON_STARTUP macros * include/hbsetup.h * renamed HB_STRICT_CLIPPER_COMPATIBILITY to HARBOUR_STRICT_CLIPPER_COMPATIBILITY + added HARBOUR_STRICT_ANSI_C definition * source/vm/hvm.c * changed to use the new HB_ITEM * source/initsymb.c * changed to use HARBOUR_STRICT_ANSI_C * source/rtl/*.c * changed to use the new HB_ITEM * changed to automatically register symbol table *source/tools/stringsx.c * removed direct access to Harbour internals HB_ITEM structure * source/compiler/harbour.l * corrected line continuation bugs * source/compiler/harbour.y * corrected line continuation bug * tests/working/linecont.prg * added some more code for testing line continuation 19990628-23:30 EDT David G. Holm * source/tools/hb_f.c * Undid previous type change for x in hb_hbfskip(), because it causes a serious problem in an attempt to avoid a warning. The strange thing is that GCC (DJGPP) doesn't complain either way, even with -pedantic enabled. 19990628-21:50 EDT David G. Holm * source/compiler/harbour.y * Changed fopen() call used to create .PPO files from using mode "wt", which is not ANSI-C compliant, to "w", which is the ANSI-C way to create or open/truncate a text mode file. 19990627-23:50 CET Victor Szel * source/compiler/harbour.l ! Fixed line number bug. (LINE opcode, PROCLINE(), error messages) * tests/working/procline.prg tests/working/copyfile.prg tests/working/copyfile.txt + Added. 19990627-16:30 CET Victor Szel * source/rtl/strings.c source/rtl/set.c (added four Clipper errors) source/rtl/math.c source/rtl/environ.c source/rtl/transfrm.c source/rtl/dates.c source/rtl/arrays.c (partially) + Using error launcher wrapper + Made launched errors Clipper compatible. ! Some incompatibilities fixed in error handling (RTRIM, TRIM, ...) * source/rtl/errorsys.prg + Builds error message text like Clipper. * source/rtl/copyfile.c % Optimized var scoping, var naming + Error handling enhanced, using error launcher wrapper. + HB_STRICT_CLIPPER_COMPATIBILITY mode added. ! BYTEP -> char* for strings ! char* -> PBYTE for buffer % Copy loop optimized + Error handling added to copy loop + Notes added about Clipper compatibility, todos, questions. * source/vm/hvm.c * "DUNNO" -> "UNKNOWN" 8) * makedos.env + HARBOUR.EXE called with -i parameter, to be able to include .CH files (probably should be added to other make environments, too.) 19990627-09:00 "Paul Tucker" * source/hbpp/hbpp.c - change lines from 1246 to 1257 19990626-13:35 Ryszard Glab * source/rtl/copyfile.c * added code to copy also the file permissions on *nix * source/rtl/files.c * 'access' function should use F_OK constant instead of 0 on *nix 19990626-13:12 Ryszard Glab * tests/working/Makefile * removed MAKECMDGOALS logic 19990626-06:20 Ryszard Glab * source/compiler/harbour.l * corrected line continuation bugs - removed yy_lex_count_lf function since this is handled by preprocessor now * restored the END rule * tests/working/linecont.prg * moved from tests/broken to tests/working * tests/working/Makefile + added linecont.prg to BAD_PRG_SOURCES section * doc/gmake.txt * updated list of supported compilers 19990625-20:15 EDT David G. Holm * tests/working/inifiles.prg - Added an error message that displays when the specified section number is larger than the number of sections in the .INI file * tests/working/testcgi.prg - Added test to skip WHILE loop if list.txt couldn't be opened * tests/working/teststr.prg - Corrected spelling of _SET_FIXED Fri Jun 25 18:27:43 1999 Gonzalo A. Diethelm * include/Makefile: * tests/working/Makefile: Updated the file list. * tests/working/dirtest.prg: Made the output easier to be read. 19990624-21:10 EDT David G. Holm * source/compiler/harbour.l - Corrected logic in if block that prints spurious error message when using END with a DO or WHILE to actually check the while counter - Changed from printf() error message to GenError( ERR_ENDIF ) 19990625-01:05 CET Victor Szel * include/extend.h include/dates.h source/rtl/extend.c source/rtl/itemapi.c source/rtl/transfrm.c source/rtl/dates.c makefile.b31 makefile.icc hb_date*() function definitions moved to dates.h, all required changed made in sources. ! source/rtl/copyfile.c buffer size 8096 -> 8192 * source/rtl/types.h SYMBOL_UNUSED() -> HB_SYMBOL_UNUSED() + source/rtl/errorapi.c, include/errorapi.h Added return value to hb_errorRT_BASE() ! test.ch removed again from /include ! cgi.ch added again to tests/working/hscript * source/rtl/mtran.c source/rtl/hardcr.c (fixed) changes by Jose Lalin. * include/*.h, include/*.api Clean-ups, headers added, HB_ prefixes, minor fixes. * include/set.h source/rtl/set.c source/vm/hvm.c InitializeSets() -> hb_setInitialize() ReleaseSets() -> hb_setRelease() * types.h -> hbdefs.h include\extend.h include\hbdefs.h include\makefile include\set.h source\compiler\genobj32.c source\compiler\harbour.l source\compiler\harbour.y source\compiler\makefile source\hbpp\harb.h source\vm\initsymb.c gt.b32 makefile.b16 makefile.b31 makefile.b32 makefile.icc terminal.b32 19990624-19:30 EDT David G. Holm * makefile.icc - environ.c needs to be dependent upon version.h * include/version.h - Bumped revision code to "c" (still build 27) 19990624-23:20 CET Kwon, Oh-Chul * source/rtl/natmsg.xxx Korean added * source/rtl/natmsg/msgkor.c Korean language file 19990624-15:40 EDT David G. Holm * doc/hdr_tpl.txt - Added proposed HRL/HVM license exception for executables. - Added GNU web site address. - Replaced "?" in copyright statement with "(list of individual authors)". 19990624-15:15 EDT David G. Holm * makefile.b31 - Removed genobj * makefile.icc - removed genobj * source/rtl/copyfile.c - Added type override to hb_xgrab() call * source/rtl/files.c - Removed test printf() calls that I forgot to remove from hb_fsWrite() after debugging hb_fsCreate() last night * source/rtl/set.c - Minor change in last if block in HB___SETCENTURY() to avoid a signed/unsigned comparison complaint by some compilers. * source/tools/hb_f.c - In hb_hbfskip(), made x the same type as read_len to avoid a signed/unsigned comparison complaint by some compilers. * tests/working/Makefile - Added box.prg * tests/working/test_all.prg - Added optional second command line parameter. If not used, testall.bat uses call, otherwise it uses the command shell specified and automatically adds /c. Examples: test_all hbdos ==> call hbdos ainstest test_all hbdos command ==> command /c hbdos ainstest 19990624-13:40 EDT David G. Holm * source/rtl/gt/gtwin.c - New functions for gtWhereX() and gtWhereY() contributed by Paul Tucker - Removed all occurrences of strlen(), replacing them either with a parameter string length or a calculated string width 19990624-19:17 CET Felipe Coury + tests/working/hscript/ugly.hs additional test file * tests/working/hscript/hscript.prg * tests/working/hscript/readme.txt new version Thu Jun 24 12:25:30 1999 Gonzalo A. Diethelm * include/Makefile: Added the following files: box.h, compat.h, extra.h, super.h, box.ch, color.ch, rdd.api. * source/rtl/Makefile: Added copyfile.c. * source/rtl/errorsys.prg: Changed an END to an ENDDO, to avoid Harbour compilation errors. 19990624-13:00 WIB Andi Jahja * source/rtl/copyfile.c - add run time error 19990623-23:25 EDT David G. Holm * source/rtl/console.c - The non-GT API version of DISPBOX() was creating boxes that were one column and one row to small. 19990623-23:00 EDT David G. Holm * source/rtl/copyfile.c - Renamed _fsCopy to hb_fsCopy(), in case we decide to make it available to other internal Harbour functions later. * source/rtl/files.c - Solved the apparent read only problem with hb_fsCreate(). The problem turned out to be that errno is set to an error value if open() has to create the file instead of opening and truncating. And because hb_fsCreate() wasn't checking the return value before saving errno for hb_fsError(), an error would be indicated if the file had to be created. But now test/working/testcopy works even when newprog.prg (the destination for the COPY TO command) doesn't exist. 19990623-22:05 EDT David G. Holm Code has been added to the following two modules to return the correct number of decimal places for floating point results. * source/rtl/descend.c * source/rtl/math.c 19990623-21:50 EDT David G. Holm Oops! I accidentally left the HB_USE_STRICMP and HB_USE_STRCASECMP stuff in these two files. It's really gone now... * include/hbsetup.h * source/rtl/strcmp.c 19990623-21:30 EDT David G. Holm * makefile.b31 - Added support for source/rtl/copyfile.c - source/rtl/genobj.c was moved to source/contrib * makefile.icc - Added support for source/rtl/copyfile.c + include/box.ch - New include file contributed by Phil Barnett + include/box.h - Moved all border type manifest constants from gtapi.h - Removed leading underscores + include/color.ch - Moved all color attribute manifest constants from gtapi.h - Removed leading underscores * include/gtapi.h - Moved all manifest constants for color attributes to color.ch - Added #include - Removed all manifest constants for cursor types - Added #include - Moved all manifest constants for border types to box.h - Added #include * include/hbsetup.h - Added HB_STRICT_CLIPPER_COMPATIBILITY * source/compiler/harbour.l - Corrected yy_lex_count_lf per Paul Tucker * source/rtl/console.c - Added minimal DISPBOX() support for those without a working GT API based on code contributed by Phil Barnett * source/rtl/dates.c - Added #include - Added HB to front of _STRICT_CLIPPER_COMPATIBILITY and _OPTIMIZE_DTOS manifest constants * source/rtl.gtapi.c - Removed leading underscores from former gtapi.h manifest constants * source/rtl/math.c - Set the default number of decimal digits after call to EXP(), LOG(), and SQRT() - Always return the value from the C/C++ compiler's log() function. Even when the HARBOUR LOG() argument is less than or equal to zero, in which case set the display width to 99 to indicate overflow. * source/rtl/strcmp.c - Removed ability to use library functions stricmp() or strcasecmp() * source/rtl/strings.c - Added #include - Added #ifdef HB_STRICT_CLIPPER_COMPATIBILITY to determine whether to use Clipper overflow indication (a string of asterisks) or to use the C/C++ compiler's indication (+/-Infinity and/or +/-Not a Number) - Added support for date and numeric arguments for first parameter in all PAD functions (PADC, PADL, PADR) * source/rtl/gt/gtdos.c - Removed leading underscores from former gtapi.h manifest constants * source/rtl/gt/gtwin.c - Removed leading underscores from former gtapi.h manifest constants - Changed all malloc() calls to hb_xgrab() * source/vm/hvm.c - In ForTest(), the number of decimal digits was being accessed before the loop counter was popped off the stack instead of after + tests/broken/cbtest.prg - Illustrates codeblock problem pointed out by Dave Pearson + tests/working/box.prg - New test program to demonstrate the use of DISPBOX() based on code contributed by Phil Barnett 19990624-08:00 WIB Andi Jahja * source/rtl/copyfile.c - function name now upper case - change filesys.api to filesys.h - add hb_ prefix to internal calls 19990623-22:30 WIB Andi Jahja + tests/working/testcopy.prg + source/rtl/copyfile.c - __CopyFile() clone * makefile.b32 to include __copyfile() 19990623-19:30 WIB Andi Jahja + tests/working/rtfclass.prg 19990623-01:00 CET Victor Szel ! source/rtl/asort.prg Added patch posted by Dave Pearson quicksort() is STATIC now. + source/rtl/types.h SYMBOL_UNUSED() macro added. 19990622-00:35 Ryszard Glab * source/compiler/harbour.y * source/compiler/harbour.l * removed some unnecessary rules * added the very begginning of MEMVAR support * include/compiler.h + added pMemvars member to _FUNC structure 19990622-14:00 CET Victor Szel * source/rdd/rdd.api moved to /include 19990621-19:09 CET Victor Szel ! source/rtl/asort.prg source/rtl/objfunc.prg Got rid of the references to Default() + Added msgcz852.c, msgczkam.c, msgyu852.c to source/rtl/natmsg/ source/rtl/msgxxx.c posted by Davor Siklic + Added cgi.ch to tests/working/hscript/, too. + source/rtl/environ.c Added patch posted by Dave Pearson 19990622-00:22 Ryszard Glab * config/prg.cf * config/test.cf * corrected to support creation of executables that don't contain extension 19990621-19:00 CET Ad Franse + source/rdd/rdd.api + include/compat.h; include/super.h; include/compat.h First version of the rdd added Mon Jun 21 12:14:15 1999 Gonzalo A. Diethelm * include/Makefile: Got rid of cgi.ch. * source/compiler/Makefile: Got rid of all ^M characters. 19990621-13:27 CET Victor Szel * source/compiler/harbour.y GCC warnings fixed. * source/contrib/genobj.c removed, as suggested by "Antonio Linares" 19990621-13:27 Alexander Kresin updated: * source\hbpp\hbpp.c * source\hbpp\buildgcc.bat * source\hbpp\makefile.b16 * source\hbpp\makefile.b32 * source\compiler\harbour.l Now keywords.prg compiles Ok. Updated makefiles for standalone version of preprocessor. From harbour.l removed all stuff related to early implementation of preprocessor functionality. 19990621-11:50 CET Victor Szel * source/compiler/harbour.y Some old PCODE name changed to new in debug_msg messages. 19990621-04:04 CET Victor Szel * include/errorapi.h - Some additions, note the copyright message at the beginning, as the final text gets done, we should put similar header to each file. ! include/hbsetup.h - USE_GTAPI was mistakenly left defined. + include/errorapi.h include/error.api source/rtl/errorapi.c The rest of the ERROR API functions implemented. . hb_errorRT_BASE() implemented. + doc/hdr_tpl.txt - added templates for file and function headers. 19990621-01:30 CET Victor Szel * whatsnew.txt moved to doc/ directory. * doc/hrb.faq renamed to hrb_faq.txt + tests/broken/vec1.prg readded. 19990621-00:57 CET Victor Szel * include/*.h Some code beatifying. * include/types.h/_PCOUNT renamed back to PCOUNT + IT_MEMOFLAG and IT_MEMO types added to include/extend.h and include/types.h * TEST.CH moved from /include to tests/working ! include/gt.api - _gtBox double define fixed. ! include/extend.api - _param removed since it's not standard Clipper. ! include/item.api - Fixed obsolete references to Array*() functions changed since to hb_array*() ! source/rtl/console/hb_setpos() - Fixed one warning. 19990621-00:37 Ryszard Glab * config/dos/watcom.cf * changed invocation of 'echo' command to overcome problems with too small space for environment variables. Note also that it is possible that you will have to increase this space at DOS startup (for example add SHELL=c:\command.com c:\ /E:2048 /P to config.sys) * removed some variables that can be expanded directly * config/dos/global.cf * all '\' are now replaced with '/' in COMSPEC variable to shell from make utility succesully + added check to not include this file recursively * config/dos/djgpp.cf * removed some unnecessary data * config/linux/gcc.cf * created executables have no extension now * config/win32/gcc.cf * config/win32/msvc.cf + added missing CC_IN variable * config/c.cf * config/global.cf * config/lib.cf * config/rules.cf + added dependency on header files for YACC and LEX sources * some rules or variables got clarified * source/compiler/Makefile + added dependency on header files * include/Makefile + added missing hbpp.h * makewat.env, makefile.wat - removed from repository - replaced by GNU make (dos/watcom.cf) * makefile.gcc, readmake.txt, tests/tests.mk - removed from repository - replaced by GNU make (gcc.cf) 19990620-23:40 CET Victor Szel * source/compiler/harbour.y Finished the required modifications for the PCODE name change. 19990620-21:40 CET Victor Szel * source/compiler/harbour.y source/compiler/genobj32.c source/vm/hvm.c source/runner/runner.c tests/working/runner.c include/pcode.h All PCODE constants prefixed with HB_P_ NOOP opcode added Reference to pcode.h was removed from runner.c 19990620-21:40 CET Victor Szel * source/rtl/console.c missed those hb_ prefixes... 19990620-21:00 CET Victor Szel * CGI.CH moved to /tests/working/ 19990620-20:00 CET Victor Szel * source/rtl/gtapi.c hb_gtGetColorStr() fixed, so that is doesn't require that the passed memory should be zero terminated, checks for null pointer. * source/rtl/console.c 64 -> CLR_STRLEN Added DISPBOX(), DISPBEGIN(), DISPEND(), DISPCOUNT(), ISCOLOR(), NOSNOW() HB_DEVOUT() cleaned up. * source/rtl/gt/gtdos.c source/rtl/gt/gtwin.c Using manifest constants. Cursors sizes in DOS made exactly compatible with Clipper. Removed not Clipper compatible cursor type 5, changed to NONE. 19990620-22:29 Alexander Kresin updated: * source\hbpp\hbppmain.c * source\hbpp\hbpp.c * source\hbpp\harb.h Fixed some problems with preprocessor 19990620-15:50 CET Victor Szel * hb_gtBox() rewritten. It's now 100% Clipper compatible, fill character supported, undocumented frame string padding supported. Leaves the cursor at the same place as Clipper does. Handling of empty or short frame string parameter fixed. Bit slower. source/rtl/gtapi.c 19990620-02:40 Ryszard Glab * config/bin.cf * config/lib.cfg * config/rules.cf * config/linux/gcc.cf * config/win32/gcc.cf * config/win32/msvc.cf * config/dos/dir.cf * config/dos/djgpp.cf * config/dos/global.cf * config/dos/install.cf + config/dos/watcom.cf * added support for other compilers not compatible with gcc (there were gcc switches hardcoded into common rules) New compiler: Watcom C/C++ 10.0 * changed rules for DJGPP - the Makefile can be used now to create harbour with DJGPP. The makedos.env and makefile.dos are obsolete now. * cleared the use of '\' and '/' in make rules for DOS environment * the make looks now for COMSPEC variable to locate the command.com in DOS environment * changed the rule for creating DJGPP library (archive) to use script file instead of command line - there is a limit of 128 characters that can be placed into command line in DOS + include/hbpp.h + new file with definition shared by the preprocessor and harbour.y (needed to match the declaration of AddDefine function) * source/hbpp/harb.h * changed to include the new hbpp.h file * source/compiler/harbour.y * changed the declaration of yy_create_buffer to make it compatible with C++ compilers * added inclusion of hbpp.h (to keep C++ compilers happy with AaddDefine function) * source/compiler/harbour.l + added #pragma to suppress warnings of unreachable code when compiled with Watcom C++ compiler 19990619-14:35 CET Matteo Baccan * makefile.vc, source/hbpp/hbpp.c, source/hbpp/hbppint.c, source/rtl/environ.c, source/rtl/files.c, source/rtl/gt/gtwin.c, source/tools/hb_f.c Patches to allow for succesful compilation with MS Visual C++ 19990619-14:00 Ryszard Glab * tests/working/testcgi.prg * tests/working/testinc.prg * changed the names of included files into lowercase * include/extend.h + added include * source/rtl/set.c + files created by SET PRINTER TO or SET ALTERNATE TO have now changed permissions to write/read by user on UNIX like OS 19990619-12:22 Ryszard Glab * include/hbsetup.h + added automatic definition of settings that can be used for OS specific code OS_UNIX_COMPATIBLE -for UNIX like systems OS_DOS_COMPATIBLE -for DOS like systems * source/rtl/console.c + added calls for fgets instead of gets for GCC on UNIX-es TODO: check if this change can be applied on DOS also * changed CR/LF use to LF for GCC on UNIX-es * source/rtl/dir.c * changed to use OS_UNIX_COMPATIBLE/OS_DOS_COMPATIBLE settings 19990619-10:42 Ryszard Glab * tests/working/Makefile * moved some files into BAD_PRG_SOURCES * tests/working/testid.prg + added TODO comment because it core dumps if /dTEST is not passed 19990619-09:49 CET Patrick Mast * Updated build numbers 19990619-09:40 CET Patrick Mast * tests\working\hscript\hscript.prg removed line 150 19990618-21:50 EDT David G. Holm * makefile.icc - genobj.c was moved to source/contrib * source/compiler/harbour.y - Added missing type overrides to OurMalloc() calls * tests/working/scroll.prg - Modified to use the preprocessor 19990618-20:55 EDT David G. Holm * source/rtl/dir.c - Corrected #if test GNU C on Unix/Linux test to use && ! instead of || ! in order to force DJGPP to use DOS functions instead of Unix functions 19990619-00:52 Ryszard Glab * config/linux/gcc.cf * added default gcc library libm * added location of libm library (I have assumed /usr/lib) * source/include/hbsetup.h + the order of static variables initialisation is not determined in gcc on Linux. This requires the definition of HARBOUR_START_PROCEDURE The dafault is 'MAIN' - tests/working/next.prg - removed because it is contained in keywords.prg * tests/working/Makefile -removed reference to next.prg 19990618-23:17 CET Patrick Mast * Release of Build #27 * version.h, updated build version 19990618-19:39 CET Patrick Mast * tests\working\hscript\bld32exe.bat changed line 17 : echo ..\runner.obj >> b32.bc because runner.obj is not in tests\working\hscript but in tests\working 19990618-17:00 CET Victor Szel * Fixed some GCC warnings in: source/compiler/harbour.y * Some left _parc()/_parni()/_parnl() prefixed with hb_ source/rtl/dir.c source/rtl/files.c * Fixed PADR(), PADL(), PADC() when called with a width less than the length of the string. Submitted by Matthew Hamilton source/rtl/strings.c 19990618-13:40 Alexander Kresin updated: * source\hbpp\hbppmain.c * source\hbpp\hbpp.c * source\hbpp\table.c Fixed some problems with preprocessor 19990618-07:50 Ryszard Glab * source/compiler/harbour.y + added deallocation of used structures + added yy_strupr and yy_strdup functions to make sure that memory is properly allocated * source/compiler/harbour.l + added declaration of yy_strupr and yy_strdup functions and changed calls for strupr and strdup to yy_strupr and yy_strdup respectively * include/hbsetup.h + added operating system dependand settings + config/linux/ + added new directory with GNU MAKE files for GCC on Linux You have to define: HB_ARCHITECTURE = linux HB_COMPILER = gcc * source/hbpp/hbppint.c * added support for Watcom C/C++ compiler + source/hbpp/makefile.wat + makefile for Watcom C/C++ compiler + source/compiler/makefile.wat * changes to link hbpp library into Harbour executable * source/rtl/console.c * source/rtl/dir.c * source/rtl/files.c * source/rtl/set.c * changed files to make them compile with Watcom C/C++ and GCC on Linux * removed PATH_SEPARATOR and replaced it with OS_PATH_DELIMITER defined in hbsetup.h * source/contrib/genobj.c * moved this file from source/tools since this is DOS specific code and it is not needed for Harbour * source/tools/Makefile - removed reference to genobj.c file * Harbour compiles fine on Linux now. However there is still some suspicious code in source/rtl/dir.c and source/rtl/files.c files. The runner.c is unsupported since it generates DOS specific code. 19990617-20:49 PST Ron Pinkas * compiler.h added member cType to struct VAR * harbour.y added { iVarScope = VS_MEMVAR; } to PRIVATE, PUBLIC, and PARAMETERS statements to avoid errounous error: "declaration follows executable statement" added: AliasExp '=' Expression Crlf { /* TODO */ GenPCode1( _POP ); } to statement definition to avoid parse error on M->Var = "Value" statments. the _POP will balance the stack but the assignment is not implemented yet. changed --iLine to iLine in yyerror() to correct errornous line numbers in parase error messages. added check for null pointer on few references to pVars->szName * hbpp.c, hbpmain.c, hbpint.c prefixed messages in all printf() with \n and postfixed with \n until modification to GenWarning() and GenError() 19990617-18:55 EDT David G. Holm * include/set.h - SET DEBUG is numeric, not logical * source/rtl/console.c - Added support for SET MARGIN * source/rtl/set.c - Added documentation - Converted HB_SET_DEBUG to numeric - Added limits of 16 and 4096 to HB_SET_TYPEAHEAD * tests/working/output.prg - Removed ADDITIVE from SET PRINTER TO OUTPUT - Added SET MARGIN TO 5 19990617-21:55 CET Eddie Runia * source/rtl/set.c __SETCENTURY in Symbol table instead of SETCENTURY * tests/working/hscript/hscript.prg Problem with comment after ; Comment moved to allow for compilation 19990617-13:00 EDT David G. Holm * doc/transfrm.txt - Updated to reflect use of SET DATE FORMAT and SET CENTURY for dates - Added question regarding behaviour difference between Harbour and Clipper for the @E date-related function * source/hbpp/hbppint.c - Removed ParseDefine("__HARBOUR__") * source/hbpp/table.c - Added __HARBOUR__ to aDefines table * source/rtl/environ.c - No #includes are allowed before the #ifdef __IBMCPP__ block * source/rtl/set.c - Renamed HB_SETCENTURY to HB___SETCENTURY - Eliminated HB_SETFIXED * tests/working/dates.prg - Converted HB_SETCENTURY() to __SETCENTURY() * tests/working/dates2.prg - Converted HB_SETCENTURY() to __SETCENTURY() * tests/working/empty.prg - Converted HB_SETCENTURY() to __SETCENTURY() * tests/working/teststr.prg - Converted HB_SETFIXED() to SET (_SET_SETFIXED) * tests/working/transfrm.prg - Converted HB_SETCENTURY() to __SETCENTURY() Thu Jun 17 11:34:35 1999 Gonzalo A. Diethelm * source/Makefile: * source/compiler/Makefile: * source/hbpp/Makefile: Now the hbpp preprocessor is compiled before the compiler, and it generates a library. No stand-alone preprocessor is generated. The compiler links against the new preprocessor library. * include/Makefile: * tests/working/Makefile: Updated the list of files. * include/compiler.h: * include/ctoharb.h: * include/dates.h: * include/error.api: * include/errorapi.h: * include/extend.h: * include/filesys.h: * include/gtapi.h: * include/hberrors.h: * include/hbsetup.h: * include/init.h: * include/itemapi.h: * include/pcode.h: * include/set.h: * include/types.h: * include/version.h: * source/compiler/fixflex.c: * source/compiler/genobj32.c: * source/compiler/harbour.l: * source/compiler/harbour.y: * source/hbpp/harb.h: * source/hbpp/hbpp.c: * source/rtl/asort.prg: * source/rtl/descend.c: * source/rtl/error.prg: * source/rtl/errorsys.prg: * source/rtl/hardcr.c: * source/rtl/itemapi.c: * source/rtl/mtran.c: * source/rtl/objfunc.prg: * source/rtl/tclass.prg: * source/tools/asciisum.c: * source/tools/ascpos.c: * source/tools/atdiff.c: * source/tools/chareven.c: * source/tools/charmix.c: * source/tools/charodd.c: * source/tools/chrcount.c: * source/tools/chrfirst.c: * source/tools/chrtotal.c: * source/tools/debug.c: * source/tools/hb_f.c: * source/tools/strasint.c: * source/tools/strcount.c: * source/tools/strcspn.c: * source/tools/strdiff.c: * source/tools/strexpan.c: * source/tools/stringp.prg: * source/tools/strleft.c: * source/tools/strpbrk.c: * source/tools/strright.c: * source/vm/hvm.c: * source/vm/initsymb.c: Made sure all *.{h,c,ch,api,prg,l,y} files under include/ and source/ have an RCS Id keyword. Got rid of the RCS Log keyword on several files; this keyword should never be placed in a source file. Made sure all *.h files have a proper include guard. If the file name is foo.h, the include guard is called FOO_H_, without a leading underscore, to comply with ANSI rules. 19990617-12:40 CET Eddie Runia * source/rtl/dir.c hb_chmod should be _chmod * tests/working/round.prg loop shortened to 100 (I thought the program has crashed, while testalling) 19990617-12:20 CET Eddie Runia * source/compiler/harbour.y GetLocalVarPos : OurMalloc( sizeof(PVAR) ) should be sizeof(VAR) 19990617-02:15 EDT David G. Holm * include/extend.api - Moved fixed memory functions to fm.api + include/fm.api - Fixed memory API functions (converts _x... to hb_x...) + include/item.api - Item API functions (converts _item... to hb_item..., etc.) 19990617-02:00 EDT David G. Holm All Extend API and GT API functions have been convert from _ to hb_ * include/compiler.h * include/errorapi.h + include/extend.api * include/extend.h + include/gt.api * include/gtapi.h - include/harbclip.h * include/types.h * source/rtl/arrays.c * source/rtl/classes.c * source/rtl/codebloc.c * source/rtl/console.c * source/rtl/dates.c * source/rtl/descend.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/errorapi.c * source/rtl/extend.c * source/rtl/files.c * source/rtl/gtapi.c * source/rtl/hardcr.c * source/rtl/itemapi.c * source/rtl/math.c * source/rtl/mtran.c * source/rtl/set.c * source/rtl/strings.c * source/rtl/transfrm.c * source/runner/runner.c * source/tools/asciisum.c * source/tools/ascpos.c * source/tools/atdiff.c * source/tools/chareven.c * source/tools/charmix.c * source/tools/charodd.c * source/tools/chrcount.c * source/tools/chrfirst.c * source/tools/chrtotal.c * source/tools/datesx.c * source/tools/debug.c * source/tools/hb_f.c * source/tools/io.c * source/tools/mathx.c * source/tools/strcount.c * source/tools/strcspn.c * source/tools/strdiff.c * source/tools/strexpan.c * source/tools/stringsx.c * source/tools/strleft.c * source/tools/strpbrk.c * source/tools/strright.c * source/vm/dynsym.c * source/vm/hvm.c * tests/working/harbour.ini * tests/working/runner.c 19990617-00:10 EDT David G. Holm * include/extend.h - Finally noticed and removed the old Error API declarations 19990617-00:00 EDT David G. Holm * include/errorapi.h - Added "#include " * source/rtl/environ.c - Added "#include - Converted all _errFunctions to hb_errFunctions * source/rtl/math.c - Added missing _errFunction to hb_errFunction conversions 19990616-23:30 EDT David G. Holm * makefile.icc - Added or corrected various include file dependencies * include/error.api - Moved all #defines to errorapi.h - Added "#include " - Added #defines to convert all _errFunctions to hb_errFunctions + include/errorapi.h - Added function declarations for all hb_errFunctions - Moved all #defines from error.api and errorapi.c * source/rtl/arrays.c - Convert all _errFunctions to hb_errFunctions * source/rtl/classes.c - Convert all _errFunctions to hb_errFunctions * source/rtl/dates.c - Convert all _errFunctions to hb_errFunctions * source/rtl/errorapi.c - Convert all _errFunctions to hb_errFunctions * source/rtl/math.c - Convert all _errFunctions to hb_errFunctions - Added ( char * ) override to _xgrab() call in HB_ROUND() * source/rtl/set.c - Convert all _errFunctions to hb_errFunctions * source/rtl/strings.c - Convert all _errFunctions to hb_errFunctions * source/rtl/transfrm.c - Convert all _errFunctions to hb_errFunctions * source/vm/hvm.c - Convert all _errFunctions to hb_errFunctions 19990616-22:50 EDT David G. Holm * source/hbpp/hbppint.c - Added ParseDefine( "__HARBOUR__" ) to Hbpp_init() * source/rtl/arrays.c - Added missing symbols to symbol table * source/rtl/console.c - Added missing symbols to symbol table * source/rtl/dates.c - Added symbol table * source/rtl/math.c - Added HARBOUR HB_ROUND() function * source/rtl/strings.c - Added missing symbols to symbol table * source/rtl/transfrm.c - Added symbol table * source/vm/initsymb.c - Added calls to Dates__InitSymbols() and Transfrm__InitSymbols() + tests/working/round.prg - New function to test ROUND() function uses OUTSTD() to allow easy checking of Harbour results against Clipper results 19990616-21:40 CET Eddie Runia * tests/working/dosshell.prg new version added 19990616-21:15 CET Matteo Baccan * makefile.vc correct updated version added * source/vm/dynsym.c NULL pointer assignment added * source/rtl/environ.c _WIN32 define added 19990616-13:45 EDT David G. Holm * source/hbpp/hbppint.c - Added extern declaration for strocpy() 19990616-11:30 CET Eddie Runia * source/rtl/console.c Eject should be __Eject of course * tests/working/dosshell.prg With preprocessed statements 19990616-13:12 Alexander Kresin updated: * source\compiler\harbour.y Added description of /p switch to PrintUsage() 19990616-11:19 Alexander Kresin updated: * source\hbpp\hbppmain.c * source\hbpp\hbppint.c * source\hbpp\hbpp.c Fixed problems with preprocessor, mentioned by David G. Holm 19990615-23:20 PST Ron Pinkas * compiler.h added member iUsed to struct VAR * hberrors.h added define of codeblock parameter not used warning * harbour.y removed PDECLARED_VAR struct definition removed code to maintain FunVars list added code to GetVarPos() to reflect use of declared variable added logic to FixReturns() and CodeBlockEnd() to generate warnings on non used decalred vaiables removed previous version of nonused declared variables warnings from FunDedf() and {Main} 19990615-23:45 EDT David G. Holm * makefile.icc - Added tools\datesx, which is needed by runner * tests/working/runner.c - Added or corrected type overrides on 4 _xgrab() calls (for C++) Compiles on OS/2, but gives "unsuported pcode opcode: 104" when used * ChangeLog - Added comment to entry 19990615-12:30 EDT David G. Holm about renaming two hb_ functions in source/rtl/console.c * makefile.icc - Build component parts of Harbour.exe separately * source/hbpp/hbpp.c - Added #ifdef block for IBM C++ compiler - Added prototype for OpenInclude() - Increased size of expreal array in ConvertPatterns from 4 to 5, because it is being initialized from a zero terminated string * source/hbpp/hbppint.c - Added #ifdef block for IBM C++ compiler * source/rtl/console.c - I went overboard in tracking the printer position, because Clipper doesn't make any adjustments for control characters sent to the printer. But it does adjust the printer row and column when QOUT() output goes to the printer, which is what I had missed. * source/rtl/dates.c - Changed hb_seconds() to hb__seconds(), because IBM C++ librarian can't distinguish between HARBOUR HB_SECONDS(void) and double hb_seconds(void) 19990616-08:00 WIB Andi Jahja + source\rtl\natmsg\msgia.c Language module for Indonesian languange ( First Asian ) 19990615-23:00 CET Felipe Coury + tests/working/hscript/bld32exe.bat; dir.hs; hb32.bat; hello.hs; hscript.prg; makehs.prg; makehtm.prg; multiply.hs readme.txt First release of hScript added 19990615-21:00 CET Jose Lalin / Eddie Runia + source/rtl/natmsg/msgbas.c * source/rtl/msgxxx.c * source/compiler/harbour.y VarId ArrayIndex ':' and ObjectData ArrayIndex ':' syntax was incorrect 19990615-12:30 EDT David G. Holm * source/compiler/makefile.dos - Integrated preprocessor into compiler * source\hbpp\hbpp.c - Added braces to avoid implicit else in ParseExpression() * source/rtl/console.c - Added HARBOUR HB_SETPOS() - Improved printer position tracking - Improved screen position tracking when not using GT API - Renamed hb_maxrow() to hb_max_row() and hb_maxcol() to hb_max_col(), because IBM C++ librarian can't distinguish between functions with the same name that differ only by the return argument. * source/rtl/files.c - convert_create_flags no longer returns a value, so declare as void * source/rtl/set.c - Logical SET values can now use "ON" for .T. and "OFF" for .F. * source/rtl/strcmp.c - hb_stricmp does a case-insensitive compare even when not using a library function. * tests/working/output.prg - Converted to use the preprocessor 19990615-10:38 Alexander Kresin removed: - source\hbpp\harb.c added: + source\hbpp\hbppmain.c + source\hbpp\hbppint.c updated: * source\hbpp\hbpp.c * source\hbpp\table.c * source\hbpp\makefile * source\hbpp\makefile.b32 * source\hbpp\makefile.b16 * source\hbpp\buildgcc.bat * source\compiler\harbour.l * source\compiler\harbour.y * makefile.b32 This is the latest preprocessor version, it may be build now as standalone or as integrated with compiler. 19990615-08:30 Ryszard Glab * source/compiler/harbour.y * added missing error message * source/compiler/harbour.l * removed printf introducced for debugging purpose 19990615-07:00 Ryszard Glab * source/compiler/harbour.y * removed bug in CodeblockEnd (the names of local variables shoudn't be released here) * source/compiler/harbour.l * corrected line continnuation logic * include/hberrors.h + added new error message * include/hbsetup.h * removed unneccessary '*/' defined for Watcom compiler + broken/linecont.prg + new file to test if linne continnuation ';' is handled correctly 19990614-15:40 EDT David G. Holm * include/extend.h - Added declaration for hb_stricmp() * include/version.h - Changed revision code to "b" * source/rtl/classes.c - Now uses hb_stricmp() instead of stricmp() * source/rtl/console.c - Now uses hb_stricmp() instead of stricmp() * source/rtl/dates.c - Fixed several bugs reported by Jose Lalin, who included the appropriate fix for most of them. * source/rtl/files.c - Removed test code that was accidentally included in CVS - Added default #define for O_BINARY * source/rtl/set.c - Now uses hb_stricmp() instead of stricmp() - Added default #define for O_BINARY * source/rtl/strcmp.c - Added new hb_stricmp() function, because stricmp() is not an ANSI C function. If stricmp() exists, it is used, else if strcasecmp exists, then it is used, otherwise use byte by byte comparision. * tests/working/dates3.prg - Added more test cases 19990614 11:50 CET Eddie Runia * source/compiler/harbour.y help text changed 19990613 23:23 CET Eddie Runia * source/rtl/natmsg/msggal.c forgot this one * tests/working/cmphello.prg Hm, I little bit quick this evening forgot the != 0 part :-) 19990613 23:15 CET Eddie Runia + source/rtl/natmsg/msg???.c more languages added. * source/rtl/natxxx.c id. 19990613 23:00 CET Eddie Runia * source/rtl/environ.c __Run() added for Borland and DJGPP + tests/working/dosshell.prg Only for DOS, OS/2 & Windows + tests/working/cmphello.prg This file compiles hello. Also usuable for Linux / Unix, if the system() command functions on their compilers :-) 19990613 16:35 CET Eddie Runia * tests/working/strip.prg; tests/working/inherit.prg; tests/working/dynobj.prg Were also not transmitted. 19990613 15:30 CET Eddie Runia * source/tools/debug.c; source/tools/stringp.prg Changes 1990612 08:00 were reverted ?? 19990613 14:30 CET Eddie Runia * source/rtl/arrays.c; source/rtl/classes.c; source/rtl/files.c; source/rtl/console.c; source/rtl/dir.c; source/rtl/environ.c; source/rtl/math.c; source/rtl/set.c; source/rtl/strings.c InitSymbols added * source/rtl/transfrm.c Warnings eliminated * source/vm/initsymb.c calls to RTL functions added * tests/working/run_exp.h removed unnecessary references and sort alphabetically 19990612 08:30 CET Matthew Hamilton * tests/working/inifiles.prg with ReadBool and WriteBool 19990612 10:57 PST Ron Pinkas * source/compiler/harbour.y Added check on non used variables to be done at the end of source file so last function will be tested too. 19990612-18:55 CET Eddie Runia * source/rtl/files.c One byte more allocated for fReadStr() 19990612-17:00 CET Matthew Hamilton * source/rtl/strings.c Extended syntax for alltrim and rtrim 19990612-14:10 CET Eddie Runia * source/rtl/dir.c month started with 0 (Jan). Harbour months start with 1. * tests/working/dirtest.prg output sorted alphabetically and case insensitive. 19990612-13:45 CET Eddie Runia * source/rtl/files.c read-only file creation resolved. The permission should be passed as the third parameter to open. 19990612-11:22 CET Patrick Mast * Release of Build #26 * version.h, updated build version + Included WhatsNew.txt 19990612-08:30 CET Jose Lalin / Eddie Runia * tests/working/testcgi.prg New version uploaded. ER : Changed HB_File -> File and Functions.cfm -> Function.cfm + tests/working/list.txt, function.cfm Referenced files added 19990612-08:00 CET Eddie Runia * tests/working/debugtst.prg, tests/working/clasinit.prg, * tests/working/funcarr.prg, tests/working/objarr.prg, * tests/working/objasign.prg Reference to HBDebug() renamed to Debug() * tests/working/run_exp.h, tests/working/runner.c all reference now correct * source/tools/debug.c HB_Static -> HB___Static * source/tools/stringp.prg HBDebug() renamed to Debug() Fri Jun 11 1999 19:35 PST Ron Pinkas * source/compiler/harbour.y Moved code to check non used declared variable from GenReturn() to FunDef() Since Clipper function may have multiple RETURN statements Fri Jun 11 19:14:22 1999 Gonzalo A. Diethelm * include/Makefile: * include/set.h: * source/compiler/harbour.y: * source/hbpp/harb.h: * source/hbpp/hbpp.c: * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/console.c: * source/rtl/dates.c: * source/rtl/descend.c: * source/rtl/dir.c: * source/rtl/environ.c: * source/rtl/files.c: * source/rtl/hardcr.c: * source/rtl/math.c: * source/rtl/mtran.c: * source/rtl/set.c: * source/rtl/strings.c: * source/rtl/transfrm.c: * source/runner/run_exp.h: * source/runner/runner.c: * source/tools/asciisum.c: * source/tools/ascpos.c: * source/tools/atdiff.c: * source/tools/chareven.c: * source/tools/charmix.c: * source/tools/charodd.c: * source/tools/chrcount.c: * source/tools/chrfirst.c: * source/tools/chrtotal.c: * source/tools/datesx.c: * source/tools/debug.c: * source/tools/hb_f.c: * source/tools/io.c: * source/tools/mathx.c: * source/tools/strcount.c: * source/tools/strcspn.c: * source/tools/strdiff.c: * source/tools/strexpan.c: * source/tools/stringsx.c: * source/tools/strleft.c: * source/tools/strpbrk.c: * source/tools/strright.c: * source/vm/dynsym.c: * source/vm/hvm.c: * source/vm/initsymb.c: * tests/working/Makefile: * tests/working/dates.prg: * tests/working/dates2.prg: * tests/working/empty.prg: * tests/working/filexist.prg: * tests/working/inifiles.prg: * tests/working/next.prg: * tests/working/test_all.prg: * tests/working/teststr.prg: * tests/working/transfrm.prg: When the compiler sees a function called FOO, it generates a call to HB_FOO. This meant updating the code generation (with the help of Eddie Runia) and updating all HARBOUR functions to prepend an HB_ to each of them. I also made sure all of them where declared in uppercase and had the signature HARBOUR HB_FOO(void). I may have missed something. In particular, test testhbf.prg does not work, but I wanted to commit this change anyway. Fri Jun 11 17:11:09 1999 Gonzalo A. Diethelm * config/bin.cf: * config/dir.cf: * config/global.cf: * config/install.cf: * config/lib.cf: * config/rules.cf: * config/test.cf: * config/dos/dir.cf: * config/dos/djgpp.cf: * config/dos/global.cf: * config/dos/install.cf: * config/win32/dir.cf: * config/win32/gcc.cf: * config/win32/global.cf: * config/win32/install.cf: * config/win32/msvc.cf: * config/win32/rules.cf: Reorganized things in an attempt to make it clearer how to support different platforms and compilers. Also added as much support as I could for running the GNU-make build system under plain COMMAND.COM (DOS and Win95), not only under bash. 19990611-17:00 CET Matthew Hamiltion * tests/working/inifiles.prg new version installed 19990610-23:40 EDT David G. Holm * include/fileio.ch - Corrected $Id: header * include/filesys.api - Corrected $Id: header * include/filesys.h - Corrected $Id: header 19990610-23:35 EDT David G. Holm * makefile.icc - Added some missing source files * source/rtl/files.c - Put back '#include ' for __WATCOM__, '#include ' for __BORLANDC__, and '#include ' for __IBMCPP__, after removing them earlier while removing '#include ', which isn't needed, because the DIRECTORY() function is in a separate source file. The reason that I thought it was safe to remove them was that I *thought* that I had recompiled with IBMCPP after I recompiled with DJGPP, but it turned out I hadn't. I'm hoping that I caught it before anybody extracted the bad version from CVS. 19990610-22:35 EDT David G. Holm + include/fileio.ch - File API related flags + include/filesys.api - Converts from _fs... functions to hb_fs... functions + include/filesys.h - Declares all hb_fs... functions * source/compiler/harbour.y - Added missing type override to OurMalloc() call in LoopStart() * source/rtl/files.c - Added support for IBM C++ compiler for OS/2 - All HARBOUR functions must have a void argument list - Changed '#include ' to '#include ' - Changed all _fs... functions to hb_fs... functions - Changed hb_fsCreate to use open() instead of creat() - Corrected and/or added last_error handling in all hb_fs... functions - Corrected return parameter handling in a few hb_fs and HARBOUR functions * source/tools/hb_f.c - Removed extern declarations for _fs... functions - Added '#include ' - Added two missing type overrides on _xgrab() calls in HB_FUSE() 19990610-18:05 EDT David G. Holm * makefile.b16 - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' * makefile.b31 - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' * makefile.b32 - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' * makefile.icc - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' * makefile.vc - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' * config/c.cf - Remove $(MV) command following $(YACC) command * source/compiler/harbour.l - Changed '#include "y_tab.h"' to '#include "harboury.h"' * source/compiler/makefile.dos - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' * source/compiler/makefile.wat - Changed all 'y_tab' to 'harboury' - Changed all 'lexyy' to 'harbourl' 19990610-11:40 EDT David G. Holm + tests/working/makerunr.dos - New make file to build RUNNER.EXE using DJGPP * tests/working/runner.c - Added 'static' to several forward declarations + tests/working/runrdos.bat - New batch file to build RUNNER.EXE using DJGPP 19990610-09:30 CET Patrick Mast (Changes made by Jose Lalin) * source/rtl/asort.prg Resloved bug (Changed line 28 ) 19990610-10:30 Alexander Kresin ( files posted by Marek Horodyski ) + source/rtl/natmsg/msgpl852.c + source/rtl/natmsg/msgplmaz.c National language message files for Polish 19990609-12:55 EDT David G. Holm * source/rtl/files.c - Set _fmode to O_BINARY before using creat(), then restore to previous value afterwards * source/tools/asciisum.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/ascpos.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/atdiff.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/chareven.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/charmix.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/charodd.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/chrcount.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/chrfirst.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/chrtotal.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/hb_f.c - HARBOUR function names must be in upper case * source/tools/strcount.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/strcspn.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/strdiff.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/strexpan.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/strleft.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/strpbrk.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * source/tools/strright.c - HARBOUR function names must be in upper case - HARBOUR functions must have a void argument list * tests/working/spawn2.prg - Added //NOTEST * tests/working/test_all.prg - Use HB_FILE instead of FILE - Made compiler independent - Added restart capability - Renamed created batch file to TESTALL.BAT, so that it can be run without having to include the .BAT extenstion. 19990609-11:25 EDT David G. Holm * source/rtl/set.c - Removed "+ 1" in setting y_stop to default stop point, because it caused _xgrab to allocate 1 byte too few when year was at end. * tests/working/dates.prg - Convert HB_SETCENTURY() test block to function and call it twice: Once with date format "MM/DD/YYYY" and once with "YYYY/MM/DD". 19990608-13:00 EDT David G. Holm * source/rtl/files.c - Changed "#if" for "#include " from "#if defined( __GCC__) && !defined(__DJGPP__)" to just "#if defined(__CYGNUS__)" * source/rtl/set.c - Moved "#include " outside "#if defined(__GCC__) || defined(__DJGPP__)" block, so that it is included for all compilers. * source/rtl/strcmp.c Added braces to "if( lLenFirst != lLenSecond ) /* Both empty ? */" block to avoid an implicit else warning for the else clause for the "if( hb_set.HB_SET_EXACT || bForceExact )" block. * source/rtl/natmsg/msghu.c Removed extra "/*" from inside "TODO:" comment block. 19990608-20:00 Alexander Kresin Implemented: #command, #xcommand, #translate, #xtranslate . Some functions rewritten for a better functionality and readability. Fixed some bugs. Updated: * source/hbpp/hbpp.c * source/hbpp/harb.c * source/hbpp/table.c Removed: - source/hbpp/a.prg - source/hbpp/c.prg - source/hbpp/example.ch - source/hbpp/exam2.ch Tue Jun 08 09:22:40 1999 Gonzalo A. Diethelm * source/rtl/set.c (open_handle): Misplaced parenthesis when callin open() caused S_IWRITE to never be seen by open(). 19990608-13:25 CET Eddie Runia * source/vm/initsymb.c SECONDS added * tests/working/runner.c _FILEs removed. * tests/working/run_exp.h HB_SETFIXED added 19990608-11:45 CET Eddie Runia * source/tools/debug.c even though it makes no difference hb_arrayClone is used in statics(), since it will no longer allow modification of the static table * source/rtl/classes.c class wrap bug eliminated * source/rtl/files.c; source/rtl/set.c temporary patches with regard to sys/stat.h removed Mon Jun 07 20:42:04 1999 Gonzalo A. Diethelm * config/dir.cf: * config/global.cf: * config/install.cf: Made a mistake in my previous commit. This one works. Mon Jun 07 20:20:32 1999 Gonzalo A. Diethelm * config/bin.cf: * config/c.cf: * config/dir.cf: * config/global.cf: * config/install.cf: * config/lib.cf: * config/test.cf: * config/win32/gcc.cf: * config/win32/global.cf: * config/win32/msvc.cf: * config/win32/rules.cf: Updated rules so they work under WinNT CMD.EXE without any Unix utilities installed. 19990607-19:45 EDT David G. Holm * include/extend.h - Moved "#include " to include/types.h - Removed "#define FILE" and "#undef FILE", which are no longer needed, because HARBOUR FILE() was renamed to HARBOUR HB_FILE() some time ago. * include/types.h - Moved "#include " from include/extend.h in order to avoid having to require that extend.h be included before set.h * source/rtl/dates.c - HARBOUR SECONDS() and support module hb_seconds() courtesy of Jose Lalin . I removed the use of clock() from hb_time(), because clock() returns the number of clock ticks since the program started, which has no relationship to when the seconds of the real time clock roll over. This means that SECONDS() will always return whole seconds instead of seconds and hundredths. I also provided an alternate hb_seconds implementation for DOS platforms using gettime() instead of time() and localtime(), because gettime() includes 1/100ths. * source/rtl/files.c - Don't "#include " if compiling with DJGPP. + tests/working/seconds.prg - New test program for SECONDS(). 19990607-20:30 CET Eddie Runia * makefile.b32 change little bug (hb.c) Mon Jun 07 12:58:17 1999 Gonzalo A. Diethelm * source/hbpp/Makefile: * source/hbpp/harb.c: * source/hbpp/harb.h: * source/hbpp/hbpp.c: * source/hbpp/table.c: Added a GNU-make Makefile to this directory. Solved portability problems under gcc. Got rid of a few warnings and unused variables. * source/rtl/msgxxx.c: This file includes the correct message file based on the value of HB_LANGUAGE, whose default is UK. * source/rtl/classes.c: * source/rtl/console.c: * source/rtl/dir.c: * source/rtl/files.c: * source/rtl/set.c: Solved portability problems under gcc. Got rid of a few warnings and unused variables. * source/rtl/dir.c: This file had definite bugs, see difference between r1.4 and r1.3 for more details. * source/rtl/natmsg/msgdut.c: * source/rtl/natmsg/msggal.c: * source/rtl/natmsg/msgger.c: * source/rtl/natmsg/msghu.c: * source/rtl/natmsg/msgpor.c: * source/rtl/natmsg/msgr1251.c: * source/rtl/natmsg/msgru866.c: * source/rtl/natmsg/msgspa.c: * source/rtl/natmsg/msguk.c: Added Id keywords. * config/bin.cf: * config/global.cf: * config/header.cf: * config/lib.cf: * config/prg.cf: * config/test.cf: * config/win32/rules.cf: Use GRANDP to refer to ../../ and change environment variables to start with a HB_. * config/win32/rules.cf: Added a -I$(TOP) to the list of paths for included files in the rule to compile a PRG file with Harbour. * include/Makefile: * source/Makefile: * source/rtl/Makefile: * source/tools/Makefile: * tests/working/Makefile: Updated the file list. 19990607-15:15 CET Matthew Hamilton * tests/working/inifiles.prg 19990607-14:50 CET Eddie Runia * source/vm/hvm.c Unreleased error block 19990607-12:50 CET Eddie Runia * makefile.b32, build32.bat changed to split the terminal driver into seperate makefile for Windows support + terminal.b32 split terminal driver * tests/working/bld32w.bat windows build file uses echo now 19990607-03:05 PST Ron Pinkas * include/hberrors.h added WARN_VAR_NOT_USED * source/compiler/harbour.y added warning message "Variable \'%s\' declared but not used in function: %s" added linked list FunVars to record the usage of declared variables added logic to maintain FunVars added logic to check usage as per FunVars in GenReturn() 19990607-09:40 Alexander Kresin + source/rtl/natmsg/msgru866.c + source/rtl/natmsg/msgr1251.c National language message files for Russian 19990606-16:42 PST Ron Pinkas * include/hberrors.h added define WARN_AMBIGUOUS_VAR 1 added declaration for new function GenWarning() * source/compiler/harbour.y added _szWarnings[] to include parse warning messages added function GenWarning() added /w compiler switch to enable warnings added warning message for ambiguous vars 19990606-20:20 CET Victor Szel * source/rtl/dir.c - HB_CHARUPPER() parameters were wrong. HB_CHARUPPER() converted to toupper() The attribute parameter conversion to uppercase was buggy. 19990606-15:20 CET Eddie Runia * source/compiler/harbour.y - : is now functioning ! where is +=, -=, *=, /=, %=, ^= and increment / decrement for : + tests/working/objasign.prg test program used 19990606-13:50 CET Eddie Runia * source/rtl/errorapi.c _ErrNew() stack.Return itself was returned instead of a copy. _ErrRelease() error object is released * source/rtl/classes.c SetData() & SetClassData() return the value set * source/compiler/harbour.y - : := can now be used inside expressions (codeblocks) - MessageFix() has been added to fix the generated message in case of assignments - type of ObjectData is now a string containing the (last) message. global _lMessageFix will contain a pointer to the location which should be fixed. * tests/working/inherit.prg test program for 'enhanced' syntax. 19990606-11:00 CET Eddie Runia * source/rtl/arrays.c; source/vm/initsymb.c; tests/working/run_exp.h Arrays converted to init symbols 19990606-10:15 CET Jose Lalin (upload Eddie Runia) + source/rtl/hardcr.c; source/rtl/mtran.c new ! * source/vm/initsymb.c added initsymbols call * makefile.* files added 19990605-20:05 EST Les. Griffith * some fixes to dir.c for gcc and suggestions by Victor Szel need replacement for non gcc supported functions ltoa() and strrev() 19990606-00:30 CET Eddie Runia * tests/working/hardcr.prg; tests/working/mtran.prg Uploaded. Matching .C untested and missing for now. Just wanted #100 & #101 in ! 19990605-11:12 EST Les. Griffith * removed DIRECTORY() from files.c * added rtl\dir.c * added tests working dirtest.prg * changed makefile.b32 to deal with dir.c dir.obj 19990604-16:20 CET Eddie Runia * source/vm/initsymb.c; tests/working/run_exp.h CDOW/ CMONTH were missing + Removal duplicate symbols from run_exp 19990604-15:30 CET Patrick Mast * Release of Build #25 19990604-14:14 CET Patrick Mast * source/rtl/set.c Removed #include * source/rtl/files.c Removed #include * source/compiler/harbour.y Put in the build Nr. 19990604-14:24 CET Victor Szel (upload Eddie Runia) + source/rtl/natmsg/msghu.c National language message file for Hungarian 19990604-13:56 CET Thomas Braun (upload Eddie Runia) + source/rtl/natmsg/msgger.c National language message file for German 19990604-11:50 CET Eddie Runia * source/compiler/harbour.y support for the following syntax added : :[] :()[] and increment / decrement for ()[], :[] and :()[] * source/rtl/natmsg/msgdut.c Sunday is the first day ofcourse + tests/working/objarr.prg tests for object array syntax * tests/working/funcarr.prg tests for function array syntax (inc/dec added) 19990604-23:15 EDT David G. Holm + include/version.h - New file to specify version info. A future revision will be to specify where to find the version information, so that it may be pulled from other modules and/or the CVS. * source/rtl/environ.c - Modified HARBOUR OS() function to work with DJGPP. - Modified HARBOUR VERSION() function to format the version info similar to how Clipper does it (version, build, and date). * source/rtl/set.c - Added #include for DJGPP. * tests/working/makefile.dos - Added compiler and library to the PRG to C dependency. + tests/working/version.prg - Added new module to test the VERSION function. 19990604-22:07 EST Les. Griffith added logic for msguk.c and msguk.obj to makefile.b32 19990604-21:50 EDT David G. Holm * builddos.bat - Pass command line arguments to make processor, so that we can build and clean in one step by running "BUILDDOS ALL CLEAN" instead of having to modify the builddos batch file. 19990604-21:50 EDT David G. Holm * makefile.icc - Added new Harbour modules * source/rtl/classes.c - C++ requires functions with no arguments to be protyped as void * source/rtl/dates.c - C++ requires that arguments be prototyped (hb_cmonth and hb_cdow) * source/vm/initsymb.c - C++ needs prototypes for external initialization functions 19990604-20:20 EDT David G. Holm Thanks go to Jose Lalin for CDOW() and CMONTH() (and their support functions), msggal.c, msgspa.c, and msguk.c and cdow.prg, to Felipe G. Coury for msgpor.c, and to Eddie Runia for msgdut.c * makefile.dos - Added source/rtl/natmsg * source/rtl/console.c - Separated screen and printer coordinates - Moved HARBOUR ROW() and HARBOUR COL() from gtapi.c - Added rudimentary screen positioning when not using the GT API * source/rtl/dates.c - Added HARBOUR CDOW(), HARBOUR CMONTH(), and support functions * source/rtl/gtapi.c - Moved HARBOUR ROW() and HARBOUR COL() to console.c + source/rtl/natmsg/makefile.dos - New DJGPP makefile for national language message files Note: Only msguk goes into the library + source/rtl/natmsg/msgdut.c - National language message file for Dutch + source/rtl/natmsg/msggal.c - National language message file for Galician + source/rtl/natmsg/msgpor.c - National language message file for Portugese + source/rtl/natmsg/msgspa.c - National language message file for Spanish + source/rtl/natmsg/msguk.c - National language message file for English + tests/working/cdow.prg - Test program for CDOW() and CMONTH() 19990605-00:22 CET Eddie Runia * tests/broken/exittest.prg; tests/broken/codebloc.prg removed, since they work ! * tests/working/exittest.prg; tests/working/codebl.prg added (renamed codebloc to avoid conflict) 19990605-00:00 CET Eddie Runia * tests/working/runner.c PITEM -> PHB_ITEM 19990604-17:35 EDT David G. Holm * include/hbsetup.h - Added USE_GTAPI, which defaults to NOT being defined 19990604-17:00 EDT David G. Holm In each of the following modules, all occurrences of ITEM and PITEM were changed to HB_ITEM and PHB_ITEM. Any additional changes are listed following the applicable modules: * include/ctoharb.h * include/extend.h * include/itemapi.h - Also added #define ITEM PHB_ITEM * source/rtl/arrays.c * source/rtl/classes.c * source/rtl/codebloc.c * source/rtl/console.c * source/rtl/dates.c * source/rtl/descend.c * source/rtl/errorapi.c * source/rtl/extend.c * source/rtl/files.c * source/rtl/itemapi.c * source/rtl/math.c * source/rtl/set.c * source/rtl/strcmp.c * source/rtl/strings.c * source/rtl/transfrm.c * source/tools/debug.c * source/tools/hb_f.c * source/tools/io.c * source/tools/stringsx.c * source/vm/dynsym.c * source/vm/hvm.c 19990604-13:05 EDT David G. Holm * source/vm/hvm.c - Corrected ForTest() to use the correct decimal count 19990604-12:35 EDT David G. Holm * source/rtl/dates.c - Corrected HARBOUR DOW() to use _retni() instead of _retnl() 19990604-12:30 EDT David G. Holm * source/vm/hvm.c - Corrected HARBOUR ERRORLEVEL() to not change the error level if it is called with no parameters. 19990604-18:05 CET Jose Lalin (upload Eddie Runia) * makefile.* descend added * source/rtl/descend.c; tests/working/descend.prg; source/vm/initsymb.c descend added 19990604-12:00 EDT David G. Holm * build31.bat - Removed the non-portable fully qualified path that somebody added to the make command instead of adding to their PATH statement. 19990604-17:15 CET Eddie Runia * source/compiler/harbour.y; source/vm/hvm.c; include/pcode.h; tests/working/funcarr.prg Syntax for : [] added 19990604-11:45 CET Eddie Runia * source/rtl/classes.c _GetClassName() called by ClassName() 19990603-00:00 PST Ron Pinkas * hvm.c - Reverted VitualMachine() to use case switch rather than direct dynamic call for processing pcodes, since such optimization already done by c compiler. 19990604-02:22 Ryszard Glab * source/compiler/harbour.y * corrected "unmatched END" error if BEGIN/END SEQUENCE was used + LOOP now loops to the begginig of FOR/NEXT or WHILE statement + EXIT now exits from FOR/NEXT or WHILE statement * source/compiler/harbour.l * corrected support for the following keywords: IF, IIF (90 % compatible with Clipper), IN, INCLUDE, INIT, LOCAL, LOOP * source/vm/hvm.c local variables passed by reference in a codeblock are handled correctly now * include/hberrors.h + added new error message * tests/working/keywords.prg + added some new keywords for compatibility testing + tests/working/keywords.ch + new file for INCLUDE testing + doc/codebloc.txt + new file with a short description of a codeblock implementation 19990603-19:00 EDT David G. Holm Thanks go to Ryszard Glab * makefile.dos - Added -r to two make lines for source/compiler 19990604-00:25 CET Eddie Runia * source/rtl/classes.c With _GetClassName(); optimized; more comments; more clean-up 19990603-21:50 CET Eddie Runia * source/rtl/classes.c; tests/working/run_exp.h OBJFUNC.PRG added to init symbols scheme. 19990603-20:20 CET Eddie Runia * source/rtl/classes.c; source/vm/initsymb.c; tests/working/run_exp.h First implementation of init symbols scheme. 19990603-14:00 EDT David G. Holm * makefile.dos - Even with the -y in the source/compiler/makefile.dos, when I used builddos, which uses makefile.dos, instead of a temporary replacement batch file that I used before I figured out why I was getting bad command errors when running builddos (it turned out that I needed to add the DJGPP\bin directory to the path in C:\WINNT\SYSTEM32\AUTOEXEC.NT), it moved y_tab.c to harbour.c! So I converted everything in makefile.dos from upper case to lower case and it stopped doing that. So i also added the missing source/tools directory, so that everything gets build. * source/compiler/harbour.l - Changed yylval.string = ')'; to yylval.string = strdup( ")" ); - Changed yylval.string = ']'; to yylval.string = strdup( "]" ); 19990603-13:30 EDT David G. Holm Thanks go to Jose Lalin * source/rtl/dates.c - localtime() returns tm_year with 1900 already subtracted from it, so it is necessary to add 1900 back when formatting the date. 19990603-18:30 CET Eddie Runia * source/rtl/classes.c; source/rtl/tclass.prg; source/rtl/arrays.c * include/ctoharb.h; include/extend.h New class module added with lots of commands and alphabetic order. aClone() no longer necessary for super casting ctoharb.h updated so the forward declarations could be removed. 19990603-16:00 CET Eddie Runia * source/rtl/classes.c wLimit bug resolved 19990603-15:25 CET Eddie Runia * source/compiler/harbour.y ()[] syntax added 19990603-13:10 CET Eddie Runia * source/rtl/classes.c small optimalization 19990603-11:40 CET Eddie Runia * source/compiler/harbour.y :[] := syntax added * build32.bat runner build from batch file 19990603-00:00 PST Ron Pinkas * hvm.c - Changed VitualMachine() to use direct dynamic call for processing pcodes rather tha the switch loop. 19990603-00:30 EDT David G. Holm * makedos.env - Removed HARBOURDIR definition to a batch file 19990602-23:30 EDT David G. Holm * source/compiler/makefile.dos - bison needs -y option so that it won't replace harbour.c with y_tab.c when building Harbour with DJGPP * source/rtl/console.c - Moved MAXROW() and MAXCOL() from gtapi.c and added #ifdef USE_GTAPI in each. The #else condition defines the screen as 24x80 (23, 79) * source/rtl/gtapi.c - Moved MAXROW() and MAXCOL() to console.c in order to not include the GT API when it isn't wanted (such as when building with DJGPP) 19990602-20:45 EDT David G. Holm * source/rtl/environ.c - Modified #ifdef _Windows section to return "Windows" instead of "Windows 95/98". 19990602-18:20 EDT David G. Holm * source/rtl/strings.c - Changed if( lLen > lSubLen ) to if( lLen >= lSubLen ) Reported by "Alexander S.Kresin" 19990602-16:00 EDT David G. Holm + tests/broken/codebloc.prg - Output doesn't match Clipper. Clipper outputs NIL and 42, (both 5.2e and 5.3b), but Harbour outputs NIL and NIL (as tested with Harbour built using Borland C++ 3.1 using the build31.bat and makefile.b31 files) 19990602-22:10 CET Eddie Runia * tests/working/run_exp.h gtApi and new console functions added 19990602-16:00 EDT David G. Holm * source/rtl/console.c - OS/2 requires that stdout and stderr be flushed in order to stay synchronized with the GT API * source/rtl/gt/gtos2.c - The gtPuts function was using strlen() on the text buffer instead of using the text length parameter 19990602-14:50 EDT David G. Holm * makefile.b31 - Added itemapi.h as dependancy for arrays.obj * makefile.icc - Added new GT string modules - Added Harbour include file dependencies to library sources * source/rtl/arrays.c - Added #include , which is needed by C++ compilers * source/rtl/console.c - Removed two trailing semicolons from #endif directives * source/rtl/gtapi.c - When adding HARBOUR MaxRow() and MaxCol() earlier, I forgot the rule that Harbour functions may not use any lower case letters - Added end comment for comment block around color tests in order to avoid having nested comments * source/tools/chareven.c - Added (char *) type conversion to _xgrab() function call * source/tools/charmix.c - Added (char *) type conversion to _xgrab() function call * source/tools/charodd.c - Added (char *) type conversion to _xgrab() function call * source/tools/strexpan.c - Added (char *) type conversion to _xgrab() function call 19990602-13:05 EDT David G. Holm * makefile.b31 - Added the new gt functions (which have nothing to do with the GT API) - All Harbour library source modules are now dependent upon the proper include files. * source/rtl/console.c - The GT API and dev_row, dev_col synchronization now also includes OUTSTD() and OUTERR(). * source/rtl/gtapi.c - Corrected error in column overflow handling in _gtWrite() 19990602-18:40 CET Eddie Runia * tests/working/run_exp.h gt_string functions added 19990602-11:35 EDT David G. Holm * source/rtl/console.c - Added HARBOUR SCROLL() * source/rtl/gtapi.c - Added HARBOUR MAXROW() and MAXCOL() + tests/working/scroll.prg - New test module to demonstrate scrolling 19990602-12:00 WIB Andi Jahja + gt.b32 - make file for gt functions + bldgt32.bat - batch file for hbgt.lib * tests\working\bld32exe.bat - to include hbgt.lib * tests\working\testgt.prg - test program for hbgt.lib + some function from PD gt.lib ported to Harbour : - source\tools\ascpos.c - source\tools\atdiff.c - source\tools\chareven.c - source\tools\charodd.c - source\tools\chrcount.c - source\tools\chrtotal.c - source\tools\charmix.c - source\tools\asciisum.c - source\tools\chrfirst.c - source\tools\strasint.c - source\tools\strcount.c - source\tools\strcspn.c - source\tools\strdiff.c - source\tools\strexpan.c - source\tools\strleft.c - source\tools\strpbrk.c - source\tools\strright.c + doc\vm.txt - description of Harbour Virtual Machine 19990602-12:30 CET Eddie Runia * source/rtl/arrays.c memory leakage in arrayClone plugged 19990602-09:30 Alexander Kresin Updated: * source/hbpp/hbpp.c - main preprocessor file * source/hbpp/c.prg - sample file * source/hbpp/makefile.b16 * source/hbpp/makefile.b32 Added: * source/hbpp/buildgcc.bat * source/hbpp/table.c 19990601-23:50 EDT David G. Holm * makefile.b31 - Made progress on GT API, so put USE_GTAPI back in as default. * source/rtl/console.c - Cleaned up synchronization between GT API and dev_row, dev_col * source/rtl/gtapi.c - Initialize starting row and column to 0 instead of 1 - _gtMaxCol() and _gtMaxRow() are 0-based in Clipper, so subtract 1 from the device width and height - Removed call to strlen() in _gtSave(), because Clipper does not appear to require the screen buffer to be initialized, just allocated - Changed _gtWrite() to deal with writing multiple rows of text - Wrote _gtScroll(), which is needed by _gtWritePos() and _gtWrite(). 19990601-21:35 CET Eddie Runia * tests/working/multinh.prg, source/rtl/classes.c, source/rtl/tclass.prg first step to multiple inheritance 19990601-18:15 CET Eddie Runia * tests/working/inherit.prg, source/rtl/classes.c, source/rtl/tclass.prg version correct release (+ super ) 19990601-12:00 EDT David G. Holm * makefile.b31 - Ran into problems using GT API with tests\working\mathtest, so removed USE_GTAPI from default use. * source/compiler/harbour.y - Added missing third parameter (a copy of the first one) to the comment section of the generated C pcode for _PUSHDOUBLE. 19990601-12:15 CET Eddie Runia * tests/working/inifiles.prg new Mab version installed * tests/working/inherit.prg, source/rtl/classes.c stackfree() bug disappeared (??) after using itemapi in classes.c 19990601-09:50 CET Eddie Runia * include/cgi.ch, tests/working/testcgi.prg CGI test program added * tests/working/run_exp.h GetEnv() added 19990531-23:05 CET Eddie Runia * source/compiler/harbour.y determination of symbol scope now correct. 19990531-21:45 CET Eddie Runia * tests/working/inherit.prg newer test program. reported crash was due to static functions ? * source/rtl/classes.c some small improvements 19990531-16:35 CET Matthew Hamilton (upload by Eddie Runia) * tests/working/inifiles.prg version 2 which creates harbour.new 19990531-14:30 CET Matthew Hamilton (upload by Eddie Runia) * tests/working/harbour.ini, tests/working/inifiles.prg added 19990531-13:20 CET Eddie Runia * source/rtl/classes.c; source/rtl/tclass.prg better version of inheritance * tests/working/inherit.prg some minor changes 19990531-10:15 CET Felipe G. Coury (upload Eddie Runia) * tests/working/testhtml.prg beautiful !! 19990530-23:05 CET Eddie Runia * source/rtl/objfunc.prg since aEval has been clean for a long time, it was time to use it ! 19990530-21:30 CET Eddie Runia * source/rtl/classes.c; source/rtl/tclass.prg initializer and release ready for inheritance * tests/working/inherit.prg init test added 19990530-12:12 EST Les. Griffith * added logic for hb_file in files.c * added test filexist.prg to test hb_file() in tests working 19990530-17:30 CET Eddie Runia * source/rtl/files.c fixed 0x00 byte handling of fReadStr * tests/working/readhrb.prg now a Harbour program * tests/working/readhrb.lnk removed. No longer necessary 19990530-11:18 EST Les. Griffith * added logic for _fscommit in files.c 19990530-14:00 CET Eddie Runia * source/rtl/classes.c; source/rtl/tclass.prg first step to inheritage * tests/working/inherit.prg test program 19990530-13:15 CET Eddie Runia * source/rtl/classes.c message <> not found bug finally removed 19990530-00:25 EST Les. Griffith * add logic for _fslock in files.c 19990529-23:46 Alexander Kresin Preprocessor: implementation of #command almost complete Updated: * source/hbpp/hbpp.c - main preprocessor file * source/hbpp/harb.c * source/hbpp/c.prg - sample file 19990529-19:45 CET Eddie Runia * tests/working/run_exp.h hb_f* functions added 19990529-10:04 EST Les Griffith * Files.c defined out scandir on djgpp * Set.c added include errno.h for djgpp * makefile.dos remaked out tests\working makefile.dos logic * created hbdos.bat in tests\working for gcc creation of exes 19990529-15:00 CET Eddie Runia * source/rtl/set.c small correction in ReleaseSets() 19990528-14:30 EST David G. Holm * source/rtl/console.c - NIL ouptuts "NIL", just like it used to before I removed it after running some tests with Clipper, which turned out to be flawed. - Improved link between GT API screen position and stdout/stderr screen position. 19990528-23:15 WIB Andi Jahja * source/tools/hb_f.c - add hb_fselect + tests/working/testsel.prg test program for hb_fselect() 19990529-10:11 EST Les Griffith * added both builddos.bat and makefile.dos for djgpp dos enviroment 19990528-21:00 WIB Andi Jahja * makefile.b32 modified to include hb_f.c in harbour.lib + source/tools/hb_f.c nanforum ft_f*() clones - hb_fuse - hb_frecno - hb_flastrec - hb_fgotop - hb_fgobottom - hb_fgoto - hb_feof - hb_freadln - hb_fskip + tests/working/testhbf.prg - Test program for hb_f*() routines 19990527-22:06 EST Les Griffith * changed iotest.prg to work without and exit clause 19990527-21:57 EST Les Griffith * fix to gtwin.c for duplicate function gtwherex 2nd one should be gtwherey 19990527-18:00 EST David G. Holm * makefile.icc - Added missing modules - Modified to build console with USE_GTAPI - Modified to put console and gtos2 into terminal library * source/rtl/console.c - Had row,col and y,x reversed in InitializeConsole() * source/rtl/gt/gtdos.c - Had row,col and y,x reversed in gtWhereX() and gtWhereY() * tests/working/biccexe.cmd - Include new terminal library 19990527-17:25 EST David G. Holm * makefile.b31 - Added -DUSE_GTAPI as standard compiler option * source/rtl/console.c - Added #ifdef USE_GTAPI to allow compiling without using the GT API 19990527-14:15 EST David G. Holm * makefile.b31 - Added gtdos to terminal library * include/ctoharb.h - Added word wDec parameter to PushDouble prototype (needed by C++ compilers) * include/gtapi.h - Added $Id$ block at top - Added gtWhereX() - Added gtWhereY() * source/rtl/console.c - Added GT API support - Added InitializeConsole() to initialize GT API and device screen position - Added HARBOUR PROW(), PCOL(), and SETPRC() - Synchronize dev_row and dev_col with GT API screen position * source/rtl/files.c - Borland support now takes into account that older compiler versions don't have the POSIX S_ flags. * source/rtl/gtapi.c - Added $Id$ block at top - Changed #include to #include - Modified _gtWriteCon() to process control characters * source/rtl/set.c - Added default of "PRN" for HB_SET_PRINTFILE - If SET (_SET_DEVCE, "PRINTER") and printer file not open, then open it * source/rtl/transfrm.c - Added use of wDec parameter in calls to PushDouble() * source/rtl/gt/gtdos.c - Added $Id$ block at top - Added gtWhereX() - Added gtWhereY() - Removed screen coordinate adjustments (i.e., - 1), because Clipper (and therefore Harbour) screen origin is (0,0) * source/rtl/gt/gtos2.c - Added $Id$ block at top - Added gtWhereX() - Added gtWhereY() - Removed screen coordinate adjustments (i.e., - 1), because Clipper (and therefore Harbour) screen origin is (0,0) - Note: Still needs some work - doesn't match output from gtdos.c * source/rtl/gt/gtwin.c - Added $Id$ block at top - Added gtWhereX() - Added gtWhereY() - Removed screen coordinate adjustments (i.e., - 1), because Clipper (and therefore Harbour) screen origin is (0,0) - Note: Needs to be tested, because I don't have a Windows compiler * source/rtl/gt/gtxxx.c - Added $Id$ block at top - Added gtWhereX() - Added gtWhereY() * source/vm/hvm.c - Added call to InitializeConsole() - Added prototypes for InitializeConsole() and InitSymbolTable() for C++ compilers 19990527-19:50 CET Eddie Runia * source/rtl/gt/gtdos.c, source/rtl/gt/gtwin.c, source/rtl/gtapi.c minor changes * makefile.b32 should be correct now. /* QUESTION : Can anybody do this more the others as well */ * tests/working/runner.c run_exp.h 'DOW()' added to export list 19990527-12:15 CET Eddie Runia * tests/working/strip.prg slight modification * source/rtl/classes.c Problem with DynSym (??). Quick fix added to classes.c to stop message '' not implemented in class '' 19990527-08:45 CET Eddie Runia * makefile.b32 gtdos added * source/rtl/gt/gtdos.c; include/gtapi.h; tests/working/run_exp.h; source/rtl/console.c Minor changes to get it working 19990527-00:14 Les Griffith * moved gtos2.c gtwin.c gtdos.c gtxxx.c to source\rtl\gt at Matthew Hamilton suggestion 19990526-22:53 Les Griffith * added Bil Simser's gtapi.h to include and the c files to source\rtl * added to doc Bil's documentation re gtapi 19990526-20:45 EST David G. Holm * ChangeLog - Removed excess whitespace from previous ChangeLog entry * makefile.b31 - Added some missing source files * include/set.h - Added hb_set_althan and hb_set_printhan * source/rtl/console.c - Added OUTERR(), DEVPOS(), DEVOUT(), and EJECT() - Note: DEVPOS() and DEVOUT() have limited console support, due to the lack of a working GT API. * source/rtl/files.c - Added missing #if ! defined( __WATCOMC__ ) && ! defined( __BORLANDC__ ) around first use of S_IWUSR (copied from existing #if from second use). * source/rtl/set.c - Added file open/close support to HB_SET_ALTFILE and HB_SET_PRINTFILE + tests/working/output.prg - New module to test DEVPOS() and DEVOUT() 19990527-00:40 Ryszard Glab * the support for following keywords are now 100% compatible with Clipper EXTERNAL, FIELD, FOR, FUNCTION 19990526-13:30 EST David G. Holm * source/rtl/dates.c - Added hb_dow and HARBOUR DOW() supplied by Jose Lalin + tests/working/dates3.prg - New file to test DOW() supplied by Jose Lalin 19990526-17:25 Eddie Runia * tests/working/strip.prg delete broken one and moved working one in 19990526-16:10 Eddie Runia * source/rtl/files.c Pass reference error removed. * source/rtl/extend.c par* commands now work correctly with reference variables. 19990525-23:25 Les Griffith * source/rtl/files.c added logic to readstr for lasterror 19990525-22:45 CET Eddie Runia * tests/working/spawn2.prg; tests/working/runner.c support for STATIC functions added and error message for duplicate identifiers 19990525-21:30 CET Eddie Runia * tests/working/spawn2.prg Warning added if not compiled using /gHRB 19990525-19:15 CET Eddie Runia * source/runner/runner.c; source/runner/run_exp.h; source/runner created. currently in transition. 19990525-15:40 CET Eddie Runia * bin, libs/b16, libs/b32, libs/vc, libs/icc, libs/win16 & libs/win32 added as per request 19990525-10:40 CET Eddie Runia * source/vm/initsymb.c DATE added to init symbols 19990525-10:03 CET Antonio Linares * tests/working/runner.c (shouldn't this file be located at source/runner?) - some small changes to admit FILE() Harbour name. * tests/working/run_exp.h (shouldn't this file be located at include directory ?) - some small changes to admit FILE() Harbour name. 19990525-09:13 CET Antonio Linares * makefile.b32 - project dependencies list order changed to properly build everything in one pass 19990525-09:01 CET Antonio Linares * source/rtl/extend.c - wArrayIndex Borland C warnings fixed. 19990525-08:45 CET Antonio Linares * include/extend.h - workaround to avoid conflicts between FILE struct and harbour FILE() * source/rtl/files.c - _FILE() renamed to FILE() /* tests/working/test_all.prg now builds fine */ 19990525-08:21 CET Antonio Linares * makefile.b32 - enhanced .path.obj so the compiler gets not built always * source/rtl/files.c - enhanced support for Borland C 5.2 compiler 19990524-19:20 EST David G. Holm * source/rtl/dates.c - Added HARBOUR DATE() function. * tests/working/dates.prg - Added use of DATE() function in first OUTSTD call. 19990524-21:05 CET Eddie Runia * source/rtl/strings.c PAD* didn't work correctly with negative numbers * source/rtl/extend.c _parnl needed casting 19990524-17:10 CET Eddie Runia * tests/working/test_all Fully automated the test bench. If you select HRB, it also runs the program. Just press a couple of times and you should know how to loose Mankala blindly. 19990524-16:45 CET Les Griffith (upload Eddie Runia) * tests/working/iotest2.prg Test program fReadStr * tests/broken/exittest.prg Anyone up for a challenge ;-) 19990524-16:40 CET Eddie Runia * include/hbsetup.h WATCOM if added * tests/working/*.prg minor updates 19990524-14:30 CET Eddie Runia * source/vm/hvm.c := PValue() added * tests/working/run_exp.h added to function list * tests/working/multiarg.prg test program used 19990524-10:25 CET Alexander Kressin (upload Eddie Runia) * source/hbpp added preprocessor 19990524-08:10 CET Les Griffiths (upload Eddie Runia) * source/rtl/files.c a step in right the direction 19990523-16:45 CET Eddie Runia * tests/working/test_all.prg Optional command line option added. If you pass HRB, it will compile .HRB files. (Also it redirects the output to test_all.out, because it went to quickly) 19990523-16:15 CET Patrick Mast (upload by Eddie Runia) * tests/working/test_all.prg, tests/working/test_all.lnl Testbank added. * tests/working/*.prg So programs not qualified for testing. * tests/working/rtl_test.prg function Main() added 19990523-14:30 CET Eddie Runia * tools.b16, tools.b32, bldtls32, bldtools.bat send to heaven 19990523-14:05 CET Eddie Runia * source/rtl/files.c #include added for Borland * source/rtl/strings.c str error fixed 19990523-12:50 CET Eddie Runia * source/rtl/transfrm.c Modified for by reference. (Forgot I was Captain of that) 19990523-12:20 CET Eddie Runia * include/types.h modified the IS_* to work for reference passed variables * source/vm/hvm.c Changed ->wType to IS_* if possible else added & ~IT_BYREF * source/rtl/strings.c Strings also modified 19990523-11:36 CET Manuel Ruiz * source/rtl/files.c Add HAVE_POSIX_IO for Borland and GCC compilers 19990523-08:00 CET Les Griffith (upload by Eddie Runia) * source/rtl/files.c Yes, revision 1.2 ! * tests/working/passref.prg, tests/working/iotest.prg test files added. (Not functioning correctly yet) 19990522-18:30 CET Eddie Runia * tests/working/runner.c command-line arguments passed to both init function and running program * tests/working/spawn.prg test program 19990522-17:50 CET Eddie Runia * source/rtl/arrays.c, source/rtl/classes.c typical : if it works on one compiler, it will fail on another. oClone also modified :-) 19990522-17:25 CET Eddie Runia * source/vm/hvm.c 'Array' bug possibly resolved. * source/rtl/arrays.c aClone does not loose memory anymore * tests/working/ainstest.prg test for aClone added. 19990522-15:55 CET Eddie Runia * docs/hrb.faq Clean up * tests/working/stub.dat, tests/working/hbrun.bat Renamed stub.bat to hbrun.bat (Better name) 19990522-15:35 CET Eddie Runia * tests/working/instr.prg, source/vm/hvm.c Les Griffiths patch inserted 19990522-15:10 CET Eddie Runia * include/test.ch added * source/rtl/environ.c Crash resolved for C++ Builder * tests/working/testtok.prg set exact added 19990522-14:40 CET Eddie Runia * tests/working/*.bat -i..\..\include added 19990522-14:10 CET Eddie Runia Change from 11:43 committed * tests/broken/instr.prg removed * include/hbsetup.h #define HARBOUR_START_PROGRAM temporarily commented out, because of errors 19990522-11:43 CET Eddie Runia * source/vm/hvm.c pItem bug in add changed Instring operator added 'unreleased memory block' only get shown if memory block remain open * tests/working/instr.prg test program for instring added * tests/working/runner.c 'Loading' messages removed * source/compiler/harbour.y 'Debug' messages removed. 19990521-21:45 CET Eddie Runia * tests/broken/instr.prg added. Contribution from Les Griffiths. formerly known as strcomp * source/rtl/transfrm.c. Serious error code error * source/rtl/classes.c Error code added * source/vm/hvm.c Additional operator overloads added. 19990520-20:07 EST David G. Holm Thanks go to "Victor Szel" again! * source/rtl/strings.c - VAL sets the number of integer digits and decimal places for the result 19990520-19:35 EST David G. Holm Thanks go to "Victor Szel" * source/compiler/harbour.l - Saves number of decimal places in double constants * source/compiler/harbour.y - Includes number of decimal places when creating pcode for _PUSHDOUBLE * source/vm/hvm.c - Pcode for _PUSHDOUBLE extracts number of decimal places Thu May 20 16:03:24 1999 Gonzalo A. Diethelm * source/rtl/dates.c: Nasty bug: using '&' instead of '&&'. * config/header.cf: * include/Makefile: * Makefile: Added rules to deal with include files (they are just installed into INC_DIR). Now the top level Makefile traverses include before source. * config/win32/gcc.cf: * config/win32/msvc.cf: * config/win32/global.cf: The include directory is now given by INC_DIR. * config/win32/rules.cf: Harbour now uses -I to find include files. * include/hbsetup.h: Moved OS_PATH_DELIMITER back to harbour.y, as PATH_DELIMITER; it is now a string that contains "/\\". * source/compiler/harbour.y: Deal with '/' as path separator ('\\' still works). Make sure -q is really quiet. * source/rtl/Makefile: * source/tools/Makefile: Used tabs instead of spaces. * source/rtl/gtapi.c: * source/tools/io.c: Made sure these two compile in non-DOS platforms (don't do much though). * source/vm/hvm.c: Fixed a warning about using %i instead of %li. 19990520-07:10 MST Bil Simser (bsimser@home.com) * makefile.vc Updated makefile to include new changes to RTL 19990520-13:50 CET Eddie Runia * tests/working/transfrm.c set date and century added. 19990520-11:00 CET Eddie Runia * tests/working/runner.c simple file correctness checks added 19990520-03:40 EST David G. Holm * include/set.h - Added hb_set_fixed and HB_SETFIXED(). * source/rtl/set.c - Added hb_set_fixed and HB_SETFIXED(). * source/rtl/strings.c - Added test for hb_set_fixed and set default number of decimal positions to hb_set.HB_SET_DECIMALS if hb_set_fixed is TRUE instead of using the number of decimal positions specified in the ITEM structure. * source/vm/hvm.c - Removed the special case for a return value of zero from PushNumber(). * tests/working/teststr.prg - Added a second run of the test with SET FIXED ON. 19990520-03:00 EST David G. Holm * include/extend.h - Added new function hb_str() for public use. * source/rtl/console.c - hb_outstd() now uses hb_str() instead of formatting numerics itself. * source/rtl/strings.c - Added new hb_str() function to do all numeric formatting for all of Harbour. - Rewrote STR() to call hb_str() after validating parameters. + tests/working/teststr.prg - New module to test new function hb_str() via STR() and STDOUT(). 19990519-23:50 EST David G. Holm * source/rtl/extend.c - Use wDec = hb_set.HB_SET_DECIMALS instead of wDec = 2. - _retnd() and _stornd() now set wLength to 20 if the value is over 10 digits. * source/rtl/itemapi.c - Use wDec = hb_set.HB_SET_DECIMALS instead of wDec = 2. - hb_itemPutND() now sets wLength to 20 if the value is over 10 digits. * source/rtl/math.c - Restored HARBOUR INT() back to use _retnl( _parnd( 1 ) ), because the problem was not in the Borland C++ 3.1 compiler, but in the hb_outstd() case for IT_LONG in console.c (see 19990518-17:30 EDT David G. Holm for the incorrect correction and 19990519-21:40 EST David G. Holm for the fix to hb_outstd() in console.c). * source/vm/hvm.c - Div(), Modulus(), and Power() set wDec to hb_set.HB_SET_DECIMALS. - Dec(), Inc(), FOR, and Negate() leave wDec unchanged. - Plus() and Minus() set wDec to the larger of the two parameter wDec values. - Mult() sets wDec to the sum of the two parameter wDec values. - PushDouble() now sets wLength to 20 if the value is over 10 digits. 19990519-22:00 EST David G. Holm * source/rtl/environ.c - Do Windows version check even when #if defined(_Windows). - Don't attach version numbers if the major OS version number is unknown. 19990519-21:40 EST David G. Holm * makefile.b31 - Modified to support changes to source/compiler/fixflex.c * source/compiler/fixflex.c - The two largest tables in lexyy.c are now larger than 64K combined, so they are now placed into separate source files and the four next largest tables are split into a third source file. * source/rtl/console.c - Corrected display of IT_LONG to use value.lNumber instead of iNumber. - Corrected display of IT_DOUBLE to use wLength as integer size, so that when printing decimals the total display size is wLength + wDec + 1. * source/rtl/extend.c - _retnd and _stornd now set wLength to 10 instead of 13. * source/rtl/itemapi.c - hb_itemPutL now sets wLength to 3. - hb_itemPutNL now sets wLength to 10 and wDec to 0. - hb_itemPutND now sets wLength to 10 and wDec to 2. * source/vm/hvm.c - PushDouble, PushInteger, and PushLong now set wLength and wDec. * tests/working/ainstest.prg - Modified formatting done by aDump() to be more readable. 19990520-01:40 Ryszard Glab * source/compiler/harbour.y -corrected support for INCLUDE environment variable (the last path was ignored) -definition of path delimiter and path list separator was moved to hbsetup.h file. OS_PATH_DELIMITER and OS_PATH_LIST_SEPARATOR are now defined. -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION * source/compiler/harbour.l -EXIT keyword is now properly supported * source/vm/hvm.c -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION -changed #define from HARBOUR_MAIN to HARBOUR_START_PROCEDURE * include/hbsetup.h -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION -changed #define from HARBOUR_MAIN to HARBOUR_START_PROCEDURE -added #define OS_PATH_DELIMITER -added #define OS_PATH_LIST_SEPARATOR * include/hberrors.h -added #define ERR_UNMATCHED_EXIT * source/rtl/environ.c -corrected support for Watcom C/C++ compiler * tests/working/keywords.prg -added test code for EXIT keyword 19990519-21:22 CET Eddie Runia * makefile.b16 Patrick patch (command-line too long entered) 19990519-20:00 CET Eddie Runia * tests/working/run_exp.h shortened because InitSymbols * makefile.b16 / .b32 / .icc initsymb.c added 19990519-18:00 CET Eddie Runia * docs/hrb.faq add some documentation and FAQ list for the .HRB output 19990519-12:50 CET Eddie Runia * source/compiler/harbour.y Some clean up * tests/broken/runner.c | run_exp.h | stub.bat removed * tests/working/runner.c | run_exp.h | stub.bat added runner code * tests/working/spawn.prg spawn example program * tests/working/readhrb.prg + readhrb.lnk Clipper program to read .HRB files 19990518-23:15 David G. Holm * makefile.b31 - Put all common BCC options in c_opt macro to make it easy to switch to C++ by simply adding -P to c_opt and changing -P- on fixflex line to -P+ - I left the makefile creating Harbour using C, because there was no change in harbour.exe size or behaviour with C++ (Borland C++ 3.1) * source/compiler/fixflex.c - Modified to work with both C and C++ versions of Harbour + tests/working/bldpexe.bat - Copy of buildexe.bat with -P option to compile with C++ + tests/working/hbp.bat - Copy of hb.bat that calls bldpexe.bat to use C++ 19990519-02:45 Ryszard Glab * source/compiler/harbour.y - added support for INCLUDE environment variable - corrected looking for unmatched ENDIF/ELSE//ELSEIF - added '-t' option = alternative initialization of symbol table When this option is used then the Harbour generates C code for a function __InitSymbols that have to be called in order to properly initialize the global symbol table. You should use this option if you want to generate the C code output and your C compiler doesn't allow to call any function before the 'main'. * surce/vm/initsymb.c - added new file that registers a symbols table with runtime support functions. This file can be edited to add calls for application specific functions that registers local symbols tables used in application modules. The Harbour compiler can create __InitSymbols functions when you use '-t' option. * source/vm/hvm.c - added call for InitSymbolTable function that registers symbol table with runtime support Harbour functions. 19990518-19:30 David G. Holm * source/rtl/environ.c - Enhanced Harbour OS function to return both OS and Version for OS/2, DOS, and Windows 95/98. 19990518-18:00 David G. Holm + buildicc.cmd - New file for IBM C++ 3.0 for OS/2 + makefile.icc - New file for IBM C++ 3.0 for OS/2 * include/types.h - Added #ifdef for IBM C++ 3.0 for OS/2 * source/compiler/harbour.c - Added #ifdef and isatty() for IBM C++ 3.0 for OS/2 * source/rtl/environ.c - Added #ifdef for IBM C++ 3.0 for OS/2 + tests/working/biccexe.cmd - New file for IBM C++ 3.0 for OS/2 + tests/working/hbicc.cmd - New file for IBM C++ 3.0 for OS/2 19990518-23:40 CET Eddie Runia * source/compiler/harbour.y GenPortObj added. Can be accessed through /gHRB generates portable object structure. * tests/broken/hrb.bat added. simple batch file for HRB compilation * tests/broken/runner.c added. runner program * tests/broken/run_exp.h added. runner include file containing 'exportable' functions. 19990518-17:30 EDT David G. Holm * source/rtl/console.c - Use pItem->wLength and pItem->wDec when printing numbers. * source/rtl/dates.c - Moved date validation to hb_dateEncode function. - hb_dtoc now puts date separators in an empty date. - DAY function now sets stack.Return.wLength to 3. - MONTH function now sets stack.Return.wLength to 3. - YEAR function now sets stack.Return.wLength to 5. * source/rtl/extend.c - Set stack.Return.wLength and stack.Return.wDec for numbers. - _retds() now returns 8 spaces for invalid dates. * source/rtl/math.c - ABS returns same numeric type as parameter. - INT returns same numeric type as parameter, but for IT_DOUBLE, the value is truncated, wLength is set to 10, and wDec is set to 0. * tests/working/dates.prg - Removed trailing spaces in strings in OUTSDT calls with multiple items, because OUTSTD provides a leading space for all items but the first. * tests/working/mathtest.prg - Added QOUT(454.14) and QOUT(INT(454)) to debug INT problem with Borland C++ 3.1, which lead to change to INT in source/rtl/math.c 19990518-15:20 EDT David G. Holm * source/rtl/set.c - Fixed memory leak in HB_SETCENTURY 19990518-03:05 Ryszard Glab * source/compiler/harbour.l -corrected misspelled wCaseCounter * include/hberrors.h -new errors definition added (it should be uploaded in previous commit -sorry my fault 19990518-01:45 Ryszard Glab * source/compiler/harbour.l, source/compiler/harbour.y -added support for '-i' option (#include file search path) however it doesn't use SET INCLUDE environment variable yet -added error messages if unmatched ENDDO, ENDCASE, ENDIF, NEXT is found * include/extend.h -added forward declaration of CODEBLOCK structure and added the proper type for pCodeblock member of ITEM structure * source/vm/hvm.c -corrected pCodeblock type casting -added C++ style declaration of HB_FIRSTSYMBOL and HB_LASTSYMBOL 19990517-16:05 CET Eddie Runia * source/rtl/classes.c, source/rtl/tclass.prg, include/extend.h Initializers for DATA items added * tests/working/clasinit.prg Test program added 19990516-20:20 EDT David G. Holm * source/rtl/dates.c - Modified CTOD to perform date validation to only allow dates in the range allowed by Clipper: January 1, 0 through December 21, 2999. - Added parameter checking to hb_dtoc. * source/rtl/extend.c - Modified _pards to return an empty string ("") for invalid dates. - Modified _retds to set the Harbour date to 0 if the parameter is missing or if the parameter is not an 8-character null-terminated string. * source/vm/hvm.c - Changed EMPTY case for IT_NUMERIC to IT_INTEGER, because IT_NUMERIC is a composite of IT_INTEGER, IT_LONG, and IT_DOUBLE, which caused all integer values to return .T. * tests/working/empty.prg - Added SET CENTURY ON and SET DATE BRITISH, and removed text regarding DTOC needing to be fixed. 19990516-21:33 CET Eddie Runia * tests/working/set.ch removed 19990516-07:04 Ryszard Glab * source/compiler/harbour.l, source/compiler/harbour.y -cleaned rules for NEXT, BREAK, WHILE, BEGIN, DO to be 100% Clipper compatible (mainly keyword[] use); -corrected support for END keyword; -added include files: hbsetup.h and hberrors.h; -code for OBJ generation is now linked optionally -it is linked if the symbol OBJ_GENERATION is defined in hbsetup.h file; -corrected the generation of EXTERNAL symbols * source/vm/hvm.c -code with support for symbols defined in OBJ files is now linked optionally -it is linked if the symbol OBJ_GENERATION is defined in hbsetup.h file -added support for optional definition of the starting procedure (in case when automatic lookup for it doesn't work (Watcom C/C++)) * include/hbsetup.h -new file with Harbour configuration options (see this file for available options) * include/hberrors.h -new file with error constants definition shared by harbour.y and harbour.l * include/extend.h -added declaration of FindDynSym() function used in hvm.c * source/rtl/environ.c -added correct #include for Watcom C/C++ to use REGS union (although I am not sure if OS function should be placed here) * source/rtl/itemapi.c -corrected wrog declaration of symEval variable (it is SYMBOL structure instead of PSYMBOL pointer) * tests/working/keywords.prg -added test code for END keyword * makewat.env, makefile.wat -added/corrected makefiles for Watcom C/C++ compiler * makedos.env, makefile.dos -added/corrected makefiles for pure DOS DJGPP compiler 19990516-06:30 CET Eddie Runia * tests/working/bld32exe.bat Correct version added 19990516-01:00 CET Eddie Runia * source/rtl/arrays.c, source/rtl/extend.h ULONG instead of int hb_arrayLen() Reallocation bug in arrayAdd fixed 19990515-19:40 CET Eddie Runia * source/rtl/classes.c, source/rtl/arrays.c oClone added (actually : aClone can handle both :-) 19990515-16:20 CET Eddie Runia * source/compiler/harbour.y Jump optimalization caused return to fail. Optimalization removed. 19990515-15:15 CET Eddie Runia * source/rtl/environ.c Crash from geninterrupt resolved 19990515-13:55 CET Eddie Runia * source/rtl/classes.c Unreleased memory block in inline resolved. AGAIN ! 19990515-13:40 CET Eddie Runia * source/rtl/classes.c CVS Just deleted another upload !!!! 19990515-12:50 CET Eddie Runia * tests/working/overload.prg; source/rtl/hvm.c overloading basis 19990515-10:20 CET Eddie Runia * tests/working/*.bat make and build files added 19990514-20:10 EDT David G. Holm * source/rtl/strcmp.c - Added SET EXACT ON rules for null strings and trailing spaces. * tests/working/strings3.prg - Added tests for null strings and trailing spaces. 19990515-01:15 CET Eddie Runia * source/compiler/harbour.y #include again 19990513-22:20 EDT David G. Holm * makefile.b31 - Put harbour.obj back into the harbour.exe build. * source/compiler/harbour.y - Changed Expression EQ (for ==) to generate new PCODE _EXACTLYEQUAL, again. * source/vm/hvm.c - Modifed the Equal function to take one parameter: BOOL bExact, again. - Modified the handler for PCODE _EQUAL to call Equal( FALSE ), again. - Added new handler for PCODE _EXACTLYEQUAL, which calls Equal( TRUE ), again. - Modified the Equal function to call hb_itemStrCmp with bExact as the new third parameter, again. 19990514-23:45 CET Eddie Runia * source/rtl/set.c IS_STRING and IS_LOGICAL called without checking for empty pItem. 19990514-22:15 CET Eddie Runia * tests/working/set.ch added 19990514-20:30 CET Eddie Runia * include/set.ch (didn't work) added * source/rtl/classes.c Unreleased memory block in inline resolved 19990514-20:15 CET Eddie Runia * source/rtl/gtapi.c A lot of #ifdef #endif added or else it couldn't build out of the box. 19990514-19:50 CET Eddie Runia * source/rtl/codebloc.c Codeblock patch from Ryszard applied 19990514-19:45 CET Eddie Runia * source/rtl/arrays.c Patch from David (see below) was overwritten ?? 19990514-17:05 CET Eddie Runia * harbour.y xVar[ xEl ] += -= *= /= %= ^= added 19990514-16:00 CET Eddie Runia * makefile.b32 - added objfunc.obj * source/vm/hvm.c #ifdef NO_OBJ added * tests/working/hb32.bat, tests/working/bld32exe.bat added. 19990513-22:20 EDT David G. Holm * makefile.b31 - Removed harbour.obj from harbour.exe build, due to change from harbour_main to main in harbour.y * include/extend.h - Added 3rd parameter, BOOL bForceExact, to hb_itemStrCmp * include/pcode.h - Added new PCODE for _EXACTLYEQUAL to handle difference between = and == * source/compiler/harbour.y - Changed Expression EQ (for ==) to generate new PCODE _EXACTLYEQUAL * source/rtl/arrays.c - Modified ASCAN to call hb_itemStrCmp with FALSE as new 3rd parameter in order to match Clipper's use of the = operator for comparisons * source/rtl/strcmp.c - Added 3rd parameter, BOOL bForceExact, to hb_itemStrCmp and modified the code for comparing two strings to not adjust the return value when the second string is shorter than the first string and matches the first string up to the length of the second string, unless either bForceExact or hb_set.HB_SET_EXACT are TRUE * source/vm/hvm.c - Modifed the Equal function to take one parameter: BOOL bExact - Modified the handler for PCODE _EQUAL to call Equal( FALSE ) - Added new handler for PCODE _EXACTLYEQUAL, which calls Equal( TRUE ) - Modified the Equal function to call hb_itemStrCmp with bExact as the new third parameter * tests/working/strings3.prg - Added display of the SET EXACT setting before the big string comparison test, then duplicated the entire test and added SET (_SET_EXACT, .T.) prior to the second set of tests 19990513-11:05 Eddie Runia * obj/symbols.obj added * makefile.b32 changed according to Andi/Patrick fix. 19990512-21:30:00 EDT David G. Holm * makefile.b31 - Added implicit rule to compile .prg files in source\tools 19990512-18:40 Eddie Runia * source/tools/stringp.prg #defines added * makefile.b32 \ error and .prg path corrected * makefile.b16 .prg path corrected 19990512-01:15:00 EDT David G. Holm * makefile.b31 - Added genobj32.c and sybmols.asm - Made more developer friendly (you no longer have to remember which intermediate files to delete when a build fails due to an error in the makefile or an error in an intermediate step). - Added fixflex to split flexyy.c into flexyy.c and flex_tab.c + source/compiler/fixflex.c - New source module to split flexyy.c into smaller flexyy.c with the two largest tables in flex_tab.c. NB! Not needed for 32-bit compilers. Tue May 11 18:53:43 1999 Gonzalo A. Diethelm * Makefile: Added obj to the list of directories. * source/Makefile: Added rdd to the list of directories. * source/rtl/Makefile: Added gtapi.c to the list of C sources. * source/rtl/gtapi.c: Got rid of two warnings with gcc. * source/rtl/environ.c: Made sure it compiles with gcc. There was a missing #endif. * source/tools/stringp.prg: * tests/working/debugtst.prg: Replaced Debug() with HBDebug(), otherwise the generated C source collides with the macro DEBUG. * source/vm/hvm.c: Corrected a comment. * source/rdd/Makefile: * obj/Makefile: Added these two Makefiles. 19990511-19:20 Eddie Runia * source/rtl/classes.c (Default) parameter self added to INLINE methods * tests/working/inline.prg Test of INLINE method. 19990511-09:55 Eddie Runia * source/rtl/objfunc.prg, source/tools/stringp.prg created from tests/working/debugtst.prg * Makefile.* files added to list. (Except makefile.vc) 19990511-09:40 Eddie Runia * source/rtl/asort.prg added a seperate function * tests/working/debugtst.prg asort removed * Makefile.* asort added to list. (Except for makefile.vc; Incomplete ?) 19990511-00:07 MSG Bil Simser * source/rtc/environ.c - Added OS function * tests/working - Added OS.PRG test program 19990510-21:45 EDT David G. Holm * source/harbour.y - Put back a C++ lvalue fix that appears to have gotten lost during a diff merge: Parameter in call to yy_switch_to_buffer with embedded assignment needs () around the entire expression in order to have the (YY_BUFFER_STATE) type override apply to the result of the assignment. Mon May 10 19:32:34 1999 Gonzalo A. Diethelm * makefile.b32: Added source/compiler/harbour.c to this makefile. * source/compiler/Makefile: Added genobj32.c. * source/compiler/genobj32.c: Got rid of warnings. * source/compiler/harbour.y: Added '/' as path separator. 19990510-11:30 Eddie Runia * source/rtl/classes.c Function IsMessage() added * tests/working/debugtst.prg Function IsData() / IsMethod() added. Also contains tests for Is*() 19990510-10:05 Eddie Runia * source/vm/hvm.c Function PCount() added /* QUESTION: Should it be there ? */ * tests/working/debugtst.prg PCount() used 19990510-09:10 Eddie Runia * source/rtl/itemapi.c, include/itemapi.h - new version installed * source/tools/debug.c, source/rtl/classes.c - _item changed to hb_item 19990510-08:32 Eddie Runia * include/harbclip.h grabbed 19990510-01:19 Ryszard Glab * source/compiler/harbour.l, source/compiler/harbour.y - corrected syntax check for: case-> case+= case-= - DO/WHILE/CASE/WITH is now 100% compatible with Clipper - there is still problem with comments that ends with **/ (exactly two asterix and slash) * tests/working/keywords.prg - added code to test DO/WHILE/CASE/WITH 19900509-23:30 Eddie Runia * source/working/mankala.prg Instructions added 19990509-21:00 Eddie Runia * hvm.c Logical equivalence tests added ( ==, !=, >, <, >=, <= ) * debugtst.c Logical equivalence used. (==) aoMethod down to one-liner ! 19990509-19:30 Eddie Runia * makefile.b16, makefile.b32 debug.obj added 19990509-18:10 Eddie Runia * tests/working/calling Function Second changed to SecondOne() * tests/working/initexit * tests/working/statfun See above * tests/working/testtok i was required in next - Problem resolved (Thanx ! Ryszard ?) 19990509-18:00 CET Victor Szel * source/rtl/strings.c: hb_At() -> hb_strAt() * source/rtl/*.c, source/include/extend.h hb_julian2greg() -> hb_dateDecode() hb_greg2julian() -> hb_dateEncode() 19990508-20:57 Eddie Runia * source/rtl/arrays.c: Fixed unreleased memory block in aEval. 19990508-15:24 CET Victor Szel * source/rtl/strings.c: Fixed warning in PADR(), PADL(), PADC() (David G. Holm) 19990507-23:45 EDT David G. Holm This update makes Harbour compatible with the IBM C++ compiler. * include/init.h - Added test for IBM C++ compiler to Microsoft C #if block * include/types.h - Added #ifdef block for IBM C++ compiler to set #define for HARBOUR as simply void and also to set up a new #define for EXTERNAL_LINKAGE (as _LNK_CONV) in order for the IBM C++ compiler to compile harbour.y. * source/compiler/harbour.l - Added static to forward delcaration for yyunput in order to match the actual definition. * source/compiler/harbour.y - Added static to forward declaration of __yy_memcpy in order to match the actual definition. - Added EXTERNAL_LINKAGE to sz_compare4 definition, so that the IBM C++ compiler can successfully compile Harbour. - Added (BYTE *) type override to szText parameter in second invocation of GenPCodeN (the first one already had an override). 19990507-23:15 EDT David G. Holm * source/vm/hvm.c - Changed byte by byte copy used in PushString to memcpy, because the side effects of code like szTemp[w++] = szText[w] is compiler dependent. Borland C++ 3.1 (in C mode) copies byte 0 to byte 0, etc., but IBM Visual Age C++ 3.0 (in C++ mode) copies byte 1 to byte 0, etc. Sat May 8 03:02:04 1999 Ryszard Glab * source/compiler/harbour.y, source/compiler/harbour.l -static variables can be accessed in a codeblock even if this codeblock is a return value (detached static variables) -Harbour finds now illegal initializations of static variables (static variables can be initialized using literals only) -there is no 'redefinition of predefined function' error when the name of compiled source code is the same as reserved function -corrected support for /*******/ comments -Harbour distinguish now 'CASE' variable, 'CASE()' function and CASE statement (see tests/working/keywords.prg) * tests/working/keywords.prg -added many more wild statements to test Harbour compiler * test/working/statics.prg -added code to test access of static variables from a codeblock * source/rtl/extend.c -added brackets to avoid ambiguous if/else * source/include/extend.h * source/rtl/codebloc.c - added support for static variables in a codeblock 19990507-20:15 EDT David G. Holm * source/compiler/harbour.l * source/compiler/harbour.y * source/rtl/classes.c - Modified all three for C and C++ compatibility. - Tested with Borland C++ 3.1 in both C and C++ modes. 19990508-00:18 Eddie Runia * source/rtl/classes.c: oSend( , , added. Thu May 07 17:00:00 1999 Victor Szel * source/rtl/strings.c: Adapted changes by Matthew Hamilton Some internal functions renamed long type changed to ULONG. 19990507-11:30 EDT David G. Holm * makefile.b31 - added hbtools.lib * source/rtl/dates.c - added error handling supplied by Matthew Hamilton * source/vm/hvm.c - changed call to hb_init_set() to InitializeSets() to match source/rtl/sets.c * tests/working/buildexe.bat - added hbtools.lib 19990507-09:55 Ryszard Glab * source/rtl/files.c * source/rtl/set.c * source/rtl/transfrm.c * source/tools/stringsx.c -added compatibility with Watcom C/C++ compiler (char *) type castings 19990507-07:25 Ryszard Glab * source/compiler/harbour.y, source/compiler/harbour.l -improoved support for BEGIN SEGEUENCE -added distinction between BEGIN command and begin variable -added distinction between BREAK command and break variable * tests/working/keywords.prg -new file to test if we are 100% compatible with Clipper Thu May 06 18:12:15 1999 Gonzalo A. Diethelm * config/win32/gcc.cf: Added (commented by now) linking agains the math library. * source/compiler/harbour.y: Now the -q option is REALLY quiet. * tests/working/Makefile: Added all of the tests to the Makefile. Thu May 06 22:45:00 1999 Victor Szel * source/rtl/dates.c: Fix to STOD(), added error checking to DTOS(), the later can be disabled to make it faster. * source/vm/hvm.c, include/extend.h: strempty() -> hb_strempty(), declaration moved to .h * source/rtl/strings.c: hb_strempty() speed optimalization, cleanup. * source/vm/dynsym.c: OurStrUpr() -> hb_strupr() _strgreater -> hb_strgreater() * source/rtl/console.c: _outstd() -> hb_outstd() * source/tools/stringsx.c: StrToken() -> hb_strtoken() * source/rtl/strings.c: LTrim() -> hb_LTrim() RTrimLen() -> hb_RTrimLen() Lower() -> hb_Lower() Upper() -> hb_Upper() At() -> hb_At() Val() -> hb_Val() * source/vm/hvm.c, source/rtl/array.c, source/rtl/strcmp.c, include/extend.h OurStrCmp() -> hb_itemStrCmp() * source/rtl/*.c, source/include/extend.h julian2greg() -> hb_julian2greg() greg2julian() -> hb_greg2julian() Declaration moved to extend.h Thu May 06 13:58:48 1999 Gonzalo A. Diethelm * source/vm/hvm.c: Changed the prototype for ForceLink so that it is declared and defined as a static function. Thu May 06 13:09:45 1999 Gonzalo A. Diethelm * config/bin.cf: * config/c.cf: * config/lib.cf: * config/prg.cf: * config/test.cf: * source/rtl/Makefile: By mistake, we were not compiling the PRG files into OBJS for the rtl library. * source/rtl/dates.c: Changed the use of min with explicit code. min and max are macros in some platforms, functions in others, and it is usually a mess to link against them. * source/Makefile: * source/tools/Makefile: This directory was not being compiled. * source/tools/genobj.c: Got rid of most (all?) the warnings. * tests/working/Makefile: Now the libs to link against are explicitly specified in the Makefile. * tests/working/statics.prg: Cleaned up all ^M characters. Thu May 06 12:34:45 1999 Gonzalo A. Diethelm * source/compiler/harbour.l: * source/compiler/harbour.y: * source/rtl/set.c: Again, I renamed _AND and _OR to AND_ and OR_, and cleaned up a few warnings. Wed May 05 18:51:06 1999 Gonzalo A. Diethelm * include/ctoharb.h: * source/rtl/arrays.c: * source/rtl/files.c: * source/rtl/transfrm.c: * source/vm/dynsym.c: Replaced C++-style comments (//) with C-style commens (/* */). Wed May 05 18:36:53 1999 Gonzalo A. Diethelm * include/ctoharb.h: * include/dates.h: * include/extend.h: * include/init.h: * include/itemapi.h: * include/pcode.h: * include/set.h: * include/setcurs.ch: * include/types.h: * source/compiler/harbour.c: * source/compiler/harbour.l: * source/compiler/harbour.y: * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/codebloc.c: * source/rtl/console.c: * source/rtl/dates.c: * source/rtl/environ.c: * source/rtl/errorapi.c: * source/rtl/extend.c: * source/rtl/files.c: * source/rtl/itemapi.c: * source/rtl/math.c: * source/rtl/set.c: * source/rtl/strcmp.c: * source/rtl/strings.c: * source/rtl/transfrm.c: * source/tools/datesx.c: * source/tools/genobj.c: * source/tools/io.c: * source/tools/mathx.c: * source/tools/stringsx.c: * source/vm/dynsym.c: * source/vm/hvm.c: Added a comment with the CVS Id keyword. Wed May 05 18:28:28 1999 Gonzalo A. Diethelm * makefile.b16: * makefile.b32: Added explicit rules to compile harbour.o from harbour.c. Don' know why these were necessary, but it seems people had problems without them. Wed May 05 16:29:19 1999 Gonzalo A. Diethelm * include/pcode.h: * source/vm/hvm.c: * source/compiler/harbour.y: Replaced _AND and _OR with AND_ and OR_. Under gcc, these two identifiers are defined out. Also, got rid of a few warnings. * source/rtl/files.c: Implemented a macro trick to allow compilation of FOPEN, FREAD and FWRITE. Turned off HAVE_POSIX_IO for gcc; it doesn't seem to work. Restructured the code so that when HAVE_POSIX_IO is not defined, there are no warnings. Wed May 05 15:30:49 1999 Gonzalo A. Diethelm * source/harbour.y: * source/compiler/harbour.c: Replaced main() with harbour_main(), and added a separate harbour.c with just the main() function. * makefile.b16: * makefile.b32: * makefile.vc: Updated these files to reflect the new source/compiler/harbour.c file. * .cvsignore: Added this file with the patterns CVS will ignore while processing. * config/bin.cf: * config/c.cf: * config/dir.cf: * config/global.cf: * config/install.cf: * config/lib.cf: * config/prg.cf: * config/test.cf: * config/win32/gcc.cf: * config/win32/global.cf: * config/win32/msvc.cf: * config/win32/rules.cf: * Makefile: * source/Makefile: * source/compiler/Makefile: * source/rtl/Makefile: * source/vm/Makefile: * tests/Makefile: This is the GNU-make based build system. Wed May 05 09:24:22 1999 Gonzalo A. Diethelm * include/Set.ch: * tests/working/block2.PRG: Added back these files. They can't be renamed through CVS on NT, and the repository will have to be updated by some other means. Wed May 05 09:19:23 1999 Gonzalo A. Diethelm * include/Set.ch: * tests/working/block2.PRG: Removed these files in preparation to move them to lowercase. * ChangeLog: Added this file. May 31, 1999 Ron Pinkas Harbour.l modified {Array} and added {FunArray} and {ExpArray}. To fix support of state to be recusive as well as support: Function()[nIndex]. /TESTS/WORKING/ArrIndex.prg added this file. /TESTS/BROKEN/FuncArr.prg added this file to show: // This is NOT working? QOut( aFunc()[1] // But this IS working! a := aFunc() QOut( a[1] ) May 31, 1999 Ron Pinkas Harbour.l added support for "[String]" inside ARRAY INDEX expressions. Added "Sysntax error :" message for the macro operator (&) when followed by a string delimiter. June 1st. 1999 00:30 Ron Pinkas Harbour.y -> modified pcode generation to move the push of the counter variable to the NEXT rather than the FOR so loop code may manipulate the counter vaiable. TEST/WORKING/TestFor.prg -> added this file