19990826-06:50 GMT+1 Victor Szel * source/rtl/inkey.c include/inkey.h + hb_inkeyPut() added, see next. + __KEYPUT() added. This function is able to insert *any* inkey codes (not just the 0-255 range) to the keyboard buffer one by one. ! __KEYBOARD() allowed to insert zero codes into the buffer which made INKEY() hang. It's now using hb_inkeyPut() to avoid this. % __KEYBOARD() uses ISCHAR() instead of two hb_p*() calls. Eliminated one of the two hb_parclen() calls. * hb_inkeyPoll() now calls hb_inkeyPut() to insert the new code. ! INKEY() fixed parameter count checking bug introduced a few hours ago. 19990826-06:00 GMT+1 Victor Szel * include/mouseapi.h source/rtl/mouseapi.c source/rtl/mouse/mousedos.c + Copyright info corrected. + Added original (BorlandC) implementation (MOUSE.ZIP) by Jose Lalin . Luiz Rafael Culik . + The OS/2 implementation is thanks to Chen Kedem Please note that these files have not been tested yet, Borland users should comment out the #define BORLANDC line in mousedos.c. Non-GNU make file users should add the new files source/rtl/mouseapi.c and source/rtl/mouse/mousedos.c file to their make system. 19990826-05:00 GMT+1 Victor Szel * include/Makefile include/mouseapi.h source/rtl/mouseapi.c source/rtl/mousexxx.c (renamed) source/rtl/Makefile source/rtl/mouse/mousetpl.c source/rtl/mouse/mousedos.c source/rtl/mouse/mouseos2.c source/rtl/mouse/mousewin.c (added) include/mouse.h (changed to mouseapi.h) source/rtl/mouse.c (changed to mouseapi.c) source/rtl/msxxx.c (changed to mousexxx.c) + Changed the previouse Mouse API implementation to a somehow more Clipper compatible and complete one. * source/rtl/inkey.c + INKEY() add runtime parameter count checking and error message. * Two ints changed to BOOLs. * source/vm/hvm.c include/rddapi.h * Some int -> BOOL, Some 0 -> NULL, '\0', Some cleanup. ! LEN(), EMPTY(), PCOUNT() returns a runtime error if bad number of parameter was passed. + BREAK() doesn't have a parameter count check, an explanation of this added as a NOTE:. * hb_rdd*() function declarations moved to rddapi.h * include/ctoharb.h source/vm/hvm.c source/vm/initsymb.c * InitSymbolTable() -> hb_vmRTSymbolsInit() * include/extend.h source/rtl/fm.c source/vm/hvm.c + Moved memory statistics printing to fm.c, fixed memory subsystem now has a hb_xinit() and hb_xexit() functions, which should contain all init and exit code related to memory. % Memory statistic variables made static, prefixed with "s_" + #define added to suppress the collection of statistics. * include/ctoharb.h source/vm/hvm.c source/rtl/errorapi.c * hb_stackShow() -> hb_stackDispLocal() * hb_callStackShow() -> hb_stackDispCall() * include/errorapi.h source/rtl/errorapi.c * hb_errLaunch() using eval API to launch the handler. + hb_errLaunchSubst() added to be able to add error handling using value substitution. Not finished yet. * include/hbdefs.h % PCOUNT uses hb_pcount() since it's more efficient than hb_parinfo(0) * source/rtl/extend.c ! hb_evalPutParam() is no longer making a copy of the items, like Clipper. * source/rtl/itemapi.c % hb_itemParam(): one hb_param() call optimed out. * source/hbpp/stdalone/hbpp.c include/hbpp.h + Standalone PP is now showing the line numbers in errors and warnings. * source/compiler/harbour.y source/hbpp/hbpplib.c source/hbpp/stdalone/hbpp.c source/rtl/errorapi.c % GenError(), GenWarning(), hb_errInternel() no longer need sprintf() neither the local stack buffers, so there's no more an undocumented limit on the message length. * source/rtl/console.c ! In some places printf( "\n" ) was changed to print CrLf. (Non-GT version is affected only) * source/rtl/errorapi.c source/hbpp/hbplib.c source/vm/hvm.c ! Uses hb_consoleGetNewLine() instead of \n character, so that it will work on all platforms. This was needed because we have turned off cooked mode of stdout, so the compiler/OS will not do it for us. The bug could be observed in the stack dump on an internal error in DOS/DJGPP. * source/rtl/console.c include/extend.h + New function hb_consoleGetNewLine() which returns the CrLf value. * source/vm/hvm.c include/extend.h * hb_console*() declarations moved to the header file. * source/compiler/harbour.y + Small cosmetic enhancments in generated C code. * source/tools/debug.c - Removed external declaration of non-existing function. * source/rtl/langapi.c source/rtl/natmsg/*.c ! Typo fixed "Limit exeeded" -> "Limit exceeded". Thanks to Jose Lalin . * source/tools/io.c source/tools/nconvert.prg source/tools/Makefile gt.b32 ! HB_RD() - Fixed: chdir() changed to rmdir() + nconvert.prg added, Borland makefile modified by Luiz Rafael Culik . 19990826-22:00 EDT Paul Tucker * include/hbsetup.h + add mouse driver selector defines + source/rtl/mouse.c * harbour level mouse interface code by Jose Lalin dezac@corevia.com and Luiz Rafael Culik (culik@sl.conex.net) + source/rtl/msxxx.c * similar usage to gtxxx.c + source/rtl/mouse directory + source/rtl/mousedos.c code by Jose Lalin dezac@corevia.com and Luiz Rafael Culik (culik@sl.conex.net) + source/rtl/mouseos2.c code by Chen Kedem + source/rtl/mousetpl.c 19990826-20:05 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Added dbAppend() function 19990826-03:25 GMT+1 Bruno Cantero * source/rtl/filesys.c + Changed hb_fsOpen for support shared files (MSVC) 19990825-23:30 GMT+1 Victor Szel * source/compiler/harbour.y source/compiler/harbour.l source/compiler/genobj32.c source/hbpp/stdalone/hbpp.c source/hbpp/hbpplib.c include/hbpp.h include/compiler.h include/hberrors.h + Added standard error messages for memory management errors. + Changed yyerror so that it calls the standard error launcher. - hb_xalloc() functions removed, since it was not used anymore. * hb_xalloc() changed to hb_xgrab(), it was not tested for the possible NULL return value. - One exit() after GenError() removed (source/hbpp/hbpp.c). * exit( 1 ) -> exit( EXIT_FAILURE ) ! GenWarning(), GenError(), CheckArgs() was allocating memory which was not freed.Now the stack is used instead of calling memalloc functions, so they can be used to report memory errors, too. ! The last printf() changed to GenError() in harbour.l * source/tools/io.c include/external.ch source/runner/stdalone/external.prg - RENFILE() removed since there is already a function with the exact same functionality in the standard Harbour RTL, named FRENAME(). * Cleanup in io.c. * Some __DOS__ guards changed to DOS. Some left since the code guarded is compiler specific. Warning! This change could cause problems with some other DOS compilers. + TOFIX: added about a chdir call in RD() code. + Code added to the non DOS branch. * source/rtl/console.c % SCROLL() - Some hb_pcount()s removed, parameter init optimed. ! hb_out() - hb_parinfo() changed to pItem->type, since hb_parinfo() can now contain the IT_BYREF flag, so if something would be passed by reference, it would not be recognized as a valid type. * source/rtl/do.c * Small cleanup. * gt.b32 ! Fixes by Luiz Rafael Culik implemented. 19990825-17:22 GMT+1 Bruno Cantero * source/vm/hvm.c + Added support for FIELD symbols * source/rdd/dbcmd.c + Open function improved + Added support for FIELD symbols * source/rdd/dbf1.c + PutValue function improved 19990825-13:30 GMT+2 Ryszard Glab *source/vm/hvm.c * corrected alias handling in hb_vmAliasSwap() however we still need to implement the function that will select an workarea using passed string with an alias name * if QUIT or BREAK is called in EXIT PROCEDURE then processing of these procedures is stopped 19990825-12:50 GMT+1 Victor Szel * source/rdd/dbcmd.c - Removed symbol init code. * source/tools/io.c ! Modified so that it defines each function everytime, not just when __DOS__ constant is defined. __DOS__ guard was moved around the function bodies. ! Removed FILE() function from here, since it's already declared in Harbour RTL/filesys.c * include/external.ch source/runner/stdalone/external.prg + Updated list of EXTERNAL, now including RDD and HBPP functions. * source/compiler/harbour.y ! Compile time parameter checking modified for RTRIM(), TRIM() since we have a Harbour extension here, which should be allowed, added missing LEFT() from the compile-time parameter checking list. * source/rtl/filesys.c + Added parameter count checking to FILE() * source/rtl/transfrm.c + Added parameter count checking to TRANSFORM() * source/rtl/dates.c + Added parameter count checking to CTOD(), DTOC(), DAY(), MONTH(), YEAR(), DOW(). * Code reformatting, variable scoping, some small optimalizations. * source/rtl/strings.c doc/subcodes.txt * Some pcount() checkings converted to IS*() macros in PAD*(), *TRIM(). * RTRIM(), TRIM() will now consider more than two parameters as an error. - Removed parameter count checking from RIGHT(). + NOTE: added about RTRIM(), TRIM(), ALLTRIM() Harbour extension. % Simplified checking code for LEFT() and RIGHT() ! LEFT(),STRTRAN() are no longer launching custom Harbour error codes 3009/3010, this was not compatible, Clipper launches a standard error code here. * AT() parameter checking standardized. * source/rtl/itemapi.c * hb_itemGetL() and hb_itemGetNL() made consistent with the recent changes in hb_parl() and hb_parnl(). * Some code reformatting, some casts added, some branch and retval optimalization. 0 -> NULL, '\0' * source/debug/debugger.prg * SHADOW() -> __SHADOW() * source/rtl/console.c - SHADOW() changed to __SHADOW() since it's not a std Clipper function. ! SETCURSOR() is returning SC_NORMAL if there's no GT API. * Some reformatting, some small optimalizations, added some copyright info. + Parameter count error added to DEVPOS(), SETPOS(), PROW(), PCOL(), COL(), ROW() * source/rtl/copyfile.c ( #include "itemapi.h" removed ) source/rtl/hardcr.c source/rtl/mtran.c source/rtl/arrays.c ( 0 -> NULL ) source/rtl/descend.c ( hb_pcount() call removed ) * Reformatting. Small cleanup. Some small optimalizations. 19990825-09:02 GMT+1 Antonio Linares * source/debug/tbrwtext.prg * Improved display functionality. 19990825-09:02 GMT+1 Antonio Linares * source/debug/debugger.prg + Breakpoints already working. (Notice the Harbour debugger does not debug multiple files yet). 19990825-01:15 GMT+1 Victor Szel * source/rtl/extend.c ! hb_parinfo() fixed so that it will return proper type information for parameters passed by reference, like in Clipper. ! hb_par*() functions accept zero parameter again to access self. NOTE: added about this. * tests/working/fileio.prg source/rtl/filesys.c ! FREAD() fixed, it now checks second parameter correctly using hb_parinfo(). + Some new tests added, one test put between HARBOUR_STRICT_CLIPPER_COMPATIBILITY guards, see next. ! FREAD() uses hb_parcsiz() (hb_parclen()+1) as the maximum number of bytes which could be read. Modified FREAD() but put between HARBOUR_STRICT_CLIPPER_COMPATIBILITY guards, since this is a rather unexpected behaviour, plus it can overwrite the terminating zero byte in the string buffer. + NOTE: added about an incompatibility in hb_fsSeek()/hb_fsWrite() behaviour. * contrib/odbc/odbc.c - Removed symbol init code. * source/rtl/math.c * Ultra minor change. 19990824-17:20 EDT David G. Holm * config/dos/bcc31.cf - Removed '-DHARBOUR_USE_GTAPI' from 'CPPFLAGS'. + Include RDD libraries when RDD is in library list. * config/os2/icc.cf - Removed '-DHARBOUR_USE_GTAPI' from 'CPPFLAGS'. ! Corrected 'LINKELIBS' to read 'LINKLIBS'. * source/compiler/harbour.c + Added 'extern unsigned _stklen = UINTMAX;' for Borland DOS mode, because compiling source/rtl/tget.c resulted in stack overflow with the default 4096 byte stack. * source/rtl/inkey.c + Added 'DosSleep( 25 );' to hb_releaseCPU() for OS/2. * source/rtl/tone.c + Added 'Beep()' support for Win32, thanks to Chen Kedem . Notes: Only tested with Cygwin() on Windows NT and 95; On other Windows it only produces the default sound or standard beep. ! Removed call to hb_releaseCPU() at end of outer loop for long durations in order to provide as seamless a sound continuation as possible and to avoid increasing the duration when using DOS platform code on some platforms (DOS DPMS, Windows NT, and OS/2). 19990824-15:30 EDT Paul Tucker * source/rtl/filesys.c * added a couple of casts. 19990824-20:30 GMT+1 Victor Szel * include/hbdefs.h ! ISBYREF() macro changed to call hb_parinfo() instead of hb_param(), it was not working previously since hb_param() was automatically dereferencing the parameter. FOPEN() parameter checking was not working correctly because of this. ( WARNING ! THIS SEEMS TO BE A WORKAROUND FOR SOME OTHER PROBLEM WITH PARAMETERS PASSED BY REFERENCE, PLEASE ALSO NOTE THAT FRead() IS NOT WORKING RIGHT NOW ) * source/rtl/filesys.c doc/subcodes.txt * Huge cleanup, reformatted, eliminated usage of internal structures, fixed types, standardized variable names, explicit constants changed to manifest constants, fixed a whole bunch of bugs, simplified code fragments, optimalized variable usage and scope. 65535U -> (USHORT)-1 % "return;"s removed * reindented using 3 chars ! FWRITE() and hb_fsWrite() returns 0 instead of 65535 if the write failed. ! FOPEN() runtime error code fixed ! FERASE() return value fixed ! FREAD() will check if the passed buffer size is smaller than the required read length. ! FREAD(): Added warning about the fact, that the buffer returned by hb_parc() will be directly modified. (this is strictly prohibited by Clipper doc). ! hb_fsCreate() didn't reset the last error code on success. ! hb_fsDelete(), hb_fsRename(), hb_fsLock(), hb_fsCommit() - the not defined platform branch is now setting the last error code. ! hb_fsExtOpen() is now setting the last code to FS_ERROR. % FREADSTR() made much faster for longer strings. ! FREADSTR() uses hb_fsRead() instead of read() ! hb_fsClose() didn't set the last error code. ! I2BIN(), L2BIN() was returning one more character than Clipper (it worked OK when bad parameters were passed). ! BIN2L() returned an int instead of long, this is fixed. * source/rtl/math.c * Reformatting finished. 19990824-19:05 GMT+1 Victor Szel * source/rtl/math.c ! MIN(), MAX() code fixed to behave exactly like Clipper, it will now return a DOUBLE if any parameter is DOUBLE, it will return LONG if any parameter is LONG, otherwise it will return INT, the HB_ITEM decimals now are only accessed for DOUBLE types (and of course only set for DOUBLE return types). The bug could be observed by running AC_TEST pressing PgDn at the bottom of the list then pressing Up button, the index display was shown with decimals in it (DOS/DJGPP). % MIN(), MAX() code optimalized. * Some direct hb_param() calls changed to macros. 19990824-18:05 GMT+1 Victor Szel * source/rtl/extend.c include/extend.h % Variable declarations moved to inner blocks. ! Parameter number zero is considered a bad case, instead of undefined. % Optimalization and cleanup. Returns from inner blocks optimed out. % Array index parameter is only evaluated when actual parameter is an array, so that it should be faster now. % The type checkings reordered, so that the first is the most probable one. Array type is checked last, since this is the most rarely occuring case. This will speed up things a bit. ! Casting to (long) fixed in hb_parni() when return an array element. ! Variable parameters are treated consistently as longs, we are not Clipper compatible here, but in Harbour an array index can be ULONG, just as like the string lengths were already ULONGs instead of ints. ! WORD wArrayIndex changed to ULONG ulArrayIndex. ! hb_storclen() WORD parameter changed to ULONG. + Some casts added to hb_parni(), hb_parnd() ! hb_parl() is returning valid values for INTEGER, LONG and DOUBLE type of parameters. (Clipper does the same except for DOUBLE) ! hb_parnl() is returning the date value as a long is the paramater is DATE type. (just like in Clipper). ; Reformatted to Harbour standard. * source/arrays.c ! hb_arrayGetDouble() is now returning a value even for the DATE type, to be consistent with hb_parn*(); ! hb_arrayGetBool() is now returning a value even for INTEGER, LONG and DOUBLE types, to be consistent with hb_parl(). * Reindented using Harbour standard. % Removed hb_ret() calls, they are not needed, since the default return value is always NIL. ! AEVAL() GPF fixed when the second parameter was not a codeblock. - Removed (unsigned) casts from hb_arrayLen(). ; Reformatted to Harbour standard. * source/rdd/dbcmd.c ! HB_DBSKIP() it will work even when a DOUBLE type of numeric was passed, (like Clipper). The low level HB_ITEM access changes to use the extend API. * makefile.b32 ! Fixes by Luiz Rafael Culik implemented. * source/rtl/strings.c + Added a new runtime error for ALLTRIM(), this error has been introduced in Clipper 5.3. (Put between HB_COMPATIBILITY_CLIPPER_53 guard) % Some PHB_ITEM accesses changed to type checking macros, only where the PHB_ITEM was only used to check the type. * Some reformatting (putting spaces between ()[] chars) ; Reformatted to Harbour standard. * source/rtl/math.c % PHB_ITEM access changed to Extend API calls and/or type checking macros. * source/rtl/console.c % PHB_ITEM access changed to Extend API calls and/or type checking macros. ! SETPRC() was checking the first parameter type two times, but not at all the second. * source/rtl/descend.c ! One (double) cast moved to the right place. * source/rtl/classes.c % One hb_ret() removed. * Some reformatting. * tests/working/rtl_test.prg + CA-Clipper bugs documented somewhat better. * source/rtl/dates.c source/rtl/dir.c source/rtl/inkey.c source/vm/hvm.c * Some minor formatting change: defined( x ) -> defined(x). + Two (double) casts added to hb_vmPopDouble() 19990824-17:57 GMT+1 Antonio Linares * source/debug/debugger.prg + Added support for Next Window (K_TAB) and Prev Window (K_SH_TAB) 19990824-17:10 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Added FLOCK, DBUNLOCK, DBUNLOCKALL, AFIELDS, DBSTRUCT, LUPDATE, NETERR, HEADER and RECSIZE 19990824-16:04 GMT+1 Antonio Linares * source/debug/debugger.prg + Added support for F5-Go. (Breakpoints are not checked yet). 19990824-14:55 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected arguments type checking in Inc/Dec functions *source/hbppint.h * memory.h is not defined in WATCOM C/C++ *include/rddapi.h * added forward declaration for _AREA struct 19990824-11:07 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c + Added RLOCK, DBRLOCK and DBRUNLOCK functions 19990824-03:50 GMT+1 Victor Szel * tests/working/fileio.prg + Rewritten to check more functions in more situations, displaying all return values, etc. (almost like RTL_TEST.PRG) * source/compiler/harbour.y + Changed spaces to tabs in the generated code. This made the generated code size almost 30% smaller, and the comments better aligned. * source/compiler/harbour.l source/compiler/harbour.y include/hberrors.h + One yyerror() call converted to standard GenError(). * source/hbpp/hbppint.c ! 'W' sign changed to 'I' for preprocessor warning. * config/dos/djgpp.cf - -( -) removed. * runner.b32 ! Fixes by Luiz Rafael Culik implemented. * include/ctoharb.h + hb_vmRequest*() functions added. * source/rtl/errorsys.prg + BREAK uncommented. * include/filesys.h * Some name standardization (fp -> p). 19990823-19:37 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Added Class TbColumn DATA ColorBlock support. * source/debug/debugger.prg * Added support for setting breakpoints. (they don't work yet, but you may set them pressing F9) 19990823-17:00 GMT+1 Antonio Linares * source/debug/debugger.prg * improved application colors and cursor management. 19990823-12:40 GMT+2 Ryszard Glab *source/compiler/harbour.y + added full support for BEGIN/RECOVER/END sequence + added full support for BREAK statement and BREAK function (BREAK statement is implemented using BREAK function) + fixed incorrect warning about unused static variables * added some optimalization of generated opcodes - repeated HB_P_LINE opcodes are replaced with only one HB_P_LINE opcode if compiled with no debugger support *source/vm/hvm.c + added full support for BEGIN/RECOVER/END sequence and BREAK + new functions hb_vmRequestBreak() and hb_vmRequestQuit() that can be used from C code to request BREAK or QUIT action + changed HB_DEBUG to empty macro instead of function when debug code is not requested * some internal variables declared 'static' * EXIT functions are called on exit when QUIT is requested QUESTION: How to handle the call to QUIT function inside of EXIT procedure? Should we continue execution of the rest of procedures or immediatelly quit to OS? *include/pcode.h + added new opcodes HB_P_SEQBEGIN HB_P_SEQEND HB_P_SEQRECOVER NOTE: You have to recompile all PRG code! *include/hberrors.h + added new error code ERR_EXIT_IN_SEQUENCE called when EXIT, LOOP or RETURN is used inside BEGIN/END sequence (however these statement are valid in RECOVER code) *tests/working/begin.prg + new file to test BEGIN/RECOVER/END sequence and BREAK statement *tests/working/Makefile * added begin.prg 19990823-10:45 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c + Added support for SUPER methods. 19990823-02:00 EDT Paul Tucker * source/debug/tbrwtext.prg * GotoLine() only forceStable once after loop is done. 19990823-01:11 EDT Paul Tucker * source/debug/debugger.prg * ::Activate - fix for trashed screens Escape key will now exit the debugger, but the app will continue to run Altd() will reactivate the debugger (maybe not imediately) 19990823-01:11 GMT+1 Victor Szel * source/rtl/alert.prg ! PreExt/PostExt code moved inside Alert(), then the STATIC variable could be removed, so that it will work even in nested calls. * source/compiler/harbour.y ! Extern "DEBUGGER" changed to "__DBGENTRY" * config/win32/gcc.cf tests/working/Makefile source/runner/stdalone/Makefile ! Removed the -( -) parameter, RDD lib added a second time after the VM lib to resolve circular dependency. (Thanks to Paul Tucker) * include/extend.h include/hbdefs.h * Standard #include files included from hbdefs.h instead of extend.h * source/compiler/genobj32.c ! Some types changed to BOOL % Some #includes removed. * source/runner/runner.c - Removed (runlib.c is the new name) * runner.b32 + Added (missed from the previous CVS session) * source/vm/hvm.c % Removed some unneeded HARBOUR prototypes. % Removed #include "init.h" * source/rtl/strings.c + Put #include "init.h" between guards * tests/working/transfrm.prg tests/working/Makefile - Removed since all its content has been moved to rtl_test.prg previously. 19990822-16:20 EDT Paul Tucker * source/rtl/alert.prg + PreExt() and PostExt() These allow alert to display if dispbegin is in effect. 19990822-20:02 GMT+1 Bruno Cantero * source/rdd/dbcmd.c source/rdd/dbf1.c * Bug in PutValue removed (again) 19990822-18:20 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c * Bug in PutValue removed 19990822-14:12 GMT+1 Victor Szel * config/win32/gcc.cf + -( -) parameters temporarly readded, to make it work, new circular dependencies has been introduced, since HVM.C is calling RDD functions. * include/extend.h source/rtl/strings.c source/rtl/math.c * hb_mathRound() -> hb_numRound() ! hb_numRound() fixed, so that it handles negative and zero iDec parameter correctly. (STR()/STRZERO() got also fixed) + Comment header added to STR() and STRZERO() * tests/working/rtl_test.prg * /FAIL changed to /ALL, so from now on, only the failing lines will be showed by default. + Added some tests. * source/rtl/console.c ! Comment typo fixed. 19990822-12:49 GMT+1 Bruno Cantero * include/rddapi.h source/vm/hvm.c source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c * Renamed hb_GetCurrentWorkAreaNumber, hb_SelectWorkAreaNumber and hb_SelectWorkAreaAlias to hb_rddGetCurrentWorkAreaNumber, hb_rddSelectWorkAreaNumber and hb_rddSelectWorkAreaAlias. 19990822-07:40 GMT+1 Victor Szel * source/rtl/strings.c ! hb_itemStr() fixed so that it rounds the value if the required decimal width is smaller than the original. Note that rounding is buggy so it still doesn't work. * HB_STRTRAN() one more long converted to ULONG. (lFound -> ulFound) * include/extend.h source/rtl/math.c tests/working/rtl_test.prg + Made a C callable version of ROUND() function, named hb_mathRound(). + Added ROUND() tests. * source/rtl/strzero.prg source/runner/stdalone/external.prg include/external.ch tests/working/rtl_test.prg funclist.txt + STRZERO() added. + STRZERO() and STR() tests added. + EXTERNAL NUMTOTXTHU enabled, since STRZERO() is existing now. * source/rtl/alert.prg source/rtl/menuto.prg source/rtl/achoice.prg ! Some warnings fixed. (Why aren't we compiling with /w by default ?) ! Hotkey handling bug fixed in ACHOICE(). ! Comment typo fixed in Alert() * source/rtl/hardcr.c tests/working/hardcr.prg ! Fixed a bug in HARDCR() with handling strings including Chr(0). It's now 100% Clipper compatible. * hb_hardcr() renamed to hb_strHardCR() * source/rtl/mtran.c * Small change in internal function, it returns the resulting string pointer now. * hb_memotran() renamed to hb_strMemotran() * source/tools/dates2.c source/hbpp/hbpplib.c source/vm/hvm.c source/vm/initsymb.c source/rtl/arrays.c source/rtl/classes.c source/rtl/console.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/descend.c source/rtl/dir.c source/rtl/do.c source/rtl/environ.c source/rtl/errorapi.c source/rtl/filesys.c source/rtl/hardcr.c source/rtl/inkey.c source/rtl/math.c source/rtl/memvars.c source/rtl/mtran.c source/rtl/set.c source/rtl/setcolor.c source/rtl/strings.c source/rtl/tone.c source/rtl/transfrm.c - Removed HB_INIT_SYMBOLS_*() automatic symbol registration, placed "forcelink" code where needed. * include/extend.h + hb_strDescend() prototype added. (this may be used in index creation once) * source/runner/runhrb.c (removed) source/runner/runlib.c (added) source/runner/external.prg -> source/runner/stdalone/external.prg source/runner/runhrb.prg -> source/runner/stdalone/runner.prg source/runner/Makefile source/runner/stdalone/Makefile tests/working/Makefile include/initsymb.h (removed) include/initsymc.h (removed) include/run_exp.h (removed) runner.b32 (added !! NOT tested !!) build32.bat (modified) build40.bat (modified) - Removed include files not needed anymore. + Separated runner library from standalone executable. * Renamed HB_RUN() to __HRBRUN() + Added return value support to __HRBRUN() + Added standard error messages to runlib.c, printf() is no longer called. + TODO: the error codes should be replaced with meaningful ones. * Large cleanup in runlib.c, functions made static, renamings, some BYTE changed to BOOL, TOFIX, TODO added, etc. + runner.prg help message standardized, extended. + Tried to modify Borland makefiles to be able to build runner. + Added runner lib to the Makefile's library list. ( !! PLEASE CHECK THE BORLAND MAKEFILES !! ) * tests/working/rtl_test.prg + /FAIL switch added to only show failing lines. * Reindented using 3 characters. * source/rtl/inkey.c include/inkey.h ! Some ints changed to BOOL. * source/rtl/transform.c tests/working/rtl_test.prg ! The rest of the long types and one int converted to ULONG. ! A temporary fix for an obvious bug, an if branch commented out. This way it seems to work far better. GPF seem to have fixed. Now only 10 tests fails. ! TRANSFORM() test results corrected where Clipper is buggy, two tests added which previously GPF-ed. * source/debug/debugger.prg source/vm/hvm.c * Function DEBUGGER renamed to __DBGENTRY * libs/icc/empty - Removed since this directory is not used anymore. * source/hbpp/makefile.b16 (moved to /hbpp.b16) source/hbpp/makefile.b32 (moved to /hbpp.b32) source/hbpp/build.bat (removed) source/hbpp/build32.bat (removed) build.bat build32.bat hbpp.b16 (added !! NOT tested !!) hbpp.b32 (added !! NOT tested !!) + Moved to the root, renamed and incorporated to the mainstream Borland make process, it's commented out. ( !! PLEASE UPDATE THE BORLAND MAKEFILES !! ) * source/compiler/harbour.y source/hbpp/hbpp.c * Reformatted code for error and warning tables. 19990821-22:18 GMT+3 Alexander Kresin * source/debug/tbrwtext.prg * minor improvements * makefile.b32 * added tone.c 19990821-14:20 GMT+2 Ryszard Glab *source/rtl/inkey.c * added test code for OS_UNIX_COMPATIBLE based on noncanonical low-level terminal functions - we need however to extend this code to support different terminals 19990821-00:05 GMT+1 Antonio Linares * source/debug/debugger.prg * improved debugger functionality. * source/vm/hvmc. * improved debugger support. 19990820-16:25 EDT Paul Tucker * source/rtl/gtapi.c * account for nesting of gtPre/PostExt and for calling DispBegin/End while Pre/Post in effect. 19990820-14:24 EDT Paul Tucker * source/rdd/dbf1.c * casts on sztext 19990820-19:42 GMT+1 Bruno Cantero * filelist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c dbUseArea() and dbCreate() add a default extension to filename if not provided. 19990820-11:50 EDT Paul Tucker * source/rtl/dir.c * corrected case of iDirnameLen * source/rtl/transfrm.c * added casts as required * makefile.vc - remove HARBOUR_USE_GTAPI 19990820-15:05 GMT+2 Ryszard Glab *source/rtl/strings.c * corrected a NULL assigment to '\x0' *source/rdd/dbcmd.c * corrected SELF_DELETE to SELF_DELETED in HB_DELETED function *source/runner/runner.c * corrected NULL to 0L (we are returning LONG in ReadLong()) *include/external.ch + new file with EXTERNAL declaration for all harbour functions/procedures *source/rtl/dir.c * corrected a parameter passed to 'opendir' function when Watcom C/C++ is used *source/runner/Makefile *source/runner/external.prg *source/runner/runhrb.c *source/runner/runmain.prg * new files to create the runner executable. + external.prg is here temporary because the preprocessor doesn't process EXTERNAL statement yet + runhrb.c is copied from runner.c however without all code used to handle the symbol table + runmain.prg calls HB_RUN from runhrb.c NOTE: I have left runner.c unchanged because I was unable to replace it with new files in all these build*.bat - these build*.bat doesn't allow to create an executable from more then one source file :( 19990820-14:40 GMT+1 Victor Szel * include/hbsetup.h + HARBOUR_USE_GTAPI is automatically #defined if any type of the GTAPIs is #defined. So from now on only one of these should be #defined to turn on the GT: #define HARBOUR_USE_DOS_GTAPI #define HARBOUR_USE_OS2_GTAPI #define HARBOUR_USE_WIN_GTAPI 19990820-14:30 GMT+1 Victor Szel * source/compiler/harbour.y source/hbpp/hbpp.c source/hbpp/hbpplib.c source/hbpp/stdalone/hbpp.c include/hbpp.h + All occurence of FILENAME, MakeFilename, SplitFilename() changed to the Harbour standard hb_fsFName*() and HB_FNAME. This way one copy of them could be safely removed. 19990820-13:47 GMT+1 Bruno Cantero * source\rdd\dbcmd.c Fixed some warnings, now RDD compile without warnings 19990820-13:27 GMT+1 Bruno Cantero * source\rdd\dbcmd.c source\rdd\dbf1.c source\rdd\delim1.c source\rdd\sdf1.c source\rdd\dbfntx\dbfntx1.c Fixed some warnings (unused variables) 19990820-12:50 GMT+1 Victor Szel * source/rdd/dbcmd.c ! SELF_DELETE -> SELF_DELETED (missed from the previous ChangeLog entry) 19990820-12:40 GMT+1 Victor Szel * source/rtl/filesys.c include/filesys.h + hb_fsFNameSplit() hb_fsFNameMerge() filename handling functions and structure added to the Harbour RTL. These function were originated from MakeFilename() and SplitFileName() * tests/working/rtl_test.prg + rtl_test now shows the compiler version, os, date and time, other improvements. * All TRANSFORM() tests moved to rtl_test to allow automatic regression testing. * source/rtl/transfrm.c * PicFlags type changed to WORD * Some length and pos variable types changed to ULONG. * TOFIX: added about an unreachable code segment. * Some zero changed to '\0'. * source/rtl/strings.c source/rtl/maths.c source/rtl/dates.c source/rtl/arrays.c * QUESTION:s changed to NOTE: regarding the parameter checking 19990820-12:28 GMT+1 Antonio Linares * source/debug/debugger.prg * improved debugger functionality. F8 and F4 already operative. * source/debug/tbrwtext.prg * GotoLine() method added * source/vm/hvmc. * new bDebugging, bDebugShowLines variables added. * new hb_vmDebuggerShowLine() function 19990820-11:47 GMT+1 Bruno Cantero * funclist.txt include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c source/vm/hvm.c + Added new functions, changed VM for support Alias and updated function list. 19990819-18:42 GMT+1 Victor Szel * tests/working/rtl_test.prg + STUFF() and RAT() tests added, some more tests added to PAD*() family. * include/extend.h source/rtl/strings.c source/rtl/descend.c source/vm/hvm.c ! hb_strUpper(), hb_strLower(), hb_strAt() uses ULONG instead of long for string positions and lengths. ! hb_pad_prep() uses ULONG instead of WORD + REPLICATE() now checks for string overflow. * REPLICATE() uses only standard Extend API calls now. * STUFF() made completely Clipper compatible, it now uses only standard Extend API calls. * hb_stricmp() USHORT changed to ULONG. * return type of hb_strgreater changed to int from WORD ! Some types changed to BOOL, many "long"s changed to ULONG. * long -> LONG, _retni() -> retnl() in one place. * Some zeros changed to \0 and NULL. * Small name changes: hb_pad_prep() -> hb_itemPadConv() hb_strempty -> hb_strEmpty hb_strdescend -> hb_strDescend * source/rtl/copyfile.c ! Fixed a bug when HB_STRICT_CLIPPER_COMPATBILITY was set. * contrib/odbc/odbc.c source/rtl/copyfile.c source/rtl/descend.c source/hbpp/hbpplib.c ! Fixed #pragma startup directives. (missing "startup", missing __GNUC__ guard.) * source/hbpp/hbpplib.c tests/working/testpre.prg * HB_PREPROCESS -> HB___PREPROCESS, since this is an extension. PREPROCESS -> __PREPROCESS * source/vm/dynsym.c * One small change. 19990819-12:30 GMT+1 Victor Szel * source/rtl/strings.c ! hb_itemStr() possible error fixed when item.asDouble was accessed without making sure whether the item is a double. 19990819-00:15 EDT Paul Tucker * source/rtl/gtapi.c + hb_gtPreExt() + hb_gtPostExt() Like Clipper internals - these functions should be called as bookends to printf if there is a possibility that a dispbegin is in effect when the printf or fprintf(stderr) takes place. * gtDispEnd(); decrement counter after restoring screen * source/rtl/console.c * added calls to above functions * source/rtl/gt/gtdos.c * account for dispCount change * source/rtl/gt/gtwin.c * If the Windows console handle is not the initial handle inherited from stdin - printf fails to work. Modified Dispbegin/end logic to account for this. 19990819-05:26 GMT+1 Victor Szel * source/compiler/harbour.l source/compiler/harbour.y source/compiler/genobj32.c source/hbpp/hbpp.c source/hbpp/hbppint.c source/hbpp/hbpplib.c source/hbpp/stdalone/hbpp.c include/compiler.h include/hbpp.h + Standardized the names of the memory handling functions. OurMalloc() -> hb_xalloc() OurRealloc() -> hb_xrealloc() OurFree() -> hb_xfree() _xgrab() -> hb_xgrab() _xrealloc() -> hb_xrealloc() _xfree() -> hb_xfree() So that from now on, the Harbour API form can be used everywhere. Some duplicate code eliminated. * source/rtl/arrays.c - hb_arrayScan() ! Checks the return value of the comparer block whether it's logical. 19990819-04:44 GMT+1 Victor Szel * source/rtl/memvars.c include/extend.h * int -> BOOL (hb_memvarValueNew()) + PUBLIC CLIPPER and PUBLIC HARBOUR will initialize those variables with .T. instead of .F., to be compatible with Clipper, and to be able to detect Harbour. * include/extend.h source/rtl/extend.c source/rtl/itemapi.c source/vm/hvm.c source/rtl/transfrm.c - Removed HB_ITEM/asLogical.length variable, since it was never used, and has no sense anyway. - Removed HB_ITEM/asDate.length variable, since it was never used, and has no sense anyway. - Removed HB_ITEM/asInteger.decimal variable, since it was never used, and has no sense anyway, it's always zero. - Removed HB_ITEM/asLong.decimal variable, since it was never used, and has no sense anyway, it's always zero. * source/rtl/arrays.c source/rtl/extend.c source/rtl/memvars.c source/vm/hvm.c include/extend.h * HB_ITEM/asLogical.value type changed to BOOL * include/hbdefs.h + ISNIL() macro added. * source/tools/dates2.c * Some optimalizations, simplifications. * source/rtl/transfrm.c ! Fixed handling of the case, when the second parameter was not a string. * Some optimalizations, simplifications. ! Reenabled symbol registration, to avoid an empty initialization list. This is only a temporary workaround. 19990819-02:15 GMT+1 Victor Szel * source/hbpp/hbpplib.c ! OurMalloc -> _xgrab * source/compiler/genobj32.c ! "_VirtualMachine" -> "_hb_vmExecute" * source/rtl/arrays.c source/rtl/console.c source/rtl/dates.c source/rtl/inkey.c source/rtl/math.c source/rtl/strings.c source/rtl/transfrm.c source/vm/hvm.c ! Commented out those symbol registration line, which are already included in source/vm/initsymb.c * source/vm/dynsym.c * Some variable declaration moved to the block where it's used. * Some 0 (zero) changed to NULL and '\0' * source/rdd/dbcmd.c ! extern HARBOUR functions declared as extern. * source/rtl/classes.c ! __msg*() function names changed to hb___msg*(), to avoid the leading underscores. * Many variable declaration moved to the block where it's used. ! Some (5?) potential GPFs fixed when the string/block parameter was omitted. * BYTE changed to BOOL in one place. ! Added proper (commented out) error description to three runtime errors. * source/rtl/extend.c * Some 0 (zero) changed to NULL and '\0' * include/inkey.ch ! Typo fixed. * include/extend.h source/rtl/arrays.c source/rtl/classes.c * BASEARRAY/wSuperCast changed to bSuperCase, type changed to BOOL. * source/vm/hvm.c source/vm/initsymb.c source/tools/io.c source/runner/runner.c source/rtl/codebloc.c source/rtl/console.c source/rtl/dates.c source/rtl/dir.c source/rtl/extend.c source/rtl/filesys.c source/rtl/fm.c source/rtl/inkey.c source/rtl/langapi.c source/rtl/memvars.c source/rtl/msgxxx.c source/rtl/set.c source/rtl/strings.c source/compiler/harbour.y % Removed all #includes which are always included indirectly via extend.h * include/extend.h * changed inclusion order of hbsetup.h and hbdefs.h, so that hbsetup.h is included first. * source/vm/initsymb.c source/compiler/harbour.y - DO removed from here. (since it's non standard Clipper) * source/vm/initsymb.c - STOD removed from here. (since it's non standard Clipper) * made all HARBOUR prototypes extern. - #include "init.h" removed. + #include "initsymd.h" guarded with HARBOUR_STRICT_ANSI_C + INKEY, PCOL, PROW address filled with proper value instead of NULL. * include/memvars.ch * Really small correction. 19990818-19:20 EDT David G. Holm * source/vm/hvm.c * Added TODO: comment to indicate that the divide by zero check needs to be removed once proper divide by zero error handling has been added to Harbour. 19990818-18:45 EDT David G. Holm * config/os2/icc.cf ! Fix to only use RDD libraries when RDD library is specified. * include/inkey.h + Added '#include "set.h"' to get HB_set_enum. * source/rtl/dates.c * Renamed hb_seconds() to hb_secondsToday() to avoid a duplicate symbol warning when using a C++ compiler. * source/rtl/environ.c * Moved hb_revision to after hb_build to match Harbour build number (e.g., "(Build 29a)"). * source/rtl/gtapi.c ! Moved speed enhancement display code in hb_gtWriteCon() to be outside the switch() statement, so that forced display updates take place immediately instead of when the next character is processed. (This bug caused QOUT to act like QQOUT.) ! Added a check to force the display of whatever is in 'strng' when the buffer is full, because it's possible to write more than 500 characters without hitting any other forced display conditions when starting more than 500 characters away from the bottom right corner of the screen (a 25 x 80 screen is 2000 characters). - Commented out the calls to hb_gtDispBegin() and hb_gtDispEnd() in hb_gtWriteCon() in anticipation of removing them, because their use subverts the use of DISPBEGIN() and DISPEND() in Harbour code. * source/rtl/inkey.c - Removed '#include "set.h"', because inkey.h includes it. + Uncommented DOS release CPU code and added '#if defined(DOS)'. * source/rtl/tone.c * Added support for long delays, like in Clipper. ! OS/2 upper frequency limit is 32767. * Limited all platforms to an upper frequency of 32767. * source/vm/hvm.c ! When dividing by 0, always return 0, just like Clipper. * tests/working/mathtest.prg * Moved modulo 0 test ahead of divide by 0 test. * Put "error" text on a separate line. * tests/working/sound.prg + Calculate elapsed time, which should be close to 1.5 seconds (except on platforms where SECONDS() only returns whole seconds). 19990819-02:23 GMT+1 Bruno Cantero * funclist.txt source/rdd/rddsys.prg source/rdd/dbcmd.c source/rdd/dbf0.prg source/rdd/dbf1.c source/rdd/sdf0.prg source/rdd/sdf1.c source/rdd/delim0.prg source/rdd/delim1.c source/rdd/dbfntx/dbfntx0.prg source/rdd/dbfntx/dbfntx1.c tests/working/testrdd.prg Added new functions, run-time errors and update function list. 19990818-16:16 EDT Paul Tucker * source/rtl/console.c source/rtl/gtapi.c source/rtl/gt/gtwin.c * fixes to my fixes * makefile.vc + source/debug/tbrwtext.prg 19990818-14:33 EDT Paul Tucker * source/rtl/console.c * source/rtl/gtapi.c * a number of small changes to improve speed. * source/rtl/gt/gtwin.c * correction to cursor positioning when dispend called * tests/working/dirtest.prg * comment out (for now) asort it works, but it's rather slow on a larger directory 19990818-14:13 GMT+1 Bruno Cantero * include/rddapi.h source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/sdf1.c source/rdd/delim1.c source/rdd/dbfntx/dbfntx1.c Added new functions 19990818-03:00 GMT+1 Victor Szel * source/compiler/harbour.y ! Fixed "incorrect pcode" error with /gh switch and certain .prg files. (Thanks to: Ryszard Glab ) * source/compiler/harbour.y + Invalid pcode error now shows the failing pcode number. * source/vm/hvm.c + TODO: added to include the actual unsupported pcode in the error message. * include/run_exp.h include/initsymc.h include/initsymd.h source/vm/hvm.c source/rtl/memvars.c source/rtl/math.c source/rtl/arrays.c source/rtl/console.c source/rtl/dates.c source/rtl/do.c source/rtl/errorapi.c source/rtl/filesys.c source/rtl/strings.c + Standard name registration method added (hvm.c). ! Completed init tables so that all declared Harbour function get registered. * include/run_exp.h + ACHOICE added. * source/compiler/harbour.y source/compiler/harbour.l source/rtl/itemapi.c source/rdd/dbcmd.c * Some tricks used to suppress unused variable warnings changed to HB_SYMBOL_UNUSED(). 19990817-15:36 EDT Paul Tucker * source/debug/tbrwtext.prg * modified to with with cr/lf or just lf 19990817-21:10 GMT+1 Antonio Linares * source/rtl/errorsys.prg * public getlist := {} uncommented. 19990817-14:26 EDT Paul Tucker * source/debug/Makefile + tbrwtext.prg 19990817-20:51 GMT+1 Antonio Linares * source/rtl/tbrowse.prg * Added lHeaders := .f. at method New(). * source/rtl/tbcolumn.prg * Small fix on nWidth do case otherwise. 19990817-20:35 GMT+2 Ryszard Glab *source/compiler/harbour.y * corrected code used to generate HB_P_ENDPROC - the declared length of function/procedure is now equal to the number of bytes written into HRB file - some comments added *source/runner/runner.c * corrected reading of function/procedure body (it was trying to read (size+1) bytes) * the MAIN procedure is defined if HARBOUR_START_PROCEDURE is defined - the runner works with GCC/Linux now * corrected code used to call (_INITSTATIC) function - inside this function there is no access to passed parameters then there is no need to pass them - static variables can be initialized using literal values only 19990817-20:14 GMT+1 Victor Szel * tests/working/Makefile tests/working/colorind.prg (content moved to rtl_test.prg) tests/working/rtl_test.prg tests/working/testhbf.prg tests/working/and_or.prg ! Starting procedure name changed to Main() so Win32/GCC is also able to run them. * Some minor changes 19990817-13:50 EDT David G. Holm * config/dos/global.cf + Added code to leave COMSPEC alone instead of changing '\' to '/' for bcc31, because NT chokes on '/' when using the Cygwin GNU Make System to build the Borland C 3.1 version of Harbour. * source/rtl/console.c + Surrounded 'if( isatty( fileno( stdout ) ) )' in hb_outstd() with '#ifndef __CYGWIN__' and '#endif'. ! Corrected 'if( isatty( fileno( stdout ) ) )' in hb_outerr() to check stderr instead of stdout. + Surrounded 'if( isatty( fileno( stderr ) ) )' in hb_outerr() with #ifndef '__CYGWIN__' and '#endif'. * source/runner/runner.c ! Added ')' that was missing from a conditional test. * tests/working/dates4.prg * Moved output of extra CR/LF pair in CheckDate() subroutine to after the __Accept() call, because __Accept() already outputs a CR/LF pair before displaying the prompt. 19990817-17:13 GMT+1 Antonio Linares + source/debug/tbrwtext.prg * Class TBrwText for browsing debugger source code * source/debug/debugger.prg * Improved * makefile.b32 * TBrwText module added 19990817-13:20 GMT+1 Antonio Linares * include/classes.ch * extern added, so now the SuperClass symbol is properly linked. 19990817-07:30 GMT+1 Victor Szel * source/vm/hvm.c source/rtl/errorapi.c source/rtl/classes.c source/rtl/fm.c source/rtl/itemapi.c source/rtl/transfrm.c include/error.ch + printf()s changed to a call to hb_errInternal() instead. * hb_callStackShow() modified so that it uses the same format as the standard error handler. * include/initsymc.h include/initsymd.h source/rtl/errorapi.c + Harbour callable __errRT_BASE() function added. * include/errorapi.h source/rdd/dbcmd.c source/rtl/errorapi.c source/rtl/arrays.c source/rtl/classes.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/do.c source/rtl/errorapi.c source/rtl/filesys.c source/rtl/inkey.c source/rtl/math.c source/rtl/memvars.c source/rtl/set.c source/rtl/strings.c source/rtl/transfrm.c source/tools/dates2.c source/vm/hvm.c * hb_error*() -> hb_err*() - removed obsolete hb_errorNat*() prototypes. * include/hberrors.h include/hbpp.h source/compiler/harbour.y source/hbpp/*.c source/hbpp/stdalone/*.c + Added the ability to display warnings in standard format. ! Adjusted and corrected to help display of HBPP.EXE * source/rtl/objfunc.prg doc/subcodes.txt * Got rid of the QOUT() type runtime-error messages, there's now a more comprehensive, standard error checking system, which throws Harbour errors. ! Some small bugs fixed. (checking argument after usage, additional parameters passed in one place - typo) * include/hboo.ch source/rtl/objfunc.prg source/rtl/tclass.prg source/tools/stringp.prg * DATA_VAL -> DATA_VALUE 19990816-21:57 GMT+1 Victor Szel * source/rtl/console.c tests/working/colorind.prg + Added standard header to __ColorIndex() ! Some Lint warnings fixed. + Some tests added. * include/hbdefs.h include/extend.h ! Some Lint warnings fixed. * include/Makefile + Added hboo.ch 19990816-22:15 GMT+3 Alexander Kresin * source/rtl/tbrowse.prg * tests/working/testbrw.prg * added functionality - methods PanLeft().PanRight(),Hilite(),DeHilite() * Up() and Down() now uses Scroll() and Hilite()/DeHilite() instead of RefreshAll() and RefreshCurrent() * source/hbpp/hbpp.c * Bug fixed for new CLASS implementation ( with 'extern' ) 19990816-12:26 EDT Paul Tucker * source/rtl/browdb.prg + copyright info. + todo info * makefile.vc + browdb + tone 19990816-15:30 GMT+1 Victor Szel * source/rtl/errorapi.c ! Fixed hb_errLaunch() so that it will handle error handler return values correctly. NOTEs added about this. 19990816-13:30 CET Eddie Runia * source/compiler/harbour.y EndProc error resolved. PushDouble error resolved. Padding problem resolved * source/runner/runner.c; include/run_exp.h First symbol should be executed. Main renamed to HB_RUN Init symbol code fixed 19990816-13:20 GMT+1 Victor Szel * source/rtl/Makefile + browdb.prg added * source/rtl/errorsys.prg ! Removed ErrorLevel() call. * source/rtl/itemapi.c ! hb_evalNew() is no longer making a copy of the passed block/name parameters, so hb_evalRelease() will properly release that item. Although not exactly defined in CA-Clipper NG, the example program suggest that it works like this. CA-Clipper example generated unreleased blocks in Harbour. % Some variable scope optimized. 19990816-12:39 GMT+1 Antonio Linares + source/rtl/browdb.prg * source code for TBrowseDb() * source/rtl/tbrowse.prg * removed source code for TBrowseDb() * harbour/makefile.b32 * browdb module added. 19990816-12:03 GMT+1 Antonio Linares * source/vm/hvm.c * Enhanced ProcName() returned information. (it generates the name of the Class and the method). 19990816-12:03 GMT+1 Antonio Linares * include/ctoharb.h + Added new hb_callStackShow() prototype * source/vm/hvm.c + Added new hb_callStackShow() function * improved internal errors reporting information 19990816-01:11 EDT Paul Tucker * source/vm/hvm.c * ProcessObjSymbols -> hb_vmProcessObjSymbols 19990816-02:45 GMT+1 Victor Szel * include/extend.h source/rtl/classes.c source/rtl/objfunc.prg source/rtl/tclass.prg source/vm/hvm.c source/tools/stringp.prg tests/working/dynobj.prg tests/working/debugtst.prg tests/working/inherit.prg tests/working/strip.prg tests/working/objects.prg % Some variables and functions made static in classes.c ! Completed init symbol list. * Names changed to standard ones (they should also work in 10 chars mode): ClassCreate -> __clsNew ClassInstance -> __clsInst __InstSuper -> __clsInstSuper ClassAdd -> __clsAddMsg ClassDel -> __clsDelMsg ClassMod -> __clsModMsg WClsDatas -> __cls_CntClsData __wDatas -> __cls_CntData __wDataDec -> __cls_DecData __wDataInc -> __cls_IncData aOMethod -> __objGetMethodList aOData -> __objGetMsgList aOGet -> __objGetValueList aOSet -> __objSetValueList oClone -> __objClone ClassName -> __objGetClsName oSend -> __objSendMsg isMessage -> __objHasMsg IsData -> __objHasData IsMethod -> __objHasMethod oAddMethod -> __objAddMethod oAddInline -> __objAddInLine oAddData -> __objAddData oModMethod -> __objModMethod oModInline -> __objModInLine oDelMethod -> __objDelMethod oDelInline -> __objDelInLine oDelData -> __objDelData ClassH -> __msgClsH ClassName -> __msgClsName ClassSel -> __msgClsSel SelectSuper -> __msgSuper EvalInline -> __msgEvalInline GetClassData -> __msgGetClsData SetClassData -> __msgSetClsData GetData -> __msgGetData SetData -> __msgSetData Virtual -> __msgVirtual DictRealloc -> hb_clsDictRealloc ReleaseClass -> hb_clsRelease ReleaseClasses -> hb_clsReleaseAll hb_GetClassName -> hb_objGetClsName hb_GetMethod -> hb_objGetMethod hb_isMessage -> hb_objHasMsg * include/hboo.ch source/rtl/classes.c source/rtl/objfunc.prg source/rtl/tclass.prg source/tools/stringp.prg tests/working/dynobj.prg tests/working/objects.prg tests/working/overload.prg tests/working/objects.prg + MET_ and DATA_ declaration moved to one place (hboo.ch). * source/rtl/errorapi.c include/errorapi.h % hb_error*() functions are returning void instead of WORD, except for hb_errorRT_BASE_Ext1(). * include/error.ch include/langapi.h source/rtl/langapi.c + New error code EG_ARRDIMENSION added * source/rtl/arrays.c ! ARRAY() now properly checks the passed parameters (Clipper compatible). + ARRAY() TODO: added (to support multiple dimensions) ! AADD() Fixed parameter handling, throws errors like Clipper. ! ASIZE() Fixed parameter handling. ! hb_arrayIns() removed one error to be Clipper compatible. ! hb_arrayDel() removed one error to be Clipper compatible. + AFILL(), ASCAN(), AEVAL(), ACOPY() TOFIX: added. * source/rtl/transform.c ! _exit -> exit (_exit had no prototype, and that was the only place where it was used) ! Some BYTE and int changed to BOOL at obviouse place. ! Some functions made static. ! Some unused variables removed (lFact*) 19990815-18:45 GMT+2 Ryszard Glab *source/rtl/hvm.c * added 'hb_vm' prefix to alias/field related functions * some functions declared 'static' *include/ctoharb.h - removed declarations of internal virtual machine functions *source/compiler/harbour.y * changed an error description for incorrect use of PARAMETERS statement * added type casting to compile under C++ compilers * static frame is correctly generated if static variable is used in a codeblock only *include/extend.h - removed obsolete declaration of hb_memvarNewSymbol() *include/hb_vmpub.h + added definition of callback function HB_DYNS_FUNC used to enumerate dynamic symbols *source/vm/dynsym.c + new function hb_dynsymEval() that enumerates dynamic symbols by calling specified HB_DYNS_FUNC * function *source/rtl/memvars.c + added __MVCLEAR function to release all PRIVATE and PUBLIC variables (this function is used in CLEAR MEMORY statement) 19990815-19:59 GMT+3 Alexander Kresin * source/rtl/tbrowse.prg * tests/working/testbrw.prg * added functionality - some methods implemented, added support of footing, head separator, footer separator, freeze. Now it seems almost complete. 19990815-17:40 GMT+1 Victor Szel * bldodbc.bat hbodbc.b32 * moved to /contrib/odbc * updated for the new locations (not tested though). 19990814-20:40 GMT+1 Victor Szel * include/hb_vmpub.h source/vm/dynsym.c ! FS_ declarations now included casts, to suppress some pedantic warnings (Win32/GCC -ansi -pedantic). * source/hbpp/hbpp.c source/hbpp/table.c ! Made them end with newline. (ANSI C req.) * source/vm/hvm.c include/rddapi.h source/hbpp/hbpp.c ! // comment changed to /**/ (ANSI C req.) * include/init.h include/run_exp.h source/compiler/harbour.y contrib/odbc/odbc.c source/hbpp/hbpplib.c source/rdd/dbfntx/dbfntx1.c source/rdd/dbcmd.c source/rdd/dbf1.c source/rdd/delim1.c source/rdd/sdf1.c source/rtl/arrays.c source/rtl/classes.c source/rtl/console.c source/rtl/copyfile.c source/rtl/dates.c source/rtl/descend.c source/rtl/dir.c source/rtl/environ.c source/rtl/filesys.c source/rtl/hardcr.c source/rtl/inkey.c source/rtl/math.c source/rtl/mtran.c source/rtl/set.c source/rtl/setcolor.c source/rtl/strings.c source/rtl/tone.c source/rtl/transfrm.c source/tools/dates2.c ! Corrected some HB_INIT_SYMBOLS_END() and HB_CALL_ON_STARTUP_END() macro definitions to include the ending ";". ! Removed the ";" after HB_INIT_SYMBOLS_END() and HB_CALL_ON_STARTUP_END() macro references. (ANSI C req.) (Win32/GCC complained about it with -ansi -pedantic: "warning: ANSI C does not allow extra `;' outside of a function") 19990814-19:55 GMT+1 Victor Szel * ChangeLog ChangeLog.002 * Old ChangeLog renamed to ChangeLog.002 * New ChangeLog created. * source/pp/pragma.c * contrib/dot/pp_harb.ch * tests/inline_c.prg * STOPDUMP renamed as ENDDUMP (with Ron permission) 2001-12-21 08:40 UTC-0300 Luiz Rafael Culik * utils/hbmake/hbmake.prg * small fix 2001-12-21 07:50 UTC-0300 Luiz Rafael Culik * source/rtl/filesys.c * hb_fsmkdir,hb_fsChdir,hb_fsRmdir,hb_fsDelete,hb_fsRename,hb_fsCurdirBuff() now use Win32 API calls * utils/hbmake/hbmake.prg ! Disabled profile * utils/hbmake/hbmutils.prg * An small clean up * ChangeLog * Renamed to ChangeLog.012 and started an new one 2006-02-15 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/hvm.c ! fixed memory leak I introduced changing Ryszard modifications need such functionality yet + harbour/ChangeLog.015 * harbour/source/vm/debug.c * harbour/harbour.spec * harbour/bin/hb-func.sh * some modification in xhb* scripts building - adding passing predefined compiler and linker switches * harbour/source/vm/hvm.c * minor code cleanup 2006-09-03 18:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicls.h * harbour/source/vm/classes.c * harbour/source/vm/hvm.c * harbour/tests/overload.prg + added support for overloading [] in assignment operation 2006-09-03 16:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/ChangeLog + harbour/ChangeLog.016 * new ChangeLog file created * harbour/include/hbver.h * updated version number to 0.47.0 * tagged CVS as build47