19991025-19:09 GMT+1 Victor Szel * source/rtl/filesys.c + CURDRIVE() XBase++ compatible function added, between HB_COMPAT_XPP guards, it also has a TODO: ! hb_fsCurDrv() fixed to convert the return value of the OS calls to the Clipper standard. ! hb_fsChDrv() / DISKCHANGE(), CURDRIVE() hb_fsIsDrv() / ISDISK() hb_fsCurDrv() / DISKNAME() hb_fsMkDir() / MAKEDIR() hb_fsChDir() / DIRCHANGE() hb_fsRmDir() / DIRREMOVE() hb_fsCurDir() / CURDIR() hb_fsIsDevice() All these fixed, so that now they work with WIN32/MINGW32. * source/rtl/mouseapi.c + SETMOUSE() and NUMBUTTONS() XBase++ compatible functions added, between HB_COMPAT_XPP + source/rtl/oemansi.c source/rtl/Makefile config/w32/mingw32.cf + HB_ANSITOOEM() new Win32 related function added (Harbour extension) + HB_OEMTOANSI() new Win32 related function added (Harbour extension) + CONVTOOEMCP() XBase++ compatible function added (between HB_COMPAT_XPP) + CONVTOANSICP() XBase++ compatible function added (between HB_COMPAT_XPP) ; IMPORTANT NOTE: This may cause problems in other platform, since USER32 should be linked in. (WIN32/MINGW32 platform arranged) * source/rdd/dbf1.c - Some HB_SYMBOL_UNUSED() macros removed, since the variables are used. * source/tools/ctcrypt.c source/rtl/isprint.c * Some formatting. 19991025-12:30 EDT Paul Tucker * source/tools/ctcrypt.c * added some casts * source/rtl/isprint.c + add include "hbwinapi.h" * added defined( _WINDOWS_ ) for non-dos detection. * added a cast * source/rtl/net.c * added missing ; * makefile.vc + source/tools/ctcrypt.c + source/tools/ctchrmix.c + source/rtl/binnum.c + source/rtl/net.c Mon Oct 25 13:14:42 1999 Gonzalo A. Diethelm * doc/tracing.txt: * include/hbtrace.h: * source/common/hbtrace.c: * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/table.c: * source/pp/stdalone/hbpp.c: Changed the environment variables that enable tracing in Harbour, and added a document explaining how to do tracing. * include/hbsetup.h: * source/rtl/gt/gtcrs.c: * source/rtl/gt/gtlin.c: * source/rtl/gtxxx.c: Changed the name for the curses-based GT implementation file to gtcrs.c, leaving room for other linux-oriented implementations such as s-lang, etc. * source/rtl/arrays.c: * source/rtl/fm.c: * source/rtl/gtapi.c: * source/rtl/inkey.c: Added/corrected a few calls to HB_TRACE(). 19991025-15:20 GMT+1 Victor Szel * tests/memory.prg + Using hbmemory.ch * source/rtl/net.c + cast added for MSVC 19991025-14:58 GMT+1 Victor Szel * source/rtl/net.c + Name buffer length corrected. * Using a better API call for the same job. 19991025-12:37 GMT+1 Victor Szel + source/tools/ctcrypt.c + source/tools/ctchrmix.c + CA-Tools compatible CRYPT() function added. (named CT_CRYPT()) + CA-Tools compatible CHARMIX() function added. (named CT_CHARMIX()) * source/rtl/fm.c ! hb_xfree() fixed, so that it will not GPF when a NULL pointer is passed. % Some cleanup, one variable eliminated and code optimized out when the STATISTICS mode is turned off. ! Non-STATISTICS mode fixed in hb_xquery() * source/rdd/dbcmd.c ! hb_rddSelectWorkAreaAlias() fixed to handle workarea numbers as strings (exm: "1") and single character workarea aliases ("A"-"K") ! hb_rddSelectWorkAreaSymbol() fixed to handle the single character workarea aliases ("A"-"K") ! SELECT(), DBSELECTAREA() fixed handling of workarea numbers passed as strings, and workarea numbers passed as single characters ("A"-"K") Bruno, please review these. * include/gtapi.h source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/*.c % hb_gt_DrawShadow() moved to the high level API, the whole process got cleaned up. Simpler, less redundant and more compatible now. ! hb_gtDrawShadow() off-screen situations fixed. * All functions with "ptucker" mark moved to the copyright section. + HB_SYMBOL_UNUSED() added to gt_tpl.c - hb_gt_GetCursorSize() removed from the template gt_tpl.c * source/rtl/gt/gtwin.c * Small cleanups, variable names standardized, scopes adjusted. ! Fixed Scroll() in fill mode for Win9x OS. * source/rtl/oldclear.c source/rtl/oldbox.c ! #ifdef HARBOUR_USE_GTAPI guards added. * include/hboo.ch source/rtl/classes.c source/rtl/objfunc.prg source/rtl/tclass.prg source/tools/stringp.prg tests/dynobj.prg tests/objects.prg tests/overload.prg * #define names prefixed with HB_ to avoid collision with user programs. Some other slight changes applied to the name prefixes. + include/hbmemory.ch include/Makefile source/rtl/fm.c source/vm/hvm.c + New header file for MEMORY() parameters. + #include "hbmemory.ch" added + Using HB_MEM_ constants. * include/hbmemvar.ch source/debug/debugger.prg source/rtl/memvarbl.prg source/rtl/menuto.prg source/rtl/memvars.c * #define names prefixed with HB_ to avoid collision with user programs. * source/rtl/memvarbl.prg ! Non-STRICT COMPATIBLE branch removed. - #include "hbsetup.ch" removed * tests/begin.prg tests/inherit.prg (bugfix) tests/statinit.prg tests/strip.prg (bugfix) tests/tstcolor.prg (bugfix from today) ! Warning and bug fixed showed by the /w switch. * source/tools/charmix.c source/tools/chareven.c source/tools/charmix.c ! GT_CHARMIX(), GT_CHAREVEN(), GT_CHARODD() Fixed to use hb_retclen() instead of hb_retc(). * include/hbdefs.h + Cleaner namings for some macro arguments. + HB_MKULONG() macro added. + source/rdd/dbstrux.prg source/rdd/Makefile source/rtl/dummy.prg doc/funclist.txt + __DBCOPYSTRUCT(), __DBCOPYXSTRUCT(), __DBCREATE() functions added. WARNING ! Please update non-GNU make files. * source/rtl/dir.c ! DIRECTORY() *very* small compatibility fix for the order of returned attribute chars. * source/vm/hvm.c ! hb_vmForTest() error handler value substitution support added. * source/rtl/browdb.prg * Small formatting. * source/rtl/tget.prg source/rtl/memoline.c source/rtl/mlcount.c * Typo (char with different codepage) corrected. * source/rtl/tget.prg ! SAY/DevPos() converted to SetPos(), DispOutAt(). + End() made more compatible. % Display() optimized, variable removed, cursor setting removed. * source/rtl/tgetlist.prg % Cursor setting on/off removed from ShowScoreBoard(). * source/rtl/strings.c ! UPPER(), LOWER() were modifying the item buffer directly. Fixed. ! UPPER(), LOWER() some internal item access changed to Item API calls. + UPPER(), LOWER(), LEFT(), SUBSTR(), VAL(), AT(), ALLTRIM(), LTRIM(), RTRIM()/TRIM(), STRTRAN() value substitution on error added. ! SUBSTR() made compatible in a rare error case. (SubStr(C,N,C)) ! AT() GPFd on passed types other than string. ! Fixed the small difference between RTRIM() and TRIM(), they are 100% identical since the same pcode is generated for both in Clipper. ; Now all error substitutions are covered in STRINGS.C * ALLTRIM() is now launching a Clipper 5.3 compatible error by default instead of returning an empty string. ! hb_strAt() now returns 0 when an empty string is searched, this matches the Clipper behaviour, but the regression test was fooled by the (buggy) compiler optimalization. * tests/rtl_test.prg tests/strings3.prg + UPPER(), LOWER(), TRIM(), RTRIM(), LTRIM(), ALLTRIM() regression tests added. Some Upper() tests are failing. Some STRTRAN() fail tests added, Clipper 5.2e STRTRAN() error recovering bug discovered. + SUBSTR(), LEFT(), RIGHT(), AT(), RAT(), VAL() tests added for error conditions. * ALLTRIM() error condition results updated to reflect the change above. * "" $ and AT("", test results corrected, CA-Cl*pper behaviour documented. + STRINGS3.PRG moved to RTL_TEST (some) + ACOPY() expected test results adjusted accordging to the stricter ACOPY() compatibility. * source/rtl/arrays.c ! hb_arrayCopy()/ACOPY() is now 100% Clipper compatible, the STRICT option removed, it's always strict now. * source/rtl/binnum.c + BIN2U(), U2BIN(), W2BIN() XBase++ compatible functions added. All guarded with HB_COMPAT_XPP (defined by default) (not tested) * source/rtl/dates.c include/hbextern.ch source/runner/stdalone/external.prg + STOD() put between HB_COMPAT_XPP guards, since it belongs to XBase++ and is not part of base Clipper. + HB_STOD() Harbour extension function added, same as STOD() but with consistent naming. * source/rtl/dircmd.prg * STOD() -> HB_STOD() * source/rtl/mouse/mousewin.c + hb_mouse_CountButton() added for Win32. * source/rtl/mouseapi.c source/rtl/filesys.c + Clipper 5.3 functions put between HB_COMPAT_C53 guards. + One function added to the proper Copyright holder. * include/hbsetup.h source/rtl/mousexxx.c * HARBOUR_USE_MSAPI setup #define removed, from now on the USE_GTAPI setting will choose the mouse driver, too, since the mouse handling is highly related to the output (GT) driver. + HARBOUR_USE_STD_GTAPI #define added as a start for the std stream IO GT API, which is currently called "non-GT" mode. * source/rtl/console.c include/hbextern.ch source/runner/stdalone/external.prg source/rtl/tbrowse.prg source/rtl/tget.prg tests/rtl_test.prg * __COLORINDEX() function renamed to HB_COLORINDEX() + source/rtl/isprint.c + source/rtl/net.c source/rtl/Makefile source/rtl/dummy.prg doc/funclist.txt + ISPRINTER() function first draft. + NETNAME() implemented for the Win32 platform. Implementation note for DOS added. WARNING ! Please update non-GNU make files. * include/fileio.ch include/filesys.h ! FO_INHERITED and FO_PRIVATE flags moved to the .H file for better Clipper compatibility. * source/rtl/tone.c * __DJGPP -> __DJGPP__ (cosmetic only __DJGPP was also valid) * source/rtl/mouse/mousetpl.c ! Small correction (0->FALSE) + source/rtl/gt/gtstd.c + source/rtl/mouse/mousestd.c source/rtl/gtxxx.c source/rtl/mousexxx.c + Standard ANSI C GT/MOUSE drivers added. GT needs some more work. * source/rtl/inkey.c % Win32 local variables made static, name prefixed with "s_" 19991022-16:21 GMT+1 Victor Szel * source/rtl/strings.c ! REPLICATE(), SPACE() error value substitution support added. * tests/rtl_test.prg * tests/mathtest.prg - tests/strings.prg (removed) - tests/strings2.prg (removed) tests/Makefile + REPLICATE(), SPACE(), LOG(), EXP() regression tests added. Two bugs showed up somewhere around LOG(). + STUFF() tests extended. + ISDIGIT(), ISALPHA(), ISLOWER(), ISUPPER() regression tests added. + MATHTEST.PRG moved to RTL_TEST + STRINGS.PRG moved to RTL_TEST (mostly) + STRINGS2.PRG moved to RTL_TEST (mostly) - Removed those lines which got moved to RTL_TEST. 19991022-15:16 GMT+1 Victor Szel * tests/rtl_test.prg - tests/filexist.prg (removed) - tests/val.prg (removed) - tests/strcmp.prg (removed) - tests/instr.prg (removed) - tests/syserror.prg (removed) - tests/operat.prg (removed) tests/Makefile + Rest of File() tests moved to RTL_TEST, so FILEXITS.PRG could be removed + One ValType() test moved to RTL_TEST, so VAL.PRG could be removed + STRCMP.PRG tests moved to RTL_TEST + INSTR.PRG tests moved to RTL_TEST + SYSERROR.PRG tests moved to RTL_TEST + OPERAT.PRG tests moved to RTL_TEST + Some new operator precedence and inline inc/dec op. tests added. * Small cleanup in RTL_TEST. ; All newly added tests passes. * tests/tstcolor.prg + Some tests added for the SetColor() bug fixed yesterday. ! RETURN added to suppress warning. 19991022-13:56 GMT+1 Victor Szel * tests/rtl_test.prg - tests/fileio.prg tests/Makefile + Harbour level file API is now automatically tested in RTL_TEST. - FILEIO.PRG removed. 19991022-13:10 GMT+1 Victor Szel * source/rtl/filesys.c tests/fileio.prg ! FREADSTR() zero byte bug fixed. Reported by V.Kazimirchik + Some new tests cases added to the test program. * source/tools/ctchksum.c ! Fixed for large strings. * tests/cmphello.prg ! Path fixed. - tests/copyfile.prg - tests/fornext2.prg tests/Makefile - Some obsolete test files removed, they were moved to RTL_TEST previously. 19991022-10:53 GMT+1 Victor Szel * source/vm/hvm.c + //INFO now displays Clipper-like memory info. Just the values are higher ;) * source/rtl/fm.c include/extend.h + MEMORY() functionality split into Harbour and C callable functions. hb_xquery() 19991022-10:41 GMT+1 Victor Szel * source/rtl/fm.c tests/memory.prg + MEMORY() extended with 1003 and 1004 parameters, to retrieve stack usage. 19991022-10:33 GMT+1 Victor Szel * source/rtl/fm.c tests/memory.prg tests/Makefile doc/funclist.txt + MEMORY() support for Win32 platform, it can now return available physical, page, virtual memory and total physical memory. + Test program added. 19991022-10:03 GMT+1 Victor Szel * source/rtl/fm.c + MEMORY() function enhanced internally. ! MEMUSED()/MEMFREE() non-standard functionality moved inside MEMORY(). 19991022-09:27 GMT+1 Victor Szel * source/rtl/console.c ! New C syntax bug fixed in hb_setpos() * source/tools/ctchksum.c source/tools/Makefile + CA-Tools compatible CHECKSUM() function. * source/rtl/natmsg.c * Small correction. 19991022-08:19 GMT+1 Antonio Linares * source/rtl/fm.c * fixed some bugs regarding the calculations for the largest used memory and the used blocks. + New function HB_MEMUSED() and HB_MEMMAX() added. 19991021-23:33 GMT+1 Victor Szel * config/rules.cf + /w switch added to the default Harbour switches in the GNU make system. Be warned that some new warnings may arise in some test programs. The core Harbour .PRG files compile without any warnings, though. The only exception is HBRUN.PRG, but in that case either the compiler or the PP should be modified, until then just ignore these. * tests/fortest.prg tests/memfile.prg ! /w warnings fixed. * source/rtl/achoice.prg source/rtl/menuto.prg source/rtl/tgetlist.prg % SetPos() + DispOut() -> DispOutAt() * source/debug/debugger.prg % Now all screen output is done using SetPos()/DispOutAt() so it's faster and it's not fooled by output redirection or SET DEVICE TO PRINTER. * Menu made more exactly Clipper like. % "&" hotkey marker char changed to "~" to avoid any macro expansion in the future. * Some formatting (Move() method). * source/debug/tbrwtext.prg * Formatted. 19991021-22:18 GMT+1 Victor Szel * source/rtl/gtapi.c ! hb_gtSetColorStr() now resets the ColorSelect() value to STANDARD, like in Clipper. 19991021-21:08 GMT+1 Victor Szel * source/rtl/gt/gtwin.c source/rtl/dates.c ! Indentation fixed. 19991021-19:40 GMT+1 Victor Szel * source/rtl/filesys.c % Updated, so that the platform dependent variable declarations got moved inside the block where they are used, instead of declaring them globally for all platform branches. HB_UNUSED_VARIABLE() lines could be then removed. Thu Oct 21 14:09:07 1999 Gonzalo A. Diethelm * source/rtl/gt/gtlin.c: A first, very basic, implementation of GT for Linux using curses. At this point, all I have tested is that tests/hello.prg works acceptably well when compiled with -DHARBOUR_USE_LIN_GTAPI. There are LOTS of functionality missing still. Thu Oct 21 14:02:53 1999 Gonzalo A. Diethelm * config/linux/gcc.cf: Added linking against ncurses. * include/gtapi.h: Added hb_gtReadKey() and hb_gt_ReadKey() functions. * include/hbsetup.h: * source/rtl/gtxxx.c: Made sure LIN_GTAPI is taken into account. * source/rtl/console.c: * source/rtl/filesys.c: * source/rtl/gtapi.c: * source/rtl/inkey.c: * source/rtl/gt/gtwin.c: Fixed several warnings. Thu Oct 21 11:56:55 1999 Gonzalo A. Diethelm * source/common/hbtrace.c: Modified the TRACE function so that it does no superfluous copying anymore. * source/compiler/Makefile: * source/runner/stdalone/Makefile: * tests/Makefile: Added the common library to the list of dependencies. * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/table.c: * source/pp/stdalone/hbpp.c: Made sure tracing is enabled only when both HB_DO_TRACE and HB_REALLY_DO_TRACE are defined; this way, the user can just set HB_DO_TRACE to enable tracing in harbour, but not see all the tracing output while compiling harbour itself. * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/codebloc.c: * source/rtl/console.c: * source/rtl/copyfile.c: * source/rtl/dates.c: * source/rtl/descend.c: * source/rtl/dir.c: * source/rtl/environ.c: * source/rtl/errorapi.c: * source/rtl/extend.c: * source/rtl/filesys.c: * source/rtl/fm.c: * source/rtl/gtapi.c: * source/rtl/hardcr.c: * source/rtl/inkey.c: * source/rtl/itemapi.c: * source/rtl/langapi.c: * source/rtl/math.c: * source/rtl/memvars.c: * source/rtl/mouseapi.c: * source/rtl/mtran.c: * source/rtl/natmsg.c: * source/rtl/samples.c: * source/rtl/set.c: * source/rtl/setcolor.c: * source/rtl/strings.c: * source/rtl/tone.c: * source/rtl/transfrm.c: Added tracing to all functions. 19991021-15:35 GMT+2 Ryszard Glab *include/extend.h *source/rtl/memvars.c *source/vm/hvm.c * new function hb_memvarNewParameter() used to create a variable listed on PARAMETER statement (corrected bug - private variables are created instead of reusing existing ones) 19991021-16:02 GMT+3 Alexander Kresin * contrib/odbc/todbc.prg * there was an infinite loop in TOdbc():New(), * now it works correctly. 19991021-09:14 GMT+3 Alexander Kresin + contrib/odbc/todbc.prg + contrib/odbc/readme.txt * These files I got from Felipe Coury 19991021-00:50 EDT Paul Tucker * source/rtl/environ.c changed defined(_Windows) to defined(_WINDOWS_) since this is what gets created in Windows.h 19991021-01:48 GMT+1 Victor Szel * include/hbtrace.h ! TRACE() fixed to HB_TRACE() (that was a bit late :) * Some formatting. * source/common/hbtrace.c * Formatting. * source/pp/*.c source/pp/stdalone/*.c * Tabs removed. 19991020-19:40 EDT David G. Holm * include/hbtrace.h ! Added missing HB_ prefix to #define TRACE(x) in the #else block. 19991021-01:37 GMT+1 Victor Szel * include/Makefile ! Added hbtrace.h and hbwinapi.h * include/hbwinapi.h ! Minor naming correction. * include/compiler.h ! Minor cosmetic correction. * source/compiler/genc.c % Some redundant generated code text removed. * source/rtl/gtapi.c ! hb_gtWrite() it truncated one more character than needed. * source/rdd/dbfntx/dbfntx1.prg ! Local error handler extension disabled, since sometimes it doesn't work because of the random INIT procedure execution order. 19991020-19:15 EDT David G. Holm + include/hbwinapi.h - include/wincheck.h * source/rtl/dates.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/inkey.c % Changed name of wincheck.h to hbwinapi.h (and added missing CVS ID, Copyright and free software header, and self-check). Wed Oct 20 19:28:51 1999 Gonzalo A. Diethelm * source/Makefile: * source/common/Makefile: * source/common/hbtrace.c: * include/hbtrace.h: Added a common/ library where all "common" stuff should be implemented. For starters, I placed here a rudimentary tracing facility. Basically, all functions should be of the form: int foo(char* name /* other parameters */) { HB_TRACE(("foo(%s)", name)); /* implementation */ } If harbour is compiled with HB_DO_TRACE defined, then this will generate a trace on stderr of all functions being called (caution: it generates LOTS of output!!!). If HB_DO_TRACE is not defined, the HB_TRACE() lines are defined out and there is no performance hit. * include/hbdefs.h: Included hbtrace.h. * source/pp/hbpp.c: * source/pp/hbppint.c: * source/pp/hbpplib.c: * source/pp/stdalone/Makefile: * source/pp/stdalone/hbpp.c: Added tracing calls as a "proof of concept". * source/rtl/gt/gtwin.c: Fixed two minor typos. 19991020-21:30 GMT+1 Victor Szel * source/rtl/achoice.prg % FUNCTION -> PROCEDURE for speed. % Two small functions converted to macros for speed. * Formatted. (if() -> iif(), <> -> !=, some variable names standardized, S87 style comments * -> //, indent errors, etc.) * source/rtl/asort.prg % FUNCTION -> PROCEDURE for speed. * include/rddsys.h * Small aligning. 19991020-22:58 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares, Victor Szel and Guy Roussin - contrib/odbc/bld32exe.bat - contrib/odbc/hb32.bat + contrib/odbc/bld_b32.bat + contrib/odbc/odbccall.prg + contrib/odbc/odbcdemo.prg * contrib/odbc/odbc.c * contrib/odbc/harbour.mdb * These files I got from Felipe Coury 19991020-20:23 GMT+1 Victor Szel * source/rtl/alert.prg source/rtl/browdb.prg source/rtl/memvarbl.prg + #include hbsetup.ch added. + include/hbsetup.ch include/hbsetup.h include/Makefile + New header file added to setup things which are common to both .PRG and .C source files, currently HARBOUR_STRICT_CLIPPER_COMPATIBILITY was moved from hbsetup.h + HB_COMPAT_C53 HB_COMPAT_XPP HB_COMPAT_VO #defines added to be able to toggle inclusion of the new features of these compilers. All these are turned on by default. * source/rtl/browdb.prg + dbSkipper() function added, it's now guarded with HARBOUR_COMPAT_XPP, so there is a possibility to switch to the fully Clipper compliant, or the XBase++ compliant method. + NOTE added about dbSkipper. * source/rtl/filesys.c + source/rtl/binnum.c (added) * BIN2W(), BIN2I(), BIN2L(), I2BIN(), L2BIN() functions moved to a separate source file. Since these were not FileSys APi functions. WARNING ! Please update non-GNU make systems. - include/caundoc.api renamed to + include/hbundoc.api include/Makefile tests/extend2.c * Include file name standardized, now the HBUNDOC.API file should contain all undocumented API calls (not only for CA-Cl*pper). - include/harbour.ch renamed to + include/hbclip.ch include/Makefile samples/guestbk/testcgi.prg * Include file renamed to better fit into the include file naming scheme (hb prefix for all non-standard .ch files). 19991020-13:27 GMT+1 Victor Szel * include/extend.h source/rtl/arrays.c source/rtl/classes.c source/vm/hvm.c * Name change, to avoid possible collision. BASEARRAY -> HB_BASEARRAY PBASEARRAY -> PHB_BASEARRAY BASEARRAY_PTR -> HB_BASEARRAY_PTR NOTE: HB_ARRAY would be a better name, but that would collide with the Harbour function HB_ARRAY (ARRAY()). 19991020-12:59 GMT+1 Victor Szel * include/hbdefs.h source/pp/hbpplib.c source/rtl/arrays.c source/rtl/math.c source/rtl/samples.c source/rtl/tone.c source/rtl/filesys.c source/rtl/memvars.c source/compiler/harbour.y (HIBYTE(), LOBYTE(), MKLONG(), Ryszard!) source/compiler/genc.c source/compiler/genhrb.c source/compiler/genjava.c source/compiler/genobj32.c * Some global macros renamed to avoid name collision with C extend modules and standard OS makefiles. MAX() -> HB_MAX_() MIN() -> HB_MIN_() (the additional underscore is need to avoid name collisions with Harbour functions HB_MIN() and HB_MAX()) LOBYTE() -> HB_LOBYTE() HIBYTE() -> HB_HIBYTE() MKSHORT() -> HB_MKSHORT() MKUSHORT() -> HB_MKUSHORT() MKLONG() -> HB_MKLONG() * include/hbdefs.h include/hb_vmpub.h source/compiler/harbour.y (Ryszard!) source/vm/dynsym.c source/vm/hvm.c * SYMBOLSCOPE -> HB_SYMBOLSCOPE * include/extend.h source/vm/hvm.c * STACK -> HB_STACK * source/rtl/tbrowse.prg + Configure parameter added back, NOTE added that it's an undoc. feature in Clipper. * source/rtl/browdb.prg include/hbextern.ch source/runner/stdalone/external.prg + Public dbSkipper() function made STATIC, renamed to Skipped() to be Clipper compatible. Clipper doesn't have any public dbSkipper(), _dbSkipper() or Skipped() functions. - Non-Clipper compatible function _dbSkipper() removed. * Formatted. * source/rtl/browse.prg ! Small formatting correction. 19991019-19:00 EDT David G. Holm * config/w32/bcc32.cf ! I finally found out what I did wrong with regards to using BCC32 with the GNU Make System. I had accidentally set it up for the DOS GT API instead of for the Windows GT API! + include/wincheck.h * source/rtl/dates.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/inkey.c ! All source files that need to conditinally include the Windows API now use the new include file "wincheck.h" in order to eliminate inconsistent inclusion of "windows.h". If "windows.h" ends up being included, then the new manifest constant HARBOUR_USE_WIN is defined. * source/rtl/inkey.c ! Added Windows Console Mode translations for Alt+Tab and Shift+Tab. 19991019-11:55 GMT+1 Victor Szel * source/rtl/tbrowse.prg ! Fixed the header/footer separator to be drawn until the border. + ColorRect() support started. - Removed the parameter from ::Configure() calls, it was not used, and Clipper don't have such parameter. * source/rtl/browse.prg + Enhanced speed and compatibility. - Incremental refreshing. - Missing keys added. - Status line added. - Border fixed. - Setkey support added. 19991019-10:24 GMT+1 Antonio Linares * source/rtl/gt/gtwin.c * Windows apps only create a console when the debugger is linked. 19991019-01:50 EDT Paul Tucker * makefile.vc + source/rtl/natmsg.c * source/pp/hbpp.c * in ParseDefine() line 278: ==0 s/b <= 0 19991018-23:04 GMT+1 Victor Szel + source/rtl/natmsg.c (added) source/rtl/Makefile source/rtl/dummy.prg tests/rtl_test.prg + National message related functions added. ISAFFIRM(), ISNEGATIVE(), NATIONMSG() (by Jose Lalin) + _NATSORTVER(), _NATMSGVER() function added. ! Fixes and cleanup for IS*() and NATIONMSG() functions. + Regression tests added for these new functions. WARNING ! Please update non-GNU make systems. * source/rtl/dircmd.prg + NOTE added about a small anomaly in Clipper. * source/rtl/tbrowse.prg * Small changes. 19991018-14:54 GMT+1 Victor Szel * source/rtl/tbrowse.prg ! PgUp() fixed to set HitTop instead of HitBottom, now the cursor will not lock up in the first position. ! DevOut() changed to DispOut(), faster and Clipper compatible. % SetPos() + DispOut() -> DispOutAt() to be even faster. * source/rtl/console.c ! DISPOUTAT() color bug fixed. * source/pp/table.c ! dbClearRel() -> dbClearRelation() Using full name, otherwise Harbour will not find it. 19991018-14:10 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed bugs, reported by Antonio Linares * source/rtl/tbrowse.prg * Fixed some problems with Left(), Right() and logical fields. 19991018-11:58 GMT+1 Victor Szel * source/rtl/adir.prg + SET DEFAULT handling added. * source/rtl/dir.c + TOFIX: added to change to filename splitting/merging to use the hb_FName*() functions. That's why DIRECTORY() will GPF now on some systems (WinNT/MINGW32/normal slash in directory). * tests/rtl_test.prg ! Small fixes for some time parameters. * source/rtl/soundex.c ! Small pedantic fix. * source/rtl/fm.c * TODO text modified. * source/rtl/asort.prg * Small change. 19991018-09:36 GMT+1 Antonio Linares * source/rtl/gt/gtwin.c + Added support for Windows apps without console. (Now Harbour Windows apps may use the standard Harbour debugger and whatever console output is generated -for any reason- will be seen so it may be corrected!). 19991018-03:35 EDT Paul Tucker * makefile.vc + source/rdd/rddord.prg 19991018-09:34 GMT+1 Victor Szel * source/rtl/rddord.prg moved to source/rdd/rddord.prg source/rtl/Makefile source/rdd/Makefile * Moved to the proper place. WARNING ! Please update non-GNU make systems. (sorry for the huge amount of make file changes) 19991018-03:25 EDT Paul Tucker * makefile.vc + source/rtl/samples.c + source/rtl/soundex.c 19991018-09:28 GMT+1 Victor Szel * doc/gmake.txt ! win32 changed to w32. 19991018-09:21 GMT+1 Victor Szel + source/rtl/soundex.c source/rtl/Makefile source/rtl/dummy.prg source/rtl/rtl_test.prg doc/funclist.txt + SOUNDEX() and related regression tests added. WARNING ! Please add new file to non-GNU make systems. - source/rtl/afields.prg (removed) source/rtl/Makefile - AFIELDS() removed from the RTL, since it was already implemented in the RDD. 19991018-08:55 GMT+1 Bruno Cantero * source/rtl/dummy.prg - __dbSetLocate() and __dbSetFound() functions removed. * source/rdd/dbcmd.c + Added support for __dbSetLocate() and __dbSetFound() functions. 19991018-07:36 GMT+1 Victor Szel + source/rtl/afields.prg source/rtl/Makefile + AFIELDS() function added (by Jose Lalin) WARNING ! Please add new file to non-GNU make systems. 19991018-00:03 GMT+1 Victor Szel * source/vm/hvm.c + Support for overloading the following operators: *, /, %, ^, **, !, .NOT., .AND., .OR. * tests/rtl_test.prg + Tests added for new operator overloading features. * source/vm/dynsym.c ! Small formatting fixes. 19991017-21:24 GMT+1 Victor Szel * source/rtl/samples.c ! hb_SecToTimeStr() bug (typo) fixed. * tests/rtl_test.prg + Tests added for new Samples functions. 19991017-20:46 GMT+1 Victor Szel + source/rtl/samples.c source/rtl/Makefile source/rtl/dummy.prg source/rtl/rtl_test.prg + AMPM() (tested) + DAYS() + ELAPTIME() + LENNUM() + SECS() + TSTRING() Functions added, mostly not yet tested. RTL_TEST tests added for AMPM(). WARNING ! Please add new file to non-GNU make systems. * include/extend.h + hb_strVal() prototype added. + hb_strLTrim() prototype added. * source/rtl/dummy.prg include/hbextern.ch source/runner/stdalone/external.prg ! Some internal functions removed (added today), since they seem not real Clipper functions. + Several new Clipper (documented) functions added (db*() for 5.3, and SOUNDEX()) + One new undocumented function added. (__FLEDIT) 19991017-09:00 EDT Paul Tucker * makefile.vc + source/rtl/oldbox.prg + source/rdd/dbnubs.c 19991017-14:36 GMT+1 Victor Szel * source/rdd/dbnubs.c source/rdd/Makefile include/hbextern.ch source/runner/stdalone/external.prg * Added internal versions of database commands. All undocumented. WARNING ! Please add dbnubs.c to non-GNU make systems. * source/rtl/dummy.prg include/hbextern.ch source/runner/stdalone/external.prg + __dbArrange() + __dbFList() + __dbOpenSDF() + __dbSetFound() + __dbSetLocate() + __dbTrans() + __dbTransRec() Some more undocumented, internal Clipper functions added. With these, to my knowledge *all* Clipper level, internal and undocumented functions are defined in Harbour. 19991017-13:34 GMT+1 Victor Szel * source/rtl/dummy.prg + Some more undocumented and internal functions added. * source/rtl/harbinit.prg + ANNOUNCE CLIPPER520, ANNCOUNT CLIPPER530 added for complete compatibility. * source/vm/hvm.c + PROCFILE() function added. It does nothing, but it's there in Clipper. * include/hbextern.ch source/runner/stdalone/external.prg * Updated. ANNOUNCE-s also added this time. 19991017-13:04 GMT+1 Bruno Cantero * source/rtl/dummy.prg - __dbLocate() and __dbContinue() functions removed. * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c + Added support for __dbLocate() and __dbContinue() functions. * tests/testdbf.prg * Now use test.dbf file and test __dbLocate() and __dbContinue() functions. 19991017-12:57 GMT+1 Victor Szel * source/rtl/environ.c + GETE() undocumented Clipper function added. * source/rtl/memvars.c + __QQPUB() function added. % Some variable scopes adjusted. * source/rtl/dummy.prg - __QQPUB() removed. * source/rtl/classes.c + HB___CLASSNEW() + HB___CLASSINSTANCE() + HB___CLASSADD() + HB___CLASSNAME() + HB___CLASSSEL() Clipper compatibility functions added. + source/rtl/oldclear.c source/rtl/Makefile + __CLEAR() + __ATCLEAR() Undocumented Clipper functions added. Please add oldclear.c to non-GNU make systems. 19991017-08:51 GMT+1 Victor Szel * tests/Makefile + tstalias.prg added * tests/tstalias.prg + CVS ID header added 19991016-22:40 GMT+8 Ron Pinkas * harbour.y + added support for _FIELD->Expression and _FIELD->ALIAS->Expression "REPLACE Field WITH Exp" and "REPLACE ALIAS->Field WITH Exp" are supported "REPLACE 1->Field WITH Exp" will compile but requires some more work by Ryszard. + added support for Aliased Variables in Push/Pop support. + added "Invalid alias expression" error to _szCERRORS. - Removed Todo # 9 support for _FIELD->Alias->Field. * harbour.l + added {Integer} definition - used by _Field->Area#-> rule + added MEMV->& and MEMVA&-> to MACROOP defeinition. + added rules for _FIELD->"{Integer}"->", _FIELD->"{Number}"->" (Error condition), _FIELD->"{Integer}"->" and _FIELD->"{Identifier}"->" * Hberror.h + added #define ERR_ALIASEXP 38 + /Tests/TstAlias.prg added new test to demonstrate support for aliased expression. 19991016-18:40 GMT+8 Ron Pinkas * harbour.y * Corrected bug with Push/Pop optimizer and BlockList. 19991016-14:40 GMT+8 Ron Pinkas * compiler.h + added lLstPushPos to PFUNCTION structure to support nesting (like in blocks ). * harbour.y * Corrected bug with Push/Pop optimizer when var assignment in CodeBlock used. + added Push/Pop Optimizer support to CodeBlock expressions list. 19991016-20:46 GMT+1 Victor Szel * tests/test.dbf ! Readded in binary mode 19991016-19:07 GMT+1 Antonio Linares + tests/test.dbf + 500 records with random information added. (SuccessWare's dbcre8.exe 500 used to generate it) (Now tests/testbrdb.prg may be properly tested). 19991016-14:25 GMT+1 Victor Szel * source/rtl/gt/gtwin.c source/rtl/inkey.c * Renamed variable name HInput to hb_gtHInput * tests/Makefile + testbrdb.prg added 19991016-10:06 GMT+1 Victor Szel * source/rtl/Makefile + browse.prg added * source/compiler/harbour.y ! Temporarily commented out the new code from RemoveExtraPush() since it broke many existing code. 19991016-03:08 EDT Paul Tucker * makefile.vc + source/rtl/browse.prg 19991016-08:52 GMT+1 Antonio Linares + source/rtl/browse.prg + New function Browse() added (early prototype. Still some missing functionality). * source/rtl/dummy.prg - function Browse() removed. * makefile.b32 + added browse.prg (warning I have not updated other makefiles!) + tests/testbrdb.prg + New sample added. 19991016-00:10 EDT David G. Holm * doc/gmake.txt + Documented C_USR and -DHARBOUR_USE__GTAPI were missing. 19991016-00:00 EDT David G. Holm * source/rtl/set.c ! HB_DEFPATH() (and consequently HB___DEFPATH()) now append a drive or path delimiter if the default path does not have one at the end. 19991015-23:25 EDT Paul Tucker * source/compiler/harbour.c + || defined(_MSC_VER) around isatty() This allows gnu make to compile harbour.exe It doesn't seem to affect ms make * doc/gmake.txt * updated notes regarding MSVC 19991015-23:15 EDT David G. Holm * include/set.h * include/set.ch * source/pp/table.c * source/rtl/set.c * tests/set_num.prg * tests/set_test.prg + Added missing Clipper 5.3 SETs: HB_SET_VIDEOMODE HB_SET_MBLOCKSIZE HB_SET_MFILEEXT HB_SET_STRICTREAD HB_SET_OPTIMIZE HB_SET_AUTOPEN HB_SET_AUTORDER HB_SET_AUTOSHARE Not knowing what their defaults should be, I defaulted the first two to 0, the third one to '\0', and the rest to FALSE. 19991015-22:00 EDT David G. Holm * source/rtl/inkey.c - Removed Windows #ifdefs from DOS-style keyboard input. - Removed special handling for Borland C when used with Windows. - Removed Cygwin from Unix-like keyboard input support. + Windows keyboard input now uses Windows Console Mode functions GetNumberOfConsoleInputEvents() and ReadConsoleInput() and a whole lot of key code translation. NOTE 1: If INKEY_EXTENDED is used, then device-independent key codes are used instead of keyboard scan codes and no attempt is made to map extended keys to their Clipper equivalents. All key codes have 256 added to them. Enhanced adds 512, Shift adds 1024, Left Ctrl adds 2048, Right Ctrl adds 4096, Left Alt adds 8192, and Right Alt adds 16,384. Normal keys are in the range 0 to 255. A value that is larger than 255 represents an extended key. All state keys generate key codes. Use the test program INKEYTST with two parameters (such as S and X) to display the codes. NOTE 2: This is just an experiment to see if allowing Harbour to get all key codes when run under Windows is a good idea. NOTE 3: If INKEY_EXTENDED is not used, then keyboard scan codes are used and extended codes are translated to Clipper codes( and state keys do not generate key codes). * source/rtl/gt/gtwin.c % Removed 'static' declaration from 'HANDLE HInput;', so that hb_inkeyPoll() doesn't have to duplicate the initialization. Fri Oct 15 16:42:30 1999 Gonzalo A. Diethelm * config/lib.cf: * source/debug/Makefile: * source/pp/Makefile: * source/rdd/Makefile: * source/rdd/dbfcdx/Makefile: * source/rdd/dbfntx/Makefile: * source/rdd/nulsys/Makefile: * source/rtl/Makefile: * source/runner/Makefile: * source/tools/Makefile: * source/vm/Makefile: Now Makefiles that will create a library use LIBNAME for the library's name; the LIB variable is not used anymore, so it will not conflict with the widely used environment variable with that name. Thanks to Paul Tucker for pointing this out. 19991015-18:45 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * Bug removed, default alias work if not alias and extension is specified. * source/rdd/dbf1.c * Bug removed, Bof() now work properly. 19991015-09:53 GMT+3 Alexander Kresin * source/pp/hbpp.c * Fixed little bug, reported by Antonio Linares 19991015-02:04 GMT+1 Victor Szel * source/compiler/genjava.c + Java source generation added to the compiler (by Matteo Baccan) * source/rtl/filesys.c + TOFIX: added to hb_fsIsDrv() (by Jose Lalin) * source/rtl/dates.c ! Some pp directives indented. Thu Oct 14 17:29:32 1999 Gonzalo A. Diethelm * source/rtl/dates.c: Fixed an include guard so that HB_DONT_DEFINE_BASIC_TYPES is defined for both gcc and mingw32. 19991014-18:17 GMT+1 Victor Szel * source/compiler/genc.c ! Fixed pcode generation with /gc0 switch for MODULENAME opcode. There was an incrementation operator embedded in an expression, which was not executed in this case. 19991014-18:13 GMT+1 Bruno Cantero * source/rdd/dbcmd.c * Removed some low level access to item.asArray 19991014-16:18 GMT+3 Alexander Kresin * source/pp/hbpp.c * source/pp/hbppint.c * source/pp/stdalone/hbpp.c * Fixed some bugs, reported by Antonio Linares, Victor Szel and Jose Lalin 19991013-20:10 GMT+8 Ron Pinkas * harbour.y + added rules to allow inline assignment to RIVATE/PUBLIC &cVar (as in PRIVATE &cVar := 'Hello'). + added extern char *yytext to have acces to the original string form of numbers. * harbour.l + added rules to support new TOKEN MACROOP and completed support for macro in MODES PRIVATE and PUBLIC_ (Ryszard TODO removed). * tests/tstmacro.prg added more tests to demonstrate working capabilities of macro. 19991013-01:40 GMT+1 Victor Szel * source/rtl/dates.c ! #ifdef ...WIN_GTAPI changed to proper platform tests. 19991013-19:05 EDT David G. Holm * include/itemapi.h + Added a prototype for hb_itemString(). + Added a prototype for hb_itemValToStr(). * source/compiler/harbour.l ! Removed yy_strdup() call from yy_ConvertNumber(). * source/rtl/console.c - Removed the string conversion code from hb_out(). + Added a call to hb_itemString() to hb_out(). * source/rtl/dates.c ! Corrected two erroneous instances of 'hb_stack.szDate' in hb_dateDecStr() to use the 'szDate' parameter instead. * source/rtl/itemapi.c + Moved hb_itemStr() from source/rtl/strings.c + New function hb_itemString() converts practically any value to a string (this is a modification of the string conversion code that used to be in hb_out() in source/rtl/console.c). + New function hb_itemValToStr(), suggested by Antonio Linares. * source/rtl/strings.c - Moved hb_itemStr() to source/rtl/itemapi.c + New function HB_HB_VALTOSTR(), suggested by Antonio Linares. * tests/rtl_test.prg + Added several HB_VALTOSTR() tests. Note: hb_itemStr() is not re-entrant and probably not thread-safe. I'm not sure how to correct for that without requiring that the caller free up strings allocated by this function, which I would very much like to avoid. Any ideas? 19991013-13:46 GMT+8 Ron Pinkas * harbour.y + added MACROOP (last session also added MACROALIAS) + added rules to complete support for PRIVATE/PUBLIC &cVar - it now supports any mix of variables and macros. * harbour.l + added rules to support new TOKEN MACROOP and completed support for macro in MODES PRIVATE and PUBLIC_ (Ryszard TODO removed). * tests/tstmacro.prg added even more tests to demonstrate working capabilities of macro. 19991013-17:45 EDT Paul Tucker * source/rtl/oldbox.c * Add parens so cast applies to entire expression 19991013-22:37 GMT+1 Victor Szel * tests/rtl_test.prg * Column width adjusted. 19991013-22:26 GMT+1 Victor Szel * source/rtl/oldbox.c source/rtl/Makefile tests/boxtest.prg tests/Makefile makefile.b32 makefile.b16 makefile.vc + __BOX*() undocumented Clipper functions added. (Thanks to Jose Lalin) + Added to all make systems, please try them. * makefile.b32 runner.b32 ! Fixed and updated by Jose Lalin 19991013-11:00 GMT+8 Ron Pinkas * harbour.y + added TOKEN DOT and rules to support concatenation of Var and constant in macro variables assignments (like &cVar.PlusFix). + added rules to support PRIVATE/PUBLIC &cVar * harbour.l + added rules to support new TOKEN DOT and yylval.string to have the string value when parsing DOUBLE. * tests/tstmacro.prg added many tests to demonstrate working capabilities of macro. 19991013-13:52 EDT Paul Tucker * source/rtl/inkey.c + borland c 4.5 fixes as reported by Felipe 19991013-18:37 GMT+1 Antonio Linares * source/rtl/browdb.prg * Renamed function to public function DbSkipper() * New function _DbSkipper() (just calls DbSkipper()) 19991013-14:06 GMT+1 Bruno Cantero * source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * Errors on open or create operations now report the correct number. 19991013-03:13 GMT+8 Ron Pinkas * harbour.y + added TOKEN MACROALIAS and rules to support MemVar aliased macro and non aliased macro variables assignments. * harbour.l + added rules to support new TOKEN MACROALIAS +tests/tstmacro.prg sample program to demonstarte new macro assigments support. 19991012-20:41 GMT+1 Victor Szel * tests/rtl_test.prg + Tough FOR/NEXT tests added, many of them will not pass. ! Small fixes. 19991012-20:25 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/dbfcdx/dbfcdx1.c * Fixed a GPF (when an open or create error occurs). 19991012-16:00 GMT+1 Victor Szel * source/vm/hvm.c ! hb_vmAnd(), hb_vmOr() - Value substitution on error added to .AND. and .OR. operators. (mentioned by Jose) 19991012-14:00 GMT+1 Antonio Linares * source/rtl/dates.c + Added support for Windows requirements. * include/hbclass.ch + Added support for METHOD ... OPERATOR ... for Harbour operators overloading. (An outstanding job from Eddie!) 19991012-13:13 GMT+1 Victor Szel * include/clipdefs.h ! ERRCODE typedef removed from here, since it has been moved to extend.h. 19991012-10:38 GMT+2 Ryszard Glab *samples/pe * new directory with a sample editor that can be used as a base for MEMOEDIT and TEditor class 19991012-00:52 EDT Paul Tucker * makefile.vc + source/rtl/input.prg + source/rtl/setta.prg + source/rtl/wait.prg 19991012-03:12 GMT+1 Victor Szel * source/compiler/harbour.y ! lLastPushPos -> _lLastPushPos 19991012-02:50 GMT+1 Victor Szel * include/caundoc.h + _bcmp, _bscan added (thanks to Matteo Baccan) * source/rtl/set.c + TOFIX: added for DEFPATH() * source/rtl/Makefile + source/rtl/input.prg + source/rtl/setta.prg + source/rtl/wait.prg + __INPUT(), __WAIT(), SETTYPEAHEAD() functions added. (Thanks to Jose Lalin) Note that INPUT() is not yet working, since it require macro functionality. Please add them to non-GNU make systems. 19991012-02:30 GMT+1 Victor Szel * source/rtl/filesys.c + Added some info about driver numbering to hb_fsChDrv(), hb_fsIsDrv(), hb_fsCurDrv(), hb_fsCurDir() + hb_fsIsDevice() added. (by Jose Lalin), return value type changed to BOOL to match Clipper. ! hb_fsIsDrv(), hb_fsChDrv() fixed to call the OS functions with the right drive number. (Please test this!) * include/ctoharb.h + More undocumented file functions added. (by Jose Lalin) * include/filesys.h ! Missing hb_fsSetDev*() prototypes added. * include/ctoharb.h ! Double copyright header fixed. * source/vm/hvm.c % w += 1 -> w++ 19991011-23:54 GMT+1 Victor Szel * source/rtl/fm.c + Newline readded to the closing //INFO message ;) * source/rdd/dbfcdx/dbfcdx1.prg - Removed the Inithandler/LockErrHandler since they are not there in Clipper. 19991011-14:20 EDT David G. Holm * source/rtl/set.c ! Corrected handling of NIL second parameter for SET() when the first parameter is _SET_ALTFILE, _SET_DEVICE, _SET_EXTRAFILE, or _SET_PRINTFILE. 19991011-19:30 GMT+1 Bruno Cantero * source/rtl/dummy.prg - Removed dbSetFilter(), dbClearFilter() and dbFilter() functions. * include/rddapi.h * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * Fixed SET DELETED. + Added dbClearFilter(), dbFilter() and dbSetFilter() functions. * doc/funclist.txt * Updated status of dbSetFilter(), dbClearFilter() and dbFilter() functions. * tests/testrdd.prg * Fixed a bug. * tests/testdbf.prg * Now test dbClearFilter(), dbFilter() and dbSetFilter() functions too. 19991011-04:59 GMT+8 Ron Pinkas * harbour.y + SetLastPushPos() to bookmark position of last possible redundant push. + RemoveExtraPush() to reset pFunc->lpCodePos to last known bookmark - in effect removing redundant last push. 19991011-13:42 GMT+1 Antonio Linares * source/vm/hvm.c * Finally fixed. Victor changed a wrong one I posted and then all the stack underflow mess started. Everything is ok now. 19991011-10:40 GMT+1 Victor Szel * source/vm/hvm.c ! __vmVarSList() <-> __vmVarSGet(), the function names were mistakenly exchanged, now OK. % __vmVarSGet() - Simplified. * source/vm/hvm.c ! HB_P_NOOP - Caused an infinite loop, fixed. (again) % hb_vmPlus(), hb_vmMinus() - Two returns from inside removed. (again) 19991011-10:04 GMT+1 Antonio Linares * source/rtl/classes.c + little change to fix Super accesses * source/vm/hvm.c + little change to fix Super accesses * include/extend.h + struct BASEARRAY new uiPrevHolders member added 19991010-23:30 GMT+1 Bruno Cantero + source/rdd/dbcmd.c + source/rdd/dbf1.c + Added support for SET DELETED. * Changed default extension from .DBF and .DBT to .dbf and .dbt * source/rdd/dbfcdx/dbfcdx1.c * Changed default extension from .FPT to .fpt * tests/testdbf.prg * Now test SET DELETED command too. + source/rdd/dbfcdx/Makefile + Added missing file. 19991010-15:05 GMT+1 Victor Szel * source/rtl/filesys.c + ISDISK() undocumented Clipper 5.3 function added. ! DISKCHANGE() fixed to call hb_fsChDrv() with the right parameter. ! hb_fsIsDrv(), hb_fsChDrv() return value fixed, since it returned the reverse of the proper value. * int types converted to USHORT for uiErrorOld variables. 19991010-14:03 GMT+1 Victor Szel * bin/*.bat + dbfcdx lib added. 19991010-13:36 GMT+1 Victor Szel * source/vm/hvm.c ! HB_P_NOOP - Caused an infinite loop, fixed. % hb_vmPlus(), hb_vmMinus() - Two returns from inside removed. 19991010-13:26 GMT+1 Bruno Cantero * include/rddapi.h * source/rdd/dbcmd.c + Added undocumented parameters: dbCreate( cFileName, aStruct, cRDD, lNew, cAlias, cDelimiter ) lNew: if specified, the created file will also be opened. If .F. this will be done in the current workarea; if .T. this will be done in the next available. cAlias: Alias for the workarea. cDelimiter: for the DELIM driver (not implemented yet). * source/rdd/dbf1.c * SELF_OPEN(), now generate an error with retry possibility. * SELF_OPENMEMFILE(), now generate an error with retry possibility. * SELF_CREATE(), now generate an error with retry possibility. * SELF_CREATEMEMFILE(), now generate an error with retry possibility. * SELF_INFO(), more values. + source/rdd/dbfcdx/Makefile + source/rdd/dbfcdx/dbfcdx0.prg + source/rdd/dbfcdx/dbfcdx1.c + Files for the DBFCDX driver. + .DBT and .FPT file memos. * rdd.b32 * makefile.vc * config/global.cf * tests/bld_vc.bat * Added new driver. * tests/testdbf.prg * Test for undocumented parameters in dbCreate() * Test for the DBFCDX driver. 19991010-13:25 GMT+2 Ryszard Glab *source/rtl/console.c * replaced USHORT for SHORT in adjust_pos *source/rtl/filesys.c * added WATCOMC branch for drive related functions We really need documentation here ! QUESTION: Does drive numbering start from 0 or 1 ? Is a A: drive numbered as 0 or 1 ? *source/compiler/harbour.l *source/compiler/harbour.y * { 1, 2, 3 }[ 2 ] syntax is supported now 19991010-12:22 GMT+1 Victor Szel * source/compiler/genc.c source/compiler/genhrb.c source/compiler/harbour.y source/vm/hvm.c % HB_P_STATICS now stores the number of statics in the pcode command itself and doesn't POP it from the stack. This causes a small speedup in the STATIC init code. * source/compiler/harbour.y source/compiler/genc.c include/compiler.h + /gc0 switch added to generate C code without comments, this makes it about 30% percent smaller, good for large code bases. 19991010-07:28 GMT+1 Antonio Linares * source/rtl/classes.c - Undone latest changes from Eddie * source/vm/hvm.c - Undone latest changes from Eddie * include/extend.h - Undone latest changes from Eddie (Eddie, I find your proposal very good -as all your ideas and code- but this one is uncompleted and breaks actual Harbour OO architecture) 19991010-02:05 GMT+1 Victor Szel * bin/*.bat ! Some minor fix in the help screens * doc/funclist.txt + Changed the format, now the third column (which was not in use) is meant to store the platform and multithreading support information. * source/compiler/harbour.y + One TODO added. * include/*.api include/assert.ch include/common.ch include/fileio.ch include/harbour.ch include/hbclass.ch include/hbextern.ch include/hbmemvar.ch include/hboo.ch include/inkey.ch include/reserved.ch include/std.ch include/clipdefs.h include/filesys.h source/rtl/filesys.c source/rtl/console.c ! FM_ #define names replaced with FD_ ones for Clipper compatibility. ! FXO_, FL_ #defines moved to filesys.h from filesys.ch for full compat. ! *.API guard names made compatible. ! Some missing #defines added to .API files (assert.ch, filesys.api) ! Small compatibility enhancement in extend.api (XDOUBLE) ! Guard names adjusted (mostly where filenames have changed). + Missing guard added to hbextern.ch + Harbour only #defines in compatbility headers prefixed with HB_ * Makefile + Added the samples to the make process, but it's commented out. 19991009-22:19 GMT+1 Antonio Linares * source/compiler/harbour.y * a[ b ]:c expressions fixed. 19991007-19:40 GMT+1 Victor Szel * tests/mankala.prg -> samples/misc/mankala.prg tests/guess.prg -> samples/misc/guess.prg tests/Makefile * Sample type of tests moved to /samples directory * samples/hscript/guest*.* -> samples/guestbk/*.* * Separated hscript and guestbk. * samples/hscript/*.bat samples/guestbk/*.bat + Borland build batch files updated, standardized. ! Fixed some issues, hb_OSNewLine() usage added, some RTL function names updated, minor fixes applied, now both works with the GNU make system (tested with MINGW32) + samples/Makefile samples/guestbk/Makefile samples/hscript/Makefile samples/misc/Makefile + GNU make files added for the samples. They are currently not invoked by the mainstream make process, but can be invoked manually. * tests/testcgi.prg % Got rid of s_cNewLine, so the HTML class no longer requires this variable. 19991008-20:00 CET Eddie Runia * include/extend.h uiPrevCls added to BASEARRAY * source/rtl/classes.c PrevCls set with previous class when using Super * source/vm/hvm.c Previous class handle restore _after_ retrieving the method + tests/inhprob.c Test program 19991008-15:42 GMT+2 Ryszard Glab *source/rdd/dbcmd.c * removed all direct modifications of memory buffers returned by hb_parc() function 19991008-06:31 EDT Paul Tucker * source\compiler\genc.c + && !defined(_MSC_VER) on generation of #pragma startup 19991007-23:18 GMT+1 Antonio Linares * source/rtl/tclass.prg * Method SetType() small fix (missing else). 19991007-17:37 GMT+1 Victor Szel * source/rdd/rddsys.prg ! Now using __rddSetDefault() instead of rddSetDefault(). This is required because at this point the requested RDD may not be registered and __rddSetDefault() will count with this. * source/rdd/dbcmd.c ! dbSetDriver() now throws the same error as Clipper. + __rddSetDefault(), alternate version of rddSetDefault() added which will not make any errors. * source/compiler/expropt.c + Small formatting fixes, file description fixed. * include/gtapi.h source/rtl/gtapi.c source/rtl/console.c * short -> SHORT + doc/cvshowto.txt + Text file describing the CVS update process. 19991007-17:55 GMT+2 Ryszard Glab *source/coompiler/expropt.c * added RCS Id header * added Ron Pinkas as copyright holder because he is the initial creator of this code 19991007-11:30 EDT Paul Tucker * makefile.vc * removed symbols.obj from compiler - I thought it needed it, but not so. * shortened filelist for Harbour.exe to $** 19991007-17:00 GMT+2 Ryszard Glab *source/compiler/harbour.y *source/coompiler/expropt.c *include/compiler.h * moved all code related to checking of expressions value type into th enew expropt.c file - it should be a good starting point for the expressions optimalizer * many coorections (rtl_test.prg doesn't GPF now when compiled with -w option) - however this type checking didn't worked correctly and it still doesn't work * moved PSTACK_VAL_TYPE stucture into expropt.c *source/compiler/harbour.y * applied changes posted by Eddie Runia to correct compile a:b[ 1 ]:c syntax *source/compiler/Makefile *makefile.b32 *makefile.vc * added expropt.c (not tested) *source/rtl/dates.c * change in #include (error in Linux) -> 19991007-09:16 GMT+1 Antonio Linares * source/rtl/tclass.prg * Method SetType() defaults init value to .f. when AS LOGICAL is specified. 19991007-01:02 EDT Paul Tucker * makefile.vc + source/rtl/readkey 19991007-02:57 GMT+1 Victor Szel * include/filesys.h source/rtl/filesys.c ! UINT_MAX changed to USHORT_MAX * source/tools/fileread.prg + "s_" prefix added to STATIC variable name. * source/rdd/dbcmd.c ! RDDSETDEFAULT() now throws an error if a non-existing RDD name is passed. Like in Clipper. + TOFIX: added about directly modified hb_parc() buffers. * source/rtl/tget.prg ! Mistyped object variable names corrected. ! :display now leaves to cursor at a Clipper compatible position. Cursor is positioned explicitly after internal :display calls. * source/rtl/tgetlist.prg + missing DateMsg() method added. 19991006-20:20 EDT Paul Tucker * makefile.vc * changed mainstd.c to main.c 19991007-01:42 GMT+1 Victor Szel * include/filesys.h source/rtl/filesys.c % Only use hb_fsReadLarge() and hb_fsWriteLarge() when the size of an unsigned int is not the same as the size of an unsigned long. (Same logic as for xmem*() functions) * source/rtl/dummy.prg - ReadKey() removed. 19991007-01:16 GMT+1 Victor Szel + source/vm/main.c (added) source/vm/Makefile include/hbsetup.h + main.c added as an includer for mainwin.c or mainstd.c, selectable via #defines in hbsetup.h, or via command line, just like the GTAPI and MOUSEAPI selection. Can be used from all build systems. * source/rtl/memoline.c ! Small formatting fix. 19991006-18:55 EDT Paul Tucker * makefile.vc * corrected creation of hbrun.exe 19991006-17:05 EDT Paul Tucker * source/rtl/gtapi.c * enable dispbegin/end calls in gtBox 19991006-21:08 GMT+1 Antonio Linares * source/rtl/classes.c * Fixed bug for CLASSDATAs INIT clause on inherited classes. 19991006-15:05 EDT Paul Tucker * makefile.vc + source/rtl/dummy.prg * move -DHARBOUR_OBJ_GENERATION flag to harbour.exe generation only * source/rtl/memoline.c * added a cast (again) on xgrab call. 19991006-20:11 GMT+1 Victor Szel * source/rtl/tgetlist.prg ! ReadExit() added back as method. 19991006-19:14 GMT+1 Antonio Linares * source/rtl/classes.c * Fixed bug for CLASSDATAs INIT clause. 19991006-18:34 GMT+1 Victor Szel * source/rtl/filesys.c include/hbdefs.h ! BIN2I() sign bug fixed Thanks to gjd@casema.net * source/rtl/dummy.prg ! Fixed some return values. 19991006-11:20 EDT David G. Holm * config/os2/icc.cf + Added way to select startup model using HB_MAIN, because ICC won't resolve main() from vm library. * tests/Makefile + Added HB_MAIN=std (but only if HB_MAIN not already set). + Added devtest.prg + Added disptest.prg + tests/devtest.prg + New module to test Clipper device compatibility. + tests/disptest.prg + New module to test Clipper display compatibility. 19991006-14:35 GMT+1 Victor Szel * source/rtl/dummy.prg source/rtl/Makefile source/rtl/rddord.prg include/hbextern.ch source/runner/stdalone/external.prg + All not yet implemented function skeletons added or moved to dummy.prg so that the number of unresolved externals will be reduced, and we can have a better view about what is left to do. Also updating EXTERNAL.PRG and HBEXTERN.CH will not be needed so frequently. * doc/funclist.txt source/rtl/readkey.prg source/rtl/Makefile + READKEY() added. * doc/funclist.txt + ORDCONDSET() added to the TODO list. * source/runner/stdalone/external.prg include/hbextern.ch + MEMOLINE()/MLCOUNT() added. * tests/run_tsta.bat -> tests/run_test.bat * Renamed. + Comments. * tests/run_b32.bat -> tests/bld_b32o.bat ! Small fix. * Renamed. !! WARNING !! Please modify non-GNU make files. 19991006-13:19 GMT+1 Victor Szel * source/rtl/memoline.c source/rtl/mlcount.c ! TAB handling fixes for MEMOLINE() and MLCOUNT() by Ignacio Ortiz de Zúniga * All USHORTs changed to ULONG. 19991006-13:05 GMT+1 Victor Szel * source/rtl/tclass.prg ! Reformatted (again) * include/rdd.api include/item.api include/gt.api include/error.api include/extend.api + Copyright added. * source/rtl/gtxxx.c source/rtl/mousexxx.c % Simplified the include logic, got rid of #error, since it was now obsolete. * source/rtl/memoline.c source/rtl/gtapi.c ! Some minor formatting fixes. 19991006-12:10 GMT+1 Victor Szel * include/extend.h rdd/dbcmd.c rtl/arrays.c rtl/classes.c rtl/codebloc.c rtl/dates.c rtl/errorapi.c rtl/extend.c rtl/itemapi.c runner/runlib.c vm/debug.c vm/hvm.c * stack -> hb_stack Global variable name renamed to protect non-Harbour namespace. * doc/funclist.txt + Updated (as per Chen Kedem) * tests/funcarr.prg tests/inherit.prg tests/objarr.prg tests/objasign.prg ! Debug function name changes applied (reported by David) * source/rtl/environ.c ! Indentation fix (old one). 19991006-10:44 GMT+1 Victor Szel * ChangeLog ! Fixed deleted entries, missing entries, conflict markers, double entries. * include/Makefile + harbour.ch added * include/harbour.ch ! Some minor fixes. 19991006-07:41 GMT+1 Antonio Linares * makefile.b32 + mising include source\compiler path compiling harboury.c * source/rtl/classes.c + Added support for CLASSDATAs INIT clause. * source/rtl/tclass.prg + Added support for CLASSDATAs INIT clause. * include/hboo.ch + new defines added for CLASSDATAS. 19991006-00:30 GMT+1 Jose Lalin * source/rtl/natmsg/msgeu.c ! full translated. Thanks to Nicolas del Pozo * source/rtl/natmsg/msgga.c * small changes 19991006-01:10 EDT David G. Holm * source/rtl/dates.c % SECONDS() now uses ftime() and localtime() for all platforms. * source/rtl/environ.c + Added HB_VERSION() changes supplied by Jose Lalin with corrections for the compiler version and revision for Borland C 3.1 and 5.x, Cygnus GCC with Cygwin, Cygnus GCC with Mingw32, and Delorie GCC. * source/rtl/set.c + Added HB_DEFPATH() and HB___DEFPATH() supplied by Jose Lalin. * include/extend.h * source/rtl/fm.c % Only use hb_xmemcopy() and hb_xmemset() when the size of an unsigned int is not the same as the size of an unsigned long. * include/gtapi.h * source/rtl/console.c * source/rtl/gtapi.c ! DEVPOS(), SETPOS(), console cursor position, and console display functions modified for improved Clipper compatibility. 19991005-23:20 EDT Paul Tucker + include/harbour.ch * This file is meant as a repository of defines or translations needed to allow CA-Clipper to compile programs that take advantage of any Harbour specific extensions or additions to the language. Currently, it only handles a substitute for HB_OsNewLine() 19991006-03:02 GMT+1 Victor Szel * include/extend.h source/rtl/arrays.c source/rtl/classes.c source/rtl/do.c source/rtl/itemapi.c source/vm/hvm.c * hb_g_symEval -> hb_symEval * source/vm/mainwin.c * hb_g_* -> hb_* * source/vm/hvm.c ! aStatics made static now for sure. * source/rtl/strings.c ! Typo fixed. * source/rtl/memoline.c ! Formatting fix. 19991005-20:35 EDT Paul Tucker * source/rtl/memoline.c * add a cast on xgrab call. 19991006-02:26 GMT+1 Victor Szel * include/set.h source/rtl/set.c source/rtl/console.c source/rtl/transfrm.c ! 64 changed to CLR_STRLEN in set.h * Separate global "set" variables moved inside HB_SET_STRUCT * include/caundoc.api + _bset, _bmove, _bcopy undocumented Clipper functions added, they are mapped to mem*() functions. * source/vm/main*.c ! Typo fixed. 19991006-00:32 GMT+1 Victor Szel * include/extend.h source/vm/debug.c source/vm/hvm.c * aStatics made static, prefixed with "s_" __vmVarSGet(), __vmVarSList moved to hvm.c from debug.c * source/vm/debug.c include/hbextern.ch source/runner/stdalone/external.prg source/debug/debugger.prg tests/debugtst.prg * __APARAM -> __vmParLList __GETLOCAL -> __vmVarLGet __STATIC -> __vmVarSGet __ASTATIC -> __vmVarSList __GLOBALSTACKLEN -> __vmStkGCount __AGLOBALSTACK -> __vmStkGList __STACKLEN -> __vmStkLCount __ASTACK -> __vmStkLList Functions renamed. * source/rdd/dbcmd.c + zeros changed to NULL/'\0' * source/debug/debugger.prg source/rtl/menuto.prg source/rtl/setkey.prg source/rtl/tclass.prg source/rtl/terror.prg source/tools/fileread.prg + static var names prefixed with "s_" in all .PRG modules. * source/rtl/console.c doc/funclist.txt + DISPOUTAT() undocumented Clipper function added. * include/extend.h source/rtl/arrays.c source/rtl/classes.c source/rtl/do.c source/rtl/itemapi.c source/vm/hvm.c * symEval -> hb_g_symEval Global variable prefixed with "hb_g_". 19991005-17:30 EDT Paul Tucker * makefile.vc + source/rtl/mlcount + source/rtl/memoline + source/vm/mainstd (for now) + source/rtl/rddord * gtapi.obj moved to terminal.lib * duplicate console.obj removed from terminal.lib (as reported by Gerrit Jan Doornink ) Tue Oct 05 14:44:16 1999 Gonzalo A. Diethelm * source/rtl/filesys.c (hb_fsTell): Replaced use of tell() with an equivalent call to lseek(), so that this is supported under gcc. 19991005-20:34 GMT+1 Victor Szel * include/hbextern.ch source/runner/stdalone/external.prg - One of the two HB_OSNEWLINE removed. + source/rtl/memoline.c source/rtl/Makefile doc/funclist.txt + MEMOLINE() added (thanks to Ignacio Ortiz de Zúniga ) !! WARNING !! Please modify non-GNU make files. 19991005-18:20 GMT+1 Victor Szel + source/rtl/rddord.prg source/rtl/Makefile + dbCreateIndex() dbSetIndex() dbClearIndex() dbReindex() dbSetOrder() IndexExt() IndexKey() These will not work yet, since they are simple wrapper to the ord*() functions. Just like in Clipper. !! WARNING !! Please modify non-GNU make files. 19991005-18:02 GMT+1 Victor Szel * tests/rtl_test.prg + Added more complete tests for <,>,<=,>=,!= operators. * source/vm/hvm.c % hb_vmPopDate() is no more checking the type of the popped value, and the related unrecoverable error is also removed, since the callers do this check before each call. * Some more function grouping, small corrections. ! hb_vmLess(), hb_vmLessEqual(), hb_vmGreater(), hb_vmGreaterEqual() some cases were not handled, so stack corruption could occure, when two ARRAY/BLOCK/OBJECT were compared. Fixed. ! hb_vmNotEqual() fixed for ARRAY/OBJECT/BLOCK types. * source/vm/hvm.c include/pcode.h source/compiler/genc.c source/compiler/genhrb.c source/compiler/harbour.y * HB_P_GENARRAY -> HB_P_ARRAYGEN * HB_P_DIMARRAY -> HB_P_ARRAYDIM !! WARNING !! Please rebuild all .PRG files, since the pcode values have changed. * include/hbver.h + Revision set to "a" * source/compiler/harbour.c + isatty.c put back in order. * source/compiler/main*.c + Some small cleanups. 19991005-14:41 GMT+1 Victor Szel * tests/run_tsta.bat tests/test_all.prg ! Fixed, HB32 changed to RUN_PRG, filename cases adjusted, using header files, date format set to standard. * .cvsignore make_tpl.* config/win32/* moved to config/w32/* * The GNU platform name for Windows 32bit has changed to "w32" from "win32", the only reason is that the new one is shorter. This way all the paths will be shorter, and the binary release filenames will be also shorter. Please update your GNU make starter batch files to use w32 instead of win32 in HB_ARCHITECTURE. 19991005-13:59 GMT+1 Victor Szel * source/compiler/harbour.y source/pp/stdalone/hbpp.c + Added closing \n to the help text, to make it appear OK under some shells. (Thanks to Dave Pearson) * source/compiler/harbour.c - isatty() removed. (Thanks to Dave Pearson) * makefile.* samples/hscript/bldguest.bat % Some more fix & cleanup. * source/rtl/tgetlist.prg doc/funclist.txt + READINSERT() function added. (Thanks to Matteo Baccan) * source/rtl/filesys.c include/filesys.h + hb_fsTell() added to the header file % hb_fsSetDev*() now calls hb_fsSetDevMode(), so some platform specific code could be eliminated. % Some simplification in FSETDEVMOD() + Added missing HB_ prefix to FSETDEVMOD() 19991005-12:55 GMT+1 Jose Lalin * source/rtl/filesys.c + missing FSETDEVMOD() + hb_fsTell() + hb_fsSetDevRaw() + hb_fsSetDevText() 19991005-12:30 GMT+2 Ryszard Glab *source/compiler/harbour.y * changed some rules to correctly handle the following syntax: LOCAL cbVar:={|| cbVar} (the cbVar inside a codeblock is correctly considered a local variable instead of memvar variable) * corrected usage info to print LF at the end of message 19991005-08:36 GMT+1 Victor Szel * source/vm/main*.c source/vm/Makefile include/ctoharb.h ! Some cleanup on the new main() functions. (using header file, fixed CVS headers, added copyright header, removed a TODO, TO DO -> TODO, Hungarian notation, global var name, 0 -> NULL, added to GNU makefile, std main return value missing.) * makefile.b40 (removed) makefile.b32 make_b40.bat + makefile.b40 removed, since from now on makefile.b32 provides the same functionality when B40 macro is defined. See make_b40.bat. * *.bat *.b?? hbpplib.b32 (removed) + Further uniformized. + hbpp.exe make process uncommented from make_b16.bat. We will see how it works. + hbpplib.b32 incorporated into hbpp.b32 - hbpp.b16 (removed) makefile.b16 make_b16.bat - hbpp.b16 removed, since it was not used, and is now incorporated to makefile.b16. * source/runner/stdalone/hbrun.prg + Using OutStd() instead of QOUT() to enable output redirecting like in other command line utilites. 19991005-07:55 GMT+1 Antonio Linares + New file source/vm/mainstd.c (entry point for std applications) + New file source/vm/mainwin.c (entry point for win appplications) * source/vm/hvm.c -+ main() renamed to hb_vmInit() * hb_quit() removed from there and moved to mainstd.c and mainwin.c respectively. * makefile.b32 * added support for mainstd.c and mainwin.c modules. (make_b32.bat tested and works ok). * tests/bld_b32.bat * %1 moved to the end of line * del %1.c removed (tested and works ok). 19991005-00:13 GMT+1 Victor Szel * source/compiler/genc.c ! Cosmetic: Some double tabs changed to single ones. 19991004-22:34 GMT+1 Victor Szel * tests/db_brows.prg - READEXIT() removed since it's now part of the RTL. 19991004-21:34 GMT+1 Victor Szel * tests/*.bat ! Reworked, standardized, simplified. Please test them. Now they resemble to the bin/*.bat batch files. * tests/buildexe.bat - Removed since it was obsolete, use bld_b16.bat instead. 19991004-19:54 GMT+1 Victor Szel * source/rtl/memvars.c ! memvars.ch changed to hbmemvar.ch * tests/working/*.* moved to tests/*.* * tests/working/db_brows.* ! Fixed the CVS header, they missed to closing "$" 19991004-19:23 GMT+1 Victor Szel * tests/broken/*.* moved to tests/working tests/working/Makefile * moved to the BAD_PRG_SOURCES - tests/broken/ - Removed * tests/working/hscript/*.* moved to samples/hscript * Moved * source/rtl/mlcount.c * BYTE type changed to USHORT. * Hungarian notation slighly corrected. 19991004-18:58 GMT+1 Victor Szel + source/runner/stdalone/hbrun.prg + Added (now for sure) 19991004-18:53 GMT+1 Victor Szel + include/reserved.ch + Added for complete Clipper compatibility, the file is a dummy, so it's a TODO to replicate to originial functionality. * include/Makefile * Updated. Mon Oct 04 12:52:42 1999 Gonzalo A. Diethelm * tests/working/Makefile: Added missing '\' after db_brows.ch. Changed spaces to tabs. 19991004-18:42 GMT+1 Victor Szel * include/classes.ch -> include/hbclass.ch include/external.ch -> include/hbextern.ch include/memvars.ch -> include/hbmemvar.ch source/debug/debugger.prg source/debug/tbrwtext.prg source/rtl/tbcolumn.prg source/rtl/tbrowse.prg source/rtl/tget.prg source/rtl/tgetlist.prg tests/working/classch.prg source/runner/stdalone/hbrun.prg source/rtl/memvarbl.prg source/rtl/menuto.prg * Non-Clipper compatible Harbour .CH filenames prefixed with "HB" to avoid possible name collisions with existing header files. 19991004-18:06 GMT+1 Victor Szel + source/rtl/mlcount.c source/rtl/Makefile doc/funclist.txt + MLCOUNT() added (thanks to Ignacio Ortiz de Zúniga ) - source/runner/stdalone/runner.prg - Removed (now for sure) 19991004-16:25 GMT+1 Victor Szel * source/runner/stdalone/runner.prg -> hbrun.prg source/runner/stdalone/Makefile runner.b32 makefile.vc tests/working/hbrun.bat -> hbrunprg.bat tests/working/run_all.bat tests/working/test_all.prg * runner.exe renamed to hbrun.exe to better fit into the final executable naming style (harbour/hbpp/hbrun) 19991004-15:15 GMT+1 Victor Szel * source/hbpp -> source/pp source/Makefile source/pp/Makefile source/pp/stdalone/Makefile source/compiler/Makefile source/runner/stdalone/Makefile tests/working/Makefile makefile.* *.b?? * source/hbpp changed to source/pp. 19991004-14:48 GMT+1 Victor Szel * tests/working/*.bat *.b?? makefile.vc libs/* lib/* * libs directory name changed to lib, the win16 and win32 subdirs have been removed. * win32 dir is no longer needed, since now the windows terminal.lib is named termwin.lib. ! HARBOUR_USE_GTAPI defines changed to HARBOUR_USE_WIN_GTAPI ; !!! PLEASE TEST THESE WITH BORLAND AND MSVC !!! (or wait a bit more since more changes are coming) 19991004-01:20 GMT+1 Victor Szel - make_b31.bat makefile.b31 harbour.b31 - Removed, make_b16.bat should be used instead. 19991004-01:14 GMT+1 Victor Szel * build16.bat -> make_b16.bat build31.bat -> make_b31.bat build32.bat -> make_b32.bat build40.bat -> make_b40.bat buildvc.bat -> make_vc.bat * Renamed. + buildexe-dos-bcc31.bat + buildexe-dos-djgpp.bat + buildexe-os2-gcc.cmd + buildexe-os2-icc.cmd + buildexe-w32-gcc.bat + buildexe-w32-mingw32.bat + buildexe-w32-msvc.bat + Added these files used in the binary releases, some fixes applied too: /include for harbour.exe, DJGPP -ldbfntx -> -ldbfnt, a note from the MSVC version copied into the others. CVS header added. -o%1.exe added to DJGPP version. Note the long filenames: I could not figure out a better method to identify the batch file, while keeping them in the same dir. * funclist.txt moved to doc/funclist.txt - genbuild.bat - Removed, since it's now obsolete. 19991003-09:45 GMT+1 Antonio Linares * include/classes.ch + Support for INIT and AS clauses. * source/rtl/tclass.prg + New DATAS uInit and cType added. + New SetInit() and SetType() methods added. (Notice that SetInit() is already working, though SetType() does nothing yet). 19991003-03:52 GMT+1 Victor Szel ; Modifications after a test build with the harbour /w2 switch: * tests/working/rtl_test.prg + QUESTION added about __FLAGSHIP__ and __VO__ constant names. * source/rtl/tgetlist.prg funclist.txt ! ReadModal() was buggy when a reader codeblock existed. Fixed. ! ReadExit() converted to function from a method, this way it's Clipper compatible, plus an unused variable warning has been fixed. * source/rtl/tget.prg ! _GET_/__GET was not assigning the passed VALID and WHEN blocks to the get object, this has been fixed, but not tested. * source/rtl/achoice.prg source/rtl/harbinit.prg source/rtl/tget.prg source/rtl/tgetlist.prg source/rdd/dbfntx/dbfntx0.prg (missing #include) source/debug/debugger.prg (mistyped and undeclared variables) ! /w2 warnings fixed. 19991002-22:45 GMT+1 Victor Szel * include/extend.h source/rtl/strings.c source/rtl/itemapi.c source/rtl/hvm.c % xmem*() function redefinition for Watcom has been moved in one central place to extend.h. * tests/working/extend2.c ! Now includes caundoc.api explicitly. * source/vm/hvm.c include/ctoharb.h + local functions made static, prototypes moved to HVM.C + grouped opcodes and opcode functions by category. ! Indentation completely fixed. ! Prototype of one non-existing function removed. 19991002-18:10 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed some bugs, reported by Victor Szel, Ryszard Glab, Jose Lalin and * Robert Arseniuk * tests/working/db_browse.ch renamed to db_brows.ch * tests/working/db_browse.prg renamed to db_brows.prg * added $Id * these two files added to makefile 19991002-03:20 EDT Paul Tucker * buildvc.bat makefile.vc tests\working\buildvc.bat * symbols.asm/obj is now a normal part of the make process and is added to harbour.lib so additional references to this have been removed. 19991001-17:10 GMT+2 Ryszard Glab *source/vm/hvm.c *source/rtl/strings.c *source/rtl/itemapi.c * added redefinition of hb_xmemcpy -> memcpy hb_xmemset -> memset because these functions can work with buffers larger then 64kB (size_t is typedefined as 'unsigned') - for WATCOM compiler only *include/pcode.h *source/compiler/harbour.y *source/compiler/genc.c *source/compiler/genhrb.c *source/vm/hvm.c + added support for new opcodes used to handle undeclared variables (the type of a variable is determined at runtime) HB_P_POPVARIABLE HB_P_PUSHVARIABLE * the generated pcodes depends on yhe use of HARBOUR_STRICT_CLIPPER_COMPATIBILITY option (see doc\compatib.txt for details) NOTE: You have to recompile all PRG sources! *source/rtl/memvars.c *include/extend.h * new function hb_memvarGet that retrieves the value of memvar variable without error generation in case when the variable does not exist *source/rdd/dbcmd.c *include/rddapi.h * new functions hb_rddFieldGet/hb_rddFieldPut used to retrieve/set the value of database field with no error generation in case when the field does not exist *include/extend.h * moved definition of ERRCODE, SUCCESS and FAILURE from rddapi.h to make them available for other modules *source/compiler/harbour.y *source/compiler/harbour.l * the line number is incremented in harbour.y now (Crlf rule) Incrementing in harbour.l caused incorrect line number reporting in error/warning messages. The look ahead FLEX feature caused incrementation in the middle of the parsed rule. *source/compiler/harbour.y * added warnings when a procedure returns a value or a function with no return value * replaced the WORD type with USHORT * corrected (and simplified) handling of parameters of DO WITH statements (passing by reference works correctly now) * corrected the rule for declaration of multidimensioned arrays ( LOCAL arr[ 1 ][ 2 ] ) *source/compiler/harbour.y *source/hbpp/hbpp.c *source/hbpp/stdalone/hbpp.c * the '-w' command line option can set the maximal level of reported warnings. The following levels are supported currently: '-w0' - no warnings '-w' or '-w1' - Clipper compatible warnings '-w2' - some useful warnings missed in Clipper '-w3' - warnings generated for Harbour language extensions * the first character of warning messages defines the level of warnings that triggers this message *source/hbpp/hbpplib.c * added setjmp/longjmp error handling - the error handling should be expanded later to made __PREPROCESS function useful in real applications *include/hberrors.h * new warnings *include/compiler.h * new flag FUN_WITH_RETURN * replaced the WORD type with USHORT *source/compiler/genobj32.c *source/compiler/genc.c *source/compiler/genhrb.c * replaced the WORD type with USHORT *include/clipdefs.h * removed #include "caundoc.api" because it contains undocumented materials that should be included on request only. It also caused redefinition errors (HB_FNAME defined in filesys.h) when harbour.y was compiled with HARBOUR_STRICT_CLIPPER_COMPATIBILITY *doc/compiler.txt * the basic documentation for harbour compiler *source/rtl/console.c * hb_cursor_enum -> HB_cursor_enum 19991001-00:25 EDT Paul Tucker * makefile.vc + source/rtl/dircmd.prg + source/rtl/fieldbl.prg + source/rtl/setfunc.prg + source/rtl/text.prg 19991001-05:40 GMT+1 Victor Szel + source/rtl/dircmd.prg source/rtl/Makefile funclist.txt + __DIR() function added, so the DIR command is working now. ( Please add this file to the non-GNU make files ) 19991001-05:30 GMT+1 Victor Szel * source/rtl/filesys.c ! BIN2I(), BIN2L() made Clipper compatible, for strings shorter than the expected length. One test call still fails, probably because of different int size on 32 bit platforms. * include/hbdefs.h ! MKINT() casted to long instead of int. * include/external.ch source/runner/stdalone/external.prg + W2BIN removed. + tests/working/rtl_test.prg + BIN2W(), BIN2I(), BIN2L(), L2BIN(), I2BIN() regression tests added. + FNAME*() tests enabled. - doc/*.nfo (removed) + doc/depend.txt (added) + The long filename files converted to one file with short name, the contents has been concatenated. The extension is standard now. 19990930-22:10 EDT Paul Tucker * makefile.vc updated to add missing files and to create runner.exe and hbpp.exe * buildvc.bat add if exist to remove error message on file not found. 19990807-10:17 CET Patrick Mast * updated doc/whatsnew.txt 19990930-23:00 GMT+1 Victor Szel * source/rtl/hbpp/hbppint.c source/rtl/hbpp/hbpplib.c (resParse removed) source/rtl/gtapi.c (tmpRow,tmpCol removed from a function) source/rtl/gt/gtwin.c ! Warnings fixed (reported by Patrick Mast with Borland C 4.0). * funclist.txt source/rtl/Makefile + Updated. ( Please add these files to the non-GNU make files ) + source/rtl/fieldbl.prg + FIELDBLOCK() and FIELDWBLOCK() functions added. They are not 100% compatible in error situations, since the method used is different than in Clipper. They are also slower. + source/rtl/setfunc.prg + __SetFunction() added + source/rtl/text.prg + __TextSave(), __TextRestore() added. Note that the TEXT feature is not yet working, since the PP should make some special processing not yet implemented. 19990930-22:15 GMT+1 Victor Szel * include/external.ch + Added HB_OSNEWLINE * source/compiler/genc.c + It's now possible to request the code generator not to put comments in the C code. This and some other small format changes can result in about 30% smaller generated source code size. This feature is currently permanently turned off, I will add switch for it soon. + If an incorrect pcode is encountered it's now put in the generated C file, with a proper comment which says that it's a invalid opcode. BTW, ideally it should exit on such errors. + The Harbour Compiler version is now included in the generated pcode as a comment. 19990930-15:20 EDT David G. Holm * include/extend.h + Added hb_setCursor() prototype. * source/rtl/console.c + Added hb_gtSetCursor( SC_NORMAL ) to hb_consoleInitialize(). + Added hb_setCursor(), which does the grunt work that SETCURSOR used to do, so that it can be called from SET(). % SETCURSOR() is now a shell function that calls hb_setCursor(). * source/rtl/set.c ! SET( _SET_CURSOR [, SC_...] ) now calls hb_setCursor(). * source/runner/stdalone/external.prg + Added HB_OSNEWLINE 19990930-21:00 GMT+1 Victor Szel * include/common.ch rtl/asort.prg rtl/errorsys.prg rtl/memvarbl.prg rtl/menuto.prg rtl/achoice.prg rtl/adir.prg rtl/alert.prg rtl/objfunc.prg rtl/readvar.prg rtl/tclass.prg rtl/tgetlist.prg rtl/setkey.prg ! ISCHAR() -> ISCHARACTER() ! ISNUM() -> ISNUMERIC() ! ISLOG() -> ISLOGICAL() Made them Clipper compatible. * source/rdd/dbfntx/dbfntx0.prg + Added Clipper compatible error handler extension for lock errors. * source/rtl/errorsys.c + __ERRINHANDLER() undocumented internal CA-Cl*pper function added, will be needed later. In CA-Cl*pper its name is ErrorInHandler(). * source/rtl/gtapi.c source/rtl/console.c source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c ; Fixes by Chen Kedem implemented. ! SETMODE() now returns a logical value. ! hb_gtSetMode() now returns an error code if the low-level API call fails. ! hb_gt_SetMode() now signals error in Windows, TODO added for DOS. * source/rtl/memvarbl.prg + MEMVARBLOCK() - Added a STRICT_COMPATBILITY code branch, where the returned codeblock will behave exactly like Clipper, so that it will not assign the passed value to the memvar if it's a NIL. The NG doesn't suggest this behaviour but that's how it works anyway. Same goes for the FIELD*BLOCK() functions. * harbour.b31 ! Some fixes reported by Jose Lalin. * include/gtapi.h source/rtl/gtapi.c ! int return value (as an error code) changed to USHORT to be even more compatible with Clipper. * source/rtl/fm.c - Removed CRLF before the ending //INFO message. + Dummy MEMORY() function added. * include/extend.h + ISBLOCK() added. 19990930-19:40 GMT+3 Alexander Kresin * source/rdd/dbf1.c * some changes in GoTo() and SkipRaw() functions for correct processing * of negative skip's and fBof setting. + tests/working/db_browse.ch + tests/working/db_browse.prg * A sample added, demonstrating dbf file browse * While running db_browse.exe, sign a filename as a parameter 19990930-18:00 GMT+1 Victor Szel ; Harbour Build 30 released 19990929-16:42 GMT+1 Victor Szel * include/hbver.h + Version info updated. 19990926-22:45 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed a bug, noted by Antonio Linares 19990926-19:22 GMT+1 Victor Szel * funclist.txt + __ACCEPTSTR marked ready. * source/hbpp/hbpp.c ! Non-ANSI (//) comments changed to /**/ 19990926-17:22 GMT+1 Victor Szel * source/rtl/asort.prg ! The block return type detection code now calls the block with the nStart item, and not always the first one. This way it has less side effect, since the block is not called with elements which would not be accessed at all normally. So this works now: aSort( { NIL, 20, 10 }, 2,, {|x,y| x < y } ) 19990926-14:10 GMT+2 Ryszard Glab *source/compiler/harbour.y * fixed generation of invalid pcodes when nested IIF were used * added an error message when any statements are used after DO CASE and before the first CASE or the OTHERWISE *include/hberrors.h * added ERR_MAYHEM_IN_CASE error code 19990925-11:10 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed some bugs, noted by Victor Szel, Andi Jahja and Antonio Linares 19990925-07:52 GMT+1 Victor Szel * tests/working/testwarn.prg ! Added a MAIN() function. 19990925-00:42 EDT Paul Tucker * tests/working/adirtest.prg * slight modification to the first call to Adir() to account for documented behaviour that you could get back a different length from Adir depending on the inclusion of the 5th parameter. (The docs don't exactly phrase it that way) 19990925-00:20 EDT Paul Tucker * source/rtl/adir.prg made a change - then reversed it. * source/rtl/asort.prg * The initial test to determine if the codeblock is going to return a logical was passing a numeric as a test - and the codeblock may not have been expecting it. 19990925-05:57 GMT+1 Victor Szel * source/vm/dynsym.c ! HB___DYNSGETNAME() now validates the index parameter passed. Previously it could GPF with 0 or too big index. * tests/working/dynsym.prg + Some new lines added to test the situations above. 19990924-23:10 EDT Paul Tucker * source/vm/dynsym.c * corrected return value of HB___DYNSGETINDEX() it was returning a cast of PHB_DYNS instead of the index. To accomodate this, added s_uiClosestDynSym = uiMiddle before the return in hb_dynsymFind. * source/rtl/fm.c * added a c/r before ---- for fm_statistics on exit. also minor 'by' => 'but' 19990925-03:00 GMT+1 Victor Szel * source/runner/stdalone/external.prg include/external.ch + Updated. * source/rtl/gt/gtwin.c * Copyright header formatting. 19990925-00:05 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed some bugs ( GPF after #undef and with non-symbolic string ) 19990924-11:33 GMT+1 Victor Szel * source/rtl/classes.c ! hb_clsDictRealloc() one cast added. 19990924-10:05 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed bug, noted by Matteo Baccan 19990924-07:18 GMT+1 Victor Szel * source/hbpp/hbpp.c ! Fixed warning about function not returning value (in ParseDefine()) * source/rtl/classes.c + hb_clsDictRealloc() implemented. By Janica Lubos 19990923-20:55 EDT Paul Tucker * source/rtl/gt/gtwin.c * fix for redirected console output as reported by Victor 19990923-23:42 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed bugs, noted by Antonio Linares and Matteo Baccan 19990923-13:58 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Fixed a bug with clauses definition order. Now we can write use ... alias ... new shared or use ... shared new alias ... , etc. 19990923-11:40 GMT+1 Victor Szel * source/rtl/extend.c ! Fixed hb_stor*() functions to handle arrays with the -1 parameter like in CA-Clipper. Thanks to Janica Lubos 19990923-10:55 GMT+1 Victor Szel * include/gtapi.h include/set.h include/Makefile include/setcurs.ch + include/setcurs.h (new) ! Cursor style constants moved to a separate file setcurs.h, this new file is included to gtapi.h and set.h. The .ch file is no longer used from C code. Previously the constants defined in setcurs.ch and set.h collided, and could not compile. * include/set.h include/inkey.h source/rtl/inkey.c * HB_inkey_enum moved to inkey.h from set.h. 19990923-09:16 GMT+1 Victor Szel * include/vm.api ! Removed HANDLE typedef, since it conflicted with the one in clipdefs.h, it's also more Clipper compatible now. 19990923-03:30 GMT+1 Victor Szel * source/rtl/gt/gtwin.c ! Tab removed from the top of the file. * source/rtl/console.c ! Small fix in the function header of HB_OSNewLine(). 19990923-00:30 GMT+1 Victor Szel * source/compiler/genc.c + The generated C code now uses the "extern" keyword for functions defined outside the .C file. 19990922-17:05 EDT David G. Holm * source/tools/Makefile - Removed osnewlin.prg - source/tools/osnewlin.prg - This source module is no longer pertinent (OS_NewLine is now an RTL function named HB_OS_NewLine) 19990922-22:00 GMT+1 Victor Szel * source/tests/working/rtl_test.prg + Added a bunch of file name split/merge function tests, these are uncommented right now, since functions are not yet generating the ideal results. The functions should be fixed after Build 30. Maybe some expected results should be fixed, too. * source/rtl/fm.c source/rtl/extend.c * hb_xmem*() functions moved to fm.c * source/rtl/filesys.c ! Some more fix for hb_fsFNameMerge() buffer overrun. + HB_HB_FNAMESPLIT() HB_HB_FNAMEMERGE() functions added. * source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c source/rtl/set.c % Removed NULL checks for the results of hb_xgrab() calls, since these function will always return valid pointers (they will throw an unrecoverable error on failure). If someone needs to handle the memory allocation failure explicitly, he should use hb_xalloc() which may return a NULL pointer. 19990921-20:30 GMT+1 Victor Szel * source/hbpp/hbpp.c ! One warning about unused variable fixed in strincmp() * source/rtl/console.c + HB_OSNEWLINE() function added. * source/rtl/inkey.c ! // style comment changed to ANSI /**/ + Added #include "inkey.ch" * Some keyboard code constants changed to manifest constant. * source/runner/runlib.c ! Two casts added for MSVC 4 * adirtest.prg cdow.prg dates.prg dates2.prg dates3.prg dates4.prg dirtest.prg longstr2.prg output.prg readfile.prg round.prg rtl_test.prg seconds.prg set_num.prg set_test.prg testcgi.prg testhtml.prg * OS_NewLine() -> HB_OSNewLine() 19990921-14:25 EDT David G. Holm * source/rtl/set.c ! Changed unitialized bflag in call to open_handle() to FALSE * source/rtl/strings.c ! Rearranged the logic in hb_itemStr() that determines whether or not to round a floating point number being converted to a string * source/rtl/tone.c ! Added ' || defined(WINNT)' to the ULONG #if for calculating the value of 'temp' 19990921-12:25 EDT David G. Holm * source/rtl/console.c - Removed special handling for Unix and Cygwin in HB___ACCEPT(), per Georg Lehner * source/rtl/filesys.c ! Corrected convert_open_flags() check for FO_READONLY to mask out the share-mode flags before doing the check ! Switched OS/2 from open() to sopen() in hb_fsOpen() * source/rtl/inkey.c % Made two changes to Unix support, per Georg Lehner: 1) Added 'ta.c_iflag &= ~ICRNL;' 2) Changed 'return;' in hb_inkeyPoll() to 'ch = 0;' * source/rtl/gt/gtos2.c ! Removed the unsigned to signed conversions for sVert and sHoriz, now that the conversions are no longer needed 19990921-15:33 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * Yet another bug fixed with restrivted match markers consisting of more than one word ( 'FROM USER', for example ) 19990921-00:07 EDT Paul Tucker * source/vm/hvm.c source/rtl/fm.c - removed a few casts for outerr calls 19990919-21:40 GMT+1 Victor Szel * source/rtl/console.c include/extend.h + BYTE* changed back to char* for the Console API functions, BYTE* casts were added for all hb_gt* and hb_fs*() calls. 19990919-17:14 GMT+1 Victor Szel * source/rtl/errorapi.c source/rtl/fm.c source/vm/hvm.c ! printf() calls changed to hb_outerr() calls, since Clipper is sending these to STDERR, too. The other issues fixed are file buffering and console inconsistency. In general one should not use printf(), fprintf(), or any f*() file functions to handle STDOUT/STDERR(), since this can cause anomalies due to both direct and buffered access to the same device, and also the internal cursor positions cannot be tracked that way. When using f*() functions from console.c an fflush() call must be issued after them. * source/rtl/console.c include/extend.h + hb_outerr(), hb_outstd() are now public functions. + hb_outerr(), hb_outstd() now automatically determines the length if the length parameter is zero. + hb_outerr(), hb_outstd() now don't call GT after hb_consoleRelease() has been called. This is needed since these functions are used in such situation, from hb_xexit() for example. ! hb_consoleRelease() now sets back the CRLF buffer to match the BINARY mode. ! fflush() calls are added after fputc()/fputs() call groups. * source/rtl/filesys.c ! hb_fsFNameMerge() now checks for buffer overrun. * source/rtl/gt/gtwin.c ! Added come casts to make Visual C happy. (mentioned by Matteo) * include/hbsetup.h * HARBOUR_YYDEBUG is now turned off by default. It can be turned on via the command line or C_USR. Please set your configuration if you need this feature. * include/rddsys.ch + Comment line added. * include/Makefile ! Updated the list of header files. * source/tools/hb_f.c ! Missing static added. * source/rtl/memofile.c + Added one cast. * source/rtl/itemapi.c ! hb_itemPutC() and hb_itemPutCL() now handles when the szText parameter is NULL. Clipper seems to handle this. GT_*() functions relies on this feature so they will not GPF now. 19990919-17:14 GMT+1 Victor Szel * source/compiler/harbour.y + Added some new items to the new TODO list. * include/hbsetup.h source/compiler/harbour.y + HARBOUR_YYDEBUG moved here for easy setup. 19990919-15:34 GMT+1 Victor Szel * source/rtl/console.c + Support added for //STDERR:x switch form. ! Fixed the redirection, it needed a bit more work, see next two items. % Some variable scopes adjusted. (these were removed with the next change) % fputs()/fputc()/fflush() changed to hb_fsWriteLarge() % Some (BYTE*) casts for BYTE* variables removed. * source/vm/cmdarg.c ! hb_cmdargNum() to not return -1 when the switch was found, but with not parameter. * source/vm/hvm.c ! Fixed constant error message about no starting procedure. * source/rtl/gt/gtwin.c ! Commented out closing of standard input and output, now printf() works after hb_consoleRelease(). (Thanks Paul) * tests/working/rtl_test.prg + Added Empty(ErrorNew()) test. * source/rtl/fm.c * Changed the ending message, since this is not the maximum memory consumed, but the total. Made it more compact, and meaningful. 19990919-15:45 GMT+2 Ryszard Glab *source/vm/hvm.c * added checking if starting symbol name points to a function 19990919-14:25 GMT+2 Ryszard Glab *source/rtl/console.c * added two (char *) casts *source/compiler/harbour.y * corrected invalid error when LOOP or EXIT was used inside a BEGIN/END sequence *source/compiler/harbour.l * corrected recognition of invalid number when no separators were used (for example: ? ( a=22.or.b=10 ) *tests/broken/numform.prg - removed (code moved to tests/working/rtl_test.prg) 19990919-01:55 EDT Paul Tucker * source/rtl/environ.c * added 1 cast to an xgrab call. 19990919-09:31 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * fixed bug with repeating result clauses ( noted by Antonio Linares ) 19990919-06:21 GMT+1 Victor Szel * source/vm/hvm.c + Added support for CA-Clipper undocumented _APPMAIN starting function, if this is defined, Harbour will start it first, overriding the default starting proc. ! Fixed the case when no PUBLIC functions were declared with no explicit starting procedure. Now it will silently exit (STRICT mode) or show a proper unrecoverable error message, instead of a possible GPF, * __XHELP() - hb_dynsymFindName() changed to hb_dynsymFind() * source/rtl/environ.c include/extend.h + hb_version() added, separated from HB_VERSION(), to make it callable from C, too. //INFO needed it. * source/rtl/console.c + Added undocumented //STDERR feature, when specified it will redirect all stderr output to stdout. * source/rtl/alert.prg + ALERT() now handles the //NOALERT switch. The NOALERT feature is now always turned on, not only in STRICT mode. + __NONOALERT() undocumented Clipper function added. * source/rtl/hvm.c + source/rtl/cmdarg.c source/rtl/Makefile include/extend.h makefile.* makefile.vc (with extra care taken to retain the alphabetical order :-)) + Internal command line and environment variable support added. //INFO //F:30 //TEMPPATH:"C:\TEMP", SET HARBOUR=F30;X00, SET CLIPPER=E0 INFO, now can be queried from Harbour runtime. + API added to reach the above functionality. + Harbour argument handling functions added: __ARGC() __ARGV() __ARGCHECK() __ARGGET() ! Now the internal parameters (//INFO) are no more passed to the Harbour MAIN and INIT functions. + Harbour now prints the version when //INFO switch is speficied. * source/rtl/fm.c + Will always print some memory info when the //INFO switch was specified. * include/clipdefs.h + Added WORD, DWORD typedefs. * source/rtl/strings.c include/extend.h + hb_strnicmp() added. % hb_stricmp() formatted, variable scopes adjusted, int type changed to char. * source/rtl/classes.c * Small modification. 19990918-17:42 GMT+1 Victor Szel * source/rtl/set.c * printhan < 0 changed to printhan == FS_ERROR, to not rely on the fact that FS_ERROR is negative. * source/rtl/console.c ! hb_out - One fsError() save/restore added for non GT mode console output. * *han >= 0 changed to *han != FS_ERROR, to not rely on the fact that FS_ERROR is negative. - Removed the // commented sections. * source/rtl/copyfile.c ! __COPYFILE() - Made the hb_fsOpen() flags Clipper compatible. * source/rtl/memvars.c ! __MVSAVE() - Made the hb_fsOpen flags Clipper compatible. * source/vm/hvm.c + new printf() info in hb_vmDo() integrated to hb_stackDispLocal(). (not tested) * include/extend.h source/rtl/arrays.c source/vm/hvm.c * hb_arrayGetItemPointer() -> hb_arrayGetItemPtr() 19990918-14:59 GMT+1 Victor Szel * source/rtl/browdb.prg + _lastrec() -> lastrec() + _recno() -> recno() * source/rtl/transfrm.c * Small modification. 19990918-14:05 GMT+2 Ryszard Glab *source/vm/hvm.c * corrected operators overloading (tests/working/overload.prg works correctly now) 19990918-13:07 GMT+1 Victor Szel * tests/working/rtl_test.prg ! OS_NewLine() is only used when __HARBOUR__ is defined. 19990918-01:55 EDT David G. Holm * config/win32/bcc32.cf ! My previous update only allowed Borland to compile, but not link. For some reason, the -L option didn't work. This update fixes that by dropping the -L option and specifying all libraries fully. * source/tools/io.c ! Restored version 1.11 as version 1.13 to restore the functions that were removed but shouldn't have been removed. 19990917-23:45 EDT David G. Holm * source/tools/Makefile + source/tools/osnewlin.prg + New module simplifies deciding when to use CR/LF or just LF when using OUTSTD() and/or OUTERR() * tests/working/Makefile + tests/working/longdev.prg + I forgot to 'cvs add' this module with my earlier large string changes, so it's a good thing that I left it out of the Makefile * tests/working/rtl_test.prg + Added 3 tests for long strings (longer than 64 KB, Harbour only) in a new function, Long_STRINGS() * tests/working/adirtest.prg * tests/working/cdow.prg * tests/working/dates.prg * tests/working/dates2.prg * tests/working/dates3.prg * tests/working/dates4.prg * tests/working/dirtest.prg * tests/working/harbour.ini * tests/working/longstr2.prg * tests/working/output.prg * tests/working/readfile.prg * tests/working/round.prg * tests/working/rtl_test.prg * tests/working/seconds.prg * tests/working/set_num.prg * tests/working/set_test.prg * tests/working/testcgi.prg * tests/working/testhtml.prg % These test programs now use OS_NewLine() instead of using 4 different methods. 19990918-04:58 GMT+1 Victor Szel * source/vm/hvm.c + Added WORD typedef for HARBOUR_OBJ_GENERATION section. * source/rtl/memofile.c + Added, this time for sure. * makefile.vc ! Now in alphabetical order. * source/compiler/harbour.y + Now the compiler shows if a message is a YACC error. * source/rtl/console.c + hb_max_row() now returns 23 for UNIXes and 24 otherwise. % fputs(" "...) -> fputc(' '...) 19990918-03:22 GMT+1 Victor Szel * source/rtl/memofile.c source/rtl/Makefile makefile.* funclist.txt + MEMOREAD()/MEMOWRIT() functions added. (Borland/MSVC makefiles modified, but not tested) * tests/working/rtl_test.prg + MEMOREAD()/MEMOWRIT() tests added. * include/itemapi.h source/rtl/itemapi.c + hb_itemPutCPtr() Item API function added, to make it possible to attach a buffer directly to a string item in a standard way, this way one memcpy()/strcpy() can be saved, this can be used when the caller have already allocated a buffer. Recommended when the expected string size is very large. The allocated buffer size must be ulLen + 1. * source/tools/io.c - CD(), MD(), RD(), DISKFREE() removed since these are in the standard RTL. * source/rtl/tget.prg ! Insert() fix by Kwon,Oh-Chul * source/rtl/console.c ! HB___ACCEPTSTR() one missing underscore added. ! SAVESCREEN() pBuffer type changed back to void *, since xgrab() would not be compatible, (char*) casts would not be needed, and gtSave() would have to complain...in theory at least. (What was the compiler (and which one) complaining about ?) 19990917-21:10 EDT David G. Holm * include/extend.h % Changed local pointers in hb_xmemcpy() and hb_xmemset() from void * to BYTE * to keep Borland C compiler happy. 19990917-18:00 EDT David G. Holm * include/extend.h + Added hb_xmemcpy() and hb_xmemset() * source/hbpp/hbpp.c * source/hbpp/hbppint.c * source/hbpp/table.c * source/hbpp/stdalone/hbpp.c % Set __MINGW32__ up to use the same #includes as _MSC_VER so that a search for instances of where they are not sharing won't give false hits on these files (has no effect on code) * source/hbpp/table.c % __HARBOUR__ now has the value 1 (should we set this to be the same as the build number, leave it at 1, or increment it with each version number change?) * source/rtl/console.c % Changed all looping hb_fsWrite() calls to hb_fsWriteLarge() % Use hb_fsWriteLarge() instead of putc() and/or puts() + Added s_iFilenoStdout and s_iFilenoStderr to avoid calling fileno() more than once each for stdout and stderr * source/rtl/dates.c % Set __MINGW32__ up to use the same #includes as _MSC_VER, so that SECONDS() also returns fractions of a second * source/rtl/dir.c ! Moved normal hb_itemReturn() and ...Release() calls out of the MSC, IBM & MingW32 #if block * source/rtl/extend.c + Added hb_xmemcpy() and hb_xmemset() to allow copying and setting of strings that are up to ULONG_MAX in length. * source/rtl/filesys.c ! hb_fsReadLarge() and hb_fsWriteLarge() can now read and write strings up to ULONG_MAX in length instead of only USHORT_MAX * source/rtl/itemapi.c % All string copying is now done via the new hb_xmemcpy() to allow string lengths up to ULONG_MAX instead of UINT_MAX * source/rtl/strings.c % All string copying is now done via the new hb_xmemcpy() to allow string lengths up to ULONG_MAX instead of UINT_MAX % HB_SPACE() now uses the new hb_xmemset() to allow string lengths up to ULONG_MAX instead of UINT_MAX * source/rtl/gt/gtos2.c ! Added missing ';' on 'USHORT width, y' in hb_gt_SetAttribute() * source/vm/hvm.c % All string copying is now done via the new hb_xmemcpy() to allow string lengths up to ULONG_MAX instead of UINT_MAX + tests/working/longdev.prg + New module tests VM and file handling of strings longer than USHRT_MAX * tests/working/inkeytst.prg % Only display the Cygwin if the program was built using Cygwin 19990917-15:10 GMT+1 Victor Szel * include/compiler.h include/hbdefs.h source/rtl/gt/gtwin.c ! WORD/DWORD type declaration moved from hbdefs.h to compiler.h and gtwin.c - LOWORD() removed from hbdefs.h * HIBYTE() now uses USHORT instead of WORD. (Is this OK ?) * source/rtl/extend.c * WORD -> USHORT ; Now only the compiler should be cleaned up from WORD types. (TODO !) GTWIN.C should define these types locally. * source/rtl/classes.c * WORD -> USHORT ! Some hb_parnl() changed to hb_parni() for class handles. * include/extend.h * WORD -> USHORT for all variables within HB_ITEM. * source/itemapi.c source/arrays.c include/extend.h * WORD -> USHORT for array/object struct. 19990917-13:30 GMT+1 Victor Szel * source/rtl/codebloc.c include/extend.h * WORD -> USHORT for codeblocks. * source/rtl/transfrm.c % Internal vmDo() call replaced with standard API functions. ! Internal error removed, direct buffer string modification resolved. * source/rtl/objfunc.prg + Explcitly repeated function names in the __ERR*() calls changed to PROCNAME(0). * source/vm/hvm.c include/ctoharb.h include/init.h ! Typo fixed. * WORD -> USHORT (for parameter count, local/static indexes and almost all the others) Only one WORD declaration stayed, this one is related to OBJ generation and SYMBOLS.ASM, so it should have strictly fixed size. ; Here comes to mind that the PCODE model should have a clear definition on the byte level, so that VMs could process pcode byte stream compiled on any platform, we are almost there, but for example storing a DOUBLE directly in the pcode could cause portability problems. * source/rdd/dbcmd.c + WORD -> USHORT (wLen) % HB_USED() small opt. * source/compiler/harbour.y * pOutPath made global and renamed to _pOutPath * "Functions %i" -> "Functions/Procedures %i" * source/rtl/console.c % __SHADOW() param checking logic simplified and corrected. % DISPOUT(), DEVOUT() one ISCHAR() call removed so it's a bit faster now. 19990917-11:30 GMT+1 Victor Szel * include/ctoharb.h source/vm/hvm.c + WORD -> USHORT (s_wActionRequest) + WORD -> int (wDec) + WORD -> USHORT (array dimensions) + WORD -> ULONG (array elements) ! __XHELP now uses hb_dynsymFindName() instead of hb_dynsymFind() * source/vm/debug.c + WORD -> USHORT * Using hb_itemRelease() instead of hb_itemClear() + hb_xfree() * Small formatting changes. * source/vm/dynsym.c + WORD -> USHORT * source/rtl/gtapi.c + Some types changed from char* to BYTE* to match the environment, so a few casts could be removed. * tests/working/dynsym.prg + Added test for __dynsymGetIndex(), it will now GPF, since this function is buggy right now. 19990916-23:45 EDT Paul Tucker * source/rtl/console.c * source/rtl/gtapi.c * added a number of casts The problem with declaring something to acctype (BYTE*) is that then the overly sensitive MSVC complains about passing a const * to it - it becomes quite bothersome to use (IMO). 19990917-03:15 GMT+1 Victor Szel * source/rtl/transfrm.c * WORD -> USHORT * include/errorapi.h source/rtl/errorapi.c source/rtl/copyfile.c source/rtl/filesys.c source/rtl/memvars.c source/rtl/set.c source/runner/runlib.c source/rdd/dbcmd.c * Changed WORD to USHORT in all Error handling stuff. * tests/working/rtl_test.prg * Version() -> Version( 0 ) (xBase++ likes the numeric value better here, but I could not test it) 19990917-03:15 GMT+1 Victor Szel * source/rtl/console.c (mainly) source/rtl/gtapi.c source/rtl/strings.c source/rtl/hardcr.c source/rtl/mtran.c + Changed some explicit constants to manifest constants (keyboard codes, character codes) % [f]printf( "%c", c ) -> fputc( c, std??? ) for speed. % [f]printf( "%s", s ) -> fputs( s, std??? ) for speed. % printf( constant ) -> fputs( constant, std??? ) for speed. ; Since I'm not sure whether fflush() is called from fput*() functions, it may be needed to place more explicit flush calls. This may have been an issue already since printf() is only flushing on \n chars, at least in MINGW32. ! s_szAcceptResult is now initialized on startup as an empty string. ! One cast added to hb_retc()/SAVESCREEN(). * include/inkey.h + NOTE that is's used from C, too. * include/hbdefs.h + HB_CHAR_ common character constants added. 19990916-19:35 EDT David G. Holm * doc/gmake.txt + Added gcc/mingw32. + Updated the BUILD.BAT paragraph. * source/rtl/console.c ! Added missing type override to hb_xgrab() call in SAVESCREEN(). * source/rtl/dir.c ! Changed FA_READONLY to FA_RDONLY ! Changed FILE_RDONLY to FILE_READONLY * source/rtl/environ.c ! Added conditional definition of a Windows define that is missing from some versions of Borland C. Thanks to Jose Lalin. + Added compiler identification to VERSION(), but only if called with a parameter (any parameter) based on an idea by Victor Szel. * source/rtl/filesys.c ! Added '#include ' for Borland C in order to eliminate a warning regarding '_getdrive()'. * source/rtl/inkey.c ! Restored Unix-style keyboard input, because it is non-blocking under Linux/GCC. + Added separate __CYGWIN__ Unix-style keyboard input, because it is blocking under Win32/GCC. + Actually added the Borland C Windows #elif code block supplied by Jose Lalin this time. * tests/working/inkeytst.prg * Modified warning text to refer only to Cygwin. * tests/working/version.prg * Changed 'QOUT( VERSION() )' to '? VERSION()'. + Added '? VERSION( .T. )' to display the compiler that was used to build Harbour.exe (which does not have to be the same compiler used to build the Harbour program). 19990917-00:50 GMT+1 Victor Szel * source/rtl/hardcr.c ! Fixed so that it doesn't modify the buffer returned by hb_parc(), it now uses Item API calls. * source/hbpp/stdalone/hbpp.c + Enhanced header. * source/runner/stdalone/runner.prg + Enhanced header. * source/runner/runlib.c + __HRBRUN() will now add default extension (.hrb) to the passed filename. 19990917-00:05 GMT+1 Victor Szel * include/hbdefs.h + typedef BYTE HB_CHAR; + typedef BYTE HB_ATTR; * source/rtl/mtran.c % Some Extend API calls changed for Item API, for speed. + const keyword added. * source/rtl/tone.c % TONE() parameters checking simplified. * Variable names standardized. * source/rtl/set.c * Removed all direct item access, replaced them with Item API calls. * Some variable names standardized. ! int -> BOOL in one place. ! int -> USHORT for hb_fsError() retvals. * source/rtl/console.c ! int -> USHORT for hb_fsError() retvals. * Variable names changed ( len -> ulLen, count -> ulCount, uiCount ) * pcount() > x -> pcount() >= x+1 * source/vm/hvm.c * pcount() > x -> pcount() >= x+1 (ERRORLEVEL()) * source/rtl/setcolor.c ! 0 -> '\0' ! SETCOLOR() now doesn't accept a non string parameter. 19990916-23:00 GMT+1 Victor Szel * source/rtl/gtapi.c ! hb_gtWriteCon() fixed handling of backspace character. * source/rtl/console.c % Some extend API calls changed to Item API to make it faster * Types changed: WORD -> USHORT to better sync it with GT API. char * -> BYTE *, int -> USHORT ! __ACCEPT() the length of the return string was not set properly under Unix. ! __ACCEPT() now displays non-string parameters, too, the logic is also simplified by just calling HB_QOUT(), like in Clipper. It will always call QOUT() even if no parameters were passed. This is still not *exactly* what Clipper does. ! __ACCEPT() now displays all parameters not only the first one. ! __ACCEPT() now used hb_retc() instead of hb_retclen(). ! hb_consoleRelease() now sets back stdout, and stderr to TEXT mode. ! __ACCEPT() one explicit constant changed to ACCEPT_BUFFER_LEN. ! __ACCEPT() now accepts ascii chars higher than 127, like in Clipper. + __ACCEPTSTR() added for Clipper compatbility, this will return the result of the last __ACCEPT() call. * source/rtl/inkey.c ! Small formatting fix. 19990916-21:00 GMT+1 Victor Szel * source/rtl/*.c * Copyright text format change. + Missing copyright headers added. ; Now this work is finished. * include/extend.h + hb_tone() prototype added. * source/rtl/gt/gtwin.c - Commented out two unused static variables. * source/rtl/classes.c - Removed two unused variables. * tests/working/rtl_test.prg + Some lines uncommented, since the PP can now process them. * tests/working/testcopy.prg tests/working/Makefile - Removed since it's now in RTL_TEST. * tests/working/hb*.bat ! Updates by Jose Lalin. * makefile.b32 ! Added memvarbl.prg * source/rtl/achoice.prg source/rtl/adir.prg source/rtl/alert.prg source/rtl/asort.prg source/rtl/memvarbl.prg source/rtl/menuto.prg source/rtl/objfunc.prg source/rtl/readvar.prg source/rtl/setkey.prg source/rtl/tbcolumn.prg source/rtl/tclass.prg source/rtl/tgetlist.prg source/rtl/errorsys.prg + Using IS*() macros for type checking, common.ch #included to all of these files. * Some = changed to == in setkey.prg 19990916-17:10 GMT+2 Ryszard Glab *source/vm/dynsym.c *include/extend.h + new function HB_DYNS hb_dynsymFindName( char * szName ) that checks if given name is a public symbol - this function converts given name to uppercase before checking *source/rtl/itemapi.c *source/rtl/classes.c *source/rtl/do.c *source/vm/hvm.c * replaced hb_dynsymGet with new hb_dynsymFindName *source/rdd/dbcmd.c * replaced hb_dynsymFind with new hb_dynsymFindName *source/rtl/dir.c * corrected invalid mask value in HarbourToOsMask() 19990916-14:30 GMT+1 Victor Szel * makefile.vc ! Fixed version by Matteo Baccan. 19990916-14:20 GMT+1 Victor Szel * source/rtl/mouse/*.* * Copyright text format change. * source/rtl/gt/*.c ! Indentations, formatting errors corrected. ! // comments change to /**/ + Copyright headers added. * source/rtl/inkey.c ! // comments change to /**/ * source/rtl/gt/gt_tpl.c ! Fixed hb_gt_SetMode() return value type. * source/rtl/gtapi.c ! hb_gtRepChar() will check for buffer overflow. * include/gtapi.h ! Added hb_gt_Replicate() to GTAPI.H * Variable names revised, standardized. * source/rtl/errorapi.c * hb_errPutArgs() Now using Item API instead of Array API. * source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/*.c include/gtapi.h + API functions made more Clipper compatible with some arg type changes: hb_gtBox() - Character parameter: char * -> BYTE * hb_gtRepChar() - USHORT character changed to BYTE, this is not completely Clipper compatible, but I've considered a bug to accept a character in an USHORT. hb_gtRest() - Buffer parameter: char * -> void * hb_gtSave() - Buffer parameter: char * -> void * hb_gtWrite*() - Character parameter: char * -> BYTE * * Some types changed in the low-level API. hb_gt_IsColor() - retval: int -> BOOL hb_gt_Get/SetCursorStyle() - int -> USHORT to match the high level API hb_gt_Puts() - char * -> BYTE *, int -> ULONG for the length. hb_gt_GetText() - char * -> BYTE * hb_gt_PutText() - char * -> BYTE * hb_gt_Replicate() - char -> BYTE, DWORD -> ULONG ; IMHO later we should change all unsigned coordinate types to signed ones, so that we can have a better "virtual screen" support. All attribute types to a generic HB_ATTR, all characters to HB_CHAR. 19990916-11:15 GMT+1 Victor Szel * source/vm/hvm.c + __XHELP() function added. ; So now if we had defined a function named HELP() in our app, it will be called by default if the user presses the F1 key. Like in Clipper. + Now using SYSINIT to force linking of the system init modul, instead of ERRORSYS. Forcing ERRORNEW explicitly is not needed, so it's now removed. * source/rtl/harbinit.prg + ANNOUNCE SYSINIT added. + __SETHELPK() function added. * source/rtl/harbinit.prg (added) source/rtl/errorsys.prg source/rtl/Makefile makefile.* ! ClipInit() INIT procedure moved from ERRORSYS to a separate .prg, this way the ERRORSYS.PRG module is completely replacable, like in Clipper. ( ! Borland and MSVC users please check the modified Makefiles ! ) * source/rtl/*.prg + All copyright header changed to the new one. + Missing copyright headers added. 19990916-13:07 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * fixed bug with Release ( noted by David G. Holm ) 19990916-10:37 GMT+1 Antonio Linares * source/compiler/harbour.y * Added support for multiple include paths using /I compiler flag 19990916-05:50 GMT+1 Victor Szel * source/rtl/itemapi.c + Added NOTE why pItemArg1 is needed. * tests/working/transdef.prg tests/broken/parexpr.prg - Removed (now for sure) 19990915-23:35 EDT Paul Tucker * source/rtl/gt/gtos2.c source/rtl/gt/gtwin.c source/rtl/gt/gtdos.c include/gtapi.h * converted a number of parameters to USHORT, SHORT or BYTE 19990916-05:30 GMT+1 Victor Szel * source/compiler/harbour.y include/hberrors.h ! Proper error shown when more than one input (.prg) filenames are specified, it caused a leak previously and was not compatible with Clipper. ! Invalid filename message when the passed filename only contains dir/drive. GPF fixed. * *.bat tests/working/*.bat ! @echo off commands moved to the top of files. * tests/working/setkeys.prg ! Some functions names fixed, it still doesn't work because GetActive() function is not yet implemented. * tests/working/rtl_test.prg tests/working/transdef.prg (removed) tests/working/Makefile * Tests from transdef.prg moved to rtl_test.prg (2 failures more now) tests/working/transdef.prg (removed) * tests/broken/parexpr.prg - Removed, since it's in working now. ; The bugs above were reported by Jose Lalin. * source/rtl/*.* (partial) + All copyright header changed to the new one. + Missing copyright headers added. 19990916-03:57 GMT+1 Victor Szel * source/rdd/* source/tools/dates2.c source/tools/stringp.prg source/tools/nconvert.prg source/tools/fileread.prg source/tools/numtxthu.prg source/tools/strfmt.c + All copyright header changed to the new one. * source/rtl/menuto.prg ! RELEASE (cVariable) changed to __MVRELEASE( cVariable ) since now to former is not preprocessed, which is fine BTW, since Clipper is doing the same. * make_tpl.* + mingw32 added as a new option. 19990916-03:17 GMT+1 Victor Szel * source/debug/*.* source/hbpp/*.* source/hbpp/stdalone/hbpp.c + Copyright text changed to the newer version. + Missing copyright headers added. * source/runner/runlib.c + TODO: added about default extension handling. * source/hbpp/stdalone/hbpp.c source/hbpp/hbppint.c source/hbpp/hbpplib.c ! Formatting error corrected. 19990914-20:45 EDT David G. Holm + config/win32/mingw32.cf * source/hbpp/hbpp.c * source/hbpp/hbppint.c * source/rtl/console.c * source/rtl/dir.c * source/rtl/environ.c * source/rtl/filesys.c * source/rtl/inkey.c * source/rtl/tone.c + Added __MINGW32__ support for Cygnus GCC compiler. 19990916-02:25 GMT+1 Victor Szel * source/compiler/symbols.asm (removed) source/vm/symbols.asm (added) makefile.b31 * Moved to VM since it belongs there. * source/rtl/filesys.c ! Added missing break; to hb_fsSetDevMode()/_MSC_VER branch. * source/tools/hb_f.c source/vm/*.c source/compiler/*.c source/compiler/harbour.l source/compiler/harbour.y * Copyright text changed to the newer version. * source/compiler/harbour.y ! One buggy error message text fixed (%i format specifier removed). 19990915-17:40 EDT David G. Holm * include/itemapi.h * source/rtl/itemapi.c ! Added a third argument, PBH_ITEM pItemArg1, to the hb_itemDo() and hb_itemDoC() functions to solve a var-arg problem with the OS/2 version of GCC. When calling hb_itemDo() or hb_itemDoC() to evaluate a symbol, function, or code block that does not take any arguments, use '(PHB_ITEM *) 0' as the third argument. * config/win32/bcc32.cf ! The GNU make system now works with Borland 32-bit compilers. * config/win32/gcc.cf * Removed '-lmoldname' in order to avoid polluting the __CYGWIN__ build with __MINGW32__ stuff. * source/compiler/harbour.l ! Removed 'extern int _bQuiet', because it conflicts with the 'extern BOOL _bQuiet' declaration in include/compiler.h. * source/rtl/console.c ! Added __CYGWIN__ to the Unix-style input in HB___ACCEPT() * source/rtl/filesys.c ! Removed the alleged Cygwin mode flag fix, which turned out to be an incomptibility between the CYGWIN and MINGW32 libraries. * source/rtl/inkey.c ! Applied the Borland Windows fix supplied by Jose Lalin. ! Changed Cygwin support to use the Unix method in order to avoid polluting the __CYGWIN__ build with __MINGW32__ stuff. ! Moved the Unix keyboard input from hb_inkeyPoll() to hb_inkeyGet() in order to stop blocking the VM when it polls the keyboard. * tests/working/inkeytst.prg + Display a note regarding Unix-style keyboard input. ! Changed the final keyboard test exit key from ESC to TAB, because Unix-style keyboard input uses ESC as the lead-in for extended keys. 19990915-23:20 GMT+3 Alexander Kresin * source/hbpp/hbpp.c * source/hbpp/table.c * fixed some bugs, reported by Victor and Matteo 19990915-15:50 GMT+1 Victor Szel * doc/hdr_tpl.txt * Some small changes. * include/*.api include/*.ch include/*.h + Added copyright header to all files, where the original author is not known, it's not filled. * Standardized the copyright header for all users. * ChangeLog sections separated from the copyright headers. * The one-liner file descriptions standardized. 19990915-14:14 GMT+1 Victor Szel * doc/license.txt + Added a text file containing the license text. * doc/hdr_tpl.txt ! Typo fixed (now v1.8) 19990915-14:04 GMT+1 Victor Szel * source/rtl/dir.c include/directry.ch ! printf()s commented out, proper (but silent) error handling added. + Now using directry.ch for the array format. + A TODO: added about changing the file composing/decomposing functionality to hb_fsFNameSplit()/Merge() functions. + NOTE added that the third parameter is a Harbour extension. % Some small logic streamlining. * Some variable names changes, some variable scopes adjusted. * source/compiler/genobj32.c + Every static thing is now declared static. + Missing prototypes added. * source/rtl/hardcr.c source/rtl/mtran.c source/tools/dates2.c * Slight change in the format of the copyright header, the text itself has not changed. * source/rtl/filesys.c + hb_fnFNameMerge() - TOFIX: added again about the lack of buffer overlow handling. * .cvsignore ! DOS/LINUX/OS2 GNU Make systems working directories added. * doc/hdr_tpl.txt + Some fine tunings, see the files own history. The copyright text hasn't changed. Version 1.7 * include/std.ch include/Makefile + Added a skeleton and a TODO for the STD.CH file. 19990915-11:15 GMT+1 Victor Szel * source/rtl/dir.c ! Two warnings fixed about possibly missing paranthesis. + Reformatted. * source/rtl/adir.prg ! Default flags reset to "HSD" * tests/working/adirtest.prg ! Fixed a bug which caused an error when zero file was found. + Added: SET DATE ANSI, SET CENTURY ON ! Newline handling made platform compatible. ! Some other fixes. * source/rtl/memvars.c ! Typos fixed. 19990915-03:40 EDT Paul Tucker * source/rtl/dir.c * Now Clipper compatible results are returned. definately with MSVC - most likely with compilers running under MS OS. since I'm not familliar with any quirks with those compilers I made almost no changes to compiler specific code. I suspect though that there may be problems when passing a full path with wildcard to Directory() - please test. + You can now get the 8.3 filename (msvc again) for true Clipper compatibible return results by passing a logical as the new 3rd parameter. The default is .f. which gives full long filenames + Add a number of static funcs like HarbourMaskToAttributes() to convert "DHS" to something the os understands. ! Where this all falls apart is for OS_UNIX_COMPATIBLE. I don't know what to do about translating Hidden or System files. and not too sure how to handle Readonly. Nobody commented when I posted the code - so here is what I came up with. * tests/working/dirtest.prg + added 3rd parameter to indicate 'want 8.3 filenames' 19990915-03:20 GMT+1 Victor Szel * source/rtl/do.c - Previous fix undone, since it was causing other problems. 19990915-02:20 GMT+1 Victor Szel * .cvspass - File removed, since it was probably added by incident. 19990915-01:22 GMT+1 Victor Szel * source/compiler/gen*.c + some fflush() calls added to see a better feedback about the progress of the generation process. 19990915-00:38 GMT+1 Victor Szel * tests/working/sound.prg tests/working/*.bat tests/working/*.ch + CVS header added to all files. + @echo off added where missing. 19990915-00:30 GMT+1 Victor Szel * (*.* in the root directory) + CVS header added to all files. + @echo off added where missing. * build32.bat build40.bat build31.bat build.bat (renamed) build16.bat (new) buildrdd.bat (removed) bldgt32.bat (removed) bldhbpp.bat (removed) % These three batch files has been incorporated to the main build batch files, since they were simple one-liners. ! hbpplib.b32 build process was executed two times from the build32.bat and build40.bat files. * build.bat renamed to build16.bat 19990914-17:30 GMT+1 Victor Szel * config/rules.cf * Harbour flag /q changed to /q0 to omit the compiler header. * source/rtl/do.c ! DO() fixed to use hb_dynsymFind() instead of hb_dynsymGet(), now it properly displays when the passed string is not a symbol, rather then throwing an internal error. * source/compiler/harbour.y + /CREDITS command line switch to display the development team. Like in Clipper. 19990914-13:15 GMT+1 Victor Szel * source/compiler/harbour.y source/compiler/gen*.c + Help screen made more Clipper like. + /f switch changed to /gf, and the whole object generation build in to the source in a more standard way. It works now. + /q0 switch added to the help screen. + All filename composing stuff related to specific output types moved to the appropriate gen*.c file. This way the code is more modular. ! One variable made static in genobj32.c 19990914-11:40 GMT+1 Victor Szel * source/runner/stdalone/external.prg include/external.ch * Regenerated. * source/runner/runlib.c ! Made some steps to release memory blocks when an undeclared symbol error occurs, seemingly with few success. This needs some more work. + TODO added about a possible direction for further development. The idea would be to replicate the Blinker DLL functionality. * source/compiler/harbour.y source/compiler/harbour.l source/compiler/gen*.c * Only every 100th line number is shown on the counter while parsing, this way it's more Clipper like. In theory it should also be faster, but due to the stdout buffering, it's approx. the same speed. Though it could be faster in some platform/compiler/screen output combinations. + The "syntax ok" message is now replaced with the total number of functions and the total number of lines. Similar to Clipper, but not so specific to the generated output. + /q0 switch no suppresses the "Harbour Compiler" header. + The "Generating ... output" line format changed, it's now more compact. * tests/working/rtl_test.prg + A new VAL() test added to test the huge value problem. ! One failure eliminated by hiding a filename generating difference in __COPYFILE(), NOTE added about this. * source/rtl/strings.c + HB_VAL() now uses hb_retnlen(). ! HB_VAL() was incompatible for huge integer values (5000000000). This is fixed. * source/rtl/memvars.c * __MVRESTORE() is now using hb_itemPutNLen() * source/rtl/extend.c include/extend.h + hb_retnlen() Extend API function added, which is a wrapper for hb_itemPutNLen(). * source/rtl/itemapi.c include/itemapi.h + hb_itemPutNLen() generic function added to assign a number to an item, the low-level type of the number is automatically selected, based on the magnitude and presence of decimal places. Similar to hb_vmPushNumber(). + hb_itemPutN?Len() functions will now accept any negative width/dec parameters as a request for the default. So: For iDec now any negative number will do the same as -1 before. For iWidth now any negative number will do the same as 0 before. This way the interface is more fool proof and consistent. 19990914-01:00 GMT+1 Victor Szel * source/vm/hvm.c include/ctoharb.h + hb_vmEqual() - Added support for alternate equal operator: "=" Currently they are exact synonyms. + hb_vmInc()/hb_vmDec() - "++", "--" operator overloading support added. + hb_stackDispLocal() - More values are printed, the format changed. * tests/working/rtl_test.prg tests/working/overload.prg ! The tests fixed again, "+="/"-=" operators removed from the class declaration. * "+"/"-" implementation changed to not modify the original value, since the expression "oString + 'A'" in itself in one line is not valid anyway. + "++", "--" operator overloading added. - Removed the "<>" and "#" overloading methods since they were not needed in this case. 19990913-23:45 GMT+1 Victor Szel * source/vm/hvm.c + hb_vmInString() - Added support for overloading the "$" operator. ! hb_vmPlus() - Fixed the operator overloading feature. + hb_vmNotEqual() - Added support for alternate notequal operators: "<>" and "#". * tests/working/rtl_test.prg tests/working/overload.prg - Removed +=, -= tests, since they will destroy the object, basically this gets executed: oString := oString + "Hello", where the right side expression will result in a string, which gets assigned to the object. This could be fixed by changing the overloader block to return self BTW, but from the test point of view, this is the same as "+"/"-". * gt.b32 makefile.b32 runner.b32 ! Fixes by Jose Lalin 19990913-23:00 GMT+1 Victor Szel * ChangeLog ChangeLog.003 * Old ChangeLog renamed to ChangeLog.003 * New ChangeLog created.