diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 16bd2a7a70..e2113ca08d 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -1,4010 +1,9 @@ -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(). - ->>>>>>> 1.1294 -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) +19991025-19:46 GMT+1 Victor Szel * 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 + ! DISKSPACE(): Added support for Win32 platform. * ChangeLog - ChangeLog.003 - * Old ChangeLog renamed to ChangeLog.003 + + ChangeLog.004 + * Old ChangeLog renamed to ChangeLog.004 * New ChangeLog created. * source/pp/pragma.c * contrib/dot/pp_harb.ch diff --git a/harbour/ChangeLog.004 b/harbour/ChangeLog.004 new file mode 100644 index 0000000000..7c614522e3 --- /dev/null +++ b/harbour/ChangeLog.004 @@ -0,0 +1,4008 @@ +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(). + +>>>>>>> 1.1294 +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. diff --git a/harbour/source/rtl/filesys.c b/harbour/source/rtl/filesys.c index daf6377b7b..8db4fafd06 100644 --- a/harbour/source/rtl/filesys.c +++ b/harbour/source/rtl/filesys.c @@ -74,6 +74,10 @@ This has been corrected by ptucker */ +/* NOTE: The following #include "hbwinapi.h" must + be ahead of any other #include statements! */ +#include "hbwinapi.h" + #include #include "extend.h" #include "itemapi.h" @@ -1508,9 +1512,36 @@ HARBOUR HB_DISKSPACE( void ) } if( uiResult != 0 ) - ulSpaceFree = ( ( ULONG ) disk.avail_clusters * - ( ULONG ) disk.sectors_per_cluster * - ( ULONG ) disk.bytes_per_sector ); + ulSpaceFree = ( ULONG ) disk.avail_clusters * + ( ULONG ) disk.sectors_per_cluster * + ( ULONG ) disk.bytes_per_sector; + +#elif defined(_Windows) || defined(WINNT) + + { + char szPath[ 4 ]; + + DWORD dwSectorsPerCluster; + DWORD dwBytesPerSector; + DWORD dwNumberOfFreeClusters; + DWORD dwTotalNumberOfClusters; + + szPath[ 0 ] = uiDrive + 'A' - 1; + szPath[ 1 ] = ':'; + szPath[ 2 ] = '\\'; + szPath[ 3 ] = '\0'; + + if( GetDiskFreeSpace( szPath, + &dwSectorsPerCluster, + &dwBytesPerSector, + &dwNumberOfFreeClusters, + &dwTotalNumberOfClusters ) ) + { + ulSpaceFree = dwNumberOfFreeClusters * + dwSectorsPerCluster * + dwBytesPerSector; + } + } #else