19990516-21:33 CET Eddie Runia * tests/working/set.ch removed 19990516-07:04 Ryszard Glab * source/compiler/harbour.l, source/compiler/harbour.y -cleaned rules for NEXT, BREAK, WHILE, BEGIN, DO to be 100% Clipper compatible (mainly keyword[] use); -corrected support for END keyword; -added include files: hbsetup.h and hberrors.h; -code for OBJ generation is now linked optionally -it is linked if the symbol OBJ_GENERATION is defined in hbsetup.h file; -corrected the generation of EXTERNAL symbols * source/vm/hvm.c -code with support for symbols defined in OBJ files is now linked optionally -it is linked if the symbol OBJ_GENERATION is defined in hbsetup.h file -added support for optional definition of the starting procedure (in case when automatic lookup for it doesn't work (Watcom C/C++)) * include/hbsetup.h -new file with Harbour configuration options (see this file for available options) * include/hberrors.h -new file with error constants definition shared by harbour.y and harbour.l * include/extend.h -added declaration of FindDynSym() function used in hvm.c * source/rtl/environ.c -added correct #include for Watcom C/C++ to use REGS union (although I am not sure if OS function should be placed here) * source/rtl/itemapi.c -corrected wrog declaration of symEval variable (it is SYMBOL structure instead of PSYMBOL pointer) * tests/working/keywords.prg -added test code for END keyword * makewat.env, makefile.wat -added/corrected makefiles for Watcom C/C++ compiler * makedos.env, makefile.dos -added/corrected makefiles for pure DOS DJGPP compiler 19990516-06:30 CET Eddie Runia * tests/working/bld32exe.bat Correct version added 19990516-01:00 CET Eddie Runia * source/rtl/arrays.c, source/rtl/extend.h ULONG instead of int hb_arrayLen() Reallocation bug in arrayAdd fixed 19990515-19:40 CET Eddie Runia * source/rtl/classes.c, source/rtl/arrays.c oClone added (actually : aClone can handle both :-) 19990515-16:20 CET Eddie Runia * source/compiler/harbour.y Jump optimalization caused return to fail. Optimalization removed. 19990515-15:15 CET Eddie Runia * source/rtl/environ.c Crash from geninterrupt resolved 19990515-13:55 CET Eddie Runia * source/rtl/classes.c Unreleased memory block in inline resolved. AGAIN ! 19990515-13:40 CET Eddie Runia * source/rtl/classes.c CVS Just deleted another upload !!!! 19990515-12:50 CET Eddie Runia * tests/working/overload.prg; source/rtl/hvm.c overloading basis 19990515-10:20 CET Eddie Runia * tests/working/*.bat make and build files added 19990514-20:10 EDT David G. Holm * source/rtl/strcmp.c - Added SET EXACT ON rules for null strings and trailing spaces. * tests/working/strings3.prg - Added tests for null strings and trailing spaces. 19990515-01:15 CET Eddie Runia * source/compiler/harbour.y #include again 19990513-22:20 EDT David G. Holm * makefile.b31 - Put harbour.obj back into the harbour.exe build. * source/compiler/harbour.y - Changed Expression EQ (for ==) to generate new PCODE _EXACTLYEQUAL, again. * source/vm/hvm.c - Modifed the Equal function to take one parameter: BOOL bExact, again. - Modified the handler for PCODE _EQUAL to call Equal( FALSE ), again. - Added new handler for PCODE _EXACTLYEQUAL, which calls Equal( TRUE ), again. - Modified the Equal function to call hb_itemStrCmp with bExact as the new third parameter, again. 19990514-23:45 CET Eddie Runia * source/rtl/set.c IS_STRING and IS_LOGICAL called without checking for empty pItem. 19990514-22:15 CET Eddie Runia * tests/working/set.ch added 19990514-20:30 CET Eddie Runia * include/set.ch (didn't work) added * source/rtl/classes.c Unreleased memory block in inline resolved 19990514-20:15 CET Eddie Runia * source/rtl/gtapi.c A lot of #ifdef #endif added or else it couldn't build out of the box. 19990514-19:50 CET Eddie Runia * source/rtl/codebloc.c Codeblock patch from Ryszard applied 19990514-19:45 CET Eddie Runia * source/rtl/arrays.c Patch from David (see below) was overwritten ?? 19990514-17:05 CET Eddie Runia * harbour.y xVar[ xEl ] += -= *= /= %= ^= added 19990514-16:00 CET Eddie Runia * makefile.b32 - added objfunc.obj * source/vm/hvm.c #ifdef NO_OBJ added * tests/working/hb32.bat, tests/working/bld32exe.bat added. 19990513-22:20 EDT David G. Holm * makefile.b31 - Removed harbour.obj from harbour.exe build, due to change from harbour_main to main in harbour.y * include/extend.h - Added 3rd parameter, BOOL bForceExact, to hb_itemStrCmp * include/pcode.h - Added new PCODE for _EXACTLYEQUAL to handle difference between = and == * source/compiler/harbour.y - Changed Expression EQ (for ==) to generate new PCODE _EXACTLYEQUAL * source/rtl/arrays.c - Modified ASCAN to call hb_itemStrCmp with FALSE as new 3rd parameter in order to match Clipper's use of the = operator for comparisons * source/rtl/strcmp.c - Added 3rd parameter, BOOL bForceExact, to hb_itemStrCmp and modified the code for comparing two strings to not adjust the return value when the second string is shorter than the first string and matches the first string up to the length of the second string, unless either bForceExact or hb_set.HB_SET_EXACT are TRUE * source/vm/hvm.c - Modifed the Equal function to take one parameter: BOOL bExact - Modified the handler for PCODE _EQUAL to call Equal( FALSE ) - Added new handler for PCODE _EXACTLYEQUAL, which calls Equal( TRUE ) - Modified the Equal function to call hb_itemStrCmp with bExact as the new third parameter * tests/working/strings3.prg - Added display of the SET EXACT setting before the big string comparison test, then duplicated the entire test and added SET (_SET_EXACT, .T.) prior to the second set of tests 19990513-11:05 Eddie Runia * obj/symbols.obj added * makefile.b32 changed according to Andi/Patrick fix. 19990512-21:30:00 EDT David G. Holm * makefile.b31 - Added implicit rule to compile .prg files in source\tools 19990512-18:40 Eddie Runia * source/tools/stringp.prg #defines added * makefile.b32 \ error and .prg path corrected * makefile.b16 .prg path corrected 19990512-01:15:00 EDT David G. Holm * makefile.b31 - Added genobj32.c and sybmols.asm - Made more developer friendly (you no longer have to remember which intermediate files to delete when a build fails due to an error in the makefile or an error in an intermediate step). - Added fixflex to split flexyy.c into flexyy.c and flex_tab.c + source/compiler/fixflex.c - New source module to split flexyy.c into smaller flexyy.c with the two largest tables in flex_tab.c. NB! Not needed for 32-bit compilers. Tue May 11 18:53:43 1999 Gonzalo A. Diethelm * Makefile: Added obj to the list of directories. * source/Makefile: Added rdd to the list of directories. * source/rtl/Makefile: Added gtapi.c to the list of C sources. * source/rtl/gtapi.c: Got rid of two warnings with gcc. * source/rtl/environ.c: Made sure it compiles with gcc. There was a missing #endif. * source/tools/stringp.prg: * tests/working/debugtst.prg: Replaced Debug() with HBDebug(), otherwise the generated C source collides with the macro DEBUG. * source/vm/hvm.c: Corrected a comment. * source/rdd/Makefile: * obj/Makefile: Added these two Makefiles. 19990511-19:20 Eddie Runia * source/rtl/classes.c (Default) parameter self added to INLINE methods * tests/working/inline.prg Test of INLINE method. 19990511-09:55 Eddie Runia * source/rtl/objfunc.prg, source/tools/stringp.prg created from tests/working/debugtst.prg * Makefile.* files added to list. (Except makefile.vc) 19990511-09:40 Eddie Runia * source/rtl/asort.prg added a seperate function * tests/working/debugtst.prg asort removed * Makefile.* asort added to list. (Except for makefile.vc; Incomplete ?) 19990511-00:07 MSG Bil Simser * source/rtc/environ.c - Added OS function * tests/working - Added OS.PRG test program 19990510-21:45 EDT David G. Holm * source/harbour.y - Put back a C++ lvalue fix that appears to have gotten lost during a diff merge: Parameter in call to yy_switch_to_buffer with embedded assignment needs () around the entire expression in order to have the (YY_BUFFER_STATE) type override apply to the result of the assignment. Mon May 10 19:32:34 1999 Gonzalo A. Diethelm * makefile.b32: Added source/compiler/harbour.c to this makefile. * source/compiler/Makefile: Added genobj32.c. * source/compiler/genobj32.c: Got rid of warnings. * source/compiler/harbour.y: Added '/' as path separator. 19990510-11:30 Eddie Runia * source/rtl/classes.c Function IsMessage() added * tests/working/debugtst.prg Function IsData() / IsMethod() added. Also contains tests for Is*() 19990510-10:05 Eddie Runia * source/vm/hvm.c Function PCount() added /* QUESTION: Should it be there ? */ * tests/working/debugtst.prg PCount() used 19990510-09:10 Eddie Runia * source/rtl/itemapi.c, include/itemapi.h - new version installed * source/tools/debug.c, source/rtl/classes.c - _item changed to hb_item 19990510-08:32 Eddie Runia * include/harbclip.h grabbed 19990510-01:19 Ryszard Glab * source/compiler/harbour.l, source/compiler/harbour.y - corrected syntax check for: case-> case+= case-= - DO/WHILE/CASE/WITH is now 100% compatible with Clipper - there is still problem with comments that ends with **/ (exactly two asterix and slash) * tests/working/keywords.prg - added code to test DO/WHILE/CASE/WITH 19900509-23:30 Eddie Runia * source/working/mankala.prg Instructions added 19990509-21:00 Eddie Runia * hvm.c Logical equivalence tests added ( ==, !=, >, <, >=, <= ) * debugtst.c Logical equivalence used. (==) aoMethod down to one-liner ! 19990509-19:30 Eddie Runia * makefile.b16, makefile.b32 debug.obj added 19990509-18:10 Eddie Runia * tests/working/calling Function Second changed to SecondOne() * tests/working/initexit * tests/working/statfun See above * tests/working/testtok i was required in next - Problem resolved (Thanx ! Ryszard ?) 19990509-18:00 CET Victor Szel * source/rtl/strings.c: hb_At() -> hb_strAt() * source/rtl/*.c, source/include/extend.h hb_julian2greg() -> hb_dateDecode() hb_greg2julian() -> hb_dateEncode() 19990508-20:57 Eddie Runia * source/rtl/arrays.c: Fixed unreleased memory block in aEval. 19990508-15:24 CET Victor Szel * source/rtl/strings.c: Fixed warning in PADR(), PADL(), PADC() (David G. Holm) 19990507-23:45 EDT David G. Holm This update makes Harbour compatible with the IBM C++ compiler. * include/init.h - Added test for IBM C++ compiler to Microsoft C #if block * include/types.h - Added #ifdef block for IBM C++ compiler to set #define for HARBOUR as simply void and also to set up a new #define for EXTERNAL_LINKAGE (as _LNK_CONV) in order for the IBM C++ compiler to compile harbour.y. * source/compiler/harbour.l - Added static to forward delcaration for yyunput in order to match the actual definition. * source/compiler/harbour.y - Added static to forward declaration of __yy_memcpy in order to match the actual definition. - Added EXTERNAL_LINKAGE to sz_compare4 definition, so that the IBM C++ compiler can successfully compile Harbour. - Added (BYTE *) type override to szText parameter in second invocation of GenPCodeN (the first one already had an override). 19990507-23:15 EDT David G. Holm * source/vm/hvm.c - Changed byte by byte copy used in PushString to memcpy, because the side effects of code like szTemp[w++] = szText[w] is compiler dependent. Borland C++ 3.1 (in C mode) copies byte 0 to byte 0, etc., but IBM Visual Age C++ 3.0 (in C++ mode) copies byte 1 to byte 0, etc. Sat May 8 03:02:04 1999 Ryszard Glab * source/compiler/harbour.y, source/compiler/harbour.l -static variables can be accessed in a codeblock even if this codeblock is a return value (detached static variables) -Harbour finds now illegal initializations of static variables (static variables can be initialized using literals only) -there is no 'redefinition of predefined function' error when the name of compiled source code is the same as reserved function -corrected support for /*******/ comments -Harbour distinguish now 'CASE' variable, 'CASE()' function and CASE statement (see tests/working/keywords.prg) * tests/working/keywords.prg -added many more wild statements to test Harbour compiler * test/working/statics.prg -added code to test access of static variables from a codeblock * source/rtl/extend.c -added brackets to avoid ambiguous if/else * source/include/extend.h * source/rtl/codebloc.c - added support for static variables in a codeblock 19990507-20:15 EDT David G. Holm * source/compiler/harbour.l * source/compiler/harbour.y * source/rtl/classes.c - Modified all three for C and C++ compatibility. - Tested with Borland C++ 3.1 in both C and C++ modes. 19990508-00:18 Eddie Runia * source/rtl/classes.c: oSend( , , added. Thu May 07 17:00:00 1999 Victor Szel * source/rtl/strings.c: Adapted changes by Matthew Hamilton Some internal functions renamed long type changed to ULONG. 19990507-11:30 EDT David G. Holm * makefile.b31 - added hbtools.lib * source/rtl/dates.c - added error handling supplied by Matthew Hamilton * source/vm/hvm.c - changed call to hb_init_set() to InitializeSets() to match source/rtl/sets.c * tests/working/buildexe.bat - added hbtools.lib 19990507-09:55 Ryszard Glab * source/rtl/files.c * source/rtl/set.c * source/rtl/transfrm.c * source/tools/stringsx.c -added compatibility with Watcom C/C++ compiler (char *) type castings 19990507-07:25 Ryszard Glab * source/compiler/harbour.y, source/compiler/harbour.l -improoved support for BEGIN SEGEUENCE -added distinction between BEGIN command and begin variable -added distinction between BREAK command and break variable * tests/working/keywords.prg -new file to test if we are 100% compatible with Clipper Thu May 06 18:12:15 1999 Gonzalo A. Diethelm * config/win32/gcc.cf: Added (commented by now) linking agains the math library. * source/compiler/harbour.y: Now the -q option is REALLY quiet. * tests/working/Makefile: Added all of the tests to the Makefile. Thu May 06 22:45:00 1999 Victor Szel * source/rtl/dates.c: Fix to STOD(), added error checking to DTOS(), the later can be disabled to make it faster. * source/vm/hvm.c, include/extend.h: strempty() -> hb_strempty(), declaration moved to .h * source/rtl/strings.c: hb_strempty() speed optimalization, cleanup. * source/vm/dynsym.c: OurStrUpr() -> hb_strupr() _strgreater -> hb_strgreater() * source/rtl/console.c: _outstd() -> hb_outstd() * source/tools/stringsx.c: StrToken() -> hb_strtoken() * source/rtl/strings.c: LTrim() -> hb_LTrim() RTrimLen() -> hb_RTrimLen() Lower() -> hb_Lower() Upper() -> hb_Upper() At() -> hb_At() Val() -> hb_Val() * source/vm/hvm.c, source/rtl/array.c, source/rtl/strcmp.c, include/extend.h OurStrCmp() -> hb_itemStrCmp() * source/rtl/*.c, source/include/extend.h julian2greg() -> hb_julian2greg() greg2julian() -> hb_greg2julian() Declaration moved to extend.h Thu May 06 13:58:48 1999 Gonzalo A. Diethelm * source/vm/hvm.c: Changed the prototype for ForceLink so that it is declared and defined as a static function. Thu May 06 13:09:45 1999 Gonzalo A. Diethelm * config/bin.cf: * config/c.cf: * config/lib.cf: * config/prg.cf: * config/test.cf: * source/rtl/Makefile: By mistake, we were not compiling the PRG files into OBJS for the rtl library. * source/rtl/dates.c: Changed the use of min with explicit code. min and max are macros in some platforms, functions in others, and it is usually a mess to link against them. * source/Makefile: * source/tools/Makefile: This directory was not being compiled. * source/tools/genobj.c: Got rid of most (all?) the warnings. * tests/working/Makefile: Now the libs to link against are explicitly specified in the Makefile. * tests/working/statics.prg: Cleaned up all ^M characters. Thu May 06 12:34:45 1999 Gonzalo A. Diethelm * source/compiler/harbour.l: * source/compiler/harbour.y: * source/rtl/set.c: Again, I renamed _AND and _OR to AND_ and OR_, and cleaned up a few warnings. Wed May 05 18:51:06 1999 Gonzalo A. Diethelm * include/ctoharb.h: * source/rtl/arrays.c: * source/rtl/files.c: * source/rtl/transfrm.c: * source/vm/dynsym.c: Replaced C++-style comments (//) with C-style commens (/* */). Wed May 05 18:36:53 1999 Gonzalo A. Diethelm * include/ctoharb.h: * include/dates.h: * include/extend.h: * include/init.h: * include/itemapi.h: * include/pcode.h: * include/set.h: * include/setcurs.ch: * include/types.h: * source/compiler/harbour.c: * source/compiler/harbour.l: * source/compiler/harbour.y: * source/rtl/arrays.c: * source/rtl/classes.c: * source/rtl/codebloc.c: * source/rtl/console.c: * source/rtl/dates.c: * source/rtl/environ.c: * source/rtl/errorapi.c: * source/rtl/extend.c: * source/rtl/files.c: * source/rtl/itemapi.c: * source/rtl/math.c: * source/rtl/set.c: * source/rtl/strcmp.c: * source/rtl/strings.c: * source/rtl/transfrm.c: * source/tools/datesx.c: * source/tools/genobj.c: * source/tools/io.c: * source/tools/mathx.c: * source/tools/stringsx.c: * source/vm/dynsym.c: * source/vm/hvm.c: Added a comment with the CVS Id keyword. Wed May 05 18:28:28 1999 Gonzalo A. Diethelm * makefile.b16: * makefile.b32: Added explicit rules to compile harbour.o from harbour.c. Don' know why these were necessary, but it seems people had problems without them. Wed May 05 16:29:19 1999 Gonzalo A. Diethelm * include/pcode.h: * source/vm/hvm.c: * source/compiler/harbour.y: Replaced _AND and _OR with AND_ and OR_. Under gcc, these two identifiers are defined out. Also, got rid of a few warnings. * source/rtl/files.c: Implemented a macro trick to allow compilation of FOPEN, FREAD and FWRITE. Turned off HAVE_POSIX_IO for gcc; it doesn't seem to work. Restructured the code so that when HAVE_POSIX_IO is not defined, there are no warnings. Wed May 05 15:30:49 1999 Gonzalo A. Diethelm * source/harbour.y: * source/compiler/harbour.c: Replaced main() with harbour_main(), and added a separate harbour.c with just the main() function. * makefile.b16: * makefile.b32: * makefile.vc: Updated these files to reflect the new source/compiler/harbour.c file. * .cvsignore: Added this file with the patterns CVS will ignore while processing. * config/bin.cf: * config/c.cf: * config/dir.cf: * config/global.cf: * config/install.cf: * config/lib.cf: * config/prg.cf: * config/test.cf: * config/win32/gcc.cf: * config/win32/global.cf: * config/win32/msvc.cf: * config/win32/rules.cf: * Makefile: * source/Makefile: * source/compiler/Makefile: * source/rtl/Makefile: * source/vm/Makefile: * tests/Makefile: This is the GNU-make based build system. Wed May 05 09:24:22 1999 Gonzalo A. Diethelm * include/Set.ch: * tests/working/block2.PRG: Added back these files. They can't be renamed through CVS on NT, and the repository will have to be updated by some other means. Wed May 05 09:19:23 1999 Gonzalo A. Diethelm * include/Set.ch: * tests/working/block2.PRG: Removed these files in preparation to move them to lowercase. * ChangeLog: Added this file. * 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