diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 41e4e1f1b2..11fa46dc78 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,9 +17,29 @@ past entries belonging to author(s): Viktor Szakats. */ +2010-01-03 13:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * INSTALL + + Added OS/2 to QT supported platforms. + + * harbour.spec + + Merged lib and static subpackages into main one. + hbmk2 requires that both dynamic and static libs (namely hbcplr) + are present for successful linking. + Please test and comment, I can revert old version in + case of any problems. + + * contrib/hbqt/filelist.mk + * contrib/hbqt/hbqt_hbevents.cpp + * contrib/hbqt/hbqt_hbslots.cpp + - contrib/hbqt/hbqt_hbevents2.cpp + - contrib/hbqt/hbqt_hbslots2.cpp + * Merged new EVENTS/SLOTS implementation with old one, + removing all existing redundancies and fixing double + definition of low-level classes. + 2010-01-03 03:00 UTC-0800 Pritpal Bedi (pritpal@vouchcac.com) * contrib/hbide/hbide.prg - ! Applied Vailton's patch posted as diff. + ! Applied Vailton's patch posted as diff. 2010-01-03 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * contrib/hbqt/generator/hbqtgen.prg @@ -137597,24546 +137617,4 @@ NOTE: * source/rtl/getsys.prg * utils/hbtest/rt_stra.prg - ! Fixed for disabled HB_EXTENSION - - ; Note that HBDOC will still need HB_COMPAT_C53 to link (for MAKEDIR()). - - * include/hbexprb.c - * include/hbexprc.c - * include/hbextern.ch - * include/hbsetup.h - * compiler/harbour.c - * compiler/hbfunchk.c - * rdd/dbstrux.prg - * rtl/alert.prg - * rtl/dircmd.prg - * rtl/strzero.c - * vm/arrayshb.c - * vm/hvm.c - * vm/memvars.c - * utils/hbtest/rt_array.prg - * utils/hbtest/rt_main.ch - * utils/hbtest/rt_stra.prg - * include/hbsetup.ch - * source/vm/cmdarg.c - + Added HB_EXTENSION macro to guard Harbour extensions. - + Added HB_C52_UNDOC macro to guard undocumented interfaces of - CA-Cl*pper 5.2e - * HARBOUR_STRICT_CLIPPER_COMPATIBILITY renamed to HB_STRICT_C52 - - * source/rtl/is.c - * source/rtl/at.c - * source/rtl/replic.c - * source/rtl/space.c - * source/rtl/trim.c - - Some tests embedded to the source removed. - - * utils/hbtest/Makefile - - PP removed. - -20000411-03:04 GMT+1 Viktor Szakats - - * utils/hbtest/* - ! Fixed to work when HB_COMPAT_XPP mode is turned off. - - * include/hbsetup.ch - * source/vm/cmdarg.c - + Added defines for Flagship/FoxPro/dBase extensions. - - Disabled HB_COMPAT_VO by default. - -20000411-02:32 GMT+1 Viktor Szakats - - * source/common/hbver.h - * source/rtl/gtapi.c - * source/rtl/inkey.c - * source/rtl/dir.c - * source/rtl/diskspac.c - * source/rtl/gtpca/gtpca.c - * source/rtl/gtos2/gtos2.c - * source/rtl/gtos2/mouseos2.c - ! Fixed usage of HARBOUR_OS2_GCC before definition. - ! Now the INCL_* macros for OS/2 are always defined regardless of the - target platform, since at that point we don't know yet what is the - target platform. This may fix OS/2 GCC in some places. The only downside - in theory is that INCL_* may collide with some non-OS/2 defines. - Note that __IBMCPP__ != OS/2, it also has a Win32 version, and - __EMX__&!__RSXNT__ *is* OS/2. - * Some minor cleanups. - ! Fixed DIRECTORY() for OS/2 GCC and IBMCPP for Win32. Not tested. - - Removed explicit declaration for DosSleep(). - - Some superfluous #include statements removed from GTOS2. - - !! WARNING !! Please check IBMCPP/OS2 and GCC/OS2. I could not test - any of these. - - * source/rtl/run.c - ! Minor format. - -20000410-20:00 GMT -3 Luiz Rafael Culik - - ; Please retest Harbour on every possible platform. - - * make_gnu.* - * bin/bld.* - * Added RSX32 and RSXNT - - * makefile.bc - + $(ARFLAGS) added. - + /P32 added for BCC32, to avoid overflowing libs when compiling with - debug info. - - + config/dos/rsx32.cf - * include/hbsetup.h - * source/common/hbver.c - * source/rtl/gtdos/gtdos.c - * source/rtl/gtdos/mousedos.c - + Added support for the RSXNT compiler under DOS 32 bit. - Harbour executable don't run yet. - + DISKSPACE() for DOS now uses INT_86 instead of the less-portable - library call. - ! GTDOS and MOUSEDOS use the standard INT86, so they should work on - more platforms now, easier to extend and much more clear. - - + config/w32/rsxnt.cf - * include/hbsetup.h - * source/common/hbver.c - * source/rtl/diskspac.c - * source/rtl/gtwin/gtwin.c - + Added support for the RSXNT compiler under Windows NT. - - * source/common/hbver.c - * source/rtl/is.c - * source/rtl/transfrm.c - * source/pp/ppcore.c - * source/vm/fm.c - ! Fixed warnings for GCC -O2 and the new RSX compiler. - ! Fixed warning for turned off HB_FM_STATISTICS - - * source/vm/extend.c - * include/hbapi.h - + hb_retd() function added. Thanks to Jose Lalin. - - * include/hbdefs.h - * source/common/hbver.c - * source/rtl/isprint.c - * source/rtl/inkey.c - * source/rtl/dateshb.c - * source/rtl/gtdos/gtdos.c - * source/vm/mainwin.c - * source/vm/maindll.c - % Cleaned up the multiplatform code. (mainly for DOS (INT_86)). - + Added common HB_DOS_INT86 macro to the central header, local - declarations removed. - % Removed the branches where the word registers were accessed via "w". - "x" is supported by __BORLANDC__, __DJGPP__, _MSC_VER, __RSX32__, - __WATCOM__, __TURBOC__ (9.5). Who's missing ? - - * source/common/hbver.c - + Shows DJGPP package version. - - * source/rtl/filesys.c - + TOFIX added for hb_fsFile() - - * config/dos/global.cf - ! Got rid of the \ to / conversion for rsx32, watcom and djgpp - - * config/dos/djgpp.cf - ! Modified to avoid long command lines when linking. - I finally found a way to build DJGPP under W2K, using the MAKE.EXE - supplied with RSXNT. - - * config/os2/gcc.cf - * include/hbsetup.h - - The -DHARBOUR_GCC_OS2 detection made automatic. - - * source/rtl/version.c - * tests/version.prg - * utils/hbtest/hbtest.prg - * VERSION() no longer has the parameter extension to make things - more straight. One can use HB_COMPILER() to retrieve this info. - ! WARNING ! Please update the docs. - -20000410-09:00 Luiz Rafael Culik - - * source/rtl/gtcrs/gtcrs.c - ! New functions made static - - * source/compiler/cmdcheck.c - * Some copyright info arrangment. - - * source/common/hbver.c - % hb_verCompiler() some optimizations and streamlining mainly around - GCC flavours. - + MS "Visual" detection. - - * source/vm/fm.c - * include/hbsetup.h - * HB_FM_STATISTICS moved to the setup header. - - * contrib/linux/gcc.cf - - Removed -g from the default C switches to be in sync with the other - platforms. - - * source/rtl/diskspac.c - % Some code made common, platform specific code put in blocks. - - * contrib/rdd_ads/ace32.h - ! Fix for Win32 GCC - - * source/vm/hvm.c - * Static and global initialization all made in the startup function. - - * doc/whatsnew.txt - + Added missing version header - - * source/rtl/strcase.c - * Minor format. - -20000408-14:38 DST Paul Tucker - * source/rtl/strcase.c - * some compilers impliment toupper() as a macro, so toupper( pSrc++ ) - * does not work properly. - -20000408-20:45 GMT+1 Ryszard Glab - - *source/rtl/gtcrs/gtcrs.c - * added key mapping using terminfo database - -20000408-14:11 DST Paul Tucker - * source/rtl/dir.c - * correct MING 8.3 support (which I broke) - -20000408-15:28 GMT+2 Maurilio Longo - - * source/rtl/tbrowse.prg - ! ::New() was initializing a few instance variables to nil instead of {} - (aRedraw, aRect, aRectColor) and DBU.EXE compiled with debugger died - in ::Invalidate(275). - -20000408-11:05 GMT+2 Maurilio Longo - - * source/rtl/filesys.c - + Added file locking to OS/2 (both GCC and icc) - ! fixed file committing under OS/2 (no need to duplicate a file handle) - -20000407-15:25 GMT+2 Maurilio Longo - - * source/rtl/diskspac.c - + Added OS/2 (GCC and icc) support - * tests/MakeFile - + db_brows was missing from sources list - -20000407-03:26 GMT+1 Viktor Szakats - - * include/hbver.h - + Version bumped. - - * doc/whatsnew.txt - + Some new items. - -2000-04-06 21:30 GMT-4 David G. Holm - * doc/gmake.txt - % Change to os2/gcc documentation to show gtos2 for HT_GT_LIB, - (thanks to Maurilio Longo for - his work on making the gtos2 library work with os2/gcc) - -20000406-10:55 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * the parser resumes parsing after 'parse errors' (parsing errors - are non-fatal now) - -20000406-08:52 GMT+1 Viktor Szakats - - * config/dos/dir.cf - ! Accidentally broken file restored. - - * utils/hbtest/Makefile - * utils/hbtest/make_xpp.cmd - ! Fixed. - - * include/box.ch - + Some extensions guarded as such. - - * source/rtl/math.c - + Multithreading related NOTE added. - - * make_b16.bat - + CLEAN will remove .MAP files. - -20000405-15:29 GMT+1 Viktor Szakats - - + utils/hbtest/rt_hvma.prg - * utils/hbtest/* - * makefile.* - ! rt_hvm.prg split to make it compile with BCC31 under lower memory - conditions. - - * source/rtl/devoutp.prg - * source/rtl/setkey.prg - * include/hbver.h - * include/hbapifs.h - * include/filesys.api - * include/fileio.ch - * include/hbset.h - * include/set.ch - - Removed local ChangeLogs - -20000405-14:28 GMT+3 Alexander Kresin - * source/pp/ppcore.c - * bugs fixed, reported by Guy Roussin and Chen Kedem - -20000405-10:00 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * added adsFlush() function - * contrib/rdd_ads/adsfunc.c - * Added adsGetRelKeyPos() function - -20000405-02:03 GMT+1 Viktor Szakats - - * source/rtl/math.c - ! exception redefined as _exception for Borland C++ 5.5 and upper. - ! Disabled math exception handling for Borland C++ 5.3 C++ mode, - since it won't work. Other Borland C++ version (4.x,5.x) should be - also checked in this respect. - - * source/rtl/gtwin/gtwin.c - ! max()/min() changed to HB_MAX()/HB_MIN() - - * source/rtl/filesys.c - ! Explicit declaration of POSIX rename() moved to the Unix branch. - - * source/compiler/harbour.c - ! isatty() declaration readded for (__BORLANDC__ && __cplusplus) - - * makefile.bc - ! Fixed to create unistd.h in the local OBJ dir for macrol.c and - harbourl.c. - - * makefile.vc - ! Using a safer method for the unistd.h workaround. It's now created - in the local OBJ dir instead of the common INCLUDE. This way it's - impossible to accidently leave it there and break Cygnus and other - GCC make processes. - - + utils/hbtest/rt_stra.prg - * utils/hbtest/* - * makefile.* - ! rt_str.prg split to make it compile with BCC31. - - ; All these fixes were needed to compile in C++ mode with Borland C++ - (3.1, 5.3, 5.5). Hmm, the Harbour .EXE sizes are actually 10% smaller - than with 32 bit Borland Cs. - -2000-04-04 20:00 GMT-4 David G. Holm - - * source/rtl/dir.c - * source/rtl/inkey.c - * source/rtl/set.c - * source/rtl/gtos2/mouseos2.c - - Removed the local ChangeLog. - - * source/rtl/gtos2/gtos2.c - + Put #include back in for compilers other than GCC, - because that's where they get the basic variable types, etc. - ! Changed 'unsigned char *' to 'BYTE *' for fpBlank and fpBuff - in hb_gt_Scroll(), because hb_gt_Puts(), hb_gt_GetText(), and - hb_gt_PutText() take 'BYTE *' parameters and passing 'char *' - variables confuses the IBM VisualAge C++ compiler. - % Reformatted hb_gt_Scroll() to eliminate TAB characters. - - * source/rtl/gtpca/gtpca.c - + Added HB_SYMBOL_UNUSED() for all unused function arguments. - -20000404-08:00 GMT-3 Luiz Rafael Culik - *doc/en/dbstrux.txt - *Small reformating - -20000404-13:00 GMT+1 Viktor Szakats - - * source/rdd/dbstrux.prg - % Some more optimization. Thanks to Chen Kedem. - - * source/rtl/getsys.prg - % __GetListActive() calls optimized out. - - * source/vm/cmdarg.c - * Change wording to "compatible" when talking about the other commercial - products. - -20000404-12:13 GMT+1 Viktor Szakats - - * source/pp/ppcore.c - % Some variables optimized out in pragma related code. - % DebugPragma() simplified. - -20000404-11:06 GMT+1 Viktor Szakats - - * source/rtl/dircmd.prg - + Changed to use NationMsg() instead of the hard-wired English - string. The previous 100% compatible version left in STRICT_COMPAT - branch. - - * source/rtl/console.c - * source/rtl/gtapi.c - * source/rtl/gt*/gt*.c - ! Fixed some TRACE calls. - - * source/rtl/wait.prg - * source/rtl/input.prg - % Small optimization. - * Variable renamed to better reflect purpose and types. - - * source/rtl/tgetlist.prg - ! Using NationMsg() instead of the hard-coded strings. - - * source/rdd/dbstrux.prg - % Some optimizations. - - * tests/tstprag.prg - + New tests changed. - -20000404-08:55 GMT+2 Chen Kedem - * doc/en/dbstrux.txt - + documentation for __dbCreate() - + documentation for CREATE - + documentation for CREATE FROM - * some re-formats - ; By this all the functions in source/rdd/dbstrux.prg are documented - -20000403-23:30 GMT-3 Luiz Rafael Culik - *utils/hbdoc/genng.prg - utils/hbdoc/genhtm.prg - *Fixed handling for multi columns tables - *utils/hbdoc/ft_funcs.prg - +GetNumberofTableItems() added to count the number of item of a table - -20000404-03:24 GMT+1 Viktor Szakats - - * include/hbpp.h - + Upped the buffer sizes. - - * source/pp/ppcore.c - * tests/tstprag.prg - * Some #pragma names modified to be Xbase++ compatible. - AUTOMEMVARS -> AUTOMEMVAR - LINEINFO -> LINENUMBER - SHORTCUTTING -> SHORTCUT - FORCEMEMVARS -> DYNAMICMEMVAR - + Added the Xbase++ compatible pragma symtax: #pragma NAME( ON/OFF ) - + #pragma now allows space between long pragma name and parameter: - #pragma Shortcut= ON or #pragma Shortcut( ON ) - ! Fixed some DebugPragma() calls. - ! Fixed DebugPragma() to display zero as a value. - % Code simplified, variables eliminated. - ! AUTOMEMVAR check fixed. - - * source/rtl/tget.prg - + Added XPP compatible _Assign and _End() methods. - ! Home(), End(), Access(), ColorDisp(), UpdateBuffer() - fixed to return Self. - + TODO added about Xbase++ compatible method. - - * source/rtl/tgetlist.prg - + The methods returning NIL are now returning Self to be more consistent - with the other classes. - - * source/rtl/tbrowse.prg - + TODO added about Xbase++ compatible methods. - - * source/rtl/philes.c - * source/vm/arrayshb.c - + Some TODOs added about Xbase++ extension (CURDIR(), FILE(), AEVAL()). - - * include/hbsetup.ch - * include/memoedit.ch - * compiler/harbour.y - * rtl/binnumx.c - * rtl/browdbx.prg - * rtl/datesx.c - * rtl/isprint.c - * rtl/mousex.c - * rtl/oemansi.c - * rtl/philesx.c - * rtl/tbrowse.prg - * rtl/tget.prg - * vm/cmdarg.c - * utils/hbtest/hbtest.prg - ! XBase++ -> Xbase++ - -20000403-23:40 GMT+2 Maurilio Longo - - * source/rtl/gtos2/gtos2.c - ! Should work now and provide DispBegin() and DispEnd() support - ! statics are named following harbour naming conventions - -20000403-22:20 GMT+1 Viktor Szakats - - * source/pp/stdalone/hbpp.c - * source/compiler/cmdcheck.c - * source/compiler/harbour.c - * include/hbcomp.h - ! Fixed handling of the /D switch, it broke when introducing the - multiple filenames at the command line feature. - -20000403-21:08 GMT+1 Viktor Szakats - - * source/rtl/readvar.prg - ! Fixed handling of non-GET system related functionality. (not tested) - - * source/tools/ctposupp.c - ! MSVC cast. - -20000403-19:57 GMT+1 Viktor Szakats - - + source/rtl/getlist.prg - + source/rtl/getsys.prg - + source/rtl/readvar.prg - * source/rtl/tgetlist.prg - * source/rtl/Makefile - * makefile.bc - * makefile.vc - + New Harbour internal function __GetListActive() added to provide an - interface between TGETLIST and GETSYS. - + The active getlist holder moved to a separate file GETLIST. - + READVAR() moved back into separate file. - + RANGECHECK() function added to GETSYS. Now the namespace of GETLIST - is equivalent to CA-Cl*pper. - + TGetList class separated from the GETSYS procedural (compatibility) - interface. This way it's possible to override the GETSYS, READVAR or - TGETLIST modules at link time just like in CA-Cl*pper. - - * source/rtl/tgetlist.prg - ! GetP*Validate() - Fixed. - + Added lHasFocus data. - -20000403-18:25 GMT+1 Viktor Szakats - - * utils/hbtest/* - + Some __XPP__ branches removed. - + Documented and added tests for the :className() <-> :className - difference. - ! Worked around ALINK /OUT: handling bug (by not using this switch). - -20000403-16:35 GMT+1 Viktor Szakats - - * utils/hbtest/* - + utils/hbtest/make_xpp.bat - + utils/hbtest/make_xpp.cmd - + HBTEST made compatible with Xbase++ 1.10. Check the results. - - Comparison: - - Platform Filename Size Passes Failures Total Time - --------------- ------------- --------- ------ -------- ----- ---- - CA-Cl*pper 5.2e hbtest5x.exe 504.832 2976 25 3001 ~1 s - Harbour (BCC55) hbtest.exe 566.272 3186 82 3268 ~4 s - Xbase++ 1.10 hbtestxp.exe 1.375.232 1977 771 2748 ~2 s - - * source/rtl/philesx.c - ! CURDRIVE() error handling made more like Xbase++. Retry is allowed, - and the error text is the same. - -20000403-13:07 GMT+1 Viktor Szakats - - * source/rtl/tgetlist.prg - ! READKILL(), READUPDATED(), __KILLREAD(), READFORMAT() fixed. - % GetDoSetKey() optimized - ; ---------------------------------------------------------- - ; Ad: Now DBU compiles and runs without *any* modification ! - ; ---------------------------------------------------------- - (except for the Dbu() -> Main() renaming for some compilers) - - + source/tools/cttoken.prg - * source/tools/Makefile - * makefile.bc - * makefile.vc - * utils/hbrun/exttools.prg - + CT_NUMTOKEN() - + CT_TOKEN() - ; CA-Tools compatible functions added. Thanks to Phil Barnett. - - * source/rtl/tgetlist.prg - * source/rtl/tbrowse.prg - * source/rtl/browse.prg - * source/rtl/tbcolumn.prg - * source/rtl/tclass.prg - * source/rtl/typefile.prg - * source/debug/dbgtmenu.prg - * source/debug/dbgtwin.prg - * source/debug/debugger.prg - * include/hbclass.ch - ! Assignment/equality operator (=) changed to assignment only operator (:=) - and equality only (==) operator. - Please don't use "=" operator, use "==" and ":=" instead. - ! ValToStr() made MEMO aware. - ! Some constants changed to manifest constants (again and again). - -20000403-11:01 GMT+1 Viktor Szakats - - * source/vm/itemapi.c - * source/vm/hvm.c - ! hb_itemPutND(), hb_itemPutNLen(), hb_itemPutNDLen(), hb_vmNegate(), - hb_vmPushDouble() - Fixed handling of double number widths. Negative numbers taken into - account. Limits fixed. Checked against CA-Cl*pper. - + hb_vmPushLongConst() added to push a long constant (pcode) long value. - + hb_vmPushDoubleConst() added to push a constant (pcode) double value. - * hb_vmPushDouble() restored to previous version. - ! hb_vmPushDoubleConst() fixed to count the width of the double just like - CA-Cl*pper, note that this is an ugly hack, and as a next step the - HB_P_PUSHDOUBLE pcode should be modified to fix this. ( !! TODO !! ) - ; After these the decimal handling seems to be completely CA-Cl*pper - compatible, the failing tests are due to floating point precision - problems. - - * utils/hbtest/rt_hvm.prg - ! Number width handling tests modified to avoid the Harbour expression - optimizer. - -20000403-04:47 GMT+1 Viktor Szakats - - * source/rdd/dbf1.c - ! Now the MEMO fields are marked as MEMO. - (Two HBTEST failures gone) - - * source/vm/itemapi.c - * include/hbapi.h - + Added hb_itemSetCMemo() Item API call, to mark a string as MEMO. - ! hb_itemString() made MEMO aware. - ! HB_IS_STRING() made MEMO aware. - - * utils/hbtest/rt_hvm.prg - + A bunch (~100) of number width handling tests added, many of them fail. - - * source/vm/hvm.c - ! hb_vmNegate() fixed handling of number width for doubles - ! hb_vmPushDouble() fixed handling of number widths. - + TOFIX added for hb_vmPushDouble(), because in Clipper the exact width - is extracted from the pcode, the problem is that Harbour doesn't have - this info stored there. - -20000403-02:11 GMT+1 Viktor Szakats - - * contrib/runjava/runjava.c - * include/hbexprb.c - * include/hbapilng.h - * include/hbvmpub.h - * source/rdd/dbf1.c - * source/rtl/gtdos/gtdos.c - * source/rtl/gtsln/gtsln.c - * source/rtl/tget.prg - * source/tools/asciisum.c - * source/tools/strasint.c - * source/tools/stringsx.c - * source/tools/nconvert.prg - * source/vm/hvm.c - * source/vm/macro.c - * source/vm/memvars.c - * tests/memvar.prg - * tests/testwarn.prg - * tests/tstmacro.prg - ! Tabs converted to spaces. - Please don't use tabs in the sources, because the formatting may be - much different when using another editor. - - * source/tools/Makefile - ! Some corrections - -20000403-01:26 GMT+1 Viktor Szakats - - * source/vm/itemapi.c - ! hb_itemStr() 9 character limit on decimals removed. - Now seven more tests pass. - - * source/vm/hvm.c - ! hb_vmPushDouble() 9 character limit on decimals removed. - Now newly added tests pass. - - * utils/hbtest/rt_str.prg - + New STR() tests added. - - * utils/hbtest/hbtest.prg - + Shows the percentage of the passes compared to the number of tests. - -20000402-23:44 GMT+2 Maurilio Longo - - * source/rtl/gtos2/gtos2.c - ! There was a missing & operator causing a trap D at program start. - There are other problems (display is somewhat corrupted) which need to be addressed - -20000402-19:00 GMT-3 Luiz Rafael Culik - *utils/hbdoc/genhtm.prg - *Fixed a small bug - -20000402-22:32 GMT+1 Viktor Szakats - - * utils/hbtest/rt_hvm.prg - + TYPE() basic tests added. - One new case fails. - - * source/rtl/type.c - ! TYPE() runtime error value substitution added. - - * include/hbdefs.h - * source/rtl/hardcr.c - * source/rtl/mtran.c - % Repeated CHR_HARD/SOFT macros moved to the global header. - - * source/vm/cmdarg.c - % Minor stack space opt. - - * source/rtl/strzero.c - * Minor change in comment. - - + source/rtl/setposbs.c - * source/rtl/setpos.c - * source/rtl/Makefile - * makefile.bc - * makefile.vc - * SETPOSBS() separated. - - * source/rtl/version.c - ! Small memory allocation fix. - - * source/rtl/gtapi.c - * Cast - - * source/common/hbver.c - % #include is always included by hbdefs.h, so it's not needed - to add it explicitly. Please test it anyway. - -20000402-21:40 GMT+1 Maurilio Longo - - * utils/hbdoc/MakeFile - ! gnu make error (missing tab) - * source/common/hbver.c - ! failing under OS/2 GCC - * source/rtl/gtos2/gtos2.c - + added DispBegin() and DispEnd() support. It should work with VA C++ also - -20000402-20:01 GMT+1 Viktor Szakats - - * utils/hbtest/hbtest.prg - + Shows the percentage of the failures compared to the number of tests. - - * source/rtl/gtapi.c - * Minor - -20000402-19:37 GMT+1 Viktor Szakats - - * utils/hbtest/rt_array.prg - % TAStr() optimization. - ! aTail() test results separated for __HARBOUR__ - - * utils/hbtest/rt_main.ch - + Added the define HARBOUR_STRICT_CLIPPER_COMPATIBILITY - - * utils/hbtest/rt_str.prg - * utils/hbtest/rt_array.prg - * STRZERO() and AFILL() test results made dependent on the - HARBOUR_STRICT_CLIPPER_COMPATIBILITY setting. - - * source/vm/arrayshb.c - + AFILL() - added CA-Cl*pper implementation specific runtime error for the - STRICT_COMPATIBLE branch. - + AFILL() - Added Harbour specific runtime error on bad parameter. - - ; All these modifications cause the Regression Test failures to drop by 8. - -20000402-18:50 GMT+1 Viktor Szakats - - + source/tools/ctmisc.prg - + source/tools/ctcolton.c - + source/tools/ctposupp.c - * source/tools/Makefile - * makefile.bc - * makefile.vc - * utils/hbrun/exttools.prg - + CT_COLORTON() - + CT_CENTER() - + CT_CSETCURS() - + CT_CSETKEY() - + CT_ENHANCED() - + CT_STANDARD() - + CT_LTOC() - + CT_RESTGETS() - + CT_SAVEGETS() - + CT_SCREENMIX() - + CT_POSUPPER() - ; CA-Tools compatible functions added. - - * include/hbapiitm.h - * source/rtl/pad.c - + source/rtl/padc.c - + source/rtl/padl.c - + source/rtl/padr.c - * source/vm/itemapi.c - * source/rtl/Makefile - * makefile.bc - * makefile.vc - * hb_itemPadConv() made global and moved to the Item API - ! hb_itemPadConv() TRACE call typo. - + Separated PAD*() calls. - - * */Makefile - * Some corrections - -20000402-16:17 GMT+1 Viktor Szakats - - * */Makefile - ! 8 spaces in rules converted to tabs. - Just wondering why is this needed at all ? - It's not an easy one, but please try to take care of this rule. - -20000402-15:59 GMT+1 Viktor Szakats - - - source/macro/macro.c - * source/macro/Makefile - + source/vm/macro.c - * source/vm/Makefile - * makefile.bc - * makefile.vc - + Base macro support modul moved to the HVM - - * source/vm/memvars.c - * include/hbapi.h - ! Uses hbcomp.h instead of the repeated VS_ macro definitions. - + hb_memvarCreateFromItem() made global. - - * source/vm/memvars.c - + source/vm/memvclip.c - * source/vm/Makefile - * makefile.bc - * makefile.vc - * CA-Cl*pper compatbility internal and undocumented functions moved - to a separate file. - - * source/debug/debugger.prg - % static scope adjusted. - -20000402-14:35 GMT+1 Viktor Szakats - - * makefile.vc - * Updated for HBDOC changes. - - * doc/whatsnew.txt - * Minor chg - -20000402-07:00 GMT-3 Luiz Rafael Culik - *doc/whatsnew.txt - *some changes - -20000402-08:44 GMT+2 Chen Kedem - + doc/en/dbstrux.txt - + documentation for __dbCopyStruct() - + documentation for COPY STRUCTURE - + documentation for __dbCopyXStruct() - + documentation for COPY STRUCTURE EXTENDED - + documentation for __FLEDIT()* - + documentation for __dbStructFilter() - Those are almost all the docs for source/rdd/dbstrux.prg - (I'll might finished __dbcreate() leter this day) - -20000401-21:00 GMT-3 Luiz Rafael Culik - *makefile.bc - *utils/hbdoc/makefile - *Updated for new hbdoc depedencies - +doc/en/datetime.txt - *documentation for date/time functions - *doc/en/math.txt - *documentation for sqrt() function - *doc/en/set.txt - *some new docs - *utils/hbdoc/genng.prg - utils/hbdoc/genrtf.prg - utils/hbdoc/genos2.prg - utils/hbdoc/hbdoc.prg - utils/hbdoc/genhtm.prg - *Changes to make a better output file - *Move FT_ functions from hbdoc to a new file - -utils/hbdoc/fileread.prg - Removed - +utils/hbdoc/fclass1.prg - +utils/hbdoc/ffile1.prg - *New file class for hbdoc - +utils/hbdoc/ft_funcs.prg - *New place for the ft_* functions - -20000402-01:41 GMT+1 Viktor Szakats - - * source/rtl/substr.c - ! Minor fix in comment. - * source/rtl/filesys.c - ! Bug fixed for __WATCOMC__ - -20000401-18:00 GMT+1 Viktor Szakats - - * source/rtl/version.c - + source/common/hbver.c - * source/common/Makefile - * include/hbapi.h - * include/hbextern.ch - * contrib/hbclip/hbclip.prg - * source/vm/cmdarg.c - * tests/version.prg - * makefile.bc - * makefile.vc - % Cleaned up the include section. - + Added TRACE calls (CVSed previously) - + Separated hb_version() into hb_verCompiler() and hb_verHarbour() - * Renamed hb_os() to hb_verPlatform() - * Renamed variables in hb_verCompiler() - + Moved hb_ver*() functions to common directory. - + HB_COMPILER() function added to return just the compiler info. - + HB_COMPILER() function added to HBCLIP.LIB - + //INFO will now display platform info. - + //BUILD will now display compiler info. - - //INFO will not display compiler info. - * Test program updated. - ; Tested with BCC53, BCC55, BCC31, CYGWIN, MINGW32, MSC8 (compile only), - MSVC, DJGPP on W2KRC2, WNTSP4, W95, W95B, W98, MSDOS62, DOS5, DOS5+Win31 - ; Please test it with WATCOM, Linux/GCC, OS2/GCC, OS2/ICC, - and BCC31/DJGPP under OS/2. - - * Makefile - ! Some spaces comverted to tabs - - * bin/bld.* - ! common -> commo for DJGPP - -20000401-03:20 EST Paul Tucker - * source/rdd/dbf1.c - * source/rdd/sdf1.c - * source/rdd/delim1.c - * source/rdd/dbfcdx/dbfcdx1.c - * source/rdd/dbfntx/dbfntx1.c - * source/compiler/genc.c - * contrib/rdd_ads/ads1.c - * include/hbinit.h - * updated initSymbols handling - again - -20000401-02:00 EST Paul Tucker - * include/hbvmpub.h - * turns out msc8 doesn't know pack(push) - -20000401-06:09 GMT+1 Viktor Szakats - - - source/rtl/environ.c - + source/rtl/version.c - * source/rtl/Makefile - * makefile.bc - * makefile.vc - * hb_os() - Fixed, simplified, optimized. - * Filename changed to match CA-Cl*pper - -20000401-04:57 GMT+1 Viktor Szakats - - * source/rtl/environ.c - * include/hbapi.h - % OS() function reorganized. Now the motto is that each target platform - should first detect the version of the native platform version, then if - applicable (only in DOS currently) detect the host OS. - This way the source is *far* more clean, and consistent between - platforms and compilers. - + Added WinNT detection for the DOS platform. - * #ifdef mess removed. - % Win32 version detection optimized. - + C callable version added (hb_os()) - * Some variables renamed. - ; Tested with BCC55, BCC31, CYGWIN, MINGW32, MSC8 (compile only), - MSVC on W2KRC2, WNTSP4, W95, W95B, W98, MSDOS62 - ; Please test it with DJGPP, WATCOM, Linux/GCC, OS2/GCC, OS2/ICC, - and BCC31 under OS/2. - - * source/rtl/inkey.c - * Comment for W2K corrected. - - * doc/whatsnew.txt - + Added some items for the next release. - -20000331-21:35 EST Paul Tucker - * makefile.bc - + Added dbgtmenu dbgtwin.c &.prg to the debug library rules. - * unlike makefile.vc, makefile.bc needs the source dependcies - * listed as well - -2000-03-31 18:30 GMT-5 David G. Holm - * makefile.bc - * makefile.vc - + Added dbgtmenu.obj and dbgtwin.obj to the debug library rules. - -2000-03-31 18:25 GMT-5 David G. Holm - * source/debug/Makefile - + source/debug/dbgtmenu.prg - + source/debug/dbgtwin.prg - * source/debug/debugger.prg - % I split the TDbWindow class into a new program module and - the TDbMenu and TDbMenuItem classes into another so that - Harbour can be built with dos/b16. - -2000-03-31 18:00 GMT-5 David G. Holm - * config/dos/bcc16.cf - + It helps to use $(ARFLAGS) when running $(AR). - + I added support for HB_GT_LIB and HB_SCREEN_LIB. - -20000331-23:11 GMT+1 Viktor Szakats - - * include/hbver.h - * Version bumped. - - * include/extend.api - * include/hbapi.h - * contrib/runjava/runjava.c - * contrib/rdd_ads/ads1.c - * source/rtl/*.c - * source/vm/*.c - * source/rdd/*.c - * source/tools/*.c - * source/macro/macro.c - * IT_ macros prefixed with HB_ - * IS_ macros prefixed with HB_ - - * source/vm/extend.c - % Source code made smaller. - - * include/hbapi.h - * include/extend.api - * source/tools/strfmt.c - * PCOUNT, ALENGTH() moved to extend.api - - Harbour usage of these macros removed. - - * .cvsignore - * Updated - - * contrib/hbclip/readme.txt - - Reference to Clipper S87 removed. - -20000331-15:50 EST Paul Tucker - * source/macro/macro.c - * hb_valtypeGet() -> hb_itemTypeStr() - -20000331-15:10 EST Paul Tucker - * source/rdd/dbf1.c - * source/rdd/sdf1.c - * source/rdd/delim1.c - * source/rdd/dbfcdx/dbfcdx1.c - * source/rdd/dbfntx/dbfntx1.c - * source/compiler/genc.c - * contrib/rdd_ads/ads1.c - * include/hbinit.h - * updated initSymbols handling - particularly for msc flavours. - * Still a work in progress. Thanks also to Victor - -20000331-19:24 GMT+1 Viktor Szakats - - * source/rtl/valtype.c - * source/vm/itemapi.c - * include/hbapi.h - * include/hbapiitm.h - * hb_valtypeGet() -> hb_itemTypeStr() - -20000331-19:06 GMT+1 Viktor Szakats - - * include/hbapi.h - * source/rtl/console.c - * source/rtl/setcolor.c - * source/rtl/setcurs.c - * source/rtl/errorapi.c - * source/rtl/gtapi.c - * source/rtl/set.c - * source/vm/hvm.c - * source/vm/cmdarg.c - * source/vm/fm.c - * source/rtl/gtstd/gtstd.c - * Console related functions all prefixed with hb_con - - hb_consoleInitialize -> hb_conInit - hb_consoleRelease -> hb_conRelease - hb_consoleGetNewLine -> hb_conNewLine - hb_out -> hb_conOut - hb_altout -> hb_conOutAlt - hb_devout -> hb_conOutDev - hb_dispout -> hb_conOutDisp - hb_outstd -> hb_conOutStd - hb_outerr -> hb_conOutErr - hb_setCursor -> hb_conSetCursor - hb_setColor -> hb_conSetColor - hb_devpos -> hb_conDevPos - - * include/hbdate.h - * source/rtl/natmsg/*.c - * source/rtl/dates.c - * source/rtl/dateshb.c - * source/rtl/datec.c - * source/rtl/pad.c - * source/rtl/transfrm.c - * source/rtl/seconds.c - * source/vm/itemapi.c - * source/tools/dates2.c - * Date related globals all prefixed with hb_date - - hb_monthsname -> hb_dateMonthsName - hb_daysname -> hb_dateDaysName - hb_seconds -> hb_dateSeconds - hb_cmonth -> hb_dateCMonth - hb_cdow -> hb_dateCDOW - hb_dow -> hb_dateDOW - hb_dtoc -> hb_dateFormat - - ; Renaming of globals is basically over now. - -20000331-20:27 GMT+3 Alexander Kresin - * source/rdd/dbstrux.prg - * some changes, provided by Chen Kedem - * contrib/odbc/bld_b32.bat - * contrib/odbc/hbodbc.b32 - * contrib/odbc/odbc.c - * some fixes - -20000331-10:45 EST Paul Tucker - * contrib/rdd_ads/ads1.c - * updated initSymbols handling - -20000331-09:50 EST Paul Tucker - * source/rdd/dbf1.c - * source/rdd/sdf1.c - * source/rdd/delim1.c - * source/rdd/dbfcdx/dbfcdx1.c - * source/rdd/dbfntx/dbfntx1.c - * updated initSymbols handling - -20000331-06:40 EST Paul Tucker - * source/rtl/diskspac.c - * minor code opt. - -20000331-04:30 EST Paul Tucker - * include/hbvmpub.h - * put the #pragma pack in _MSC_VER gaurds which got missed in the - original upload - -20000331-01:02 GMT+1 Viktor Szakats - - * include/hbapilng.h - * include/hbdate.h - * include/hberrors.h - * include/hbinit.h - * include/hbtrace.h - ! Added #include "hbsetup.h" before using HB_EXTERN_C. - - * doc/howtomak.txt - ! Typo - - * source/pp/pplib.c - ! One global compiler variable declaration removed, because the same - variable was also declared in macro.lib. - -20000330-23:04 GMT+1 Maurilio Longo - - * include/hbvmpub.h - ! with OS/2 GCC pragma pack(8) is not valid - * source/rtl/gtos2/gtos2.c - * with OS/2 GCC kbhit() is not available (it's a ToolKit function) - -20000330-12:15 EST Paul Tucker - * source/rtl/dates.c - * account for possible overflow in calculation - * source/rtl/defpath.c - * initialise size to 0 - * source/rtl/environ.c - * added missing ; for msc branch - * source/rtl/isprint.c - * added msc8 support (== _BORLANDC_) - * source/rtl/dir.c - * source/rtl/gtdos/gtdos.c - * source/rtl/gtdos/mousedos.c - * modified to work with msc8 (upcoming addition!) - * include/hbvmpub.h - * change alignment of HB_SYMB for msc8 - * source/rdd/dbcmd.c - * changed if(!(...)) to if((...)==0) in rddInherit for /W4 compiler warning. - * initialise uiArraylen in AFIELDS() - * initialise ulNext in defEval() - * source/rdd/dbf1.c - * dbfUpdateRecord() Initialise local ulRecCount! - NOTE: Something doesn't look right with the logic here. - * dbfReadDBHeader() Init pFieldInfo.uiLen to 0 - * source/vm/memvars.c - * hb_memvarCreateFromItem() Initialize pDynVar to NULL - -20000329-16:33 GMT+1 Viktor Szakats - - * include/hbapi.h - * source/rtl/val.c - * source/rtl/ampm.c - * source/rtl/sample.c - ! hb_strVal() and VAL() made completely CA-Cl*pper compatible. - Now 21 less test failures in HBTEST. atof() is no longer used. - - * utils/hbtest/rt_str.prg - * utils/hbtest/rt_math.prg - + Added some VAL() related tests. - -20000328-23:04 GMT+1 Viktor Szakats - - * config/dos/global.cf - * config/w32/global.cf - ! Small fix for 'clean' *.*. - - * include/hbdefs.h - * include/hbsetup.h - + Added HB_FUNC_CALLCONV for the HARBOUR macro. - Borland users wishing to use pascal mode should use this command line - switch: -DHB_FUNC_CALLCONV=pascal - Note that you can use any other preferred calling conventions supported - by your compiler. - * HARBOUR_START_PROCEDURE moved to hbdefs.h since this should not - be a user configurable parameter, it's "MAIN" or nothing. - - * source/vm/cmdarg.c - ! Workaround for MSC8 compiler bug. - - + ChangeLog.006 - ! Readded with the correct case. - - * doc/howtocvs.txt - * doc/whatsnew.txt - ! Minor fixes. - -20000328-23:10 GMT+3 Alexander Kresin - * source/pp/ppcore.c - * Bug fixed, reported by Luiz Rafael Culik - * Problem solved with 16-bit version - * source/pp/pplib.c - * hb_pp_init() call removed from __preprocess() - * source/rdd/dbf1.c - * bug fixed as proposed Janica Lubos - * contrib/rdd_ads/ads.ch - * contrib/rdd_ads/adsfunc.c - * Added third optional parameter to adsKeyCount() as proposed Brian Hays - -2000-03-28 13:40 GMT+1 Maurilio Longo - - * include/hbdefs.h - ! You cannot redefine base types when using GCC under OS/2 - -2000-03-27 23:20 GMT-5 David G. Holm - * include/hbapi.h - * include/hbapierr.h - * include/hbapifs.h - * include/hbapigt.h - * include/hbapiitm.h - * include/hbapilng.h - * include/hbapirdd.h - * include/hbcomp.h - * include/hbdate.h - * include/hberrors.h - * include/hbexprop.h - * include/hbinit.h - * include/hbmacro.h - * include/hbpp.h - * include/hbset.h - * include/hbsetup.h - * include/hbtrace.h - * include/hbvm.h - * include/hbvmpub.h - % Changed from using #if defined(__cplusplus) to using #if - defined(HB_EXTERN_C) and added definition of HB_EXTERN_C to - hbsetup.h #if defined(__cplusplus) && !defined(__IBMCPP__) - -20000328-03:35 GMT+1 Viktor Szakats - - + doc/c_std.txt - + A list of the keywords which are part of the ANSI C and/or Posix - standards. - * source/tools/mathx.c - + Added new functions by Jose Lalin. - * source/compiler/harbour.c - ! Fixed to not define isatty for __BORLANDC__ - * config/dos/global.cf - ! Replaced "ECHO Y" with FOR command to make it work on non-English - systems. - -2000-03-27 19:15 GMT-5 David G. Holm - - * include\hbset.h - * include\hbapiitm.h - * include\hbapi.h - * include\hbmacro.h - * include\hbapirdd.h - * include\hbexprop.h - * include\hbdate.h - * include\hbapilng.h - * include\hbapigt.h - * include\hbcomp.h - * include\hbapifs.h - * include\hbtrace.h - * include\hberrors.h - * include\hbvmpub.h - * include\hbinit.h - * include\hbvm.h - * include\hbapierr.h - * include\hbpp.h - - Commented out all 'extern "C" {' and '}', because the ill-advised - addition of extern "C" statements is only half done (present in .h - files, but not in .c files), which prevents the os2/icc version of - Harbour from being built. - - * source/macro/macro.c - - Removed 'static' from definition of variable that is declared as - 'extern' in hbmacro.h. - -20000327-21:35 GMT+1 Viktor Szakats - - ! Trash in harbour CVS root directory removed by SourceForge staff. - ! File permission error corrected for CONTRIB/RDD_ADS/ dir - by SourceForge staff. - - * utils/hbextern/hbextern.prg - ! Fixed handling of HB_FUNC(). - * source/rtl/console.c - ! hb_consoleRelease() now calls hb_mouseExit(). - * source/vm/debug.c - ! Oops, one StackLen() converted to hb_stackLen() - * source/rtl/natmsg/msgru866.c - ! Fixed country. - * source/rtl/tone.c - - Removed local ChangeLog - - * source/pp/stdalone/hbpp.c - * source/pp/ppcore.c - * source/pp/ppcomp.c - * source/rtl/gtwin/gtwin.c - * source/rtl/gtcrs/gtcrs.c - * source/rtl/setcolor.c - ! TRACE call fixes. Thanks go to Tom Sobota. - + #include "inkey.ch" added for gtcrs.c - -20000327-01:24 GMT+1 Viktor Szakats - - - doc/cvshowto.txt - + doc/howtocvs.txt - + doc/howtomak.txt - + Enhanced the CVS upload guide. - + Added guide how to make Harbour binary from the source. - - * makefile.* - + C_USR and PRG_USR GNU-make style envvars are now working with MSVC - and Borland makefiles. - - + contrib/runjava/bld_java.bat - + contrib/runjava/make_vc.bat - + contrib/runjava/Harbour.java - + contrib/runjava/hbrunj.h - + contrib/runjava/runjava.c - + contrib/runjava/makefile.vc - + The JAVA runner contribution has been added to a new directory - along with all the support files needed to make it work. - Thanks to Matteo Baccan for this contribution. - ; !! WARNING !! I could not test this since I don't have the java - tools needed. - - * makefile.vc - * make_vc.bat - - The JAVA runtime generation feature removed. (see previous entry) - - * source/vm/debug.c - * One static function renamed. - - * include/clipdefs.h - ! pascal keyword removed from here, too. So the rule has changed that - all mixed or lower case CLIPPER function names must be converted to - uppercase to make it work with Harbour. - -20000326-16:58 EST Paul Tucker - * source/rtl/gtwin/gtwin.c - * further refinement on screen sizing. Size is now restored on exit. - -20000326-13:14 GMT+1 Viktor Szakats - * makefile.bc - ! Fixed. - * ChangeLog.006 - ! Corrected the case. (Temporarily removed, until someone at - SourceForge will remove the old repository entry) - -20000326-03:42 EST Paul Tucker - * source/rtl/gtwin/gtwin.c - * This is an old problem: - Because Windows allows you to set the size of the window to something - like 100x300 (for example) you then get scroll bars on the window. - I've been toying with the various conditions and oddities that might - arise from this situation. This includes switching from a window - to full screen where the max visible is typically 50x80, yet the system - can still give you access to the full 100x300. Writing to the extra - screen space is simple enough, but using it becomes annoying, since - the system will move the buffer around to keep the cursor in view. - Rather than fight it, gt_init, now caps the screen size to 50x80. - If you want a bigger size, then it is assumed you know what you are - going to do with the extra real eastate, and thus you can call - SetMode(100,300). - -20000326-08:06 GMT+1 Viktor Szakats - - * include/hbdefs.h - * include/clipdefs.h - * Now the HARBOUR keyword requires the function name to be in uppercase. - The compatibility CLIPPER keyword still allows for mixed case function - names on some platforms. The reason is that "pascal" keyword is - non-portable, and the above requirement was already there for some - platforms, now it's a generic rule. - - Removed the __attribute__ ((stdcall)) for the __GNUC__ branch. Setting - any specific calling convention is not needed, since we don't need to - deal with compatibility with precompiled legacy libs, there's no - such thing, CA-Cl*pper never supported GNU C. - ; Now the HARBOUR macro is quite simple, it's plain "void". - - * source/pp/ppcore.c - + Added predefined macro __HB_MAIN__. The macro is undefined or holds the - value of HARBOUR_START_PROCEDURE depending on the compiler. - Use this code to make your Harbour startup procedure platform/compiler - independent: - #ifndef __HB_MAIN__ - #define __HB_MAIN__ AppMain /* Or whatever you wish to call it */ - #endif - FUNCTION __HB_MAIN__() - - + contrib/hbclip/hbclip.h - + Added header file which can be used to maintain common C source code - for CA-Cl*pper and Harbour. The legacy code needs a one-time conversion - to make this work. - - * source/rtl/dir.c - ! Fixed #elif guard (BCC31 was not working). (|| -> &&) - - * source/rtl/gete.c - * source/rtl/math.c - * source/rtl/abs.c - * source/rtl/minmax.c - * source/rtl/mod.c - * source/rtl/round.c - * source/rtl/dir.c - * source/rtl/binnum.c - * source/rtl/philes.c - * source/rtl/empty.c - * source/rtl/setpos.c - * source/rtl/saverest.c - * source/rtl/setcurs.c - * source/rtl/gx.c - * source/rtl/len.c - * source/rtl/valtype.c - * source/rtl/msgxxx.c - * source/vm/pcount.c - * source/vm/proc.c - * source/vm/break.c - * source/vm/initexit.c - + Added copyrights for some files which didn't have any. The source is - the Harbour mailing list archive. - - * source/tools/html.prg -> utils/hbdoc/ - * source/tools/ng.prg -> utils/hbdoc/ - * source/tools/os2.prg -> utils/hbdoc/ - * source/tools/rtf.prg -> utils/hbdoc/ - * source/tools/troff.prg -> utils/hbdoc/ - * source/tools/fileread.prg -> utils/hbdoc/ (copied) - * source/tools/Makefile - * utils/hbdoc/Makefile - * makefile.vc - * makefile.bc - * Some HBDOC specific source files moved to their local directory. - * One tools file copied to hbdoc for local usage. - - Removed tools lib. - - * samples/guestbk/testcgi.prg - * samples/guestbk/Makefile - * samples/guestbk/bld_b32.bat - ! #include hbclip.ch guarded - - Removed tools lib. - - * samples/misc/Makefile - * samples/pe/Makefile - - Removed tools lib. - - * utils/hbtest/hbtest.prg - ! Typo (suit -> suite) - * source/rtl/gtwin/gtwin.c - ! Unused variable warning fixed. - * doc/gmake.txt - ! make_tpl -> make_gnu - -20000326-03:37 GMT+1 Viktor Szakats - - - make_tpl.* - - bin/bld_tpl.* - + make_gnu.* - + bin/bld.* - + GNU-make starters renamed to better show their purpose. - + GNU-make starters modified to work like bld_gnu.*, so that they don't - need to be modified, instead they expect the HB_ envvars to be set. Now - they also throw a help screen when something is not set. - + BLD.SH bash script added to build Harbour executables. - + Other small improvements. - - * source/rtl/console.c - % DISPOUT(), DISPOUTAT(), DEVOUT() optimized - % DISPOUTAT() made even more CA-Cl*pper compatible. - ! SETPRC() made even more CA-Cl*pper compatible. - * Some variables renamed. - * source/rtl/box.c - % Small optimization. - * source/rtl/gtapi.c - + s_bInit variable added. - * utils/hbdoc/Makefile - - runner lib removed (again). - -20000325-09:22 EST Paul Tucker - * include/hbapigt.h - source/rtl/gtcrs/gtcrs.c - source/rtl/gtdos/gtdos.c - source/rtl/gtos2/gtos2.c - source/rtl/gtpca/gtpca.c - source/rtl/gtsln/gtsln.c - source/rtl/gtstd/gtstd.c - source/rtl/gtwin/gtwin.c - source/rtl/gt_tpl/gt_tpl.c - + hb_gt_DispCount() - * source/rtl/gtapi.c - * modified DispCount Handling. - -20000325-07:50 EST Paul Tucker - * source/rtl/gtwin/gtwin.c - * correct handling of the screen buffers and fix a gpf when - calling SetMode() - only noticed under Win98 - * added a todo. (for me) - -20000325-04:58 EST Paul Tucker - * source/rtl/diskspac.c - * un-opted the small opt. (fixed hang) - -20000325-05:30 GMT -3 Luiz Rafael Culik - Missed from previos session - !Changelog - Rename to Changelog.006 and started a new one - *doc/en/array.txt - doc/subcodes.txt - doc/en/command.txt - doc/en/file.txt - doc/en/string.txt - doc/en/input.txt - doc/en/tclass.txt - doc/en/set.txt - doc/en/var.txt - doc/en/memo.txt - doc/en/ht_class.txt - doc/en/objfunc.txt - doc/en/nation.txt - doc/en/misc.txt - doc/en/hvm.txt - *Small formating - +doc/en/math.txt - *docs for some math funcs - *source/tools/rtf.prg - *some Fixes - *utils/hbdoc/genrtf.prg - source/tools/rtf.prg - * some fixes and a small enhacement - -20000325-03:38 GMT+1 Viktor Szakats - - * contrib/rdd_ads/ads1.c - ! BCC55 warning fixed. - * contrib/hbclip/make_clp.bat - ! Removed hard coded path for c compiler - * utils/hbextern/hbextern.prg - * Doesn't use hbclip.ch anymore. - * source/vm/pvalue.c - doc/subcodes.txt - - HB_PVALUE() removed the runtime error. From now on NIL will be returned - if the requested parameter doesn't exist. This better fits in the - average pattern of usage, and if needed the error case can checked by - the caller. - * config/w32/global.cf - * config/dos/global.cf - * Slang and ncurses commented out for w32, added for dos but commented - out, too. - * bin/bld_tpl.* - ! GCC bug fixed (hard-coded .lib extension for the GT lib). - * source/rtl/diskspac.c - * Small opt. - * include/hbdefs.h - ! Minor fix. - -2000-03-23 20:45 GMT-5 David G. Holm - - * contrib/rdd_ads/ads1.c - * contrib/rdd_ads/adsfunc.c - * contrib/rdd_ads/rddads.h - % Made changes for MingW32 - - * contrib/rdd_ads/Makefile - + Added a Makefile for the GNU Make System - -20000322-17:35 EST Paul Tucker - * source/rtl/diskspac.c - * min() -> HB_MIN - -20000323-09:10 GMT+3 Alexander Kresin - * contrib/rdd_ads/adsfunc.c - * Fixed bug in ADSSETDELETED(), as proposed by Sid Sailors - -20000322-21:55 EST Paul Tucker - * source/rtl/diskspac.c - * accounted for possibility of retrying the operation - * (though I didn't activate it - see notes) - * optimized some assigns. - -20000322-21:10 GMT-3 Luiz Rafael Culik - Missed from previos session - *doc/en/array.txt - doc/en/binnum.txt - doc/en/browse.txt - doc/en/command.txt - doc/en/dir.txt - *Small formating - *source/rtl/dir.c - *added test to determine the borland compiler version so - the _chmod obsolete warning wont appear - *source/tools/rtf.prg - source/tools/os2.prg - source/tools/ng.prg - *some enhacement - *utils/hbdoc/genng.prg - utils/hbdoc/genrtf.prg - utils/hbdoc/genos2.prg - +code to generate tables - +code to support new subtags. - *some enhacements - -20000322-22:30 GMT-3 Luiz Rafael Culik - *doc/compiler.txt - doc/gnulice.txt - doc/harbext.txt - *Small Changes - *doc/en/binnum.txt - doc/en/command.txt - doc/en/dir.txt - doc/en/diskspac.txt - doc/en/dir.txt - doc/en/terminal.txt - doc/en/treport.txt - doc/en/tlable.txt - doc/en/readme.txt - doc/en/license.txt - doc/en/tgetlist.txt - doc/en/error.txt - *Small changes - *utils/hbdoc/genng.prg - utils/hbdoc/genos2.prg - utils/hbdoc/genrtf.prg - !fix code when a Return or Argument is only one line , to add the - propery tags to enhace the first word - -20000322-19:35 EST Paul Tucker - * include/fileio.ch - * source/rtl/diskspac.c - * Changed and reordered HB_DISK_ defines to be in the range 0-3 - * source/rtl/dskspac.c - * cap uiType to HB_DISK_TOTAL for out of range types. - * doc/en/diskspac.txt - * updated - -2000-03-22 17:25 GMT-5 David G. Holm - + source/rtl/gtpca/kbdos2.gcc - + Added hb_gt_ReadKey() support for os2/gcc platform - (I forgot to run CVS ADD on this module earlier) - -20000322-22:46 GMT+1 Viktor Szakats - - * include/hbdefs.h - - Removed EXTERNAL_LINKAGE macro, it was not used anymore. - - + contrib/hbclip/hbstodx.c - * contrib/hbclip/make_clp.bat - + HB_STOD() function added. - - * utils/hbtest/make_c5x.bat - utils/hbtest/hbtest.prg - + If the HBCLIP.LIB is built, the regression test will automatically use - it, so the STOD() tests will pass in HBTEXT5X.EXE. - - * utils/hbrun/exttools.prg - - Removed IO.C functions. - - * source/rtl/diskspac.c - source/rtl/dirdrive.c - * Doc/comment/formatting changes. - -20000322-16:40 EST Paul Tucker - * source/rtl/diskspac.c - * no windows dialogs if disk not in drive. - * Compatible error box instead. - -2000-03-22 16:35 GMT-5 David G. Holm - - * config/os2/gcc.cf - + Added HB_GT_LIB support - - * source/doc/gmake.txt - % Updated to reflect the recent changes to the GT libraries - - * source/rtl/fssize.c - + Added #include , which is required for sys/stat.h - - * source/rtl/gtpca/gtpca.c - * source/rtl/gtpca/kbdos2.gcc - + Added hb_gt_ReadKey() support for os2/gcc platform - -20000322-14:05 EST Paul Tucker - * source/rtl/diskspac.c - * made the msc and __gnuc__ branch the same. - * the diff is now for borland. - * add a note. - -20000322-16:33 GMT+1 Viktor Szakats - - - include/hbclip.ch - + contrib/hbclip/hbclip.ch - + contrib/hbclip/hbclip.prg - + contrib/hbclip/hbcolind.c - + contrib/hbclip/hbkeyput.prg - + contrib/hbclip/hbshadow.prg - + contrib/hbclip/hbstod.c - + contrib/hbclip/hbvaltoc.prg - + contrib/hbclip/make_clp.bat - + contrib/hbclip/readme.txt - - + Harbour Compatibility Library for CA-Cl*pper 5.x/'87 contribution - started. - + STOD(), HB_VALTOSTR(), HB_KEYPUT(), HB_COLORINDEX() functions added. - + Some functions from hbclip.ch also added to the library so that the - the library (HBCLIP.LIB) can be used with Clipper Summer '87. - + Header file from Harbour include dir moved here. - - * makefile.bc - makefile.vc - + Some user notes added about configuration. - - - source/tools/io.c - * include/hbapifs.h - source/rtl/diskspac.c - source/tools/Makefile - tests/tstdspac.prg - makefile.bc - makefile.vc - - Removed the internal function hb_fsDiskSpace() (the reason is that - this internal function may actually throw a Harbour runtime error.) - - Removed CD(), MD(), RD(), DISK*() from TOOLS. - - You can use these macros to access the removed functions: - (This will require HB_COMPAT_C53 and #include "fileio.ch") - - #define CD( d ) DIRCHANGE( d ) - #define MD( d ) MAKEDIR( d ) - #define RD( d ) DIRREMOVE( d ) - #define DISKUSED( d ) DISKSPACE( d, HB_DISK_USED ) - #define DISKFREE( d ) DISKSPACE( d, HB_DISK_FREE ) - #define DISKFULL( d ) DISKSPACE( d, HB_DISK_TOTAL ) - - * source/rtl/dir.c - * Some minor cleanup (CVSd in the previous session) - -20000322-13:30 GMT+1 Viktor Szakats - * source/rtl/diskspac.c - ! Workaround for GCC/Win32 (Cygwin and Mingw32). - * include/*.h - + extern "C" added for C++ builds, to better interface with plain C. - ; Note that the support is not yet complete, because the Harbour level - functions are not yet marked as extern "C". - * makefile.vc - ! Fix for exttools.prg - * tests/Makefile - samples/guestbk/makefile - samples/hscript/makefile - samples/misc/makefile - samples/pe/makefile - utils/hbdoc/makefile - utils/hbextern/makefile - utils/hbrun/makefile - utils/hbtest/makefile - ! runner lib removed from the GNU-make system - * include/hbmacro.h - + extern added where missing. - + extern declarations added for all functions in macro.c - * include/hbcomp.h - + extern added where missing. - * source/rtl/msgxxx.c - + Missing #include "hbdate.h" added. - * source/rtl/gtwin/gtwin.c - ! hb_gt_DebugScreen() made static and commented out to avoid warning. - * source/rtl/gtwin/* - ! Added "C" for externs. (later removed. Just for the record) - * source/vm/fm.c - - Commented out externs removed. - * source/compiler/harbour.y - include/hbcomp.h - include/hberrors.h - % Multiple declarations removed - * One declaration moved to hbcomp.h from harbour.y - + Some YY related functions marked as extern - * source/compiler/harbour.c - include/hbcomp.h - * Some declaration moved to hbcomp.h - * source/macro/* - + All files include hbmacro.h - * source/rtl/setpos.c - * Some changes in the comments - - include/hbdocdef.ch - + utils/hbdoc/hbdoc.ch - * utils/hbdoc/* - * Moved the private header to its private directory. - -20000322-00:05 EST Paul Tucker - + doc/en/diskspac.txt - * doc for DiskSpace(), DiskFree(), DiskUsed() and DiskFull() - * doc/harbext.txt - + added DiskSpace() to show Harbour extension (second param) - -20000321-06:57 GMT-8 Brian Hays - * doc/harbext.txt - + added SToD() - -20000322-02:25 GMT+1 Viktor Szakats - * include/fileio.ch - include/hbapi.h - include/hbapifs.h - source/rtl/diskspac.c - source/tools/io.c - * hb_DiskSpace() renamed to hb_fsDiskSpace() and moved the FS API header. - * HB_DISK_* constants moved to fileio.ch - + Added a new parameter to the Harbour level DISKSPACE() function to - enable access to the new features. This is a Harbour extenstion. - ! DISKSPACE() (and the IO.C versions) use hb_retnlen() instead of - hb_retnd(). - ! CD(), RD(), MD() are now using the FS API, so they are now working - on more platforms. - -20000321-19:58 EST Paul Tucker - * source/rtl/diskspac.c - * Borland does not see the unnamed struct that is part of ULARGE_INT. - * fix is to used the named version which MS conveniently supplied. - -20000321-18:55 EST Paul Tucker - * source/rtl/diskspac.c - * add missing { - -20000321-18:20 EST Paul Tucker - * source/rtl/diskspac.c - * Fix for borland's def of ULARGE_INTEGER - -20000321-17:05 EST Paul Tucker - * tests/Makefile - + tests/tstdspac.prg - -20000321-16:45 EST Paul Tucker - * source/rtl/diskspac.c - * Modified code since math wasn't working in '32 bit' mode - * reworked to be consistant amongst platforms. - + hb_DiskSpace() does the grunt work for all supported platforms - * DiskSpace() calls hb_diskSpace() - * source/tools/io.c - * DiskFree(), DiskUsed, DiskFull() now call hb_DiskSpace() - * include/hbapi.h - + #define HB_DISK_.... - + declaration for hb_DiskSpace() - ! Disk...() functions return a double. - + tests/tstdspac.prg - * tests for diskspace related functions - -20000321-15:08 GMT+1 Viktor Szakats - - * source/rtl/diskspac.c - + Supports larger disks than 2GB by design. - + Support added for Win95B, Win98, WinNT, Win2K to return the correct - free space for >2GB disks. (Wewwh, Win32 API *is* a strange beast ;) - - * source/rtl/seconds.c - include/hbdate.h - * hb_secondsToday() -> hb_seconds() Hack to avoid name collision removed. - - * include/hbdefs.h - pp/pplib.c - rtl/gtdos/gtdos.c - rtl/gtos2/gtos2.c - rtl/gtwin/gtwin.c - rtl/ampm.c - rtl/gtapi.c - rtl/memoline.c - rtl/round.c - vm/arrayshb.c - vm/fm.c - * HB_MIN_() -> HB_MIN() - HB_MAX_() -> HB_MAX() - -20000321-12:32 GMT+1 Viktor Szakats - - * include/hbdefs.h - + HB_FUNCNAME() macro added for Harbour name mangling: - HB_FUNCNAME( DTOC ) -> HB_DTOC - * Changed the prefix for Harbour callable functions from "HB_" to - "HB_FUN_" this way any possible collisions with internal symbols is - avoided. Previously a Harbour function with the name DYNS() would - fail to compile, using the the C generation feature of the compiler. - - * source/vm/*.c - source/rdd/* - source/pp/pplib.c - source/tools/*.c - source/rtl/*.c - source/compiler/genc.c - contrib/rdd_ads/*.c - * Uses HB_FUNC*() macros. - * Code generation modified to use HB_FUNC*() macros. - - * utils/hbextern/hbextern.prg - * Updated to scan for "HB_FUNC(" instead of "HARBOUR" - - * source/vm/runner.c - - One TODO removed - + One TOFIX added - - * source/rtl/mouseapi.c - + source/rtl/mousex.c - source/rtl/Makefile - makefile.bc - makefile.vc - + Xbase++ functions separated. - - * include/hbextern.ch - + utils/hbrun/exttools.prg - utils/hbrun/Makefile - makefile.bc - makefile.vc - * EXTERN belonging to tools moved from the central HBEXTERN.CH file to - local list in HBRUN. - % Minor optimization in makefiles. - ! HBEXTERN.CH TOFIX fixed. - - * include/hbvmpub.h - compiler/genc.c - compiler/genhrb.c - compiler/genjava.c - compiler/genobj32.c - compiler/harbour.c - compiler/harbour.y - rdd/dbfcdx/dbfcdx1.c - rdd/dbfntx/dbfntx1.c - rdd/dbf1.c - rdd/delim1.c - rdd/sdf1.c - vm/dynsym.c - vm/hvm.c - vm/runner.c - contrib/rdd_ads/ads1.c - * _HB_FS_* macros changed to HB_FS_*, since the reason for the prefix - will be nilled soon. - -20000321-07:46 GMT+1 Viktor Szakats - - * include/hbdefs.h - + HB_FUNC() macro added. This method has the advantage over the old - HARBOUR ??( void ) method, that it can be easily extended, the prefix - can be changed globally (we'll need this), and the parameter list can - be extended (later for multithreading for example). - Please use this from now on instead of the old method: - HB_FUNC( DTOC ) - { - /* ... */ - } - - * source/rtl/diskspac.c - + Uses HB_FUNC() - - * compiler/harbour.c - rtl/gtdos/gtdos.c - rtl/filesys.c - rtl/inkey.c - tools/io.c - include/hbsetup.h - + Old DOS and OS2 macros changed to HB_OS_* macros in the source. - - Old DOS and OS2 macros removed from the header. - -2000-03-20 21:55 GMT-5 David G. Holm - - * config/os2/icc.cf - * config/w32/bcc32.cf - + Added HB_GT_LIB support - - * source/rtl/gtdos/gtdos.c - * source/rtl/gtos2/gtos2.c - * source/rtl/gtwin/gtwin.c - + Added Copyright notice for hb_gt_ReadKey() - + Added missing conditionals and includes to gtos2.c for ICC - + Added hb_gt_Version() to gtos2.c - - Removed GCC conditionals and includes from gtos2.c, because - gtos2.c doesn't support GCC for screen output, so there is - little point in including keyboard input or sound suport. - -20000321-02:00 GMT+1 Viktor Szakats - - + source/vm/runner.c - - source/runner/runlib.c - - source/runner/Makefile - - source/runner/stdalone/Makefile - - source/runner/stdalone/hbrun.prg - + utils/hbrun/Makefile - + utils/hbrun/hbrun.prg - * source/Makefile - source/vm/Makefile - utils/Makefile - makefile.bc - makefile.vc - * Runner library code moved to SOURCE/VM - * Runner standalone utility moved to UTILS/HBRUN - - * source/rtl/filesys.c - + source/rtl/philes.c - - source/rtl/getenv.c - + source/rtl/gete.c - - source/rtl/stris.c - + source/rtl/is.c - source/rtl/Makefile - makefile.bc - makefile.vc - + Harbour callable low-level file handling routines moved to a separate - source file. - * Two files renamed to match Clipper. - -20000321-01:10 GMT+1 Viktor Szakats - - * source/rtl/gtapi.c - ! hb_gtBox() bottom/left corner draw bug fixed. Introduced around today. - - * source/rtl/diskspac.c - ! Fixed the default case for Win32. - ! Fixed to accept a numeric parameter instead of a string. - - * source/rtl/getenv.c - ! Fixed to not modify the item buffer directly. - ! Fixed to convert the envvar name to uppercase on DOS and OS/2 platforms. - ! Consistent handling of \0 char in the envvar name. - ! Fixed stripping of the '=' character. - - * source/rtl/strings.c - source/rtl/stuff.c - source/rtl/word.c - - Superfluous #includes removed. - -20000320-23:00 GMT-3 Luiz Rafael Culik - samples/cccppc/*.* - ! Removed contents from the CCCPPC dir - -20000320-22:30 GMT+1 Viktor Szakats - - * samples/guestbk/bld_b32.bat - ! Fixed. - -20000320-17:00 GMT+1 Viktor Szakats - - * source/vm/cmdarg.c - - Removed the GTAPI info from //BUILD info. - - * include/hbsetup.h - - Removed the HARBOUR_USE_* macros. - - Removed the HB_GT_* macros. - ! Fixed #ifdef (__EMX__) - - * source/rtl/console.c - source/rtl/gtapi.c - source/rtl/gt/* - include/hbapigt.h - + Added new GT API call: hb_gtVersion() - + The GT type is now displayed when //INFO is specified. - % Some static variable initialization moved to the init routine. - ! Setting the default cursor is done in hb_gtInit() instead of - consoleInitialize() - - * config/*/global.cf - config/*/.cf - + Added the list of possible GT drivers and the default for the - actual architecture. - The default GT driver can be selected by setting the - HB_GT_LIB envvar to the proper value. - + Added logic to add the selected GT driver to libs. - This is not complete, and could be refined for some platform, for - example to automatically link in the related slang.lib or curses.lib. - ! WARNING ! Check it with your platform. (BCC16, WATCOM, ICC not added) - - - source/rtl/gtxxx.c - - source/rtl/mousexxx.c - - source/rtl/gt/* - - source/rtl/mouse/* - + source/rtl/gtdos/* - + source/rtl/gtwin/* - + source/rtl/gtos2/* - + source/rtl/gtpca/* - + source/rtl/gtstd/* - + source/rtl/gtcrs/* - + source/rtl/gtsln/* - + source/rtl/gt_tpl/* - + source/rtl/box.c - + source/rtl/gt.c - * source/rtl/console.c - source/rtl/Makefile - bin/bld*.bat - makefile.bc - makefile.vc - * Some new file separated from console.c - - Old compile time GT driver selector files removed. - + Makefile modified to make all the drivers suitable for the platform. - The GT driver may be selected by the HB_GT_LIB envvar, but there's a - default for all platforms. This also goes for the non-GNU makefiles. - + Build batch files modified to include a default GT driver lib. - The default can be overriden with the BLD_TPL batch files by setting - the HB_GT_LIB envvar, see the help for more. - + GT + MOUSE driver code unified and moved to new self-containing - directories. Makefiles added. - % Some static variable initialization moved to the init routine. - (GTDOS, GTWIN) - ! Fixed some unused variables (GTDOS) - - + source/rtl/binnumx.c - + source/rtl/dirdrive.c - + source/rtl/datesx.c - + source/rtl/philes53.c - + source/rtl/philesx.c - + source/rtl/browdbx.prg - * source/rtl/binnum.c - source/rtl/filesys.c - source/rtl/dateshb.c - source/rtl/browdb.prg - source/rtl/Makefile - makefile.bc - makefile.vc - + Separated functions for Xbase++ and CA-Cl*pper 5.3 - - - source/tools/datesx.c - * source/tools/dates2.c - source/tools/Makefile - makefile.bc - makefile.vc - * datesx.c merged into dates2.c to avoid conflict with the new file in - RTL with the same name. - -20000320-13:45 GMT+1 Ryszard Glab - - *source/macro/macro.y - *added declaration of yyparse() function - -20000320-13:10 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * fixed compilation of empty files - - *include/hbexpra.c - *include/hbexprb.c - *source/macro/macro.c - *fixed passing of the second parameter in hb_compGenPushSymbol - - *source/rtl/gt/gtstd.c - *fixed to get a clean compile on Linux - - *source/rtl/gt/gtcrs.c - *matching #endif added - *inkey.ch added again - we need these definitions to define the - keys translation table - TOFIX - -20000319-01:35 EST Paul Tucker - * source/pp/ppcore.c - from 20000319-01:30 that didn't get posted. - -20000319-19:11 GMT+1 Viktor Szakats - * include/hbapigt.h - source/rtl/gtapi.c - source/rtl/inkey.c - source/rtl/gt/*.c - + The multiplatform inkeypoll code has been moved to the proper GT - drivers. Now the GT driver is completely self containing. - !! WARNING !! Please test this on your system with your compiler. - Tested with: W32/BCC55, DOS/BCC31 - * source/rtl/filesys.c - % Double #include removed. - * source/rtl/diskspac.c - ! Fix for DOS. - -20000319-17:47 GMT+1 Viktor Szakats - * include/hbsetup.h - ! __WINDOWS__ -> _WINDOWS_ - * include/hbdefs.h - * The #ifdef structure cleaned up. - * source/rtl/gt/gtwin.c - % hb_gt_Tone() simplified. - * source/pp/ppcore.c - ! __HARBOUR__ is now zero padded, because it's better to avoid spaces - in a macro value. - * source/rtl/console.c - source/rtl/gt/gtstd.c - source/rtl/gtapi.c - include/hbsetup.h - - Removed the non-GTAPI branch. Last one. - Now the box drawing in GTSTD is probably flawed. The non-GT code snipped - from console.c has moved to gtstd.c - + hb_gtBox() modified to draw the box from top to bottom and left to - right to better support GTSTD. Tested all weirt combination to be - CA-Cl*pper compatible. - * source/rtl/fstemp.c - ! Type fixed. - * source/vm/fm.c - source/rtl/net.c - source/rtl/oemansi.c - source/rtl/dateshb.c - % Using HB_OS_WIN_32 - + source/rtl/diskspac.c - + source/rtl/scroll.c - + source/rtl/rat.c - source/rtl/filesys.c - source/rtl/console.c - source/rtl/at.c - source/rtl/Makefile - makefile.bc - makefile.vc - * DISKSPACE() function moved into separate file. - * DISKSPACE() using HB_OS_WIN_32 - * SCROLL() function moved into separate file. - % SCROLL() function variable usage optimized (got rid of six variables). - * RAT() function moved into separate file. - * source/rtl/saverest.c - % SAVESCREEN() optimized. - * source/rtl/str.c - source/rtl/val.c - * hb_strVal() moved to val.c, where it belongs. - * source/compiler/harbour.c - include/hbcomp.h - ! extern moved to the header file. - * source/rtl/console.c - source/rtl/filesys.c - source/rtl/gtapi.c - source/rtl/gt/gtpca.c - source/rtl/dir.c - ! Fixed the file issue for Linux. - * source/rtl/do.c - source/rtl/eval.c - % Minor optimization. - * make_vc.bat - include/hbinit.h - include/hbapigt.h - source/rtl/datec.c - * Minor change. - * makefile.bc - ! Fixed for the latest compiler/macro file splits. - -20000319-01:35 EST Paul Tucker - * makefile.vc - * enable 'batch' mode for rdd.lib - * removed extra \ - + delete items from bin\vc\exe on /A - -20000319-01:30 EST Paul Tucker - * source/pp/ppcore.c - * Assign NULL to stdef->pars and value when item undef'ed - * Question: Why isn't this stuct removed from the list as well? - * source/compiler/harbour.y - * make hb_comp_szAnnounce non static - * source/compiler/harbour.c - * assign NULL to hb_comp_szAnnounce in hb_compInitVars() - -20000319-01:10 EST Paul Tucker - * contrib/rdd_ads/ads1.c - * added cast in strlen() (forgot to post previously) - -20000318-21:30 GMT+1 Ryszard Glab - - *include/hbexpr.c - -removed - *include/hbexpra.c - *include/hbexprb.c - *include/hbexprc.c - +new files with expression optimizer shared by the standalone - and the macro compilers - these files produces different code - for the compilers - - *source/compiler/expropt.c - -removed - *source/compiler/expropta.c - *source/compiler/exproptb.c - *source/compiler/exproptc.c - +new files with expression optimizer used by the standalone compiler - - *source/macro/macroa.c - *source/macro/macrob.c - *source/macro/macroc.c - +new files with expression optimizer shared by the macro compiler - - *source/common/expropt1.c - *source/common/expropt2.c - +new files with expression optimizer shared by the standalone - and the macro compilers - the common part of expression optimizer - - *source/macro/macro.l - +added HB_MACRO_SUPPORT definition - - *source/macro/macro.c - *removed including of hbexprop.h - - *include/hbexprop.h - *include/hbcomp.h - *corrected to support new design of expression optimizer - - *source/common/Makefile - *source/compiler/Makefile - *source/macro/Makefile - *makefile.bc - *makefile.vc - +added the depenencies for the new files (BC & VC not tested !) - - *source/rtl/console.c - *source/rtl/filesys.c - *source/rtl/fssize.c - *source/rtl/gtapi.c - *"io.h" is not included if OS_UNIX_COMPATIBLE is defined - (in some places #include hbsetup.h" was added to get a chance to - define OS_xxx_COMPATIBLE before it is checked) - - *source/rtl/gt/gtcrs.c - *a very basic support for colors was added - *a very basic support for inkey was added - (these two changes are for testing and checking rather than a real - solution) - -20000318-12:45 EST Paul Tucker - * contrib/rdd_ads/ads1.c - * added cast in strlen() - * make_vc.bat - * account for .dll's in copy/delete - -20000318-19:38 GMT+3 Alexander Kresin - * include/hbapirdd.h - * contrib/rdd_ads/ads.ch - * contrib/rdd_ads/ads1.c - * Internal scope functions adsScopeInfo() and adsSetScope() added - * source/rdd/dbcmd.c - * OrdScope() function implemented - * source/rtl/dummy.prg - - Ordscope() removed - -20000318-17:17 GMT+1 Viktor Szakats - * source/rtl/seconds.c - % #include removed. - * include/hbsetup.h - include/hbdefs.h - source/rtl/dateshb.c - source/rtl/environ.c - source/rtl/filesys.c - source/rtl/oemansi.c - source/rtl/net.c - source/rtl/tone.c - source/rtl/isprint.c - source/rtl/inkey.c - source/rtl/dir.c - source/vm/fm.c - - EMX macro removed (it was not used). - * __NT__ checks added where WINNT is checked. - ; Cleanup before adding better platform detection code. - + Somewhat more complete platform detection added. - * Some W32 related cleanup in the #ifdef mess in environ.c/version(). - * source/rtl/inkey.c - ! __WINDOWS__386__ -> __WINDOWS_386__ - - Removed non-GTAPI branch (which was commented out anyway). - * source/vm/mainstd.c - source/rtl/gtapi.c - * #ifdef -> #if defined() - * source/rtl/fssize.c - source/rtl/fstemp.c - + Added #include - ! Fixed some unused variable warnings. - * include/hbapigt.h - include/hbapi.h - source/rtl/tone.c - source/rtl/gtapi.c - source/rtl/gt/*.c - % The hb_tone() multiplatform spagetti code separated into OS2/W32/DOS - platforms, cleanup up the branches for MINGW32 and CYGWIN, renamed - hb_tone() to hb_gtTone()+hb_gt_Tone(), and moved the platform specific - codes to the proper GT drivers. - Please test them on your platform, especially with WATCOM and DOS in - general. - * source/rtl/console.c - source/rtl/dir.c - source/rtl/filesys.c - source/rtl/gtapi.c - source/rtl/gt/gtpca.c - % Removed some unused #includes for __CYGWIN__ - % Removed some (__DJGPP__ || __CYGWIN__ || HARBOUR_GCC_OS2) constructs - already guarded with (__GNUC__ && !__MINGW32__). Is there any other - special GNUC variant we should be aware of when #including ? - % Removed __CYGWIN__ branch for isatty() in GTAPI.C. I couldn't find a - reason why it was there since isatty() is defined and works OK (returns - TRUE for 1 and 2) in Cygwin. - ; Now there's only four __CYGWIN__ checks in Harbour. - * source/rtl/gt/gtdos.c - ! Unused variable warnings fixed. - * makefile.vc - makefile.bc - + Honors the default CFLAGS, CLIBFLAGS and HARBOURFLAGS envvar. - - Some superluous flex/bison options removed from MSVC make file. - * make_vc.bat - + CLEAN now removes .ILK and .PDB files. - * contrib/rdd_ads/*.bat - + Handles CLEAN param silently. - * source/common/hbtrace.c - - Removed my Copyright. - * include/hbpp.h - include/hbvmpub.h - include/hbsetup.h - * Minor changes. - * utils/tests/hbtest.prg - utils/tests/make_c5x.bat - * Minor changes. - -20000318-14:36 GMT+3 Alexander Kresin - * tests/db_brows.prg - * Cleaned, warnings fixed - -20000318-02:37 GMT+1 Viktor Szakats - * source/vm/memvars.c - % One variable scope adjusted. - * make_b32.bat - make_vc.bat - + They now cleans the .MAP files, too. - * source/pp/ppcore.c - ! Fixed GPF on reinitialization of #undefd macro in hb_pp_Init(). - * source/vm/main.c - source/vm/mainstd.c - * Anti-cmdline wildcard expansion stuff moved to the native main - function from the container. - * source/rtl/gtxxx.c - source/rtl/mousexxx.c - source/rtl/msgxxx.c - source/vm/main.c - + NOTE added. - * source/rtl/getenv.c - % GETENV() slightly optimized. - + source/rtl/fssize.c - + source/rtl/fstemp.c - * include/hbapifs.h - include/hbextern.ch - source/rtl/Makefile - makefile.bc - makefile.vc - + Added these new FS API calls: - - hb_fsSize() to get the size of a file either by reading the directory - record, or the real size with seek. - - hb_fsTempName() to get a temporary filename. - - hb_fsCreateTemp() to create a temporary file. - + Added these Harbour functions: - HB_FSIZE() - HB_FTEMPNAME() - HB_FTEMPCREATE() - + Added hb_fsFLock() and hb_fsFUnLock() macros. - Thanks to Jose Lalin - -2000-03-17 19:10 GMT-5 David G. Holm - * doc/gmake.txt - + Documented the need to have "CYGWIN" set to "noglob" to - avoid having Harbour and Harbour created programs expand - wildcard command line arguments (it's a run-time check). - * source/vm/main.c - + Added code to disable command line wildcard expansion by - DJGPP and MINGW32. - -20000317-18:00 GMT+1 Viktor Szakats - * source/vm/maindll.c - ! __BORLAND__ -> __BORLANDC__ - * source/rtl/environ.c - ! GETENV() - Fixed handling of the second parameter. - * include/hbapi.h - source/rtl/strings.c - * HB_ISSPACE() macro moved to the central header. - * utils/hbtest/hbtest.prg - * DTOS() -> DTOC() in header. - + source/vm/arrayshb.c - source/vm/arrays.c - source/vm/Makefile - makefile.bc - makefile.vc - + Separated the Harbour and C array API level. - + source/rtl/abs.c - + source/rtl/accept.c - + source/rtl/ampm.c - + source/rtl/at.c - + source/rtl/chrasc.c - + source/rtl/colorind.c - + source/rtl/datec.c - + source/rtl/dateshb.c - + source/rtl/defpath.c - + source/rtl/eval.c - + source/rtl/fkmax.c - + source/rtl/fnsplit.c - + source/rtl/getenv.c - + source/rtl/gx.c - + source/rtl/left.c - + source/rtl/lennum.c - + source/rtl/maxrow.c - + source/rtl/minmax.c - + source/rtl/mod.c - + source/rtl/pad.c - + source/rtl/replic.c - + source/rtl/right.c - + source/rtl/round.c - + source/rtl/run.c - + source/rtl/saverest.c - + source/rtl/seconds.c - + source/rtl/setcurs.c - + source/rtl/setpos.c - + source/rtl/shadow.c - + source/rtl/space.c - + source/rtl/str.c - + source/rtl/strcase.c - + source/rtl/stris.c - + source/rtl/strmatch.c - + source/rtl/strtran.c - + source/rtl/strzero.c - + source/rtl/stuff.c - + source/rtl/substr.c - + source/rtl/trim.c - + source/rtl/val.c - + source/rtl/valtostr.c - source/rtl/strings.c - source/rtl/console.c - source/rtl/dates.c - source/rtl/math.c - source/rtl/inkey.c - source/rtl/samples.c - source/rtl/do.c - source/rtl/environ.c - source/rtl/set.c - source/rtl/setcolor.c - source/rtl/filesys.c - source/rtl/Makefile - makefile.bc - makefile.vc - + Separated almost all RTL source files into smaller pieces. - There are 41 new files now. The original CA-Cl*pper source filenames - were used where possible. - -20000317-10:53 GMT+1 Viktor Szakats - * include/hbclass.ch - ! To avoid warning _CLASS_NAME_ is #undef-ed before #define-ed. - * include/hbpp.h - source/compiler/hbgenerr.c - source/pp/* - ! nEmptyString global variable prefixed with "hb_" - ! nEmptyString declaration moved to the header file. - * utils/hbdoc/genhpc.prg - ! Fixed redefinition of #define. - -20000317-09:56 GMT+3 Alexander Kresin - * source/pp/stdalone/hbpp.c - * source/pp/ppcomp.c - * source/pp/ppcore.c - * source/pp/pplib.c - * source/compiler/hbgenerr.c - * fixed line number output for errors and warnings - * hb_pp_init() changed for supporting multiply files compiling - * warning in addDefine about duplicate define uncommented - * contrib/rdd_ads/adsfunc.c - * typo fixed ( HB_ADCUSTOMIZEAOF -> HB_ADSCUSTOMIZEAOF ) - -20000317-01:09 GMT+1 Viktor Szakats - * source/rtl/console.c - - Removed the non-GT branch from __ACCEPT(). - * source/vm/cmdarg.c - + PC ANSI added. - - non-GT mode removed. - * source/rtl/gt/gt*.c - ! Fixed some trace calls. - ! One declaration made static. - ! One function call fixed in GTCRS.C. - -20000317-00:13 GMT+1 Viktor Szakats - * source/rtl/gt/gtpca.c - + Some internal functions made static - * makefile.bc - ! It's not relying on the default CC and AS macros, to make it work - on BCC45 without any cludges. BCC45 MAKE.EXE is defaulting to bcc or - bcc32 depending on the WIN32 macro. - * source/rtl/maindll.c - ! Fixed to compile with BCC45 - * source/rtl/console.c - ! Some fixes later fixed again (see next session). - -20000316-04:10 EST Paul Tucker - * source/rtl/gt/gtpca.c - * added casts - -20000316-02:50 EST Paul Tucker - * source/rtl/gtapi.c - * removed extraneous ';' - -2000-03-16 02:30 GMT-5 David G. Holm - * include/hbapigt.h - * include/hbsetup.h - * source/rtl/console.c - * source/rtl/gtapi.c - * source/rtl/gtxxx.c - * source/rtl/gt/gt_tpl.c - * source/rtl/gt/gtcrs.c - * source/rtl/gt/gtdos.c - * source/rtl/gt/gtos2.c - * source/rtl/gt/gtsln.c - * source/rtl/gt/gtstd.c - * source/rtl/gt/gtwin.c - - Removed all occurrences of HARBOUR_USE_GTAPI from console.c. - + Added hb_gtAdjustPos() to console.c, gtapi.c and hbapigt.h. - + Added hb_gt_AdjustPos() to all gt/ sources and hbapigt.h. - + Added rudimentary PC ANSI.SYS low-level driver (gtpca.c, - which is missing stuff such as scrolling screen regions). - + Added HB_GT_PCA to hbsetup.h and gtxxx.c (in fact, I replaced - HB_GT_STD with HB_GT_PCA in gtxxx.c, because the default case - is to use HB_GT_STD). - -20000316-02:04 GMT+1 Viktor Szakats - * source/pp/ppcore.c - ! C++ comment changed to ANSI C - * source/runner/runlib.c - ! Fixed MSVC /W3 warnings. - ! Fixed one BCC55 -w warning (the only -w warning which really made sense.) - * include/hbclass.ch - include/assert.ch - * Some // comments changed to /**/. Cosmetics only. - * contrib/rdd_ads/makefile.vc - contrib/rdd_ads/ads1.c - contrib/rdd_ads/adsfunc.c - + MSVC warning level raised to /W3 - ! MSVC /W3 warnings fixed. - * include/hbver.h - * Date updated. - -20000315-18:00 EST Paul Tucker - * source/tools/hb_f.c - * source/rtl/gt/gtwin.c - * source/rtl/gtapi.c - * added explicit casts to remove warnings. - -2000-03-15 19:00 GMT-5 David G. Holm - * source/rtl/tone.c - ! Rearranged include file #elif list to test for __CYGWIN__ - before testing for the various Windows manifest constants - and added a couple of explicit tests for __CYGWIN__ instead - of relying on the WINNT manifest constant. - -20000315-16:23 GMT+1 Viktor Szakats - * include/hberrors.h - source/pp/ppcore.c - source/pp/pplib.c - source/compiler/hbgenerr.c - + Added warning when a macro is doubly defined. - !! IMPORTANT TOFIX !!: The filename and line number will not be shown in - every cases, and even if shown it will wrong. - ! The PP related static variables are now initialized in hb_pp_Init(); - !! IMPORTANT TOFIX !!: The tables in PPTABLE.C should also be - reinitialized on hb_pp_Init() to make multiple file compiling work. - ; Until these are not fixed the warning is commented out. - * include/hbver.h - + HB_VER_MINOR changed to 32 (Harbour is now version 0.32) - * HB_VER_REVISION bumped to "a" - * source/compiler/hbusage.c - source/compiler/genc.c - source/compiler/genjava.c - source/pp/stdalone/hbpp.c - source/rtl/environ.c - + Also shows the MAJOR/MINOR Harbour version. - * The revision letter is now shown after the version number, not the - build. - -20000315-14:28 GMT+1 Viktor Szakats - * include/hbvmpub.h - include/hbcomp.h - include/hbmacro.h - source/compiler/genc.c - % From now on hbpcode.h is not included in every file, to save compile - time. !! WARNING !! All .PRGs must be rebuilt. - * source/* - % Removed some superfluous #include "" directives, to save compile time. - The whole inclusion system checked. - * tests/test.frm - ! Re-uploaded in binary mode. - * makefile.bc - * Minor change. - -20000315-08:08 GMT+1 Viktor Szakats - * source/rtl/filesys.c - source/rtl/console.c - source/rtl/binnum.c - source/rtl/errorapi.c - source/rtl/samples.c - source/rtl/tone.c - source/rtl/inkey.c - source/vm/memvars.c - source/vm/classes.c - source/vm/hvm.c - include/hbexpr.c - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - ! Fixed MSVC /W3 warnings - % In HVM.C hb_vmPopNumber() and hb_vmPopDouble() synchronized. - % In HVM.C several hb_vmPopDouble() calls changed to hb_vmPopNumber() - which is faster. - % hb_vmNegate() optimized. - * hb_vmPlus() and hb_vmMinus() synchronized. - * hb_vmAnd() and hb_vmOr() synchronized. - ! Two static variables prefixed with "s_". - * makefile.vc - + /W1 changed to /W3 to raise the code quality. - * source/pp/pptable.c - - removed declaration of __HARBOUR__ - % changed chain of static DEFINES accordingly - (Provided by Jose Lalin) - * source/pp/ppinit.c - + added declaration of __HARBOUR__ - ! Now __HARBOUR__ gets the value from HB_VER_MAJOR/MINOR - like others compilers. If HB_VER_MAJOR/MINOR is equal to - zero (as they are now) then __HARBOUR__ is equal to 1 by default. - (Provided by Jose Lalin) - * source/rtl/environ.c - * long -> ULONG (in GETENV()) - * source/rtl/inkey.c - * long -> ULONG (in __KEYBOARD()) - * include/hbvm.h - source/vm/hvm.c - * hb_vmPushDate( LONG ) -> hb_vmPushDate( long ) - * LONG -> long for hb_vmPopDate() - * source/vm/dynsym.c - source/vm/arrays.c - source/rtl/binnum.c - source/rtl/strings.c - source/rtl/filesys.c - ! LONG -> long - All this to be consistent with the current API. The next step will be - to clear up the long vs. LONG question in the ITEM related things. - * makefile.bc - - Removed explicit BCC32/BCC, TASM/TASM32 selection, the MAKE.EXE is - used from now on (from BUILTINS.MAK) - * make_vc.bat - + Deletes the .PCH file in the OBJ dir. - -20000314-13:35 EST Paul Tucker - * makefile.vc - * added a few additional comments on recurrsion. - * ... and thanks to Viktor Szakats for the fine fine-tuning. - -20000314-18:56 GMT+1 Viktor Szakats - * include/hbdefs.h - source/rtl/dates.c - source/rtl/filesys.c - source/rtl/net.c - source/rtl/oemansi.c - source/rtl/tone.c - source/vm/maindll.c - source/vm/mainwin.c - source/vm/fm.c - ! MSVC will compile out of the box, and doesn't require the _Windows macro - to be #defined. - * makefile.vc - contrib/rdd_ads/makefile.vc - % Made it much smaller (again) using recursion. HARBOUR.EXE is called - with multiple source files at a time, so it's faster now. - The new files have to be added only in one place to the makefile. - Thanks to Paul Tucker. - % -D_Windows hack removed. - * Minor enhacements. - -20000314-07:56 GMT+1 Viktor Szakats - * source/compiler/harbour.c - ! A few more global variables are reinitialized between files, when - multiple files are passed at the command line. Note the ANNOUNCE-d - symbols and possibly other things are not yet cleared. - -20000314-07:11 GMT+1 Viktor Szakats - * makefile.vc - makefile.bc - make_*.bat - * Other parts synchronized between the two make systems. - + makefile.vc will also compile mainwin.c, maindll.c and mainstd.c - instead of main.c. - ! MSVC makefile fixed to create objects for .EXE in the obj dir. - This way the exact same files are generated in the obj dir in Borland - and MSVC. - - Removed the generation of bison .output file. - * source/macro/macro.l - ! Fixed two warnings introduced yesterday. - * source/vm/maindll.c - ! _export changed to __declspec(dllexport) to avoid a warning in MSVC. - - contrib/rdd_ads/make_rdd.bat - - contrib/rdd_ads/rddads.b32 - + contrib/rdd_ads/make_b32.bat - + contrib/rdd_ads/makefile.bc - * contrib/rdd_ads/readme.txt - + Standardized Borland make for RDDADS. - -20000314-01:30 GMT+1 Viktor Szakats - * make_*.bat - contrib/rdd_ads/make_vc.bat - ! copy command fixed to work on more OSs. (reported by Jose) - ! Get rid of the ECHO Y trick, to make it work on non-English systems. - (reported by Jose) - * Changed all DEL commands to not use plain *.* but *.ext instead, since - it will not wait for a questoin in the latter case. Please report it - if your DOS doesn't work this way. - * makefile.vc - % Makes use of the multiple .PRG file feature of Harbour. - - MASM doesn't create .CRF and .LST files anymore, to make the CLEAN - process simpler. - -20000313-21:00 GMT+1 Viktor Szakats - * source/compiler/harbour.c - ! Fixed not to display a newly added message when -q is specified. - * makefile.bc - % Macro names synchronized with makefile.vc. Note that BCC_OPT has changed - to CFLAGS. - % Made more compact and robust. - * makefile.vc - * Minor changed. - -20000313-15:57 GMT+1 Viktor Szakats - * source/compiler/cmdcheck.c - source/compiler/harbour.c - source/compiler/hbusage.c - source/compiler/gen*.c - include/hbcomp.h - + Added processing of multiple .PRG files passed to the Harbour compiler. - * contrib/rdd_ads/makefile.vc - + Minor changes. - * makefile.vc - % Optimized MSVC make process, much smaller and faster. - Thanks go to Paul Tucker. - -20000313-13:20 GMT+1 Viktor Szakats - * contrib/rdd_ads/adsfunc.c - ! Two casts added for MSVC. - * contrib/rdd_ads/make_vc.bat - + CVS ID added. - * contrib/rdd_ads/makefile.vc - % Streamlines and standardized. (use standard dir specs, create .c and - .obj files in central obj dir.) - -20000313-12:40 GMT+1 Viktor Szakats - * source/rtl/inkey.c - ! Fixed to work with STD_GTAPI on Win32. - * bin/bld_tpl.* - + user32.lib added for MSVC - * source/rtl/oldbox.c - - Removed non-GT branches. - ! __BOX() fixed handling of the fifth parameter. - * source/rtl/console.c - * OS_DOS_COMPATIBLE -> OS_UNIX_COMPATIBLE - * source/rtl/achoice.prg - source/rtl/text.prg - source/rtl/tgetlist.prg - % Removed #include "set.ch", since it's included anyway with the - built-in (default) PP rules. - * makefile.bc - + NOTE added about "echo." - -20000313-12:42 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * Little bug fixed in adsAppend() - -2000-03-12 21:50 GMT-5 David G. Holm - * source/compiler/harbour.y - ! Added missing ( char * ) override for C++ on line 1549. - -20000312-15:18 EST Paul Tucker - * makefile.vc - * standardise compile for tone.c and oemansi.c - + add user32.lib to hbrun.exe and hbdoc.exe - * source/rtl/tone.c - * include hbdefs.h (for windows.h) for msvc - * bin\bld_vc.bat - + user32.lib - -20000312-16:24 GMT+1 Viktor Szakats - * makefile.bc - ! "echo" commands changed to "echo.", to avoid conflict with an ECHO.EXE - in the path. Tested OK with DOS/BCC16/31 and WIN32/BCC32/55 - * source/vm/hvm.c - ! #include "windows.h" -> - * source/rtl/gt/gtwin.c - source/rtl/mouse/mousewin.c - source/rtl/dates.c - source/rtl/dir.c - source/rtl/environ.c - source/rtl/filesys.c - source/rtl/inkey.c - source/rtl/isprint.c - source/rtl/net.c - source/rtl/oemansi.c - source/vm/fm.c - include/hbdefs.h - - include/hbwinapi.h - include/Makefile - * hbwinapi.h functionality moved to hbdefs.h (which is always included - first) - * All #include "hbwinapi.h" and #include changed to - #define HB_OS_WIN_32_USED - ! Now the inclusion of windows.h doesn't depent on the requested GT mode. - So it's possible to link for the Win32 platform a non-GT mode Harbour. - !!WARNING!! Since this change involves many platform/compiler - combinations, please test it on yours and report any possible errors. - WIN32/MINGW32, WIN32/GCC, WIN32/BCC32/55, DOS/BCC16/31, WIN32/MSVC have - been tested. - * source/rtl/inkey.c - source/rtl/environ.c - ! Fixed to use WINNT macro after the #include section. - ! Code dependent on the GT API fixed. - * include/hbcomp.h - source/compiler/cmdcheck.c - source/compiler/hbusage.c - source/compiler/harbour.l - source/compiler/harbour.c - - Removed the Harbour /10 option, instead now HB_SYMBOL_NAME_LEN should - be used at build time to set the maximum symbol length. - If you build Harbour with /DHB_SYMBOL_NAME_LEN=10, it will be 100% - CA-Cl*pper compatible in this respect. - * include/hbapi.h - source/macro/macro.c - source/macro/macro.l - * bName10 structure member replaced with uiNameLen in HB_MACRO. Now - the HB_SYMBOL_NAME_LEN is the one and only setting which controls the - maximum symbol name length in Harbour. - * include/hbsetup.h - - Removed some duplicated platform detection code. - + Added 10 character symbol name compatibility mode when STRICT_COMPAT - is requested. It's commented out. - * include/hb*.h - % Cleaned up and flattened the header file inclusion tree. - * include/hbsetup.h - makefile.vc - makefile.bc - + Shorter GTAPI selection macros added, to reduce scrolling/line wrapping - while building, and HB_ is the standard prefix anyway. Currently both - the short and the old long #defines will work. The new ones: - HB_GT_STD - HB_GT_DOS - HB_GT_OS2 - HB_GT_WIN - HB_GT_CRS - HB_GT_SLN - % Makefiles changed to use the new format. - -20000312-13:58 GMT+1 Viktor Szakats - * source/tools/io.c - ! __DOS__ -> DOS - * config/linux/gcc.cf - config/w32/msvc.cf - - Removed -DDEBUG - * config/dos/bcc16.cf - config/os2/icc.cf - config/w32/bcc32.cf - - Removed the default HARBOUR_USE_???_GTAPI define switches, to be in - sync with the other GNU-make platforms. - WARNING! You have to specify this manually like: - set C_USR=-DHARBOUR_USE_DOS_GTAPI - set C_USR=-DHARBOUR_USE_OS2_GTAPI - set C_USR=-DHARBOUR_USE_WIN_GTAPI - * include/hbapifs.h - - Removed the #include "hbapifs.h". - * source/rtl/mouse/mousedos.c - * Small formatting. - -20000312-07:10 EST Paul Tucker - * contrib/rdd_ads/ads1.c - added a couple of casts - * contrib/rdd_ads/make_vc.bat - copy the lib to ..\..\lib on success - -20000312-13:04 GMT+1 Viktor Szakats - * source/rtl/set.c - source/rtl/memofile.c - source/rtl/gt/gtstd.c - ! HB_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE - -20000312-14:20 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads.ch - * contrib/rdd_ads/adsfunc.c - + full set of AOF functions added: - AdsClearAOF() - AdsCustomizeAOF() - AdsEvalAOF() - AdsGetAOF() - AdsGetAOFOptLevel() - AdsGetAOFNoOpt() - AdsIsRecordInAOF() - AdsRefreshAOF() - AdsSetAOF - - * contrib/rdd_ads/ads1.c - + functions added: - adsSetFilter() - adsClearFilter() - -20000312-04:55 EST Paul Tucker - * source/rtl/dir.c - use _chmod( f,0 ) to get attribs. - -20000312-03:40 GMT+1 Viktor Szakats - * include/hbdefs.h - include/hbinit.h - include/hbsetup.h - source/rtl/gt/gtdos.c - source/rtl/mouse/mousewin.c - source/rtl/copyfile.c - source/rtl/environ.c - source/rtl/filesys.c - source/rtl/inkey.c - source/rtl/isprint.c - source/tools/io.c - source/vm/itemapi.c - source/vm/maindll.c - source/vm/mainwin.c - * Platform/compiler related #ifdef-s changed to #if defined() for easy - GREP. - -20000311-23:00 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * include/hbapirdd.h - * source/rdd/dbcmd.c - * source/rdd/dbf1.c - * source/rdd/dbfcdx/dbfcdx1.c - * uncommented scope functions in header file and added declarations to - virtual method tables in *.c files - -20000311-18:52 GMT+1 Viktor Szakats - - include/hbinkey.h - - include/hbapimou.h - * include/hbapigt.h - include/Makefile - include/hbset.h - source/rtl/mouse/* - source/rtl/mouseapi.c - source/rtl/console.c - source/rtl/inkey.c - source/rtl/tone.c - source/rtl/set.c - source/vm/hvm.c - * Mouse and keyboard related declaration moved to the central IO header - hbapigt.h. This is a step to a common/modular IO interface. - -20000311-17:54 GMT+1 Viktor Szakats - - include/hbcursor.h - - include/hbbox.h - * include/hbapigt.h - include/Makefile - source/rtl/console.c - source/rtl/gtapi.c - * Two header files merged into the mainstream GT header. - ! B_* box #defines renamed to _B_* to be CA-Cl*pper compatible. - * include/hbapigt.h - source/rtl/gt/*.c - * Low-level hb_gt_SetPos(), hb_gt_Row(), hb_gt_Col() uses SHORT instead - of USHORT, to be in sync with the GT API. - WARNING! Please test the different API drivers. GTWIN was the only - one tested. - * source/rtl/console.c - source/rtl/gt/gtstd.c - * hb_setpos() removed, non-GT API functionality moved to gtstd.c, all - hb_setpos() calls changed to hb_gtSetPos(). - * source/rtl/console.c - % QOUT() small optim., variable scope adjusted. - ! __EJECT() fixed to always reset PROW() and PCOL() - + TOFIX added for __EJECT() since in Clipper it always prints a eject, - regardless of the SET DEVICE setting. - % SAVESCREEN() optimized. - ! RESTSCREEN() fixed to check the fifth parameter, like in CA-Cl*pper. - * source/rtl/console.c - % hb_gtSetPos() small optim. - * source/rtl/dir.c - ! chmod() changed back to _rtl_chmod(). - -20000311-19:16 GMT+3 Alexander Kresin - + contrib/rdd_ads/make_vc.bat - + contrib/rdd_ads/makefile.vc - * contrib/rdd_ads/ads1.c - * contrib/rdd_ads/adsfunc.c - Added makefiles for VC - Fixed some warnings - All the above I've got from Matteo Baccan - -20000309-13:24 EST Paul Tucker - * source\rtl\gtapi.c - * Initialize s_iCurrentRow and s_iCurrentCol - -20000308-18:05 GMT+1 Viktor Szakats - * makefile.vc - ! Small correction. - * make_tpl.* - bin/bld_tpl.* - ! "<>" chars around the email address replaced with "()", since it - confused some OSes. - * source/rtl/tget.prg - ! TOFIX added. - -20000308-15:05 GMT+1 Ryszard Glab - - *source/rtl/gt/gtstd.c - *replaced s_szCrLf with hb_consoleGetNewLine() - -20000308-00:40 GMT+1 Viktor Szakats - * samples/Makefile - samples/cccppc/* (scheduled for removal, since it's huge) - samples/guestbk/Makefile - samples/hscript/Makefile - samples/misc/Makefile - samples/pe/Makefile - samples/guestbk/bld_b32.bat - samples/hscript/bld_b32.bat - * Updated. (not tested) - * samples/Makefile - - cccppc removed from the list. - -20000308-00:14 GMT+1 Viktor Szakats - * include/hbver.h - * Version bumped to 0.32 2000-03-07 - * config/w32/gcc.cfg - ! Added user32 to the library list to make OEMANSI.C link. - * doc/whatsnew.txt - + Date filled. - -20000307-23:26 GMT+1 Viktor Szakats - * makefile.vc - ! UNISTD.H problem solved with another method, now it doesn't leave - the temporary UNISTD.H in the INCLUDE dir, so that it will not conflict - with the GCC make process. - -20000307-21:06 GMT+1 Viktor Szakats - * doc/whatsnew.txt - + Build 31c things added. - * source/rtl/dir.c - % Flattened an #ifdef maze. - * _rtl_chmod() changed to the less specific chmod(). - ! Fixed the other three Borland warnings. - - Removed unused parts from the code. - -20000307-14:20 GMT-3 Luiz Rafael Culik - *utils/hbdoc/genrtf.prg - source/tools/rtf.prg - *small changes - *utils/hbdoc/genng.prg - *source/tools/ng.prg - *Added code to display tables - *source/tools/os2.prg - *utils/hbdoc/genos2.prg - *Fixed generating of IPF file, thanks to a compilatation log send by Chen - *source/rtl/dir.c - *fixed warning on chmod on borland compilers - *doc/en/array.txt - doc/en/Browse.txt - doc/en/dir.txt - doc/en/error.txt - doc/en/file.txt - doc/en/ht_dbf.txt - doc/en/ht_doc.txt - doc/en/ht_gt.txt - doc/en/ht_str.txt - doc/en/hvm.txt - doc/en/imput.txt - doc/en/menu.txt - doc/en/misc.txt - doc/en/objfunc.txt - doc/en/rdd.txt - *Some formating. Their was many docs that the text starts on line 8 or 7 - !removed empty tag from the docs - -20000307-17:34 GMT+1 Viktor Szakats - ; Now the non-GNU make process reorganization can be considered done. - * make_b16.bat - make_b32.bat - make_vc.bat - contrib/rdd_ads/make_rdd.bat - + After a successful make process they will now copy all executables and - libraries to their final directory bin/ and lib/. - * bin/bld_b16.bat - bin/bld_b32*.bat - bin/bld_vc.bat - * Now they all look for the libraries directly in the lib/ directory, this - way these batch files are compatible with the GNU-make system. - + bin/b16/empty - + bin/b32/empty - + bin/vc/empty - makefile.bc - makefile.vc - + The Borland and MSVC build process changed to generate the executables - in different bin directories to completely separate them and to be - compatible with the GNU-make system. - * Makefile - - obj/Makefile - - obj dir removed from the GNU-make process. - * source/rtl/console.c - ! USHORT changed to SHORT for MSVC. - -20000307-16:36 GMT+1 Viktor Szakats - * bin/bld*.* - - "-5" options removed (again). - * Now none of them remove the .c file. - ! Borland make files fixed. Changed the order of options. - * Borland batch files synchronized with bld_tpl.* - ; Tested BCC16 and BCC32. - * source/rtl/gt/* - source/rtl/gtapi.c - ! hb_gt_ReadKey() made common for all GT types. OS specific branch removed. - + TOFIXes added to gtwin.c for all the places where the API calling - rules are violated, so that the upper level API is called from a - lower one. - * source/rtl/console.c - ! SETCURSOR(), RESTSCREEN() fixed when called with more parameter then - required. - % Minor optimization. - % Got rid of a few non-GTAPI branches. - % s_iDevRow and s_iDevCol removed. - !! WARNING !! Non-GT mode has not been tested. Also some more tests - would be good for the GT mode. - + TOFIXes added for all places where the API calling rules are violated, - so that an API level is skipped and the low-level API is directly - called. - * source/rtl/mouseapi.c - - Removed one TODO - * One ULONG changed back to USHORT and a cast added. - - tests/strip - + tests/stripem.prg - tests/Makefile - * Renamed to avoid conflict with the GNU STRIP.EXE. - * source/runner/stdalone/hbrun.prg - + Year updated. - * tests/regress/* - makefile.bc - makefile.vc - + "-" switch char added. - + Header added - + -?, /? options and help screen added. - ! Typos fixed. - * Renamed to HBTEST - - tests/regress/* moved to - + utils/hbtest/* - tests/Makefile - utils/Makefile - makefile.bc - makefile.vc - * Regression Test Suit moved to another directory. It's a better place - since it was a bit problematic to handle a subdir from the tests dir - in the GNU-make system. (it got only build when install was specified - or only after all the small tests programs were built) - * Makefile - * utils moved before tests - - make_b40.bat - make_b32.bat - - Removed this version specific batch file. - The -O2 option was removed for BCC40 due to PP bugs back then, ? and ?? - was not PP-ed properly. Anyone could test this now ? - If it still doesn't work I will add a warning to MAKE_B32.BAT about that. - * makefile.bc - * B40 option renamed to BCC_NOOPTIM to be more generic. - -20000307-09:20 EST Paul Tucker - * makefile.vc - * create unistd.h moved to first target - -20000307-12:35 GMT+1 Viktor Szakats - * source/pp/hbpp.c -> ppcore.c - source/pp/hbppint.c -> ppcomp.c - source/pp/hbpplib.c -> pplib.c - source/pp/table.c -> pptable.c - source/pp/Makefile - makefile.bc - makefile.vc - * Renamed to avoid collision with other files in the make process - (currently the standalone hbpp.c) - * bin\bld_vc.bat - - Removed -DDEBUG and -DHARBOUR_USE_WIN_GTAPI, they are not needed to - compile a generated C output. - * makefile.bc - bin\bld_*.bat - + Changed names of libraries. Now they are compatible with the GNU-make - library names. - ; NOTE: Since now Harbour has a common library naming system, which is - used in all make systems. Documentation can refer to them in the - $FILES$ section. - -20000307-03:45 EST Paul Tucker - * doc/gmake.txt - - removed note about unistd.h for msvc - -20000307-03:30 EST Paul Tucker - * makefile.vc - * reorganised - * change names of libraries - * create unistd.h if needed - * bin/bld_vc.bat - * modified to change names of libraries - -20000307-03:36 GMT+1 Viktor Szakats - * include/hbclip.ch - + All Harbour extensions included. (HB_*()) - ! HB_SHADOW() #xtranslate fixed. - * utils/hbextern/hbextern.prg - * Cleanup. - -20000307-02:55 GMT+1 Viktor Szakats - * makefile.bc - makefile.vc - ! trace.c was missing. - * makefile.bc - ! dbftools.c was missing. - * include/hbextern.ch - ! Updated. - * source/vm/harbinit.prg - * Modified so that HBEXTERN will recognize its PROCEDURES. - + utils/hbextern/hbextern.prg - + utils/hbextern/make_c5x.bat - + utils/hbextern/Makefile - + HBEXTERN.CH generator added. (work of Ryszard Glab) - * include/hbclip.ch - + hb_Shadow() added. - * source/rtl/inkey.c - source/rtl/console.c - source/vm/cmdarg.c - contrib/odbc/odbccall.prg - source/rtl/alert.prg - doc/en/input.txt - source/debug/debugger.prg - * __ARGCHECK -> HB_ARGCHECK - __ARGSTRING -> HB_ARGSTRING - __ARGC -> HB_ARGC - __ARGV -> HB_ARGV - __SHADOW -> HB_SHADOW - __KEYPUT -> HB_KEYPUT - Name of some Harbour internal functions changed to better reflect that - they are Harbour extensions. - -2000-03-06 20:05 GMT-5 David G. Holm - * tests/regress/Makefile - ! Several of the supported platforms begin program execution with - the first object module listed when the executable is created, - which means that it is necessary to list the rt_main object - module first in the Makefile. - -20000306-22:12 GMT+1 Viktor Szakats - - tests/ee.lbl - - tests/ee.frm - + tests/test.lbl - + tests/test.frm - * tests/testrpt.prg - tests/testlbl.prg - * EE.* renamed to TEST.* - * makefile.bc - makefile.vc - + TODO added. - - include/unistd.h - * doc/gmake.txt - makefile.vc - - UNISTD.H addition (20000306-17:34 GMT+1) undone. - - config/dos/bcc31.cfg - + config/dos/bcc16.cfg - config/dos/global.cfg - make_tpl.* - bin/bld_tpl.* - doc/gmake.txt - doc/funclist.txt - * Renamed. - * bin/bld_tpl.* - + lib list made common for all platforms. - + BCC32 added for bld_tpl.*. - * bin/bld_tpl.* - source/runner/stdalone/Makefile - tests/Makefile - tests/regress/Makefile - utils/hbdoc/Makefile - ! Changed the order of libs to make it work after the VM/RTL moves. - * tests/parexpr.prg - tests/testwarn.prg - ! Warnings treaten as non-fatal (with #pragma). - * tests/memvar.prg - tests/testvars.prg - ! Warnings fixed. - * tests/dates.prg - ! A PROC was returning a value. - - include/hbrptlbl.ch - source/rtl/tlabel.prg - source/rtl/treport.prg - * Public #defines from a public header moved to the only source - files where they are used. - -20000306-17:34 GMT+1 Viktor Szakats - + include/unistd.h - * doc/gmake.txt - makefile.vc - + Dummy UNISTD.H added to the Harbour /INCLUDE directory to make it - compile with MSVC and IBM Visual Age C++ out of the box. - -20000306-15:37 GMT+1 Viktor Szakats - * contrib/rdd_ads/ads1.c - ! FS_* macros renamed to _HB_FS_* - -20000306-13:25 GMT+1 Viktor Szakats - * include/hberrors.h - - Obsolete WARN_NONDIRECTIVE #define removed. - * include/hbdefs.h - + NOTE added. - * include/hbvmpub.h - compiler/genc.c - compiler/genhrb.c - compiler/genjava.c - compiler/genobj32.c - compiler/harbour.c - compiler/harbour.y - rdd/dbfcdx/dbfcdx1.c - rdd/dbfntx/dbfntx1.c - rdd/dbf1.c - rdd/delim1.c - rdd/sdf1.c - runner/runlib.c - vm/dynsym.c - vm/hvm.c - vm/initsymb.c - * FS_* macros renamed to _HB_FS_* - * include/hbver.h - compiler/genc.c - compiler/genjava.c - compiler/hbusage.c - pp/stdalone/hbpp.c - rtl/environ.c - * Version #define name prefixed with HB_VER_ and converted to - uppercase. - * include/hberrors.h - compiler/cmdcheck.c - compiler/genc.c - compiler/genhrb.c - compiler/genjava.c - compiler/genobj32.c - compiler/harbour.c - compiler/harbour.l - compiler/harbour.y - compiler/hbfunchk.c - compiler/hbgenerr.c - pp/stdalone/hbpp.c - pp/hbpp.c - * ERR_ and WARN_ macros prefixed with HB_COMP_ or HB_PP_. - -20000306-11:56 GMT+1 Viktor Szakats - * include/clipdefs.h - ! Includes hbapi.h instead of extend.h to avoid compile error - reported by Matteo. - -20000305-08:38 GMT-8 Brian Hays - * tests/testop.prg - * doc/en/command.txt - + added Operator Overloading test and reference to it in METHOD Command - -20000306-04:43 GMT+1 Viktor Szakats - * source/rtl/cmdcheck.c - ! -gc0 switch got removed. Added again. - * config/rules.cf - makefile.bc - makefile.vc - % -gc0 switch added to speed up make process. - The size of the obj/b32 dir after a make was 8.9MB before, - and 7.7MB after. - * source/vm/debug.c - doc/en/hvm.txt - ! One $DOC$ left in the source moved to the docs dir. - * source/vm/hvm.c - ! One variable name standardized and made static. - * source/rdd/dbf1.c - ! Unused variable warning fixed. - * source/rtl/transfrm.c - ! Borland warning fixed. - ! TRANSFORM(,"@") case fixed. Three more tests pass in RT_MAIN. - * source/vm/memvars.c - ! hb_memvarValueNew() Borland warning fixed. Comment added. - * source\tools\hb_f.c - ! Borland warning fixed. - % IT_NUMBER changed to the standard IT_NUMERIC - -20000305-13:47 GMT+1 Viktor Szakats - * source/rtl/empty.c - source/rtl/valtype.c - ! Item->type access change to API call. - % Optimized. Some variables and branches removed. - * source/rtl/strings.c - ! All direct item accesses changed to Item API calls. - % Some calls eliminated by using local variables. - * source/rtl/arrays.c - source/rtl/break.c - source/rtl/classes.c - source/rtl/codebloc.c - source/rtl/extend.c - source/rtl/fm.c - source/rtl/harbinit.prg - source/rtl/initexit.c - source/rtl/itemapi.c - source/rtl/memvars.c - source/rtl/pcount.c - source/rtl/proc.c - source/rtl/pvalue.c - + All these files moved to source/vm/* - Now only the functions in VM are using low-level Harbour structures. - * makefile.bc - makefile.vc (not tested) - source/rtl/Makefile - source/vm/Makefile - * Make files changed according to the RTL->VM moves. - -20000304-08:20 GMT-3 Luiz Rafael Culik - *utils/hbdoc/genrtf.prg - *source/tools/rtf.prg - *small changes - *utils/hbdoc/genhtm.prg - *Fixed warnings reported by Andi - *doc/en/rdd.txt - *some docs changed - *doc/en/set.txt - *doc/en/browse.txt - *doc/en/string.txt - *Small formating - -20000303-17:50 GMT-3 Luiz Rafael Culik - *utils/hbdoc/genrtf.prg - *small changes - *Fixed warnings reported by Victor - *source/tools/rtf.prg - *Small Changes - *doc/en/ht_doc.txt - doc/en/ht_file.txt - doc/en/ht_conv.txt - *Small Formating - *doc/en/file.txt - *Added new Docs - *doc/en/set.txt - Added new Docs - -20000303-20:50 GMT+1 Viktor Szakats - * include/*.api - ! Changed header filenames to the new ones. - -20000303-02:06 GMT+1 Viktor Szakats - + tests/regress/rt_init.ch - + tests/regress/rt_vars.ch - + Added. - -2000-03-02 15:10 GMT-5 David G. Holm - * compiler/Makefile - * macro/Makefile - ! Several include files were still using the old names - (i.e., they didn't have an "hb" prefix). - -20000302-20:44 GMT+1 Viktor Szakats - * contrib/rdd_ads/ads1.c - ! All direct item accesses changed to Item API calls. - * source/compiler/cmdcheck.c - makefile.bc - makefile.vc - ! Fixed OBJ32 support. - (Note that for some unknown reason the linker GPF on Harbour executables - when the OBJ generation is turned on, and the .OBJ format is also - rejected by the linker. Tested with BCC53 and BCC55) - * source/compiler/genobj32.c - + Stub added for non OBJ32 support mode. - * make*.bat - + They also delete the .LOG file on CLEAN. - * source/gt/* - * Minor formatting. - -20000302-17:45 GMT+1 Viktor Szakats - * tests/regress/* - % Modified to take advantage of the code inclusion feature of the PP. - * source/rdd/dbcmd.c - ! All direct item accesses changed to Item API calls. - ! Fixed direct item string buffer access in DBSETDRIVER() - % Variable scopes and some other minor things optimized. - + Static variables prefixed with "s_" - % LASTREC() is now of the same speed as RECCOUNT() (minor enh.) - ! DBSETDRIVER(), RDDSETDEFAULT(), __RDDSETDEFAULT() synchronized. - ! DBSETDRIVER(), RDDSETDEFAULT(), __RDDSETDEFAULT(), RDDREGISTER(), - DBCREATE() - Fixed potential GPF on very large driver names. - * source/rtl/itemapi.c - include/hbapiitm.h - + Added hb_itemGetDL( PHB_ITEM pItem ) to easily retrieve the julian - date from a date item. - * source/rtl/arrays.c - include/hbapi.h - + Added hb_arrayGetDL( PHB_ITEM pArray, ULONG ulIndex ) - Same as above. - * source/rtl/arrays.c - source/rtl/descend.c - source/rtl/empty.c - source/rtl/memvars.c - source/rtl/math.c - ! hb_itemGetNL() calls changed to hb_itemGetDL() calls for date items. - * source/rdd/dbf1.c - source/rdd/dbfcdx1.c - source/tools/dates2.c - source/rtl/dates.c - ! All direct item accesses changed to Item API calls. - * source/rtl/do.c - ! One direct item access changed to Item API calls. - * doc/en/misc.txt - ! One copyright fixed. - * source/rtl/alert.prg - ! Comments changed to standard NOTE/TOFIX format. - * source/compiler/genc.c - + Small alignment in the .C output format. - * .cvsignore - + Added b32/, b16/ and vc/ dirs - (Committed in the previous session) - -20000302-11:21 GMT+1 Viktor Szakats - * config/rules.cf - makefile.bc - makefile.vc - + -es2 added as a default Harbour switch. - WARNING! HBDOC will not compile, since it has warnings. - * contrib/* - include/* - doc/* - source/* - * Changed the name of all header files, which didn't have a "hb" prefix. - WARNING! All .PRG files must be recompiled. Note that from now on the - most common header file EXTEND.H is only a CA-Cl*pper compatibility - file, in for new Harbour code you should use HBAPI.H instead. - - errorapi.h -> hbapierr.h - filesys.h -> hbapifs.h - gtapi.h -> hbapigt.h - itemapi.h -> hbapiitm.h - langapi.h -> hbapilng.h - mouseapi.h -> hbapimou.h - rddapi.h -> hbapirdd.h - box.h -> hbbox.h - compiler.h -> hbcomp.h - setcurs.h -> hbcursor.h - dates.h -> hbdate.h - expropt.h -> hbexprop.h - init.h -> hbinit.h - inkey.h -> hbinkey.h - macro.h -> hbmacro.h - pcode.h -> hbpcode.h - set.h -> hbset.h - ctoharb.h -> hbvm.h - hb_vmpub.h -> hbvmpub.h - extend.h -> hbapi.h - hbfsapi.h -> hbapifs.h (merged into) - -20000302-12:35 GMT+1 Ryszard Glab - - *source/pp/hbpp.c - *moved #include after harbour specific definitions - are defined (OS_UNIX_COMPATIBLE) - (BTW: is this include file really needed ? ) - - *source/rtl/typefile.prg - *removed RETURN NIL in a PROCEDURE - -20000301-15:20 EST Paul Tucker - * source/tools/strasint.c - * remove extraneous characters at end. - -20000301-14:10 GMT-3 Luiz Rafael Culik - *doc/en/ARRAY.TXT - *added Copyright header - *small changes to the docs - *doc/en/FILE.TXT - *small changes to the docs - *source/tools/rtf.prg - *source/tools/os2.prg - *source/tools/html.prg - *Some changes to generate a better output - *utils/hbdoc/hbdoc.prg - *Changes to reflect the new file outputs - *utils/hbdoc/genrtf.prg - *utils/hbdoc/genhtm.prg - *utils/hbdoc/genos2.prg - *Changes to reflect the changes of the classes - *utils/hbdoc/hrb.rsp - *utils/hbdoc/hrbtools.rsp - *Change to use the new docs dir - -20000301-14:34 GMT+1 Viktor Szakats - * source/rtl/console.c - source/rtl/oldclear.c - % Removed more non-GTAPI branches. - * source/rtl/tgetlist.prg - % One FUNCTION converted to PROCEDURE - * source/rtl/setfunc.prg - * NOTE made more clear. - * source/rtl/setkey.prg - * Changed to three chars indentation - * source/rtl/arrays.c - * Minor change in comment. - -20000301-10:15 GMT+2 Chen Kedem - * doc/en/ARRAY.TXT - * doc/en/BINNUM.TXT - * doc/en/BROWSE.TXT - * doc/en/DIR.TXT - * doc/en/ERROR.TXT - * doc/en/FILE.TXT - * doc/en/HVM.TXT - * doc/en/INPUT.TXT - * doc/en/MENU.TXT - * doc/en/MISC.TXT - * doc/en/OBJFUNC.TXT - * doc/en/SET.TXT - * doc/en/TERMINAL.TXT - * doc/en/TGETLIST.TXT - * doc/en/VAR.TXT - * Modify copyright detail for function/commands I wrote - ! NOTE: Individual copyright holder should check his/her doc work - to make sure creadits are given to the right person - -20000301-03:04 GMT+1 Viktor Szakats - * source/pp/* - include/hbpp.h - + Added support for __DATE__ and __TIME__ predefined macros. - Note that this will not work in the library version. - * hb_pp_AddDefine() fixed to work without any hacks from the caller side. - * hb_pp_Init() moved to hbpp.c and is used from standalone hbpp.c, too. - * doc/funclist.txt - + "+T" symbol explained. - * source/rtl/filesys.c - - Some "add documentation" note removed. - + One copyright added. - -20000229-23:13 GMT+1 Viktor Szakats - + doc/en/array.txt - + doc/en/binnum.txt - + doc/en/browse.txt - + doc/en/command.txt - + doc/en/dir.txt - + doc/en/error.txt - + doc/en/file.txt - + doc/en/ht_class.txt - + doc/en/ht_conv.txt - + doc/en/ht_dbf.txt - + doc/en/ht_doc.txt - + doc/en/ht_file.txt - + doc/en/ht_gt.txt - + doc/en/ht_str.txt - + doc/en/hvm.txt - + doc/en/input.txt - + doc/en/license.txt - + doc/en/memo.txt - + doc/en/menu.txt - + doc/en/misc.txt - + doc/en/nation.txt - + doc/en/objfunc.txt - + doc/en/rdd.txt - + doc/en/readme.txt - + doc/en/set.txt - + doc/en/string.txt - + doc/en/tclass.txt - + doc/en/terminal.txt - + doc/en/tgetlist.txt - + doc/en/tlabel.txt - + doc/en/treport.txt - + doc/en/var.txt - + English documentation readded separated from the source files. - -20000229-22:00 GMT+1 Viktor Szakats - * source/rtl/* - source/rdd/dbcmd.c - source/tools/* - include/hbclass.ch - - source/rtl/readme.prg - - source/rtl/licence.prg - - Removed docs from source. - -20000227-11:47 GMT+1 Viktor Szakats - * source/rtl/console.c - ! Fixed non-GT API mode initialization. - * source/rtl/typefile.prg - - Removed unused code. - * source/runner/stdalone/hbrun.prg - + Now shows the Harbour version which it's linked with. - * source/rtl/console.c - source/rtl/strings.c - ! RTL_TEST.PRG reference removed, since this file no longer exists. - * source/rtl/inkey.c - % Variable scope adjusted. - * contrib/rdd_ads/rddads.b32 - + Use the BCC_OPT setting. - -20000227-00:39 GMT-8 Brian Hays - * include/hbclass.ch - ! added Docs for all Class Commands - * source/rtl/tclass.prg - % Started docs for class creation - * source/rtl/achoice.prg - * source/rtl/alert.prg - * source/rtl/arrays.c - * source/rtl/break.c - * source/rtl/console.c - % misc. edits for docs - -20000227-10:58 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * Bug fixed in adsRawLock() ( code proposed by Sid Sailors ) - * adsOrderInfo() corrected, added support for ORDFOR(), ORDBAGNAME(), ORDNAME() - * source/rdd/dbcmd.c - * pInfo.ItmOrder initialized with NULL, where it is necessary - ( Viktor Szakats proposal ) - -20000227-08:59 GMT+2 Chen Kedem - * source/rtl/binnum.c - + doc for all function - - * source/rtl/filesys.c - * small formating for the docs - ! in FSEEK() doc $EXAMPLES$ I'd changed "RETURN" into "substr" - - * source/rtl/word.c - + add the "INCOMPATIBILITY:" note into $COMPLIANCE$ section - * change "INCOMPATIBILITY:" into "NOTE:" - - * source/rtl/typefile.prg - * modified to save the state of SET DEVICE and SET PRINTER - * modified to search the file on DEFAULT and PATH directories if needed - + add support for error recovery Retry and Default - + doc for __TYPEFILE() - -20000225-19:58 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * Bug fixed in adsGetValue() - -20000224-19:05 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * Corrected handling of bof()/eof() - * Fixed some warnings - -2000-02-23 14:00 GMT-5 David G. Holm - * source/rtl/inkey.c - ! KEYBOARD ";" now returns INKEY() == 13, just like Clipper. - -20000223-18:36 GMT+1 Viktor Szakats - * source/rtl/tbrowse.prg - ! Fixed return values of methods to be Clipper compatible. - * source/vm/hvm.c - + HB_INCLUDE_WINEXCHANDLER #ifdef added to control the inclusion of - the Windows specific exception handler. Temporary solution. - * contrib/rdd_ads/ads1.c - ! Extentions converted to lower case. - ! Some small fixes. - * include/set.h - source/rtl/set.c - source/rtl/setcolor.c - source/rtl/console.c - source/rtl/gt/gtstd.c - % Reduced the GT vs. non-GT branches. Heading in the direction where - there's no non-GT API mode, just a Standard/Stream GT API mode. - In other words the point is to eliminate *all* HARBOUR_USE_GTAPI - checks. - * source/rtl/inkey.c - ! __KEYBOARD() fix by Matteo. - * source/rtl/strings.c - source/rtl/dummy.prg - source/rtl/filesys.c - source/rtl/oemansi.c - ! Minor formatting fixes. - -20000222-07:30 GMT-3 Luiz Rafael Culik - *doc/harbext.txt - *Small changes - *source/rtl/filesys.c - *Finish rewriting docs stolen from Clipper Ng - *source/rtl/strings.c - *source/rtl/oemansi.c - *source/rtl/tlabel.prg - *source/rtl/treport.prg - + Add missing copyrigth for the docs - *source/rdd/dbcmd.c - *small changes to the docs - *source/tools/html.prg - *Changed to generate the new HTML template - *utils/hbdoc/genhtm.prg - *utils/hbdoc/hbdoc.prg - *Changed to generate the new HTML template output - -2000-02-21 15:45 GMT-5 David G. Holm - * config/rules.cf - * config/w32/bcc32.cf - * config/w32/global.cf - % Changes to make more compatible with all Windows 32-bit platforms - -20000221-14:58 GMT+3 Alexander Kresin - * source/pp/stdalone/hbpp.c - * source/pp/hbppint.c - * added cast - -20000221-08:50 GMT+2 Chen Kedem - * source/rtl/objfunc.prg - * Update docs to reflect changes made by Victor (20000220-14:30 GMT+1) - -20000220-06:20 GMT-8 Brian Hays - * source/tools/ng.prg - * source/tools/os2.prg - * source/tools/rtf.prg - * source/tools/troff.prg - * edited docs - -20000220-03:40 GMT-8 Brian Hays - * doc\gnulice.txt - * Removed extraneous headers and Table Of Contents - -20000220-23:05 GMT+3 Alexander Kresin - * contrib/rdd_ads/ads1.c - * memo handling changed - proposal of Brian Hays - * contrib/rdd_ads/ads1.c - * improvement of AdsKeyNo() and AdsKeyCount() - -20000220-19:55 GMT+3 Alexander Kresin - * source/pp/stdalone/hbpp.c - * source/pp/hbppint.c - * source/pp/hbpp.c - * corrected .ppo output - removed empty lines in #include files, as - CA-Cl*pper does it - -20000220-14:30 GMT+1 Viktor Szakats - * ../FT_HELPC.PRG - ../HA.LNK - ../bldfthe.bat - ! Trying to remove trash from the root of the repository. - * source/rtl/objfunc.prg - - Removed the runtime errors if the method/data to be deleted doesn't - exist, or the method/data to be added already exist. Reasons: These - error cases are better handled manually by the developer if needed. - ! PLEASE UPDATE THE DOCS ! - * makefile.bc - bin/bld_b32.bat - bin/bld_b32w.bat - ! Removed -5 option since this breaks Harbour on 386/486. Add - this to your local BCC_OPT setting if needed. - -20000220-12:22 GMT+2 Chen Kedem - * doc/cvs_ssh.txt - + Add CVS ID - * doc/gnulice.txt - ! Fixed CVS ID - * source/rtl/setfunc.prg - * source/rtl/tgetlist.prg - + Add missing copyrigth for the docs - -20000219 11:10 Brian Hays - * doc\gnulice.txt - * Formatted to NG specs - -20000219-09:10 GMT-3 Luiz Rafael Culik - *makefile.bc - *Added -5 Option to the Bcc32 command line - *bin/bld_b32.bat - *bin/bld_b32w.bat - *Added -5 Option to the Bcc32 command line - PS: I added the -5 command line option , since the console output - Runs faster - -20000219-07:02 GMT-3 Luiz Rafael Culik - * source/rtl/environ.c - ! Added missing $ONELINER$ token to the __run() function - -20000219 07:10 Brian Hays - *doc/harbext.txt - *Added usage of @() - -2000-02-18 17:30 GMT-5 David G. Holm - - + doc/cvs_ssh.txt - + New file with information on how to get CVS to work with SSH. - - * source/rtl/environ.c - ! Corrected the VERSION() documentation to describe how the function - actually works (the use of any parameter returns both the Harbour - and C compiler versions). - % Removed explicit tests for DJGPP, CYGWIN, MINGW32, and OS/2 GCC - for the __RUN() function and replaced them with a test for GNUC, - so that all Gnu C versions of Harbour can use the RUN command. - - * tests/version.prg - % Changed the second call to VERSION to use a NIL parameter to show - that the use of any parameter will cause both the Harbour and C - compiler versions to be printed, regardless of the parameter value. - -20000218-21:32 GMT+3 Alexander Kresin - * source/pp/stdalone/hbpp.c - * corrected accordingly last changes - * source/pp/hbppint.c - * call of HB_TRACE fixed - -20000218-15:23 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * source/pp/hbppint.c - * Bug fixed, reported by Brian Hays - -20000218-10:02 GMT-3 Luiz Rafael Culik - *doc/compiler.txt - doc/readme.txt - Small formating by Brian Hays - *source/rtl/typefile.prg - *Fixed to use the Habour RTL - -20000218-00:04 GMT+1 Viktor Szakats - - source/runner/stdalone/external.prg - * makefile.bc - makefile.vc - source/runner/stdalone/Makefile - - Removed EXTERNAL.PRG, since it's no longer needed. - * source/rtl/typefile.prg - + TOFIX added about non-standard class usage. - ! CVS ID fixed (again). - -20000217-15:22 EST Paul Tucker - * source/pp/hbppint.c - * added cast - -20000217-23:00 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * source/pp/hbppint.c - * source/pp/hbpplib.c - * source/pp/stdalone/hbpp.c - * source/compiler/harbour.y - * include/compiler.h - * accepting of statements in include files implemented - * pp now generate #line statements - -20000217-09:00 GMT-3 Luiz Rafael Culik - *doc/vm.txt - doc/harbext.txt - doc/tracing.txt - doc/statics.txt - doc/readme.txt - doc/pragma.txt - doc/pcode.txt - doc/gmake.txt - doc/cvshowto.txt - doc/compiler.txt - *Small formating by Brian Hays - *source/rtl/typefile.prg - *Fixed a worning reported by Victor - *utils/hbdoc/hbdoc.prg - *utils/hbdoc/genos2.prg - *utils/hbdoc/gentrf.prg - *utils/hbdoc/genng.prg - *utils/hbdoc/genhtm.prg - *utils/hbdoc/genrtf.prg - *utils/hbdoc/genhpc.prg - *utils/hbdoc/genasc.prg - *Small fixes - -20000217-10:08 GMT+3 Alexander Kresin - * source/pp/hbpplib.c - * added hb_comp_files declaration to fix error while hbrun compiling - -20000217-00:39 GMT+1 Viktor Szakats - * source/rtl/Makefile - + typefile.prg - -20000216-23:05 GMT+3 Alexander Kresin - * source/pp/hbppint.c - * source/compiler/harbour.l - * source/compiler/harbour.y - * include/hbpp.h - * some changes needed for implementation of pp feature ( accepting of - statements in include files ) - -20000216-13:12 EST Paul Tucker - * makefile.vc - + source/rtl/typefile.prg - -20000216-06:00 GMT-3 Luiz Rafael Culik - *makefile.bc - *added the typefile makefile - *doc/funclist.txt - *update status of __typefile functions - +doc/gnulice.txt - *Gnu license - *doc/subcodes.txt - *added one more subcode - *source/rdd/dbcmd.c - *Some docs changed - *source/rtl/dummy.prg - *removed __typefile reference - *source/rtl/environ.c - source/rtl/memvars.c - *small formating to the docs - *source/rtl/treport.prg - *source/rtl/tlabel.prg - *Added the function docs - *source/rtl/typefile.prg - *__TYPEFILE function - *source/rtl/set.c - *small formating to the docs - *source/rtl/strings.c - *small formating to the docs - *utils/hbdoc/genng.prg - *small changes - *utils/hbdoc/alpha.lnk - *utils/hbdoc/hrb.lnk - *Small changes - -20000216-00:07 EST Paul Tucker - * makefile.vc - + source/rtl/tlabel.prg - + source/rtl/treport.prg - -20000216-04:17 GMT+1 Viktor Szakats - * source/rtl/tbrowse.prg - ! SAY -> DispOutAt() - ! Value is better converted before displayed, now it's completely like - CA-Cl*pper 5.2. - ! Fixed calculating of the columns fitting on the screen. - ::LeftDetermine(), ::Stabilize() - + Added a bunch of NOTEs and TOFIXes. - % Optimization in Hilite() - * source/rtl/tbcolumn.prg - ! Fixed column width calculations. (still not perfect, but better) - * makefile.bc - makefile.vc - * Harbour options changed to -q0 and -w - * source/vm/hvm.c - + Added the Win32 exception handler rountine experimentally, it's - commented out. - * source/rtl/itemapi.c - * Some minor change in comments. - -20000215-20:53 GMT+1 Viktor Szakats - * source/rtl/tgetlist.prg - source/rtl/dummy.prg - doc/funclist.txt - + __SETFORMAT() added - + GETAPPLYKEY() added - + GETREADER() added - + __KILLREAD() added - * config/header.cf - ! Checks if the HB_ARCHITECTURE and HB_PLATFORM envvars are set, if - not it simply does nothing instead of going into an infinite loop. - * contrib/rdd_ads/rddads.b32 - ! Fixed a typo (rddasd -> rddads). - -20000215-13:22 GMT+1 Philip Joseph - * contrib/rdd_ads/ads1.c - + added DbrLockList() functionality. - + added IndexOrd() functionality. - ! Fixed adsOrderListAdd() for setting up the default index. - ! Fixed table, index and memo file extensions. - * contrib/rdd_ads/adsfunc.c - ! Modified HB_ADSSETDELETED() for making similar to clipper - set deleted command. - -20000214-19:35 GMT+1 Ryszard Glab - - *source/compiler/expropt.c - *source/macro/macro.c - *include/hbexpr.c - * fixed generation of incorrect HB_P_MACROSYMBOL pcode when - &( expression ) syntax was used - - *tests/tstmacro.prg - * cleared to allow Clipper compatible syntax only - -20000214-17:10 GMT+1 Viktor Szakats - * config/w32/bcc32.cf - ! Fixed so that it doesn't require the non-standard HARBOURDIR envvar - to be set. - + Added -d flag - * config/dos/bcc.cf - + Added -d flag - * config/lib.cf - config/test.cf - config/dir.cf - config/bin.cf - ! Checks if the HB_ARCHITECTURE and HB_PLATFORM envvars are set, if - not it simply does nothing instead of going into an infinite loop. - -20000214-09:15 GMT+1 Viktor Szakats - * tests/* - ! Fixed missing CVD IDs (again and again). - -20000214-07:50 GMT+1 Viktor Szakats - * source/rtl/mouse/mousedos.c - ! static variables marked as static. - * source/rtl/dates.c - - QUESTION removed. - * source/rtl/* - source/rtl/mouse/* - source/rtl/gt/* - source/common/* - source/compiler/* - source/rdd/* - source/vm/* - source/tools/* - tests/* - tests/regress/* - * Name change. - -20000214-06:32 GMT+1 Viktor Szakats - * *.bat - + .LOG file is only shown when there was some error. - * source/rtl/itemapi.c - ! hb_itemStr() fixed for 16bit Borland compilers. Log(0) was causing - a domain error. - * source/rtl/gtdos.c - ! Borland warnings fixed. - * source/rtl/mousedos.c - ! Fixed hb_mouse_GetBounds(). - (Have this function been ever tested/compiled ??) - - ; COMMENT: Borland 16 bit support is still broken. Large symbol tables and - strings makes the final .EXE exit without any messages. HBDOC works, - HBRUN not, RT_MAIN not (but it can work if larger parts are removed). - xmemset() and xmemcpy() crashes for larger values (like 100000), - and the symbol processing used to fail right on startup. - -20000214-03:50 GMT+1 Viktor Szakats - * bin/bld_b*.bat - bin/bld_vc.bat - + Made in sync with each other, updated the lib file lists. - * makefile.bc - ! Changed hbpp.lib to pp.lib (again) - ! Fixed NULSYS.LIB generation bug. - -20000214-03:21 GMT+1 Viktor Szakats - * *.bat - + Added CLEAN command to batch files. - Use: MAKE_VC.BAT CLEAN to cleanup all the generated files - (EXE,LIB,OBJ,...) - + Added optional parameter forwarding to the make process. - * source/rtl/mainwin.c - source/rtl/maindll.c - ! Fixed to compile only for 32bit Windows platform. - * makefile.bc - % INCLUDE_DIR simplified. - % Merge duplicate strings option added as a default. - ! main -> mainstd - + dbgmenu.prg added. - + source/debug/dbgmenu.prg (added) - source/debug/debugger.prg - source/debug/Makefile - makefile.vc - * BuildMenu() function moved to a separate source file, so that it - now compiles fine with Harbour Borland 16bit. - * source/vm/cmdarg.c - ! Too small buffer fixed. (GPF-ed with B16) - -20000213-23:59 GMT+1 Viktor Szakats - ! makefile.bc - ! Fixed again. - * source/rtl/Makefile - + treport.prg and tlabel.prg added. - * tests/testrpt.prg - tests/testlbl.prg - ! CVS ID added. - - include/rptdef.ch - + include/hbrptlbl.ch - include/Makefile - source/rtl/tlabel.prg - source/rtl/treport.prg - ! rptdef.ch renamed to hbrptlbl.ch - + hbrptlbl.ch added to Makefile - ! Small corrections to hbrptlbl.ch - + Indentation fixed. - ! .FRM/.LBL changed to lowercase. - ! RETURNs without value fixed. - ! RG_ changed to RGT_ - + #include "error.ch" added. - ! One mistyped variable name fixed. - * "=" changed to ":=" and "==" - * source/rtl/fm.c - ! // comments changed to /**/ - * include/hbtrace.h - ! Minor correction. - -20000213-15:50 GMT-3 Luiz Rafael Culik - *makefile.bc - *added the treport and tlabel to the makefile - *doc/funclist.txt - *update status of __reportform() and __labelform() functions - *include/rptdef.ch - *include file for TLabelForm and TReportForm - *source/rtl/tlabel.prg - +__labelform() function - *source/rtl/treport.prg - +__reportform() function - +tests/testlbl.prg - *test file for __labelform() function - +tests/testrpt.prg - *test file for __reportform() function - +tests/ee.frm - +tests/ee.lbl - *report and label files for the examples - -20000213-16:15 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * line number opcodes are correctly generated inside IF/ENDIF, - WHILE/END - - *source/macro/macro.c - * fixed unreleased memory when database alias was used - - *source/macro/macro.y - * fixed unreleased memory when invalid syntax was found during - macro string parsing - - *include/hbexpr.c - * added more tracing information - - *source/common/hbstr.c - * hb_strdup() reports the length of a string in tracing info - - *source/rtl/gt/gtdos.c - * fixed unreleased memory block - - *include/hbtrace.h - *source/common/hbtrace.c - * added HB_TRACE_STEALTH definition to print tracing information - without changing filename/linenum information - * hb_tr_trace() doesn't clear filename/linenum info on exit - this - info is used in fm.c to store the location of code that requested - memory allocation - - *source/rtl/fm.c - * when HB_TR_LEVEL is set to HB_TR_DEBUG then allocated memory blocks - store C function name and line number instead of PRG filename/linenum - This allows to easy locate the source of unrealeased memory blocks - -20000213-13:27 GMT+1 Viktor Szakats - ! makefile.bc - ! Some bugs fixed related to the previous change. - -20000213-12:04 GMT+1 Viktor Szakats - - makefile.b32 - - makefile.b16 - + makefile.bc - make_b*.bat - + Merged to functionality of makefile.b16 into makefile.b32 resulting in - a generic makefile.bc for all Borland compilers. - Note that MAINDLL.C, MAINWIN.C, SYMBOLS.ASM should be fixed to be - multiplatform, and currently the 16bits Borland choks on DEBUGGER.PRG. - But it mostly works. The old makefile.b16 was completely outdated. - + Added HARBOUR_OPT support. - * doc/* - ! Fixed and standardized CVS ID for the rest of files. - -20000213-11:32 GMT+2 Chen Kedem - * doc/readme.txt - * doc/statics.txt - * doc/whatsnew.txt - ! CVS ID fixed (sorry) - -20000213-11:23 GMT+2 Chen Kedem - * doc/compiler.txt - * doc/readme.txt - * doc/statics.txt - * doc/whatsnew.txt - * Formating for 80 column (actually 76 like the NG standard) - + CVS ID added - -20000213-04:02 GMT+1 Viktor Szakats - * source/compiler/cmdcheck.c - ! Fixed broken handling of the /x switch without parameter. - * *.bat - * make*.err changed to make*.log - * makefile.vc - + NOTE: added about UNISTD.H - * makefile.b32 - ! Fixed the fix for the HARBOURY.H not found error in some Borland - compilers. Now the same compile command is used than *was* already - used previously with MACROL.C, so it should work now. - -20000212-22:50 GMT-3 Luiz Rafael Culik - *source/rdd/dbcmd.c - *Some docs changed - *source/rtl/fieldbl.prg - *source/rtl/memvars.c - *source/rtl/tone.c - *source/tools/fileread.prg - *Added status to the Doc - *Makefile.b32 - *Added obj\b32 to the include dir - *source/rtl/strings.c - *Fixed VAL() function provided by Jose Lanin - -20000212-14:00 GMT+1 Ryszard Glab - - *source/macro/macro.l - *source/macro/macro.y - * fixed recognition of FIELD-> syntax - -20000212-12:22 GMT+1 Philip Joseph - * contrib/rdd_ads/ads1.c - + Added adsCreate function for creating ads tables. It also supports - adt tables with short names. - -20000212-02:30 GMT+1 Viktor Szakats - * include/gtapi.h - + NOTE: added about incompatibilities between Harbour and CA-Cl*pper - GT interface. - * makefile.b32 - - Removed -v option (debug info) from 4.0 mode. - -2000-02-11 19:15 GMT-5 David G. Holm - * source/rtl/inkey.c - ! First pass at international character support for Windows console mode. - -20000211-23:05 GMT+1 Viktor Szakats - * make*.bat - * The different make systems generate log files with different names. - -20000211-22:31 GMT+1 Viktor Szakats - * makefile.vc - ! Modified to generate all the intermediate .c/.y/.l files in the obj dir - instead of the original files' dir, since this way the make process - is not conflicting with the GNU-make system, so they can be used in - parallel. - * HBDOC is generated in the BIN directory. - + RT_MAIN generation added. - + Added nulsys.lib - + obj/b16/empty - + obj/b32/empty - + obj/vc/empty - * makefile.b32 - makefile.b16 - makefile.vc - + From now on the intermediate files are generated in the obj\b16, - obj\b32 and obj\vc depending on the build system. This way the Borland - and Microsoft make systems will not conflict and can be used in parallel. - -20000211-19:37 GMT+1 Viktor Szakats - * ha.lnk -> categ.lnk - harbour.lnk -> alpha.lnk - harbour.rsp -> hrb.rsp - harbwww.rps -> hrbtools.rsp - makewww.bat -> genhtm.bat - * Some files renamed. - -20000211-19:11 GMT+1 Viktor Szakats - * source/rtl/Makefile - - readvar.prg removed. - * doc/harbext.txt - + CVS ID added - !! Please remember to add this to every file CVS-d !! - * tests/bld_b16.bat - tests/bld_b32.bat - tests/bld_b32o.bat - tests/bld_b32w.bat - tests/bld_vc.bat - * Files moved to the bin\ directory. - - tests/test_all.lnk - - Blinker specific, probably obsolete file removed. - * doc/cvshowto.txt - bin/bld_tpl.* - make_tpl.* - * My name changed to the real one. - * source/rtl/tbcolumn.prg - ! NOFIX: -> TOFIX: - -20000211-09:33 GMT+1 Patrick Mast - + doc/harbext.txt - * This contains the Language and RTL extensions of Harbour - -20000210-22:55 EST Paul Tucker - * makefile.vc - - source/rtl/readvar.prg - -20000211-04:15 GMT+1 Antonio Linares - * makefile.b32 - - readvar.prg removed. - (please update other makefiles) - -20000211-04:15 GMT+1 Antonio Linares - * source/rtl/tgetlist.prg - * proper support for ReadVar() - - - source/rtl/readvar.prg - * removed. It was obsolete. - - * tests/testread.prg - * enhanced to test ReadVar() when pressing F2 - -20000210-23:53 GMT+1 Viktor Szakats - * include/hboo.ch - source/rtl/classes.c - source/rtl/tclass.prg - ! HB_OO_ONERROR renamed to HB_OO_MSG_ONERROR - * source/rtl/tgetlist.prg - + Added READVAR() support for the GETs. - * include/* - source/rtl/readvar.prg - * My name changed to the real one. - * source/rtl/filesys.c - ! Minor formatting fix. - -20000210-14:45 EST Paul Tucker - * makefile.vc - * temporarily - not defining _Windows for tone.c and oemansi.c - -2000-02-10 13:50 GMT-5 David G. Holm - - * source/rtl/tone.c - ! Borland C does not support Beep() under Windows. - -20000210-13:30 EST Paul Tucker - * makefile.vc - + /D_Windows to compiler flags - * source/rtl/tone.c - * change _WINDOWS_ back to _Windows - -20000210-15:15 GMT+3 Alexander Kresin - * source/rtl/setfunc.prg - * minor bug fixed: - #include "common.ch" was missed, so ISCHARACTER() - caused 'unresolved external' message while app linking - -20000210-13:20 GMT+1 Ryszard Glab - - *source/compiler/harbour.l - * fixed syntax for RETURN statement - - *source/compiler/hbgenerr.c - * changed warning level for 'unreachable code' - it will be generated - if /w2 option is used - - *source/genc.c - * fixed 'unused "wSym" variable' warning - - *tests/keywords.prg - * added some more code related to RETURN statement - -20000209-22:37 EST Paul Tucker - * source/rtl/tone.c - * change _Windows to _WINDOWS_ - * assign 0 to temp if ifdefs' not matched - * makefile.vc - * correct building of hbdoc.exe - -20000209-22:10 EST Paul Tucker - * makefile.vc - * move hbdoc.exe to bin - -20000210-03:44 GMT+1 Viktor Szakats - * makefile.vc - * HBTOOLS.LIB renamed to TOOLS.LIB to better resemble to the other - make systems. - * makefile.b32 - makefile.vc - * HBPP.LIB renamed to PP.LIB to better resemble to the GNU-make system. - -20000210-03:24 GMT+1 Viktor Szakats - * makefile.b32 - ! Modified to generate all the intermediate .c/.y/.l files in the obj dir - instead of the original files' dir, since this way the make process - is not conflicting with the GNU-make system, so they can be used in - parallel. - * HBDOC and RT_MAIN are also generated in the BIN directory. - + Added nulsys.lib - * source/pp/hbpplib.c - include/hbexpr.c - source/compiler/harbour.c - source/compiler/genhrb.c - source/compiler/genjava.c - source/rtl/gtapi.c - source/rtl/mouseapi.c - source/macro/macro.c - source/tools/strasint.c - source/tools/strcount.c - source/tools/strleft.c - source/tools/strright.c - source/tools/ascpos.c - ! Borland warnings fixed. - -20000209-21:10 EST Paul Tucker - * makefile.vc - +utils/hbdoc/genos2.prg - +utils/hbdoc/gentrf.prg - +utils/hbdoc/genng.prg - +utils/hbdoc/genhtm.prg - +utils/hbdoc/genrtf.prg - +utils/hbdoc/genhpc.prg - +utils/hbdoc/genasc.prg - -20000209-20:00 GMT-3 Luiz Rafael Culik - *utils/hbdoc/hbdoc.prg - *Separated in several files - +utils/hbdoc/genos2.prg - +utils/hbdoc/gentrf.prg - +utils/hbdoc/genng.prg - +utils/hbdoc/genhtm.prg - +utils/hbdoc/genrtf.prg - +utils/hbdoc/genhpc.prg - +utils/hbdoc/genasc.prg - *Contains the Procedures to create the output files - *utils/hbdoc/Makefile - +Added the new hbdoc modules - *makefile.b32 - *Update for hbdoc changes - -20000209-13:30 GMT+1 Antonio Linares - * source/debug/debugger.prg - + Added INKEY_ALL second parameter to Inkey() call. - - * source/rtl/alert.prg - + Added INKEY_ALL second parameter to Inkey() call. - -20000209-12:08 GMT+1 Viktor Szakats - * source/rtl/mouse/mousedos.c - ! hb_mouse_GetBounds() bug fixed (there was an '-' instead of '=') - -20000209-13:50 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Bug fixed, noted by Ignacio Ortiz - * there was a problem with a file path in #include statement - -20000209-13:35 GMT+3 Alexander Kresin - * contrib/rdd_ads/adsfunc.c - + added new function: - HB_ADSETDELETED() - * contrib/rdd_ads/ads1.c - * some changes for deleted(), locate, continue right work - * contrib/rdd_ads/ads.ch - + added SET DELETED command - -20000209-08:15 GMT-3 Luiz Rafael Culik - *utils/hbdoc/hbdoc.prg - *Fixed /w1 warnign when hbdoc is compiled with this switch - changed compilance to compliance and plataform to platform - *source/rtl/readme.prg - *Some formating - *source/rtl/mouse/mousedos.c - * hb_mouse_GetBounds() implemented - -20000209-10:43 GMT+1 Viktor Szakats - * utils/hbdoc/hbdoc.prg - ! Misc small fixes. - * make_b*.bat - * Small change regarding make.err deletion. - * source/rtl/strings.c - % Small optimization in HB_ISSPACE() - ! "compilant" changed to "compliant" - * Three NOTEs changed to TOFIXes (in RAT() and STRTRAN()) - ! Small formatting fixes. (NG doc moved before any misc notes and - comments related to the function) - * source/rtl/environ.c - source/rtl/filesys.c - source/rdd/dbcmd.c - ! "compilant" and "compilante" changed to "compliant" - ! Other misc doc/comment fixes. - * source/rtl/dir.c - * Minor formatting change (comment related only). - * source/rtl/tgetlist.prg - ! oGetListActive renamed to s_oGetListActive - * source/rtl/tget.prg - ! Missing CVS header added (again). - * source/rtl/objfunc.prg - source/rtl/alert.prg - source/rtl/dbedit.prg - ! "an Harbour" changed to "a Harbour" - -20000209-04:15 EST Paul Tucker - * source/rtl/inkey.c - + Added support to exist Win mouse code to detect Mouse Button UP and - to account for INKEY_* mask. - -20000209-07:35 GMT+1 Antonio Linares - * source/rtl/inkey.c - + Added support for Inkey() K_LDBLCLK and K_RDBLCLK events. - - * source/debug/debugger.prg - + test added for Inkey() K_LDBLCLK event. It is working right. - -20000208-17:55 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - *source/compiler/harbour.l - * fixed syntax for the following keywords: - OTHERWISE - PROCEDURE - RECOVER - RETURN - STATIC - USING - * added error generation in case repeated OTHERWISE clauses are - used in DO CASE statement - - *tests/keywords.prg - * added some more test code - - *source/rtl/wait.prg - * fixed code to stop generation of error 'unreachable code' - - *source/rtl/gt/gtstd.c - * added dummy function hb_gt_ReadKey() if compiled for U*ix - (I don't know why it worked previously without this function) - -20000208-12:00 GMT+1 Antonio Linares - * tests/bld_b32.bat - * updated to use latest Borland makefile changes - -20000208-11:48 GMT+1 Antonio Linares - * makefile.b32 - + oemansi.c was missing and it is required from hbdoc - * HBDOC_OBJS changed into HBDOC_EXE_OBJS - (makefile was not completing its job cause this) - * make_b32.bat - * del make.err added - -20000208-03:15 EST Paul Tucker - * makefile.vc - + source/tools/dbftools.c - + utils/hbdoc/hbdoc.prg - -20000207-20:56 EST Paul Tucker - * makefile.vc - + source/rtl/mouseapi.c - + source/rtl/mousexxx.c - -20000207-22:13 GMT+1 Viktor Szakats - * makefile.b32 - Makefile - ngdoc/* -> utils/hbdoc/* - * NGDOC directory renamed and moved to the right place. - * utils/hbdoc/hbdoc.prg - * Help screen formatted and corrected to be in sync with other Harbour - command-line utilities. - * Some minor changes. - -20000207-20:40 GMT+1 Viktor Szakats - - common.b32 - ft_helpc.b32 - gt.b32 - hbpp.b32 - rdd.b32 - regress.b32 - runner.b32 - terminal.b32 - - Removed. - * makefile.b32 - make_b32.bat - make_b40.bat - * Changed to include all functionality previously implemented using - several separate make files. New makefile almost completely based on - the work of Bruno Cantero. - - ngdoc/ft_helpc.prg - + ngdoc/hbdoc.prg - ngdoc/makewww.bat - * FT_HELPC renamed to HBDOC - * FT_HELPC() main function renamed to MAIN() - - ngdoc/bldfthe.bat - - Removed since it's now built in the mainstream build process. - * ngdoc/Makefile - * Changed to reflect new utility name. - -20000207-20:10 GMT+3 Alexander Kresin - * source/rtl/tools/dbftools.c - + Documentation added - * contrib/rdd_ads/adsfunc.c - + added new functions: - HB_ADSBLOB2FILE() - support of binary objects in memo - HB_ADSFILE2BLOB() / - HB_ADSKEYNO() - HB_ADSKEYCOUNT() - -20000207-16:52 GMT+1 Viktor Szakats - * source/rtl/inkey.c - source/rtl/mouse/mousewin.c - * Win32 mouse related variables renamed and moved to mousewin.c - inkey.c is now accessing them as an externs. - -20000207-16:39 GMT+1 Viktor Szakats - * include/hbextern.ch - source/runner/stdalone/external.prg - ! Added #include "hbsetup.ch" - + Added mouse functions. - + TOFIX: added about missing #ifdefs. - * source/rtl/harbinit.prg - ! Added #include "hbsetup.ch" - * source/rtl/mouseapi.c - ! Added HB_ prefix to all HARBOUR functions. - * source/rtl/console.c - + Calling hb_mouseInit() on startup. - * source/rtl/inkey.c - source/rtl/mouse/mousewin.c - * MCOL()/MROW() removed from inkey.c - * MCOL()/MROW() docs moved to mouseapi.c - * Mouse coordinate variables renamed and exported. - * MCOL()/MROW() in mousewin.c modified to use the exported coordinate - variables. - * MPRESENT() now always returns .T. for Win32, which is not correct, but - better than .F. - -20000207-12:22 GMT+1 Viktor Szakats - * source/rtl/math.c - ! MOD(): Added value substitution on error. - ! MOD(): Made completely CA-Cl*pper compatible including - bugs/side-effects (related to behaviour on zero base value). - * tests/regress/rt_hvm.prg - tests/regress/rt_math.prg - + % and MOD() tests added. All of them passes. - -20000207-09:15 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Mouse support to select any window. - * Improved command window GET building. - -20000207-00:25 GMT+1 Viktor Szakats - * source/vm/cmdarg.c - * Format of build info slightly modified. - + Added maximum symbol length to build info. - * source/rtl/mouse/mousedos.c - ! Several fixes. - ! Formatting. - % Some variables optimized out. - * Mousereg renamed to regs. - * Makefile - ! Formatting fix. - * ngdoc/Makefile - ! Fixed. - * ngdoc/bldfthe.bat - ngdoc/ft_helpc.prg - ! NANFOR is always defined if __HARBOUR__ is, so that it now links OK with - the GNU make system. Explicit /DNANFOR switch removed from the Borland - make .BAT file. - -20000206-20:35 GMT-3 Luiz Rafael Culik - *Makefile - *Added ngdoc dir to the normal build - +ngdoc/makefile - +gnu make file for ft_helpc - *ngdoc/ft_helpc.pg - *small changes - *source/rdd/dbcmd.c - * Change some functions docs - *source/rtl/mouse/mousedos.c - * Added support for djgpp compiler - *source/tools/html.prg - *small changes - -20000206-16:55 GMT+1 Viktor Szakats - * source/vm/cmdarg.c - ! Mistyped #ifdef fixed in //BUILD functionality (mentioned by Jose) - -20000206-16:15 GMT+1 Ryszard Glab - - *source/vm/hvm.c - * fixed GPF/code dump during creation of a codeblock if used - for static variable initialization - - *source/compiler/harbour.y - * fixed generation of line number opcodes - - *source/compiler/harbour.c - * fixed 'unused variable' warnings generated by Borland compiler - - *doc/compiler.txt - * added note about incompatibility with Clipper in handling of - local variables during static variable initialization - -20000206-10:12 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Mouse support to select pulldown top items (just that for now) - -20000205-17:00 GMT+1 Viktor Szakats - * source/compiler/hbusage.c - + The command line help screen uses the platform dependent switch - character when listing options. - + 1999 -> 1999-2000 - -20000205-13:06 GMT+1 Viktor Szakats - * tests/db_brows.prg - ! UPDATED() removed, since it's now defined in the RTL. - * include/rddapi.h - source/tools/dbftools.c - * hb_rdd*() function declration moved to rddapi.h - * source/tools/dbftools.c - ! Removed #includes not needed. Especially windows.h. - * source/compiler/hbusage.c - + Note added about switch character. - -20000205-00:32 GMT+1 Viktor Szakats - * source/tools/Makefile - + dbftools.c added. - + html.prg, ng.prg, os2.prg, troff.prg, etc. added. - * doc/hdr_tpl.txt - * Year changed to 2000 - * source/rdd/dbcmd.c - source/rtl/inkey.c - source/rtl/array.c - source/pp/hbpp.c - * Minor formatting fixes. - -20000204-23:10 GMT+1 Antonio Linares - * source/rtl/inkey.c - * static int s_iMouseCol = 0, s_iMouseRow = 0; - (changed SHORT into int accordingly to Dave proposal). - -20000204-19:25 GMT-3 Luiz Rafael Culik - *Source/rdd/dbcmd.c - * Change some functions docs - *ngdoc/harbwww.rps - *Small changes - *source/rtl/inkey.c - * Small changes on MCOL() and MROW() function docs - -20000204-20:45 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - *source/compiler/harbour.c - * fixed initialization of static variable with dimmed array - STATIC var[ 2 ] - - *source/rtl/inkey.c - * fixed s_iMouseCol/s_iMouseRow if compiled with GCC/LINUX - -20000204-22:12 GMT+3 Alexander Kresin - * source/rdd/dbcmd.c - + added hb_rddGetCurrentWorkAreaPointer() function - + source/rtl/tools/dbftools.c - Some Clipper Tools compatible functions - * contrib/rdd_ads/ads1.c - * Bugs fixed related to lock/unlock - * Memo support added - -20000204-14:47 GMT+1 Viktor Szakats - * source/rtl/itemapi.c - ! hb_itemNew() fixed to set the item type *after* filling the item - structure with zeros. It won't set the type at all when a param other - than NULL was passed. - * makewww.bat - * ngdoc/makewww.bat - ! Moved. - ! CVS ID fixed. - * source/rtl/alert.prg - ! Mouse support fixed when not clicked on button. - % Small optimization - * Formatted using the files style. - * source/rtl/inkey.c - * s_xMousePos -> s_iMouseCol - * s_yMousePos -> s_iMouseRow - -2000-02-03 16:10 GMT-5 David G. Holm - - * bin/bld_tpl.bat - * bin/bld_tpl.cmd - + Added ..\lib\main.obj to command line for os2/icc builds - -20000203-17:05 GMT-3 Luiz Rafael Culik - *Source/rdd/dbcmd.c - * Change some functions docs - *Source/tools/html.prg - * Some enhacements - *Ngdoc/ft_helpc.prg - * Fix on the text when FT_HELPC is called with out parameters +some enhacements - *Contrib/rdd_ads/rddads.b32 - *Fixed type on library name - *Contrib/odbc/bld_b32.bat - * Added missing common.lib to the bcc32 line - *Ngdoc/harbwww.rps - + response file for ft_helpc generate html output - *makewww.bat - +batch make file to ft_helpc generate html output - -20000202-22:00 GMT+1 Antonio Linares - * source/rtl/inkey.c - + Added MCol() and MRow() mouse support functions - (they are actually working just for Win32 console mode) - + Added static variables s_xRowPos and s_yRowPos - * Enhanced InKey() to return K_MOUSEMOVE, K_LBUTTONDOWN, K_RBUTTONDOWN values - * _Windows globally changed into _WINDOWS_ - - * source/rtl/gt/gtwin.c - * SetConsoleMode() changed to support console mouse events - - * source/rtl/alert.prg - * Mouse support - - * source/debug/debugger.prg - * A very early test for InKey() mouse events and MRow() and MCol() - values test. It is properly working. - -20000202-20:33 GMT+3 Alexander Kresin - + contrib/rdd_ads/readme.txt - * contrib/rdd_ads/ads.ch - * contrib/rdd_ads/adsfunc.c - * AdsSetDefault() added and appropriate commands in ads.ch - * source/pp/hbpp.c - * Bugs fixed, noted by Antonio Linares - -20000202-16:40 GMT+1 Ryszard Glab - *include/hbver.c - * fixed version and revision numbers - -20000202-13:50 GMT+1 Patrick Mast - * include/hbver.c - * Updated to version 31a - -20000202-12:05 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * fixed to properly compile EXTERNAL directive if placed outside - of a function body - -2000-02-01 20:40 GMT-5 David G. Holm - - * bin/bld_tpl.bat - * bin/bld_tpl.cmd - + Added '-o%1.exe' command line option for w32/gcc and w32/mingw32. - -20000201-13:00 GMT+1 Ryszard Glab - - *source/compiler/harbour.c - *source/compiler/harbour.y - *source/compiler/genc.c - * fixed GPF (core dump) if private/public variable was initialized - with a codeblock with a local parameter, e.g. - PRIVATE var:={ | x | expression } - * static variables cannot be initialized with a codeblock which - uses a local variable, e.g. - LOCAL locvar - STATIC stavar:={ || locvar } - Notice that Clipper is compiling it however it generates a runtime - error if such codeblock is evaluated. - * fixed also a bug in warning generation when function with no - return value is defined - -20000131-21:20 GMT+1 Viktor Szakats - * include/hbextern.ch - source/runner/stdalone/external.prg - ! EXTERNAL CLIPPER530 put between #ifdef HB_COMPAT_53 guards. - -20000131-13:30 GMT-5 David G. Holm - - * ChangeLog.005 - + Renamed from ChangeLog and started a new ChangeLog - - * config/os2/gcc.cf - * config/os2/icc.cf - - Removed debug information from OS/2 builds of Harbour - - * doc/whatsnew.txt - % Synchronized with updates that were made to the build31 branch - -20000131-15:09 GMT+1 Viktor Szakats - * ft_helpc.b32 - ! Fixed CVS ID header. - * source/debug/debugger.prg - ! Some constants changed to manifest constants (SC_NONE,SC_NORMAL) - + NOTE readded. - * make_b40.bat - + ft_helpc.b32 added. - * source/rdd/dbcmd.c - ! Doc formatting errors fixed. - * source/tools/*.prg - ! Email address separators added to some lic headers. - -20000131-10:00 GMT+1 Antonio Linares - * source/debug/debugger.prg - + added _AltD(). Waiting for a Harbour fix to accept it as AltD() - - * source/rtl/tgetlist.prg - + added functions: GetPreValidate(), GetPostValidate(), GetActive() - + added functions: ReadFormat(), ReadKill(), ReadUpdated(), Updated() - + added functions: GetDoSetKey() - - * source/rtl/dummy.prg - - removed functions: GetPreValidate(), GetPostValidate(), GetActive() - - removed functions: ReadFormat(), ReadKill(), ReadUpdated(), Updated() - - removed functions: GetDoSetKey() - - * doc/funclist.txt - * Updated - -20000131-01:29 GMT+1 Viktor Szakats - * source/rtl/harbinit.prg - ! CLIPPER530 is declared only when HB_COMPAT_53 is defined. - * source/debug/debugger.prg - ! SAYs converted to DispOutAt() calls. NOTE added about this. - % Unused variables removed. - % Minor optimization. - * tests/regress/rt_main.ch - ! Date used for testing changed (for accuracy only). - * source/vm/maindll.c - ! Fixed CVS ID header. - - source/tools/ha.lnk - - Removed. - * ngdoc/*.lnk - * Formatting. - * source/rtl/oemansi.c - source/rtl/pvalue.c - source/tools/troff.prg - source/tools/os2.prg - source/tools/rtf.prg - source/tools/html.prg - source/tools/ng.prg - * Formatting: some newlines added, minor fixes. - -20000131-00:05 GMT+1 Viktor Szakats - * source/rtl/environ.c - ! Fixed VERSION() for MINGW32 (it was generating a GPF). - -20000130-22:41 GMT+1 Viktor Szakats - * source/rtl/mlcount.c - source/rtl/memoline.c - source/rtl/mlpos.c - ! Fixed GPF when the first passed parameter was not a string. - * source/rtl/environ.c - ! Fixed VERSION() reporing service pack level on NT/2000. - ! Fixed minor doc formatting problem. - -20000130-17:05 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Bug fixed, noted by Ryszard Glab - -20000130-13:55 GMT+1 Ryszard Glab - - *source/compiler/harbour.l - * fixed support for macro variables used in FOR statement - - *source/vm/hvm.c - * private variables created during a macro evaluation are not - released after a macro evaluation. They have the function/procedure - scope. - -20000129-19:15 GMT+1 Viktor Szakats - * bin/bld_tpl.* - ! Added macro lib. - ! Fix for os2 platform. - * source/rtl/tget.prg - - Removed #include "set.ch" since it's included by default (via std.ch) - * source/rtl/Makefile - source/rtl/memoline.c - source/rtl/filesys.c - * Some minor formatting fixes. - -20000129-14:30 GMT+3 Luiz Rafael Culik - *source/rtl/oemansi.c - *Added documentation to HB_oemtoansi() and Hb_ansitooem() - *source/rtl/strings.c - *Added documentation to AT(),RAT(),ISDIGIT(),ISALPHA(),ISLOWER(),ISUPPER() - -20000129-13:20 GMT+1 Ryszard Glab - - *include/hbexpr.c - *source/compiler/expropt.c - *source/macro/macro.c - * empty list expression is not allowed now - this generates - syntax error: funcall( ()->expression, () ) - - *source/compiler/harbour.l - *source/compiler/harbour.y - * fixed support for STEP and TO keywords - * fixed GPF (core dump) if field variable is used in a codeblock - -20000129-01:55 EST Paul Tucker - * makefile.vc - + source/rtl/oemansi.c - -20000128-20:15 GMT+1 Ryszard Glab - - *source/macro/macro.l - *source/compiler/harbour.l - * any nonstandard characters (ASCII < 32 and ASCII > 127) are - passed to grammar analyser instead of printing on stdout - - *include/hbexpr.c - *source/macro/macro.c - *source/compiler/expropt.c - * memory is released properly when more complex expression - is macro compiled eg. &( "1 + 2" ), &( ".T.:classname" ) - - *source/debugger/debugger.prg - * added 'LOCAL nKey' to suppress warnings - -20000128-20:3 GMT+3 Luiz Rafael Culik - *source/rdd/dbcmd.c - *source/rtl/arrays.c - * Enhaced the Docs - *doc/whatnew.txt - * Description of the program that extract documention from source code forget the OS2 and TROFF output -20000115-20:3 GMT+3 Luiz Rafael Culik - - * ngdoc/ft_helpc.prg - * Fixed some erros - * source/tools/rtf.prg - * source/tools/ng.prg - * source/tools/os2.prg - * source/tools/troff.prg - * Fixed the aligment of text on generating the source files - - -20000127-12:54 GMT+1 Patrick Mast - * doc/whatsnew.txt - * updated for build 31 - * include/hbver.c - * Changed day in date to 27 - -20000126-23:59 EST Paul Tucker - * makefile.vc - + source/tools/ng.prg - + source/tools/os2.prg - + source/tools/html.prg - + source/tools/rtf.prg - + source/tools/troff.prg - -20000126-21:41 GMT+1 Patrick Mast - * include/hbver.c - * Bumped build to 31 and updated date - -20000126-12:50 GMT+1 Ignacio Ortiz - * source/rtl/tget.prg - * Bug fixed on numeric gets with zero digits in his value - -2000-01-25 16:20 GMT-5 David G. Holm - - * source/rtl/itemapi.c - ! Don't check for infinity when checking for numeric overflow and using - a Borland C compiler, because Borland C returns 0 for log(0), which is - what is being used to set infinity. - -2000-01-25 21:47 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Partial support for editing variables. - - * source/rtl/tgetlist.prg - * Added support for non-modal GetLists management. - -20000125-10:05 GMT+2 Chen Kedem - * source/rtl/arrays.c - - remove documentation stolen from CA-Cl*pper 5.2 NG from the following - functions: ARRAY(), AADD(), ASIZE(), ATAIL(), AINS(), ADEL(), AFILL(), - ASCAN() - - remove $EXAMPLES$ stolen from CA-Cl*pper 5.2 NG from the following - function: ACOPY(), ACLONE() - + ACLONE() : add $COMPLIANCE$ note - -2000-01-25 02:45 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Support for up and down arrows on command window - Still needs some fine tunning. - -2000-01-24 20:15 GMT-5 David G. Holm - - * source/rtl/environ.c - % Due to careless use of the CVS repository, I had to redo the following: - ! Fixed bug in setting end of string for case VER_PLATFORM_WIN32_WINDOWS: - ! Put Windows support for MingW32 back in after accidentally removing it. - -20000123-17:35 GMT+1 Ignacio Ortiz - * source/rtl/tget.prg - * Improved: cursor flickering removed - -2000-01-23 16:30 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Improved debugger. - - * source/rtl/tgetlist.prg - * Improved METHOD ShowScoreBoard. - - * source/vm/hvm.c - + New public BOOL variable hb_DebuggerIsWorking - -20000124-14:05 GMT+1 Ryszard Glab - - *source/rtl/memoline.c - * fixed 'max' to 'HB_MAX_' - - *source/rtl/mlpos.c - * added RCS ID - - *source/rtl/Makefile - * added mlpos.c file - -20000124-13:30 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - *source/macro/macro.c - * fixed support for the syntax: - DO &var - DO &( expression_list ) - -2000-01-23 22:03 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Improved debugger View Sets painting. - -2000-01-23 10:53 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * The newly retrieved data is passed as an argument to ColorBlock - (accordingly to Clipper ColorBlock documentation) - - * source/debug/debugger.prg - * Improved debugger: View Sets is partially working. - -2000-01-22 20:03 GMT+1 Antonio Linares - * source/debug/debugger.prg - * Improved debugger: Command window is starting working. - -2000-01-22 13:40 GMT+3 Luiz Rafael Culik - * ngdoc/ft_helpc.prg - *Added support for OS2 IPF source code - +source/tools/os2.prg - Support class for FT_HELPC generate OS2 IPF files - -2000-01-22 10:22 GMT+1 Patrick Mast - * source/rtl/environ.c (From Jose Lalin) - ! Getenv accepts a default value to return when the envvar is not found - ! Updated function doc - -2000-01-21 14:05 GMT-5 David G. Holm - - * source/rtl/environ.c - ! Fixed bug in setting end of string for case VER_PLATFORM_WIN32_WINDOWS: - ! Put Windows support for MingW32 back in after accidentally removing it. - -20000121-17:57 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * now can be used truncated preprocessor directives ( #defi, #inclu, ... ) - -20000121-12:50 GMT+1 Ignacio Ortiz - + source/rtl/mlpos.c - * Added function MlPos() - - * source/rtl/memoline.c - * Fixed little bug on empty lines - - * source/rtl/tget.prg - * Multiple enhancements, class Tget is completed - - * source/rtl/tgetlist.prg - * Fixed bug on date management reported by Kwon OhChul - - * makefile.b32 - * mlpos.c included (Please update other make files) - -20000121-09:40 GMT+1 Antonio Linares - * source/debug/debugger.com - * Improved monitored variables containt support - -2000-01-20 14:15 GMT-5 David G. Holm - - * source/rtl/dates.c - ! Corrected CTOD() to include 0 as a year subject to SET EPOCH - (the range had been accidentally set to 1 through 99 instead - of 0 through 99). - -20000119-21:21 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Few bugs fixed, reported by Matteo Baccan and Dave Pearson - -20000119-13:05 GMT+1 Ryszard Glab - - *source/macro/macro.y - * fixed GPF when IIF()/IF() was used in macro expression - * support for TYPE() function was added - - *include/macro.h - *source/macro/macro.c - * support for TYPE() function was added - * memory allocated for macro evaluation is properly released - when a runtime error occurs during evaluation - - *source/rtl/type.c - * full implementation of TYPE() function was added - - *include/extend.h - * new declaration for hb_macroGetType - called from TYPE() - * new declaration for hb_valtypeGet shared by VALTYPE and TYPE - - *source/rtl/valtype.c - * new function hb_valtypeGet() used internally in Harbour - - *source/rtl/errorapi.c - *include/errorapi.h - * new structure HB_ERROR_INFO for catching errors at C level - * new function hb_errorHandler() that sets/gets low-level - error handler. - - *include/ctoharb.h - *source/vm/hvm.c - * added HB_ENDPROC_REQUEST and hb_vmRequestEndProc() which are used - to request immediately return from currently evaluated pcode buffer. - This is used to stop processing of macro compiled code. - - *source/rtl/itemapi.c - * if parameter passed to hb_itemNew is not NULL then it is used to - initialize the new item (in other words it creates a copy of - passed item) - - *source/rdd/rddcdx/dbfcdx1.c - * The macro structure is now self deallocating if hb_macroDelete() - is called - it must not call hb_xfree() after hb_macroDelete() - was used. - - *doc/funclist.txt - * marked TYPE() as Ready :) - -2000-01-19 08:28 GMT+1 Antonio Linares - * source/debug/debugger.prg - + fixed and improved to use Class TDbMenuItem METHOD Display - everytime a menuitem is displayed. - * source/compiler/genc.c - ! fixed a new bug that was providing wrong filenames to the - debugger. - -2000-01-18 22:20 GMT+3 Luiz Rafael Culik - *ngdoc/ft_helpc.prg - Enhaced. Now Generate Norton Guide Source Code and TROFF Files - *source/tools/rtf.prg - Document the Files and Source code Formated - *source/tools/html.prg - Document the Files and Source code Formated - +ngdoc/harbour.lnk - Link file for Norton Guide. ha.lnk is needed for the other output files - +ngdoc/harbour.rsp - List of files to FT_helpc need to process - +ft_helpc.b32 - Make file for FT_HELPC for Borland - +source/tools/ng.prg - Support class for FT_HELPC generate Norton Guide Source code - +source/tools/troff.prg - Support class for FT_HELPC generate TROFF files - - -2000-01-17 18:55 GMT-5 David G. Holm - - * source/environ.c - ! Corrected manifest constant _Windows to be _WINDOWS_ - -2000-01-17 15:30 GMT-5 David G. Holm - - * source/environ.c - ! Fixed problems in new Windows build version logic. - -20000117-22:09 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Few bugs fixed, reported by Matteo Baccan - * contrib/rdd_ads/ads.ch - * contrib/rdd_ads/ads1.c - * contrib/rdd_ads/adsfunc.c - * contrib/rdd_ads/rddads.h - Bug fixed in SET INDEX TO ... implementation - New commands added - -20000117-16:05 GMT+1 Ryszard Glab - - *source/rdd/dbcmd.c - * fixed GPF in ORDBAGEXT() - -20000117-13:30 GMT+1 Ryszard Glab - - *source/rtl/type.c - * added hb_retc( "U" ) for initial implementation of TYPE() function - (due to a very popular demand :) - -20000117-12:25 GMT+1 Ryszard Glab - - *source/rtl/achoice.prg - *source/rtl/input.prg - * macro related code are active now - - *source/compiler/harbour.y - * function that initializes static variables is generated - properly when ANNOUNCE statement is used - - -20000116-20:30 GMT+1 Ryszard Glab - - *source/rtl/harbinit.prg - * replaced ANNOUNCEd CLIPPER5xx with procedure definition - - -20000116-15:35 GMT+1 Ryszard Glab - - *include/hberrors.h - * added WARN_DUPL_ANNOUNCE - * added ERR_FUNC_ANNOUNCE - - *include/compiler.h - * added declaration of hb_compAnnounce( char * ) - which creates an ANNOUNCEd procedure - - *source/compiler/hbgenerr.c - * added warning when redundant ANNOUNCE statement is used - * added error message when ANNUNCEd procedure is declared STATIC - - *source/compiler/harbour.y - *source/compiler/harbour.l - *source/compiler/harbour.c - * fixed support for ANNOUNCE statement - (static variables are no longer bound to ANNOUNCEd procedure) - - *source/pp/table.c - * removed fixed translation of ANNOUNCE statement - - *source/compiler/cmdcheck.c - * restored correct support for '-w' compiler switch - -20000115-20:3 GMT+3 Luiz Rafael Culik - *source/rtl/arrays.c - *source/rtl/type.c - *source/rtl/text.prg - *source/rtl/inkey.c - *source/rtl/setkey.prg - *source/rtl/proc.c - *source/rtl/adir.prg - *source/rtl/dircmd.prg - *source/rtl/asort.prg - *source/rtl/achoice.prg - *source/rtl/alert.prg - *source/rtl/Objfunc.prg - *source/rdd/dbcmd.c - *Fixed some seealso's reference that was missing the comma separator - *Source/rtl/strings.c - *Added document to : SUBSTR(),LEFT(),RIGHT(),LTRIM functions - *Source/rtl/Environ.c - *Added document to : VERSION() and GETENV() function - *ngdoc/ft_helpc.prg - *Fixed a bug on generating see alsos for HTML output - *Source/tools/rtf.prg - *All topics now start with the 'IDH_' prefix - - -20000115-19:35 GMT+1 Ryszard Glab - - *source/macro/macro.l - * corrected recognition of variable names which ends with numbers - e.g. X1, A123 - -20000115-15:45 GMT+1 Ryszard Glab - - *source/compiler/hbgenerr.c - * added missing comma separator in error messages list - -20000115-15:15 GMT+1 Ryszard Glab - - *include/pcode.h - * added new pcodes: - HB_P_PUSHALIASEDVAR - HB_P_POPALIASEDVAR - HB_P_MPUSHALIASEDVAR - HB_P_MPOPALIASEDVAR - -NOTE: All sources HAVE TO be recompiled!!! - - *include/macro.h - * added new constant: - HB_MACRO_GEN_PUSH 4 /* generate PUSH pcodes */ - HB_MACRO_GEN_POP 8 /* generate POP pcodes */ - HB_MACRO_GEN_ALIASED 16 /* force aliased variable */ - - *include/extend.h - * added declaration of - hb_macroPopAliasedValue - hb_macroPushAliasedValue - - *source/macro/macro.c - *source/compiler/harbour.c - * corrected handling of aliased variables in case when an alias - is determined at runtime (the field variable was assumed previously - but now the virtual machine checks the value of passed alias and - used either a memvar or a field) - for example: - alias := "M" - ? ( alias )->var - The value of memvar named "var" should be printed - - *include/hbexpr.c - *source/compiler/expropt.c - * finished support for aliased macro expressions - - *source/macro/macro.c - * finished support for aliased macro expressions - - *source/vm/hvm.c - *source/compiler/genc.c - *source/compiler/genhrb.c - *source/compiler/genjava.c - * added support for new pcodes: - HB_P_PUSHALIASEDVAR - HB_P_POPALIASEDVAR - HB_P_MPUSHALIASEDVAR - HB_P_MPOPALIASEDVAR - - *source/compiler/harbour.y - * removed 'macro support' from the TODO list :) - -2000-01-14 12:20 GMT-5 David G. Holm - - * ngdoc/ft_helpc.prg - + Updated file provided by Luiz Rafael Culik - -2000-01-13 19:45 GMT-5 David G. Holm - - * ngdoc/bldfthe.bat - + Updated file provided by Luiz Rafael Culik - - * ngdoc/ft_helpc.prg - + Updated file provided by Luiz Rafael Culik - - * ngdoc/ha.lnk - + Updated file provided by Luiz Rafael Culik - - * source/rtl/license.prg - + Updated file provided by Luiz Rafael Culik - - * source/rtl/readme.prg - + Updated file provided by Luiz Rafael Culik - - * source/tools/rtf.prg - + Updated file provided by Luiz Rafael Culik - - * source/tools/html.prg - + Updated file provided by Luiz Rafael Culik - -2000-01-10 16:10 GMT-5 David G. Holm - - * ngdoc/ft_helpc.prg - ! Renamed to lower case for Linux compatibility. - - * ngdoc/ha.lnk - ! Renamed to lower case for Linux compatibility. - - * source/tools/Makefile - + Added rtf.prg to list of PRG files. - - * source/tools/rtf.prg - ! Renamed to lower case for Linux compatibility. - -2000-01-10 15:50 GMT-5 David G. Holm - - * ngdoc/ft_helpc.prg - ! Renamed to lower case for Linux compatibility. - + Added CVS Id - - * ngdoc/ha.lnk - ! Renamed to lower case for Linux compatibility. - ! Changed first menu from 'A-F' to 'A-D' - - * source/compiler/hbusage.c - ! Corrected description of -10 command line option to refer to the - number of significant digits (per Dave Pearson). - - * source/rtl/inkey.c - + Added blank line between documentation for INKEY() parameters - - * source/tools/rtf.prg - ! Renamed to lower case for Linux compatibility. - + Added CVS Id - -20000109-14:25 GMT+1 Ryszard Glab - - *include/hbexpr.c - *source/compiler/expropt.c - *source/compiler/harbour.y - * fixed STATIC var1[0], var2[3,4] initialization failure - -2000-01-07 GMT +3 Luiz Rafael Culik - * gt.b32 - ! Added RTF.prg - * source/rdd/dbcmd.c - * source/rtl/achoice.prg - * source/rtl/adir.prg - * source/rtl/alert.prg - * source/rtl/asort.prg - * source/rtl/browdb.prg - * source/rtl/browse.prg - * source/rtl/dbstrux.prg - * source/rtl/debugger.prg - * source/rtl/devoutp.prg - * source/rtl/dircmd.prg - * source/rtl/errorsys.prg - * source/rtl/fieldbl.prg - * source/rtl/fileread.prg - * source/rtl/harbinit.prg - * source/rtl/input.prg - * source/rtl/memvarbl.prg - * source/rtl/menuto.prg - * source/rtl/objfunc.prg - * source/rtl/readvar.prg - * source/rtl/readkey.prg - * source/rtl/setkey.prg - * source/rtl/setta.prg - * source/rtl/stringp.prg - * source/rtl/wait.prg - * source/rtl/xsavescr.prg - * source/rtl/arrays.c - * source/rtl/word.c - * source/rtl/type.c - * source/rtl/valtype.c - * source/rtl/tone.c - * source/rtl/strings.c - * source/rtl/proc.c - * source/rtl/mtran.c - * source/rtl/memvars.c - * source/rtl/len.c - * source/rtl/inkey.c - * source/rtl/hardcr.c - * source/rtl/Filesys.c - * source/rtl/empty.c - * source/rtl/descend.c - +Removed external reference for see also - +Formated see also between commas - + ngdoc/FT_helpc.prg - Source code for FT_HELPC document source Extriper - + ngdoc/ha.lnk - List of Functions categories to the FT_HELPC - + bldfthe.bat - Batch file to create the exe - -2000-01-03 18:25 EDT David G. Holm - - * source/rtl/inkey.c - ! Enable Unix-compatible keyboard input even when not using - ncurses or slang. - -20000103-19:48 GMT+1 Ryszard Glab - - *include/expropt.h - *include/hbexpr.c - * renamed: hb_compExprNewSymbol() -> hb_compExprNewFunName() - * added new expression type: HB_ET_RTVAR and hb_compExprNewRTVar() - for PUBLIC and PRIVATE variable declarations - - *source/compiler/expropt.c - *source/compiler/harbour.c - *source/compiler/harbour.y - *source/compiler/harbour.l - * added support for macro variables in PUBLIC and PRIVATE declarations - PRIVATE &var, &var.end - * optimization of PUBLIC/PRIVATE variables creation (there was a - single call __MVPUBLIC/__MVPRIVATE function for every variable, - there is a single call for a single statement now), for example: - PRIVATE var1, var2, var3 - // 3 calls previously - only one call now - - *source/macro/macro.y - * renamed: hb_compExprNewSymbol() -> hb_compExprNewFunName() - * fixed handling of &var.text syntax - - *source/macro/macro.c - * fixed handling of &var.text syntax - * handling of text substitution is now Clipper compatible - - previously only substituted value was scanned for nested macro - operator - the whole text is rescanned now, for example: - PRIVATE a:='&', b:='b' - ? &a.b - will print a value of variable 'b' now instead of a generation - of a syntax error. - - *include/extend.h - * added declaration for hb_macroTextSubst() - * added declaration for hb_macroIsIdent() - -20000102-14:27 EST Paul Tucker - * source/rtl/environ.c - * remove Borland check on define of VER_PLATFORM_WIN32_CE - * source/rtl/filesys.c - * removed duplicated comment lines. (was missing /* anyway) - * source/rdd/dbcmd.c - * added missing close comment. - -20000102-17:10:00 GMT+3 Luiz Rafael Culik -* source/rtl/browdb.prg -* source/rtl/text.prg -* source/rtl/browse.prg -* source/rtl/dbedit.prg -* source/rtl/devoutp.prg -* source/rtl/dircmd.prg -* source/rtl/menuto.prg -* source/rtl/xsavescr.prg -* source/rtl/setkey.prg -* source/rtl/inkey.c - +Fixed some see also references for the Norton Guide - +Added documentatio to KEYBOARD and SET FUNCTION and SET KEY COMMAND -* source/rtl/fileysys.c -* source/rtl/array.c - + Updated docs for FCLOSE() FCREATE() FERASE() FERROR() ACLONE() - ACOPY() AEVAL() -* source/rtl/readkey.prg -* source/rtl/readvar.prg -* source/rtl/setfunc.prg - +Added the documentation to this functions since was accidentaly deleted - -20000101-22:50 GMT+3 Luiz Rafael Culik -* doc/funclist.txt - +Update some function status -* source/rdd/dbcmd.c - +Added to missing documentation of __dbzap() and OrdCondSet() -* source/rtl/FileSys.c - + doc for FOPEN() - + doc for FCLOSE() - + doc for FWRITE() - + doc for FSEEK() - + doc for FREAD() - + doc for FILE() - + doc for FREADSTR() - + doc for FRENAME() - + doc for FERROR() - + doc for RENAME - + doc for ERASE - -20000101-07:18 GMT+3 Luiz Rafael Culik -* source/rdd/dbcmd.c -* source/rtl/alert.prg -* source/rtl/browdb.prg -* source/rtl/input.prg -* source/rtl/asort.prg -* source/rtl/text.prg -* source/rtl/browse.prg -* source/rtl/dbedit.prg -* source/rtl/devoutp.prg -* source/rtl/dircmd.prg -* source/rtl/dummy.prg -* source/rtl/errorsys.prg -* source/rtl/fieldbl.prg -* source/rtl/harbinit.prg -* source/rtl/menuto.prg -* source/rtl/xsavescr.prg -* source/rtl/memvarbl.prg -* source/rtl/objfunc.prg -* source/rtl/readkey.prg -* source/rtl/readvar.prg -* source/rtl/setfunc.prg -* source/rtl/setkey.prg -* source/rtl/setta.prg -* source/rtl/tbcolumn.prg -* source/rtl/tbrowse.prg -* source/rtl/tclass.prg -* source/rtl/terror.prg -* source/rtl/tget.prg -* source/rtl/tgetlist.prg -* source/rtl/wait.prg -* source/rtl/adir.prg -* source/rtl/achoice.prg -* source/rtl/arrays.c -* source/rtl/break.c -* source/rtl/codebloc.c -* source/rtl/console.c -* source/rtl/descend.c -* source/rtl/dir.c -* source/rtl/do.c -* source/rtl/empty.c -* source/rtl/hardcr.c -* source/rtl/initexit.c -* source/rtl/inkey.c -* source/rtl/len.c -* source/rtl/memvars.c -* source/rtl/mtran.c -* source/rtl/natmsg.c -* source/rtl/pcount.c -* source/rtl/pvalue.c -* source/rtl/set.c -* source/rtl/tone.c -* source/rtl/type.c -* source/rtl/valtype.c -* source/rtl/word.c -* source/rtl/xhelp.c -* source/tools/nconvert.prg -* source/tools/io.c - -Fixed the documentation to make the ng linker happy and added docs for the arrays.c and dbcmd.c - -20000101-00:00 GMT+1 Patrick Mast - - doc/harbour.ng - The NG files will be downloadable via the web site. - -19991231-13:00 GMT+1 Ryszard Glab - - *source/rtl/memvars.c - * new function hb_memvarGetStrValuePtr() that return a value - of passed variable if this variable exists and if it contains - a string value (the function is called from macro text - substitution) - - *include/extend.h - * added declaration for hb_memvarGetStrValuePtr() - * added declaration of hb_macroTextValue() - - *source/vm/hvm.c - * added code to handle macro text substitution "text ¯o" - - *source/macro/macro.c - * added code to handle macro text substitution - -19991231-06:15 GMT+1 Antonio Linares - * source/rtl/gt/gtwin.c - * fix for a Win API wrong parameter call detected using NuMega BoundsChecker - -19991230-19:28 GMT+1 Patrick Mast - + doc/harbour.ng (Luiz Rafael Culik) - -19991230-08:22 GMT+2 Chen Kedem - * source/rtl/text.prg - + doc for __TextSave() - + doc for __TextRestore() - * source/rtl/xsavescr.prg - + doc for __XSaveScreen() - + doc for __XRestScreen() - * doc/funclist.txt - * BROWSE() marked as S (not yet ready, missing EDIT mode) - -1999-12-29 19:00 EDT David G. Holm - - * doc/gmake.txt - + Added mention of -DHARBOUR_USE_CRS_GTAPI and - -DHARBOUR_USE_SLN_GTAPI for os2/gcc and linux/gcc. - - * tests/boxtest.prg - ! Changed function name from test() to main(), because of - limitations with some versions of Harbour, such as MingW32. - - * tests/Makefile - ! Moved tstprag.prg from PRG_SOURCES to BAD_PRG_SOURCES. - - * tests/readhrb.prg - ! Added error checking after attempting to open the source HRB - file, because otherwise the program attempts to display a very - large random number of bytes from a file handle that doesn't - exist, resulting in what appears to be an infinite loop. - - * tests/tstprag.prg - ! Added // NOTEST as first line in this test program that - won't compile. - -19991227-08:30 GMT+2 Chen Kedem - * source/rtl/readvar.prg - + doc for READVAR() - * source/rtl/setfunc.prg - + doc for __SetFunction() - -19991227-00:36 GMT+1 Antonio Linares - * Updated tests/bld_b32w.bat - -1999122605:51 GMT+1 Antonio Linares - * Updated makefile.b32 - + Added hbfsapi and hbtrace modules - -19991223-16:35 GMT+1 Ryszard Glab - - *include/hbexpr.c - *source/compiler/expropt.c - *source/compiler/harbour.y - * fixed compiler parse error on aliased macro expressions - M->&( expression ) - -19991222-18:20 GMT+1 Ryszard Glab - - *include/hbexpr.c - *source/compiler/expropt.c - * fixed generation of pcodes for aliased expressions used in - a statement context (the previously selected workarea is popped - from the eval stack instead of swapping) - -19991220-18:42 GMT+1 Chen Kedem - * source/rtl/menuto.prg - + doc for __AtPrompt() - + doc for __MenuTo() - I'm looking at v1.14 and the following are wrong: - ! __AtPrompt() : nCol <--> nRow (switch names, not places) - (Uploaded by Viktor Szakats) - -Mon Dec 20 13:49:01 1999 Gonzalo A. Diethelm - - * source/rdd/dbcmd.c: - * source/rtl/classes.c: - Fixed two minor warnings. - -19991219-14:35 GMT+1 Ryszard Glab - - *source/compiler/harbour.l - * fixed recognition of 'DO &var WITH' syntax - -19991219-15:55 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Bug fixed, reported by Viktor Szakats - -19991218-18:25 GMT+1 Ryszard Glab - - *include/hbexpr.c - * static variables can be initialised with arrays that - contains parenthesized epressions e.g. STATIC a:={ (1) } - * fixed code that handles aliased macro expressions - e.g. FIELD->&var1 := var2 - -19991218-10:35 GMT+1 Viktor Szakats - * source/rtl/objfunc.prg - source/rtl/readkey.prg - + Added documentation by Chen Kedem. - * source/compiler/cmdcheck.c - ! Fixed handling of the /q0 switch. (Provided by Jose) - -19991217-16:40 EDT David G. Holm - - * config/os2/icc.cf - + I added the /NOIGNORECASE option to both the librarian and the linker, - because C++ can't tell the difference between 'int hb_pcount( void )' - and 'HARBOUR HB_PCOUNT( void )' unless a case-sensitive link is used. - This requires rebuilding all of Harbour if you are using OS/2 and the - IBM C++ compiler (i.e., make -r clean). - -19991216-15:50 GMT+1 Bruno Cantero - * include/extend.h - + Added a new item type: IT_POINTER ( USHORT ) 0x0001 - + Added two defines: - #define IS_POINTER( p ) IS_OF_TYPE( p, IT_POINTER ) - #define ISPOINTER( n ) ( hb_param( n, IT_POINTER ) != NULL ) - + Added two prototypes: - extern HB_MACRO_PTR hb_macroCompile( char * ) - extern void hb_macroDelete( HB_MACRO_PTR ) - - * include/itemapi.h - + Added two prototypes for manipulate items (IT_POINTER): - extern void * hb_itemGetPtr( PHB_ITEM ); - extern PHB_ITEM hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) - - * source/rtl/itemapi.c - + Added two functions for manipulate items (IT_POINTER): - void * hb_itemGetPtr( PHB_ITEM ); - PHB_ITEM hb_itemPutPtr( PHB_ITEM pItem, void * pValue ) - - * source/macro.c - * Removed static declaration from static void hb_macroDelete( HB_MACRO_PTR ) - - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - + Added code to OrdCreate() function. - -19991215-19:46 GMT+1 Antonio Linares - * source/rtl/classes.c - * Fixed inheritance of error handlers - -19991215-12:32 GMT+1 Antonio Linares - * source/rtl/classes.c - + Added a new function __GetMessage() to retrieve the message - name from a Class error handler. - * tests/testcls.prg - * enhanced showing the use of __GetMessge() - -19991215-12:09 GMT+1 Antonio Linares - + added common.b32 provided by Jose Lalin - * tests/bld_b32.bat - a %2 extra parameter is accepted. i.e.: bld_b32 hello /p - -19991215-13:35 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Bug fixed, reported by Viktor Szakats - -19991215-09:34 GMT+1 Antonio Linares - * include/hbclass.ch - * ERROR HANDLER and ON ERROR METHODs defined (they are equivalent) - * include/hboo.ch - * new define HB_OO_ONERROR - * source/rtl/tclass.prg - * added new DATA nOnError - * added new METHOD SetOnError() - * source/rtl/classes.c - * added new struct CLASS member pFunError - * modified hb_objGetMethod() to return pFunError if defined and not msg found - * modified HB___CLSADDMSG() to support defined Class error handler if defined - + tests/testcls.prg - * new sample testing first ON ERROR working prototype - -19991214-14:55 EDT David G. Holm - - * config/dos/dir.cf - * config/linux/dir.cf - * config/os2/dir.cf - * config/w32/dir.cf - + Don't set up a directory rule if only compiling one module (for - (example, when using 'make -r PM=rtfclass' in the tests directory), - because that module should be in the current directory and there is - no need to compile some module with the same name in a subdirectory. - - * tests/regress/Makefile - + Added a default setting for HB_MAIN = std, because the IBM C++ - linker can't pull the 'main' module out of a library file. - -19991212-13:45 EST Paul Tucker - * tests/bld_vc.bat - + ..\lib\vc\macro.lib - -19991212-13:25 EST Paul Tucker - * makefile.vc - + source/macro/* - -19991212-16:28 GMT+1 Viktor Szakats - * source/runner/stdalone/Makefile - ! Fixed lib order. - * tests/regress/rt_hvm.prg - + Added some tests, commented out for Harbour. - * *.b32 - make_b*.bat - tests/bld_b*.bat - ! New versions by Jose Lalin. - -19991212-13:55 GMT+1 Ryszard Glab - - *source/compiler/harbour.c - *source/macro/macro.c - * removed duplicated check if a reserved name was used - - *source/macro/macro.c - *include/hbexpr.c - *include/compiler.h - * removed 'IsFunction' parameter of hb_compGenPushSymbol - that is no longer needed. 'hb_compGenPushSymbol()' should push any - symbol without checking, the check for reserved function name is - done in hb_compGenPushFunCall() - - *source/compiler/harbour.l - *source/macro/macro.l - * removed duplicated check if a reserved name was used - * restored support for ¯o[ index ] syntax - - *include/extend.h - * added missing declaration of hb_macroRun() function - * moved here the definition of HB_MACRO structure - - *include/macro.h - * the definition of HB_MACRO structure moved to extend.h - - *include/expropt.h - * the definition of HB_CBVAR structure moved to extend.h - - *source/vm/hvm.c - *source/macro/macro.c - *include/extend.h - * added partial support for macro function call &var() or DO &var - (partial because a simple function name is allowed only - - there is no support for nested macros and complex macros) - - *source/macro.y - * added #undef __GNUC__ as a workaround of bison.simple bug in - yyparse() declaration - -19991211-15:55 GMT+1 Ryszard Glab - - *include/hbexpr.c - * this is expropt.c moved from source/compiler and renamed - - *source/compiler/expropt.c - * dummy file that includes hbexpr.c file - - *source/macro/macro.c - * includes "hbexpr.c" now instead of "../source/compiler/expropt.c" - * added hb_macroCompile( char * ) function for compilation of - passed string. It can be used together with hb_macroRun() in - database index key evaluation - * added support for macro-compiled codeblocks - * added tracing headers - - *source/macro/macro.y - *source/vm/hvm.c - *source/rtl/codebloc.c - * added support for macro-compiled codeblocks - * restored %pure_parser option :) - - *source/macro/macro.l - * added tracing headers - - *include/extend.h - * changed declaration of hb_macroGetValue/hb_macroSetValue - there - is no need to pass a local symbol table pointer - macro compiled - code uses dynamic symbol table only. - -19991211-14:51 GMT+1 Viktor Szakats - * source/compiler/harbour.y - + Missing #include added. - * source/vm/hvm.c - source/vm/cmdarg.c - include/extend.h - + Added //BUILD internal command line switch. - * Internal command line switch check moved to cmdarg.c from hvm.c. - Contribution by Jose Lalin - * source/rtl/harbinit.prg - + Added documentation by Chen Kedem. - * source/compiler/cmdcheck.c - * Some functions put under a separate copyright holder (unkown BTW). - * source/common/reserved.c - * Reapplied some minor changes. - ( I could not test any of these, since I cannot build Harbour right now ) - -19991211-12:47 GMT+1 Antonio Linares - * updated makefile.b32 for reserved.c file. - -19991211-09:17 GMT+1 Antonio Linares - + new source/vm/maindll.c (entry point for Windows DLLs) - * hb_vmInit() call uses a FALSE parameter. - * source/vm/hvm.c - * hb_vmInit( BOOL bStartMainProc ) modification - * source/vm/mainstd.c - * hb_vmInit() call uses a TRUE parameter. - * source/vm/mainwin.c - * hb_vmInit() call uses a TRUE parameter. - * updated makefile.b32 for maindll.c file. - * include/ctoharb.h - * modified hb_vmInit() prototype. - - Tested. Seems to work fine. - -19991209-23:04 GMT+1 Antonio Linares - * updated makefile.b32 - * updated hbclass.ch - (first step towards classes missing messages routing method) - -19991209-17:10 GMT+1 Ryszard Glab - - *config/rules.cf - * YACC_FLAGS and LEX_FLAGS can be set in local Makefile - this - local settings will be added to the global ones - - * include/compiler.h - * include/expropt.h - * moved declarations related to expression optimizer into expropt.h - which is used also at runtime library - * added support for macro generation - - *source/compiler/harbour.c - * removed some functions that were no longer used - * fixed recognition of static and memvar variables for which - function-wide declaration owerwrites file-wide declaration - e.g. - STATIC myvar - FUNCTION MyTest() - MEMVAR myvar - - *source/compiler/genc.c - *source/compiler/genhrb.c - *source/compiler/genjava.c - * updated to support new macro related opcodes - - * include/hberrors.h - * source/compiler/hbgenerr.c - * added new errors - ERR_BAD_MACRO (declared variable in macro) - ERR_INVALID_SEND (macro operator with send operator) - - *source/compiler/harbour.l - * '.' character is correctly passed to grammar analyzer - * moved here all rules for a macro variable use recognition - - *source/common/Makefile - *source/common/reserved.c - * file with function and date used to check for reserved - functions name - -NOTE: All non GNU-Make scripts should be updated! - - * include/ctoharb.h - * added declaration of hb_stackPop() function - - *source/vm/hvm.c - * changed visibility of hb_stackPop() function (static -> global) - * added code related to macro generation and evaluation - - *source/macro/ - *source/macro/macro.c - *source/macro/macro.l - *source/macro/macro.y - *source/macro/Makefile - *include/macro.h - * new files used for macro generation and evaluation - * macro compiler supports now: - + macro variables: &var1 := &var2 - * not supported yet (there is a proper pcode generated only - - there are no actions in the virtual machine) - - text substitution: "text ¯o" - - function calls: ¯o() - - aliased macro variables: ¯o->var and alias->&var - - macro-compiled codeblocks - -NOTE: All non GNU-Make scripts should be updated! - -NOTE: source/macro/macro.c file includes source/compiler/expropt.c - I didn't found other method of reusing the expropt.c. Unfortunately - the code in expropt.c differs a little if used from macro compiler - (it uses a local variable that holds the compilation state instead - of global variables) - - *source/compiler/expropt.c - * added support for macro pcode generation and macro compilation - NOTE: this file is included by macro.c - - *include/pcode.h - * added pcodes used in macro generation and macro evaluation - - *source/runner/stdalone/Makefile - *tests/Makefile - *tests/regress/Makefile - *samples/cccppc/Makefile - *samples/guestbk/Makefile - *samples/hscript/Makefile - *samples/misc/Makefile - *samples/pe/Makefile - * 'macro' library added - - *source/compiler/cmdcheck.c - * replaced strupr with hb_strupr - -NOTE: All PRG sources HAVE TO be recompiled!!! - -NOTE: Add macro.lib to all non-GNU make scripts or batch files. - -19991209-01:05 GMT+1 Viktor Szakats - * source/compiler/* - include/compiler.h - + Additional function renaming (prefixing with hb_comp), some functions - moved to other files. Declarations fixed, some static vars prefixed - with s_. Some functions made static, some declaration moved to - compiler.h. - hb_Chk*() -> hb_compChk*() - Print*() -> hb_compPrint*() - Gen*() -> hb_Gen*() - PCODE_CHUNK -> HB_PCODE_CHUNK - harbour_main() -> hb_compYACCMain() - Include() -> hb_compInclude() - hb_compCheckPaths() -> Moved to cmdcheck.c - AddSearchPath() - Moved to cmdcheck.c and made static. - etc... - -19991208-18:06 GMT+1 Viktor Szakats - * bin/bld_tpl.bat - bin/bld_tpl.cmd - ! common lib moved to the end of the cmdline. - * tests/db_brows.prg - + @ CLEAR TO uncommented. - * source/rtl/errorsys.prg - % Some optimizations made. - * source/compiler/Makefile - * Updated for compiler source split. - -19991208-18:06 GMT+1 Jose Lalin - * include/compiler.h - + typedef enum LANGUAGES - - + source/compiler/hbusage.c - + void PrintUsage() - + void PrintCredits() - + New function added - void PrintLogo() - ! Typo at www.harbour-project.com changed - to www.harbour-project.org - - + source/compiler/hbpcode.c - + void hb_compGenPCode1() - + void hb_compGenPCode3() - + void hb_compGenPCodeN() - - + source/compiler/hbfunchk.c - + struct FUNCINFO -> HB_FUNCINFO - + static FUNCINFO _StdFun -> hb_StdFunc[] - + void hb_compFunCallCheck() - Added a #if defined( HARBOUR_STRICT_CLIPPER_COMPATIBILITY ) - to use the Cl*pper way of showing errors or the Harbour's one. - - ! source/compiler/harbour.c - - Moved PackDateTime() to hbcmdchk.c - - Removed SwitchCmp() - - Errors/Warnings tables moved to hbgenerr.c - - hb_compGenError/Warning() moved to hbgenerr.c - - moved all HB_EXPR_PTR hb_compError...() - and HB_EXPR_PTR hb_compWarn...() to hbgenerr.c - ! Changed prototypes of Print...() functions to extern - + Some blocks changed into new functions: - + hb_compInitVars() - + hb_compGenOutput() - + hb_compCheckPaths(); - + hb_compOutputFile(); - + Added prototypes for the new functions - ! Some local variables made global: - ! s_pOutPath -> hb_comp_pOutPath - ! s_bCredits -> hb_comp_bCredits - ! s_bLogo -> hb_comp_bLogo - ! s_bSyntaxCheckOnly -> hb_comp_bSyntaxCheckOnly - ! s_iLanguage -> hb_comp_iLanguage - This change make them visible to the new - module hbcmdchk.c and pragma directive. - ! Minor formatting - ! Some typos fixed - + Optimized two functions: - % hb_compGenPushLogical() and - % hb_compGenPushFunCall (NOTE: Check them, please) - - + source/compiler/hbcmdchk.c - + Compiler command line checking - + hb_ChkCompilerSwitch() - + hb_ChkEnvironVar() - + hb_ChkCompileFileName() - + New HARBOURCMD/CLIPPERCMD environment support - - + source/compiler/hbgenerr.c - + char * hb_comp_szErrors[] - + char * hb_comp_szWarnings[] - + void hb_compGenError() - void hb_compGenWarning() - + Added all HB_EXPR_PTR hb_compError...() functions - + Added all HB_EXPR_PTR hb_compWarn...() functions - - * makefile.b32 - + source/compiler/cmdcheck.c - + source/compiler/hbfunchk.c - + source/compiler/hbgenerr.c - + source/compiler/hbpcode.c - + source/compiler/hbusage.c - ! WARNING ! Update other makefiles and rebuild all - - (Uploaded by Viktor Szakats) - -19991208-01:59 GMT+1 Viktor Szakats - * source/rtl/arrays.c - + Added C53 compatible error message to ASIZE() - ! Fixed a bug in ACOPY() which was also fixed in CA-Cl*pper 5.3a, - this was previously implemented then removed as STRICT mode. Note that - there's still a small anomaly left in ACOPY(). - * tests/regress/rt_array.prg - ! Fixed the expected result for ASIZE() (w/o param) - * Changed expected results for some ACOPY() tests. - * source/rtl/errorsys.prg - + EG_OPEN and EG_APPENDLOCK errors are handled in the Clipper way. - * source/rtl/errorsys.prg - + ERRORSYS() documentation by Chen Kedem added - * source/rtl/fieldbl.prg - + FIELD*BLOCK() documentation by Chen Kedem added - -19991207-20:25 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * some changes, related to '@ ... clear to ...' problem - -Tue Dec 07 12:42:30 1999 Gonzalo A. Diethelm - - * source/rdd/dbcmd.c: - Got rid of two warnings about unused variables. - -19991207-16:29 GMT+1 Viktor Szakats - * tests/regress/* - ! SQRT(3) expected result fixed. - ! Date() calls in test lines changed to constant dates. - (Both fix thanks to Plamen Ivanov ) - + 19800101 changed to 19840325 to better test handling of date parts. - * doc/hdr_tpl.txt - + $FILES$ entry added. - * source/rtl/dbedit.prg - + DBEDIT() documentation by Chen Kedem added - * source/rtl/extend.c - ! Updated TRACE call for hb_pardsbuff() - * include/hbpp.h - - Removed two compiler variable declarations. - * source/common/hbstr.c - % Minor code cleanup. - * source/rtl/alert.prg - ! Chr(13)+Chr(10) changed to hb_OSNewLine(). - ! Fix in the ALERT() $DESCRIPTION$. - (Both fix thanks to Chen Kedem) - * source/rtl/dircmd.prg - + __DIR() documentation by Chen Kedem added - * source/rtl/adir.prg - ! Fixed $EXAMPLE$, aSize( var, x ) would result in a RT error, since - var is NIL at this point, changed to var := Array( x ), $SEEALSO$ - changed accordingly. - -19991205-14:22 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - + Added dbSeek(), IndexOrd(), ordSetFocus(), ordFor(), ordKey(), - ordNumber(), ordName() and ordBagName() functions. - * source/rtl/dummy.prg - - Removed dbSeek(), IndexOrd(), ordSetFocus(), ordFor(), ordKey(), - ordNumber(), ordName() and ordBagName() functions. - -19991204-17:22 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - + Added ordBagExt(), ordListAdd() functions. - * source/rtl/dummy.prg - - Removed ordBagExt(), ordListAdd() functions. - -19991204-13:15 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - + Begining with ordCondSet(), ordCreate(), ordDestroy(), ordListClear() and - ordListRebuild(). - * source/rtl/dummy.prg - - Removed ordCondSet(), ordCreate(), ordDestroy(), ordListClear() and - ordListRebuild() functions. - -19991203-15:18 GMT+1 Jose Lalin - * source/pp/hbpp.c - ! Bug fixed in #error directive. - Changed 'F' for 'E' type in hb_compGenError call. - Now Harbour continues compilig when this directive is - found like CA-Cl*pper. - (Uploaded by Viktor Szakats) - -19991203-15:18 GMT+1 Viktor Szakats - * doc/hdr_tpl.txt - + $PLATFORMS$ entry added. - -19991203-15:11 GMT+1 Viktor Szakats - * tests/regress/* - + Added functionality to test database/field stuff. Alias is w_TEST - + Added Len(), ValType(), Empty(), Str() tests for fields, all of them - pass. - - Removed NIL:classname tests temporarily. - * include/extend.h - ! IT_MEMO constant fixed (it was equal with IT_NIL). - + IS_MEMO() macro added. - * source/rtl/valtype.c - source/rtl/len.c - source/rtl/empty.c - ! Fixed case when no parameter was passed (via hb_vmDo() for example) - + Added an $EXAMPLE$ for LEN() - + Changed $SYNTAX$ for LEN() - + Added some $SEEALSO$ for LEN() - * Changed LEN() not to use internal ITEM access. - -19991203-02:25 GMT+1 Viktor Szakats - * source/rdd/dbcmd.c - + DBEVAL() doc added from dbeval.prg - ! Error codes fixed in DBEVAL() - % Some optimization made in DBEVAL() - * source/rdd/Makefile - - source/rdd/dbeval.prg - rdd.b32 - makefile.vc - - old bad_DBEVAL() removed - * include/hbextern.ch - source/runner/stdalone/external.prg - ! PVALUE -> HB_PVALUE - -19991202-18:00 GMT+1 Bruno Cantero - * source/rdd/dbeval.prg - * Function dbEval() renamed to Bad_dbEval() - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - doc/funclist.txt - + Added dbEval() function. - -19991202-01:45 EST Paul Tucker - * makefile.vc - + source/rtl/break.c - + source/rtl/empty.c - + source/rtl/initexit.c - + source/rtl/len.c - + source/rtl/pcount.c - + source/rtl/proc.c - + source/rtl/pvalue.c - + source/rtl/type.c - + source/rtl/valtype.c - + source/rtl/word.c - + source/rtl/xhelp.c - -19991202-00:54 GMT+1 Viktor Szakats - * source/rtl/Makefile - + New files added to the GNU make system. - * source/rtl/pvalue.c - tests/multiarg.prg - * HB_ prefix added to the PVALUE() function name. - -19991202-00:54 GMT+1 Jose Lalin - * source/rdd/dbnubs.c - ! Warnings fixed. - * source/vm/hvm.c - - Removed all of this functions. - + source/rtl/break.c - + HARBOUR HB_BREAK( void ) - + source/rtl/empty.c - + HARBOUR HB_EMPTY( void ) - % Added support for MEMO type. - + source/rtl/initexit.c - + HARBOUR HB___QUIT( void ) - + source/rtl/len.c - + HARBOUR HB_LEN( void ) - % Added support for MEMO type. - + source/rtl/pcount.c - + HARBOUR HB_PCOUNT( void ) - + source/rtl/proc.c - + HARBOUR HB_PROCNAME( void ) - + HARBOUR HB_PROCLINE( void ) - + HARBOUR HB_PROCFILE( void ) - + source/rtl/pvalue.c - + HARBOUR HB_PVALUE( void ) - + source/rtl/type.c - + HARBOUR HB_TYPE( void ) - + source/rtl/valtype.c - + HARBOUR HB_VALTYPE( void ) - % Added support for MEMO type. - + source/rtl/word.c - + HARBOUR HB_WORD( void ) - + source/rtl/xhelp.c (it should go to harbinit.prg) - + HARBOUR HB___XHELP( void ) - * All of them: - + Added License agreement. - + Added documentation. - + Formatting - * makefile.b32 - + Updated with this new modules. - ! WARNING ! Remember to update other makefiles. - * rdd.b32 - + Added dbeval.prg - * doc/pragma.txt - ! Some typos fixed. - ! Formatting. - (Uploaded by Viktor Szakats) - -19991130-04:30 EST Paul Tucker - * source/pp/hbpp.c - * added a cast on xgrab call. - -19991130-01:55 GMT+1 Viktor Szakats - * tests/regress/rt_trans.prg - + ~200 TRANSFORM() regression tests added, 43 of them fail. - -19991130-01:28 GMT+1 Viktor Szakats - * tests/regress/rt_str.prg - + More VAL() regression tests added, 15 of them fail. - -19991130-00:13 GMT+1 Viktor Szakats - * source/rtl/browse.prg - + Documentation by Chen Kedem added - ! Unused .ch files removed. - -19991129-22:22 GMT+1 Viktor Szakats - * source/compiler/harbour.c - include/compiler.h - * HB_EXITLEVEL_* constants moved to the central header file. - * source/rtl/alert.prg - source/rtl/asort.prg - ! Minor fixes. - * include/hbdefs.h - ! HB_HANDLE - LONG -> ULONG, to suppress Borland warning in memvars.c - * source/rtl/memvars.c - ! cast added to suppress Borland warning. - * source/pp/stdalone/hbpp.c - source/pp/hbpplib.c - + Dummy compiler flag variables added for #pragma support. - * source/rtl/trace.c - - Copyright removed. - -19991129-22:22 GMT+1 Jose Lalin - * source/pp/hbpp.c - + Added support for #pragma directives - Now we can include compiler settings inside PRG's - * include/hberrors.h - + Added new #define ERR_PRAGMA_BAD_VALUE - + tests/tstprag.prg - tests/Makefile - + New test for pragma directives - + doc/pragma.txt - + a bit of info on Harbour pragmas implementation - (Uploaded by Viktor Szakats) - -Mon Nov 29 12:45:05 1999 Gonzalo A. Diethelm - - * include/hbtrace.h: - * source/common/hbtrace.c: - * source/rtl/trace.c: - * doc/tracing.txt: - Modified the run-time trace interface functions, to simplify this - interface. Now there are just two C functions: - - current_state = hb_tracestate(new_state); - current_level = hb_tracelevel(new_level); - - and just two Clipper functions: - - current_state := HB_TRACESTATE( [new_state] ) - current_level := HB_TRACELEVEL( [new_level] ) - - Both check their argument, so passing a -1 to any of them will - return the appropriate current setting without modifying it. - -19991128-22:24 GMT+1 Viktor Szakats - * source/rtl/asort.prg - source/rtl/browdb.prg - + Documentation by Chen Kedem added - * include/extend.h - ! ISNIL() macro fixed. - * source/rtl/dbeval.prg - source/rtl/alert.prg - * Small corrections. - -19991127-15:57 EDT Paul Tucker - * source/rdd/dbeval.prg - * ISNUM() -> ISNUMBER - * makefile.vc - + dbeval.prg - -19991127-15:57 EST Paul Tucker - * Clipper does _not_ quit if //noalert is specified and alert() is called. - * source/rtl/alert.prg - * if s_lNoAlert - RETURN NIL // Don't quit! - * updated comment in __NoNoAlert() - * source/rtl/errorsys.prg - * check for empty( nChoice ) in case alert returns nil. - -19991127-20:42 GMT+1 Viktor Szakats - * source/rtl/dummy.prg - + source/rdd/dbeval.prg - source/rdd/Makefile - + DBEVAL() function by Luiz Rafael Culik added. - ! WARNING ! Please add it to non-GNU makefiles. - ! Fixed next parameter handling for indexed tables. - ! Fixed nRecord = 1 situtation. - + Added Clipper compatible error handling. - + Added TODO (optimizing, C rewrite). - - Removed locking feature. - * Formatted. - % Slightly optimized. - - Extensions removed. - + tests/dbevalts.prg - tests/Makefile - + DBEVALTS.PRG added. - * source/rtl/copyfile.c - source/vm/hvm.c - source/vm/mainwin.c - source/tools/hb_f.c - ! Borland warnings fixed. - -19991127-17:25 GMT+1 Viktor Szakats - * source/rtl/alert.prg - + Documentation by Chen Kedem added - + Added SPACE key handling for GT mode. - ! Fixed autodelay after a LEFT/RIGHT key. - ! Fixed ENTER/LEFT/RIGHT key handling in console mode. - ! SAY/BOX converted to DispBox()/DispOutAt() - * source/rtl/adir.prg - + Documentation by Chen Kedem added - * source/pp/* - source/common/hbfsapi.c - ! Some Borland warnings fixed. - -19991126-12:00 WIB Andi Jahja - * tests - + hversion.prg - List version of Harbour source codes - + entries.ini - File list for hversion.prg to work - -19991126-01:11 GMT+1 Jose Lalin - * source/rtl/input.prg - + documented - * source/rtl/wait.prg - + documented - * source/rtl/setta.prg - + documented - - There is an error in $STATUS$ in the following functions. They are - marked - as "C" but they should be marked as "R". Some typos fixed. - - * source/rtl/console.c - ! HB_Osnewline - * source/rtl/descend.c - * source/rtl/hardcr.c - * source/rtl/inkey.c - ! __Keyboard, also bad name in $COMPLIANCES$ - ! __Keyput - ! Nextkey, also bad name in $COMPLIANCES$ - ! Lastkey, also bad name in $COMPLIANCES$ - * source/rtl/mtran.c - * source/rtl/strings.c - ! HB_Valtostr - * source/rtl/natmsg.c - ! IsAffirm - ! IsNegative - ! NationMsg, also bad name in $COMPLIANCES$ - * source/rtl/devoutp.prg - * source/rtl/setkey.prg - ! SetKey - ! SetKeyGet - ! SetKeySave - ! SetKeyCheck - - (Uploaded by Viktor Szakats) - -19991126-01:06 GMT+1 Viktor Szakats - * source/rtl/gt/gtwin.c - % DispBegin()/DispEnd() switching code optimized. The only "stepback" is - that now the second screen buffer gets allocated right at the startup - and not at the first DispBegin() call. - ! DispBegin() now hides cursor as in Clipper. - * source/rtl/set.c - ! One value changed to BOOL. - * source/rtl/trace.c - + Added HB_ prefix to the nonstandard Clipper function names. - % Optimized one function. - ! Fixed indentation level. - * source/common/hbtrace.c - include/hbtrace.h - + Some new interface added (to query enabled state for example) - * Trace code variable scopes and code optimized. - * Variable naming and formatting. - -Wed Nov 24 12:45:36 1999 Gonzalo A. Diethelm - - * include/hbtrace.h: - * source/common/hbtrace.c: - * source/rtl/trace.c: - * source/rtl/Makefile: - * doc/tracing.txt: - Implememted run-time tracing control; thanks to Jose Lalin - for suggesting this. The interface is - described in doc/tracing.txt. - - * source/rdd/dbf1.c: - Fixed a compilation error that only appeared with HB_TR_DEBUG. - - * source/rtl/inkey.c: - Added a guard to avoid a compilation warning. - - * tests/Makefile: - Changed the order of inclusion to make sure you can still do a - make 'PRG_SOURCES=foo.prg'. - -19991123-13:35 EDT David G. Holm - - * rt_misc.prg - + Corrected comments regarding Nation functions to specify if they - apply to the US or International editions of CA-Cl*pper 5.2e. - -19991123-01:09 GMT+1 Viktor Szakats - * source/rtl/math.c - + math error handler added for __BORLANDC__ and __MINGW32__ - I could not find a way to test these error though. - -19991123-00:29 GMT+1 Viktor Szakats - * tests/regress/* - + Split rt_str into rt_str + rt_trans. - ! Typo fixed in Clipper batch file. - ! Fixed another long function name (Main_STRINGS() -> Main_STR()) - * make_b32.bat - make_b40.bat - makefile.b32 - regress.b32 - * Updates by Jose Lalin. - -19991122-23:43 GMT+1 Viktor Szakats - * tests/regress/rt_hvm.prg - tests/regress/rt_misc.prg - + Enabled some tests which will make the VM die. (NIL:Classname) - ! Disabled some tests for Clipper which return trash. - * source/pp/hbpp.c - * Minor formatting (static declaration moved first). - -19991122-17:10 EDT David G. Holm - - * rt_misc.prg - + Added a comment that Nations functions don't exist in CA-Cl*pper 5.2e. - ! Added #infdef __CLIPPER__ around Nationmsg(200) test, which causes a - GPF with CA-Cl*pper 5.3b (with Exospace). - + Changed comments to indicate IsAffirm() and IsNegative() GPF with - CA-Cl*pper 5.3b (with Exospace) (they don't even exist in 5.2e). - -19991122-16:45 EDT David G. Holm - - * make_c5x.bat - ! Added optional parameter to create a protected mode version of - RT_MAIN (the absence of a parameter forces the use of RTLink, - while the presence of a parameter forces the use of Exospace). - - * rt_main.prg - * rt_str.prg - % Changed Comp_STRINGS() to Comp_Str() and Exact_STRINGS() - to Exact_Str() in order to allow direct comparison of - Clipper and Harbour results (Clipper cuts names off after - 10 characters). - -19991122-17:25 GMT+1 Ryszard Glab - - * source/compiler/harbour.y - * fixed incorrect error generation if empty lines were placed between - DO CASE statement and the first CASE statement - -19991122-16:12 GMT+1 Viktor Szakats - * source/common/hbstr.c - include/extend.h - + hb_strdup() function added. - + hb_strupr() corrected to return a pointer. - * source/pp/hbpp.c - source/pp/stdalone/hbpp.c - include/hbpp.h - % hb_pp_strodup() -> hb_strdup() - - hb_pp_strodup() removed. - * source/compiler/harbour.* - source/compiler/genc.c - include/compiler.h - % yy_strupr() -> hb_strupr() - % yy_strdup() -> hb_strdup() - - Removed redundant function declarations (yy_*, hb_x*()) - - yy_strdup(), yy_strupr() removed. - -19991122-15:03 GMT+1 Viktor Szakats - * source/pp/hbppint.c - ! .PPO file generation fixed (/p was not working since yesterday). - * include/hbpp.h - include/compiler.h - % Some redundant function declaration removed. - * include/hbpp.h - * Sorted out the inclusion of "compiler.h", to make things clearer. - * source/pp/hbpp.c - include/hbpp.h - * Some hb_comp_ variable usage better isolated. - -19991122-12:46 GMT+1 Viktor Szakats - * source/compiler/expropt.c - include/compiler.h - ! Fixed optimizatoin of: ( 1 / 0 ) - * Some "unsigned char" types changed to BYTE - + tests/regress/make_c5x.bat - tests/regress/rt_main.prg - + Make file for Clipper 5.x added. - ! Fixed to compile with Clipper 5.x. - * tests/regress/rt_hvm.prg - + New optimization tests added. - * source/vm/hvm.c - ! Minor formatting. - -19991122-11:56 GMT+1 Viktor Szakats - + tests/regress/* - + regress.b32 - - tests/rtl_test.prg - * tests/Makefile - * make_b32.bat - * make_b40.bat - + RTL_TEST split into multiple files, placed into a separate subdirectory. - Thanks go to Jose Lalin for the splitting ! - ; PP needs to be enhanced to support code in header files, in order to - elminate duplicated code from the current version. - -19991122-11:35 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * fixed line numer generation in FOR/NEXT statement - * all expressions used in FOR/NEXT are correctly deleted - - *source/compiler/expropt.c - * the alias symbol is correctly pushed in alias expressions - alias->( expression ) - - *include/extend.h - *source/compiler/expropt.c - *source/vm/hvm.c - * double values created during compile time divide optimization - uses unspecified number of decimal places (defined as - HB_DEFAULT_DECIMALS) - this value replaced at runtime by current - SET DECIMALS setting - - -19991122-10:37 GMT+1 Antonio Linares - * makefile.b32 updated - * hbpp.b32 updated - -19991122-19:50 EDT Paul Tucker - * makefile.vc - + hbstr and hbfsapi - -19991122-01:33 GMT+1 Viktor Szakats - * source/hbpplib.c - ! Standard runtime error is launched from the library version of the - preprocessor. - -19991122-01:14 GMT+1 Viktor Szakats - * source/compiler/* - include/compiler.h - * Renamed two global variables - hb_comp_szCErrors -> hb_comp_szErrors - hb_comp_szCWarnings -> hb_comp_szWarnings - * include/hbsetup.h - include/hbpp.h - * IS_OPT_SEP() macro renamed to HB_ISOPTSEP() and moved to the right place. - * source/pp/* - include/hbpp.h - source/compiler/harbour.l - source/compiler/harbour.c - * Variable renaming, prefixing, scope optimizing. - * Global functions prefixed with - * Some ints changed to BOOL. - ! Non-ANSI comment removed. - % stroupper() changed to hb_strupr(), stroupper() removed. - % strolen() changed to strlen(), strolen() removed. - + source/common/hbstr.c (added) - source/rtl/strings.c - * hb_strupr() moved to the common library. - % hb_strupr() Local variable optimized out. - -19991121-23:23 GMT+1 Viktor Szakats - * source/pp/* - include/hbpp.h - ! static variables and functions marked static (continued). - ! public pp variables prefixed with "hb_pp_". - % pp_strAt() removed and calls replaced with common hb_strAt() function. - * Cleaned up standard header file usage. (Please report any errors caused - by this.) - * static variables prefixed with "s_". - * source/compiler/harbour.c - source/compiler/harbour.y - include/compiler.h - source/pp/hbppint.c - * Two PPO related variable declarations moved to the compiler. - -19991121-22:38 GMT+1 Viktor Szakats - * source/pp/* - source/compiler/harbour.c - include/hbpp.h - ! static variables and functions marked static. - * Cleared up declarations, removed redundant declartions. - * Some formatting. - * source/pp/hbpp.c - ! Some corrections made to better handle where the code launcher - returns to the caller. This is a theoretical case, but it's more - elegant to handle this case, and it would also help to avoid a jmp_buf - trick in the library callable version of the PP. - -19991121-17:50 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - + Additional feature: __dbPack( [], [] ) - executes every records. - -19991121-17:33 GMT+1 Viktor Szakats - * source/compiler/expropt.c - ! $ optimization fixed for strings containing Chr(0), now 4 more RTL_TESTs - pass. - ! "Fixed" CHR() to be bug compatible with Clipper for cases where param - % 256 = 0 but param != 0. - ! "Fixed" $ to be bug compatible with Clipper when an empty string is - searched in a string. - * tests/rtl_test.prg (not yet committed) - + Some failing VAL() tests added. - ! Corrected result for compiler optimized AT(), CHR() and $ operations. - They now test for bug compatibility. - + source/common/hbstr.c (added) - source/common/Makefile - source/rtl/strings.c - * hb_strAt() moved to the common library. - ! WARNING ! Please modify non-GNU make systems. - * source/vm/hvm.c - % Minor optimization in hb_vmInString() - * source/pp/* - ! Fixed some mistyped #undef statements related to tracing. - -19991121-16:10 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - * Optimization of RDD, mentioned by Matteo and Victor. - -19991121-03:19 GMT+1 Viktor Szakats - * source/compiler/harbour.c - source/compiler/harbour.y - ! hb_fsName*() functions and declarations removed (again). - -19991121-01:20 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - * dbUseArea(), fixed two bugs mentioned by Victor. - -19991120-17:28 EDT Paul Tucker - * makefile.vc - - hbfsapi for - -19991120-14:35 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * fixed NOT operator precedence - * fixed the infinite loop when a duplicated variable error - was reported - * fixed '=' operator use (there was conflict between a compare - and assignment context) - * added new warning "Unreachable code' - * fatal errors (errors for which the compilation process should - terminate immediately should use 'F' prefix) - * corrected logic of handling errors (the compilation can be continued - with no GPF or core dump) - - *source/compiler/expropt.c - * corrected to support 'DO procname' statement - - *include/compiler.h - *source/compiler/harbour.y - *source/compiler/harbour.c - *source/compiler/expropt.c - *source/compiler/genc.c - *source/compiler/genhrb.c - *source/compiler/genjava.c - *source/compiler/genobj32.c - * finished uniform naming scheme hb_comp* - * cleared up declarations and visibility of functions and variables - - *include/hberrors.h - * added new warning "Unreachable code' - - *source/debug/debugger.prg - * removed one unreachable RETURN statement - - *source/pp/hbpp.c - * all errors reported by the preprocesor are promoted to fatal - errors ('F' prefix) - -19991119-16:59 GMT+1 Antonio Linares - * updated makefile.b32 - * updated hbpp.b32 - -19991119-14:51 GMT+1 Viktor Szakats - * source/rdd/dbf1.c - source/rdd/delim1.c - source/rdd/sdf1.c - source/rdd/dbfcdx/dbfcdx1.c - source/rdd/dbfntx/dbfntx1.c - ! Guard for #pragmas changed to avoid MSVC warning. - -19991119-10:02 GMT+1 Viktor Szakats - * source/common/hbfsapi.c - ! Fixes (tracing mainly), cleanups. - * source/rtl/gt/gtstd.c - * Minor change. (0/1 -> FALSE/TRUE) - * source/pp/hbpp.c - ! Fixed GPF when an #include file was not found. - + Added support for #include `hello.ch' (new filename delimiters) - * source/compiler/harbour.c - source/compiler/harbour.y - * Include() return type changed from int to BOOL. - * Some cleanups in Include() - * source/compiler/gen*.c - * Minor formatting. - -19991118-19:30 EDT David G. Holm - - - tests/strings3.prg - * tests/Makefile - - Removed strings3.prg - - * tests/rtl_test.prg - + Added massive string comparison tests that used to be in strings3.prg. - But don't feel sorry for me having to type all those lines in, because - I didn't. Instead, I wrote a program based on strings3.prg that created - each and every one of those TEST_LINE() lines in Comp_STRINGS() and in - Exact_STRINGS(). The only problem is that Clipper can't compile the - program anymore: RTL_TEST.PRG Fatal C3023 Too many labels - -19991118-12:50 GMT+1 Ryszard Glab - - * source/vm/hvm.c - * corrected code in hb_vmPopAlias() - the stack pointer was - decreased before the call to hb_vmSelectWorkarea - later - the error recovery code was overwriting the alias item which - caused unreleased memory - -19991118-06:05 EDT Paul Tucker - * makefile.vc - + source\common\hbfsapi.c (reported missing by Matteo) - -19991118-11:35 GMT+1 Ryszard Glab - - *source/rtl/filesys.c - * corrected support for Watcom C/C++ compiler - - *source/rtl/tone.c - * added support for Watcom C/C++ compiler - - *source/rtl/gt/gtstd.c - * added missing return value in hb_gt_setPos() - - *source/rtl/gt/gtdos.c - * added Ctrl-Break handler for Watcom C/C++ compiler - * changed USHORT - SHORT and (char *) to (unsigned char *) - to make happy C++ compilers in hb_gt_Scroll() - - *source/compiler/expropt.c - * restored support for expression->( expressions_list ) syntax - * corrected bug in (expr .OR. .F.) and (expr .AND. .F.) - optimization - * corrected optimization of ( single_expr ) syntax - - *source/rtl/classes.c - *source/rtl/arrays.c - * corrected assignment of NULL to an unsigned int type - some - compilers don't like it - - *tests/rtl_test.prg - * added #ifdef __HARBOUR__ to suppres generation of errors that - are now reported at compile time (array[ 0 ], IIF( "str", ...) ) - -19991118-07:25 GMT+1 Viktor Szakats - + source/common/hbfsapi.c - + include/hbfsapi.h - include/Makefile - include/compiler.h - include/hbpp.h - include/filesys.h - source/common/Makefile - source/rtl/filesys.c - source/compiler/harbour.c - source/compiler/harbour.y - source/pp/stdalone/hbpp.c - + Rewritten the filename splitting/merging functions, now they also support - drive letter (split only). - + hb_fsFName*() functions moved to the common directory, so that only one - copy of the functions exist (instead of three). - ! WARNING ! Non-GNU Make systems have to be updated. - ! WARNING ! All sources must be rebuilt. - ; Now ~100 more RTL_TESTs pass. - * tests/rtl_test.prg - + Some more filename split/merge tests added. - * include/hbundoc.api - ! Zero bytes removed from the text file. - -19991118-05:29 GMT+1 Viktor Szakats - - bin\buildexe*.* - + bin\bld_tpl.bat - + bin\bld_tpl.cmd - * New style build batch file templates added instead of the long-named - ones. - * make_tpl.* - + Copyright info added. - * include/filesys.h - + Indenting corrected. - - bin/empty - - Removed. - -19991117-13:05 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - *source/compiler/harbour.l - *source/compiler/harbour.c - *source/compiler/expropt.c - * corrected support for expression->identifier syntax - * corrected optimization for division operator - - *include/compiler.h - * removed declaration no longer needed - -19991117-10:51 GMT+1 Viktor Szakats - * source/compiler/expropt.c - ! Fixed the compile-time calculation of numeric operations with results - larger than LONG. - % Compile-time calculation of numeric operations - Removed doubled - calculation code. - -19991117-03:15 GMT+1 Viktor Szakats - * source/vm/hvm.c - ! Added error substitution to hb_vmForTest(), now some more RTL_TESTs pass. - * source/compiler/harbour.y - source/vm/hvm.c - ! Changed the push order for the FOR/NEXT loops, so that it's now 100% - Clipper compatible, and ~15 more RTL_TESTs pass. - (step/counter/end -> counter/end/step) - * tests/rtl_test.prg - + Some $ tests added to test new compiler bug. ("X" $ Chr(0)+"X") - -19991117-01:37 GMT+1 Viktor Szakats - * config/w32/mingw32.cf - - Removed -DDEBUG preprocessor option. - If you want to compile with debug, add -DDEBUG to the - C_USR environment variable. - * tests/rtl_test.prg - + Some tests enabled which are now supported by the compiler. - (expr):CLASSNAME, (expr):CLASSH - -19991116-19:25 EDT David G. Holm - - * config/dos/djgpp.cf - * config/os2/gcc.cf - * config/w32/gcc.cf - - Removed -g compiler option and -DDEBUG preprocessor option - If you want to compile with debug, add -g and -DDEBUG to the - C_USR environment variable. - - * source/compiler/expropt.c - ! Corrected the division optimization to return 0 for any attempt - to divide by 0. - ! Corrected the division optimization to only return a long when the - result of dividing long values is a whole value instead of returning - a long when the result is within the range of a long (the result of - dividing a long by a long will always be within the range of a long). - % Changed the double results to return 2 decimal places after division - optimization, which still isn't correct (see the source code for - TODO: NOTE 1), but is more accurate than returning 0 decimal places. - - * source/compiler/harbour.y - - Removed one of two occurrences of ExprEqual (on line 209). - -19991117-01:03 GMT+1 Viktor Szakats - * include/hbver.h - * Version number updated to reflect the deep changes. - * include/compiler.h - * Commented code removed - -19991116-21:55 GMT+1 Ryszard Glab - - * source/compiler/harbour.y - * source/compiler/harbour.l - * source/compiler/harbour.c - * source/compiler/expropt.c - * source/compiler/genc.c - * source/compiler/genhrb.c - * source/compiler/genobj32.c - * source/compiler/genjava.c - * new implementation of grammar rules - many new syntax supported - * new expression optimizer - * start of introducing new functions' naming scheme 'hb_comp' - * nonprintable characters (CR/LF/TAB, etc.) are inserted into - - generated C code using hexdecimal numbers instead of quoted char - - (they can appear as a result of expression optimization) - - * source/pp/hbpp.c - * source/pp/hbppint.c - * source/pp/hblib.c - * source/pp/stdalone/hbpp.c - * changes to support new functions' naming scheme 'hb_comp' - - *include/pcode.h - - *HB_P_ARRAYAAT -> HB_P_ARRAYPUSH - - HB_P_ARRAYAPUT -> HB_P_ARRAYPOP - it removes value from the stack - - This is compatible with the handling of usual variables - - - *source/debug/debugger.prg - - * corrected the following syntax: - - something other := another - - for example: - - ? 2 + a:=5 -1 - - This syntax is not allowed in Clipper and in new Harbour rules too - - It should be used: - - ? 2 + (a:=5) -1 - - - * doc/compiler.txt - * added description of incompatibility with Clipper in object - handling - - * include/compiler.h - * new structures related to expression optimizer - - * include/hberrors.h - * new errors: Invalid type, invalid syntax, invalid alias - * new warning: meaningless expression - - * source/vm/hvm.c - * change in handling of HB_P_FORTEST opcode used in FOR/NEXT loop - * Renamed ArrayAt -> ArrayPush - * Renamed ArrayPut -> ArrayPop - it removes the value from the - eval stack now - - -19991116-15:05 GMT+1 Viktor Szakats - * source/rtl/memvars.c - ! __MSAVE() Modified to save MEMVARs with names longer than 10 chars, the - this way it's more Clipper compatible. But since only the first 10 chars - of the name can be stored in the .MEM file, the complete name cannot - be retrieved on RESTORE. One more issue: if you have multiple long name - which have the same first 10 chars, all these variables will be saved to - the .MEM file, with the same name. - So to be 100% Clipper compatible you should compile Harbour with - -DHB_SYMBOL_NAME_LEN=10. - * source/rtl/dates.c - ! Some HB_TRACE() types fixed. - % hb_dateStrGet() - strlen() call eliminated for speed. - * Some variable names standardized. - * source/rtl/devoutp.prg - source/rtl/text.prg - source/rtl/harbinit.prg - source/rtl/browse.prg - % Optimization. (FUNCTION/RETURN NIL->PROCEDURE) - * tests/memfile.prg - + Added tests for long variable names. - ! Make it possible to compile with CA-Cl*pper. - * tests/rtl_test.prg - + Long names variable added for future use. - * source/rtl/copyfile.c - source/rtl/dircmd.prg - * Minor cleanups (variable scopes, formatting) - -19991116-13:26 GMT+1 Viktor Szakats - * source/rtl/math.c - % MIN()/MAX()/SQRT()/hb_numRound() minor optimalizations, cleanups. - * static variable prefixed with "s_" (Watcom only) - % EXP() - Watcom specific error handling put between guards, Watcom - specific static variable moved inside guards. - * source/rtl/dummy.prg - + Clipper 5.3 specific dummy ord*() functions added. - -19991115-12:02 EDT Paul Tucker - * makefile.vc - + define COMMON_DIR - -19991115-17:21 GMT+1 Viktor Szakats - * source/rtl/transfrm.c - ! Direct item access changed to Item API calls. - % Optimized variable scopes. - % Optimized redundant code. - % Extend API calls changed to Item API. - ! Error substitution added. - ! Direct item access buffer fixed (with picture "@!") - ! Fixed to accept picture mask characters in lowercase (like in Clipper) - ! Fixed the interpretation of some mask characters for string expressions. - ! Fixed handling of "Y" mask for strings. - ! Fixed handling of @R for strings. - ! Fixed case when the picture template is wider than the string expression. - ! Fixed handling of @Z and @B for all types. - + Added support for @D, @DE for strings. - + Other enhancements. - * tests/rtl_test.prg - + New TRANSFORM() tests for special and error conditions added. Some of - these still fail. - ! Fixed one SPACE() test. - * include/extend.h - ! ISNIL() macro was not working, fixed. It was only used in TRANSFORM(). - * source/vm/hvm.c - ! Mistyped STRICT_CLIPPER_COMP. macro name fixed. - * source/rtl/filesys.c - ! FREAD() is now always strictly compatible, option removed. - * include/simpleio.ch - include/assert.ch - ! Made platform independent using hb_OSNewLine() instead of the hard- - wired Chr(13)+Chr(10) newlines. - * include/box.ch - * Formatting. - * include/error.ch - - EG_ARGCOUNT removed. - * include/fileio.ch - * The hexa numbers changed to decimals for better cross compiler - compatibility, plus some minor cleanups. - * include/hbclip.ch - include/clipdefs.h - include/compiler.h - * Minor changes. - -19991113-13:49 GMT+1 Viktor Szakats - * source/rtl/arrays.c - source/rtl/console.c - source/rtl/dates.c - source/rtl/do.c - source/rtl/filesys.c - source/rtl/inkey.c - source/rtl/math.c - source/rtl/strings.c - source/rtl/transfrm.c - source/vm/hvm.c - doc/subcodes.txt - % Removed the runtime argument count checks. - -19991113-13:25 GMT+1 Viktor Szakats - * source/rtl/extend.c - include/extend.h - + hb_pardsbuff() Extend API function added, which does the same as - hb_pards(), but multi-thread friendly without any tricks, it will simply - accept a buffer for the return value. - * source/rtl/dates.c - source/rtl/math.c - source/rtl/strings.c - source/rtl/transform.c - * Changed to use hb_pardsbuff() instead of hb_pards() - DTOC(), DTOS(), MIN(), MAX(), TRANSFORM(), PAD*() - * tests/rtl_test.prg - + DTOC(), DTOS(), DAY(), MONTH(), YEAR(), DAY(), DOW(), CMONTH(), CDOW(), - TIME(), CTOD() regression tests added. - * source/rtl/dates.c - % Small optimalizations. - ! Error substitution added for all date functions. - + CTOD() - Added missing runtime error. - ! CDOW() - Fixed for empty and bad dates. - * source/vm/hvm.c - * hb_stack.szDate changed to local buffer. - -19991113-03:23 GMT+1 Viktor Szakats - * source/rtl/itemapi.c - % hb_evalNew(), hb_evalPutParam(), hb_evalRelease(), hb_itemRelease(), - hb_itemFreeC() - Variables and double initializations elimiated, faster, - simpler. - * source/rtl/dates.c - - DTOS() optimalization removed, it's now always 100% Clipper compatible, - STRICT option removed. - % hb_cmonth(), hb_cdow() optimalized. - -19991112-19:29 GMT+1 Viktor Szakats - * source/rtl/itemapi.c - source/rtl/strings.c - ! Moved the infinity support from strings.c to itemapi.c. - + The infinity support changed to not require the init on startup feature - of the compilers, it's now plain ANSI C. - + Removed the STRICT option from the infinity support, it's now turned on - all the time. Now one more RTL_TEST line will pass. - -19991112-11:40 EDT Paul Tucker - * makefile.vc - + source/rtl/dbedit - + source/common/hbtrace - -19991112-18:45 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Fixed bug, related to memory leaks, reported by Viktor Szakats - -19991112-01:35 GMT+1 Viktor Szakats - * config/w32/mingw32.cf - - "-g" switch removed, so now no debug info will be included by default. - This makes the generated binaries to be much smaller, and the make - process mych faster. - WARNING! If you need the debug functionality please use the C_USR=-g - envvar. - ! Fixed comment explaining why the USER32 lib is needed. - + source/rtl/natmsg/msgzhbig.c - + source/rtl/natmsg/msgzhgb.c - * source/rtl/msgxxx.c - + Chinese-GB and Chinese-BIG5 Language Modules added - Thanks to Dongming Wang - -19991111-22:52 GMT+1 Viktor Szakats - * source/vm/dymsym.c - % hb_dynsymGet(), hb_dynsymFindName() - Further optimized, toupper() calls - changed to local uppercase conversion code. One variable eliminated. - -19991111-11:19 GMT+1 Antonio Linares - * source/vm/hvm.c - hb_stack.pItems initialized to NULL (required by fm.c module) - * makefile.b32 - + some files added. - * Notice I have left -v as a bcc32.exe compiler option - to include debugging information. - * source/rtl/classes.c - Improved memory management. - -19991111-12:02 GMT+1 Viktor Szakats - * source/vm/dymsym.c - % hb_dynsymGet(), hb_dynsymFindName() - Optimized and fixed the uppercase - conversion, now it's really faster a bit. (tested) - * include/hbsetup.h - * Symbol name length changed to 63 from 128. - -19991111-10:45 GMT+1 Viktor Szakats - * source/rtl/fm.c - ! Two casts added to hb_xrealloc(). - -19991111-06:02 GMT+1 Viktor Szakats - + source/rtl/dbedit.prg - source/rtl/dummy.prg - source/rtl/Makefile - doc/funclist.txt - + DBEDIT() function added. - Please update other makefiles. - -19991111-05:39 GMT+1 Viktor Szakats - * source/rtl/fm.c - ! hb_xalloc() chaining bug fixed. - ! hb_xrealloc() chaining bug fixed. - - Removed the faulty handling of the hb_xrealloc() call with zero size, - previously the memory block was considered freed but free() was never - called. I think that until a free() call is not issued for an allocated - block we should consider it allocated regardless of it's size. This way - it's also faster and cleaner. - % DeleteNode() moved to hb_xfree() since it's only used from one place now. - % Casts removed from the non-FM_STATISTICS branches. - -19991111-04:41 GMT+1 Viktor Szakats - * source/rtl/fm.c - ! hb_xrealloc() several things fixed (access to the pointer after - reallocating it, uneccessary structure initializations, access to NULL - pointers of failed or zero size realloc), RTL_TEST GPF fixed. - ! Simplified, optimized and fixed the dump part. - + TODO added about inconsistent hb_xrealloc() behaviour. - + Size is shown in the dump. - % strcpy( p, "" ) calls optimized. - -19991111-01:18 GMT+1 Viktor Szakats - * source/rtl/fm.c - ! hb_xrealloc() check for a passed NULL pointer. - ! hb_xrealloc() signature check moved before any MEMINFO usage. - ! Explicit \n changed to hb_consoleGetNewLine() call. - ! 256 buffer size for symbol names changed to HB_SYMBOL_NAME_LEN constant. - ! Now the hb_xrealloc() is returning a NULL pointer (instead of trash) - when the passed length is zero, and it's also freeing the pointer with - free(). - % hb_xrealloc() - pResult variable optimized out. - * source/rtl/hbsetup.h - + HB_SYMBOL_NAME_LEN constant added to set the maximum handled symbol - name length in Harbour (both compiler/runtime), this can be set to any - value by specifying C_USR=-DHB_SYMBOL_NAME_LEN=10 in the make process. - TODO: Add support for the compiler to cut the symbols to this size on - compile. This way the /10 switch may be replaced by this #define, - since /10 works perfect when the RTL also "knows" about this limit, - and is compiled using this limit. - * include/hbtrace.h - ! Every macro names prefixed with HB_ - * source/vm/hvm.c - ! Explicit buffer sizes are now determined using the HB_SYMBOL_NAME_LEN - constant. They can't overrun anymore. - * source/vm/dynsym.c - % hb_dynsymGet(), hb_dynsymFindName() - Using local stack for temp symbol - name buffer instead of hb_xgrab()/hb_xfree(). Some optimalizations. - Now they will cut the symbol name to the HB_SYMBOL_NAME_LEN size, so - by setting this to 10, we're 100% Cl*pper compatible from this respect. - These functions are now faster. - -19991110-23:20 GMT+1 Viktor Szakats - * include/hbtrace.h - % Excluded trace calls are converted to nohting instead of "do {} while 0" - since the latter was generating jumps for MINGW32. This is now violating - a -pedantic warning in GCC (duplicated ";"), so this may not be the - perfect solution, but at least it doesn't generate any code. - * source/rtl/fm.c - ! Casts added. - ! ulProcLine changed to USHORT. - + Added signature support. - + The whole mem tracing stuff can be excluded by a #define. - + The memory trace info level is HB_TR_ERROR now, so that it gets logged - by default. - * tests/Makefile - + fsplit.prg added. - -19991110-20:45 WIB Andi Jahja - * tests/fsplit.prg - * Harbour file splitter - -19991110-14:11 GMT+1 Viktor Szakats - * include/hbsetup.h - - Removed #defines which were previously moved to hbsetup.ch. - * include/hbextern.ch - source/runner/stdalone/external.prg - + __PREPROCESS added as EXTERNAL - -19991110-11:08 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - * Added __dbPack() function - - * tests/testdbf.prg - * Added a test for __dbPack() function - - * source/rtl/dummy.prg - * Removed __dbPack() function - -19991109-17:20 EDT David G. Holm - - * source/rtl/filesys.c - % Replaced several #if tests of three or more manifest constants with - tests for new single manifest constants that are defined using just - one instance of the multiple tests. The new manifest constants are: - HB_FS_FILE_IO, HB_FS_SOPEN, and HB_FS_DRIVE_LETTER. This will lessen - the chances of missing one instance when other compilers are added. - % Replaced the use of PATH_MAX with _POSIX_PATH_MAX, which is always - defined, even for non-Posix compliant compilers, and eliminated the - PATH_MAX definition. - -Tue Nov 09 11:56:05 1999 Gonzalo A. Diethelm - - * include/hbsetup.h: - * source/rtl/gt/gtsln.c: - * source/rtl/gtxxx.c: - * source/rtl/mousexxx.c: - Added an initial implementation of GT over S-lang. - - * source/rtl/inkey.c: - Changed the order in which the #ifdef/#endif checks are done, to - make sure the curses and S-lang implementations are picked up - correctly. - - * config/linux/gcc.cf: - * config/w32/gcc.cf: - * config/w32/mingw32.cf: - Added initial support for easily switching between curses and - slang. This could be vastly improved. - - * tests/testbrw.prg: - Added a piece of code bound to K_TAB, just for the fun of it... - -19991109-01:58 GMT+1 Viktor Szakats - * samples/Makefile - samples/cccppc/*.* - + Fully CA-Cl*pper 5.x compatible PP written in Clipper added to the - samples directory. It also has a special object system (SmallTalk like - if I'm not mistaken), and it's a good test for the Harbour compiler. - Note that Harbour can't yet compile it, due to hangs in several .PRG. - (but it has an RMAKE makefile, so you can try it out) - The .PPO files produced by this program are exactly the same as the - ones produced by Clipper (with some really minor differences). Also note - that this version may have some bugs, since the project was later - rewritten and continued in C++, which is also Open Source, and you can - find it at http://www.nexus.hu/cccpp/ - - This great contribution was made by Levente Csiszar - -19991109-01:09 GMT+1 Viktor Szakats - * source/rtl/filesys.c - ! tell() changed to lseek() for Posix (tell() is not a Posix function) - -19991108-23:41 GMT+1 Viktor Szakats - * source/rtl/filesys.c - % hb_fsWrite(), hb_fsReadLarge(), hb_fsWriteLarge() double var - assigments optimized. - * Some small cleanups. - * tests/rtl_test.prg - + Two new SOUNDEX() tests added. - + FWRITE() tests for the truncate feature. - * source/rtl/soundex.c - ! SOUNDEX() - Fixed handling of accented/national characters. - -19991108-09:25 GMT+1 Antonio Linares - * source/rtl/classes.c - * hb_clsRelease() modified. Still there is a problem with CLASSDATA ... INIT - -19991108-07:38 GMT+1 Antonio Linares - * source/rtl/classes.c - * Arrays used for DATA ... INIT values, properly initalized. - -19991107-19:24 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - * dbCreate(), fixed two bugs (mentioned by Victor). - -19991106-01:30 EDT David G. Holm - - * include/filesys.h - * source/rtl/filesys.c - ! Proper optimization implemented for hb_fsReadLarge() and - hb_fsWriteLarge(), as suggested by Viktor Szakats. - -19991105-23:30 EDT David G. Holm - - * source/rtl/filesys.c - ! Only truncate the file when the size of the write is zero bytes. - -19991105-21:20 EDT David G. Holm - - * config/os2/icc.cf - % Now that source/vm/main.c includes either mainstd.c or - mainwin.c, reference main.obj instead of main$(HB_MAIN).obj - when HB_MAIN is defined. - - * include/filesys.h - ! Only use hb_fsReadLarge() and hb_fsWriteLarge() if the size - of a ULONG is different from the size of a UINT (was USHORT, - which is always going to be smaller than a ULONG). - - * source/common/hbtrace.c - ! The hb_trace module uses strcmp(), which means that it - has to include to keep C++ compilers happy. - - * source/rtl/filesys.c - ! Only use hb_fsReadLarge() and hb_fsWriteLarge() if the size - of a ULONG is different from the size of a UINT (was USHORT, - which is always going to be smaller than a ULONG). - - * source/runner/stdalone/Makefile - % IBM's Visual Age C++ compiler will not resolve main() from a - library, so it is necessary to set HB_MAIN, if it isn't already - set, so that icc.cf will know to include the main.obj module. - -19991105-14:07 GMT+1 Ryszard Glab - - *source/rtl/codebloc.prg - * memory occupied by detached local variables is properly released now - -19991104-23:45 GMT+1 Viktor Szakats - * source/rtl/filesys.c - ! hb_fsSeek() now returns 0 instead of -1 on error, just like Clipper. - % hb_fsSeek() double assigments removed. - ! hb_fsLock() last error code handling fixed for some platforms. - % hb_fsCommit() small simplification, double assignment removed. - -19991104-14:30 EDT David G. Holm - - * source/pp/stdalone/hbpp.c - ! Added third parameter (char *) to Hp_Parse() so that the - Microsoft VC++ and IBM Visual Age C++ versions won't try - to link in the hbppint module from the pp library. - - * source/rtl/mouse/mouseos2.c - ! Changed the type of the static mouse handle variable from - int to HMOU (for IBM Visual Age C++, but also works with GCC). - -Thu Nov 04 14:32:06 1999 Gonzalo A. Diethelm - - * source/common/hbtrace.c: - * doc/tracing.txt: - Added the possibility to direct tracing output to a file by - specifying its name in the HB_TR_OUTPUT environment variable. The - default is stderr. - -Thu Nov 04 13:49:23 1999 Gonzalo A. Diethelm - - * include/hbtrace.h: - * source/common/hbtrace.c: - * doc/tracing.txt: - Implemented a better way of tracing with support for several - levels (ALWAYS, FATAL, ERROR, WARNING, INFO and DEBUG), efficient - compile-out of unwanted levels and level control using an - environment variable at run-time. See doc/tracing.txt for detailed - information. - - * source/pp/hbpp.c: - * source/pp/hbppint.c: - * source/pp/hbpplib.c: - * source/pp/stdalone/hbpp.c: - * source/rdd/dbcmd.c: - * source/rdd/dbf1.c: - * source/rdd/dbfcdx/dbfcdx1.c: - * source/rtl/arrays.c: - * source/rtl/classes.c: - * source/rtl/codebloc.c: - * source/rtl/console.c: - * source/rtl/copyfile.c: - * source/rtl/dates.c: - * source/rtl/descend.c: - * source/rtl/dir.c: - * source/rtl/environ.c: - * source/rtl/errorapi.c: - * source/rtl/extend.c: - * source/rtl/filesys.c: - * source/rtl/fm.c: - * source/rtl/gtapi.c: - * source/rtl/hardcr.c: - * source/rtl/inkey.c: - * source/rtl/itemapi.c: - * source/rtl/langapi.c: - * source/rtl/math.c: - * source/rtl/memvars.c: - * source/rtl/mouseapi.c: - * source/rtl/mtran.c: - * source/rtl/natmsg.c: - * source/rtl/samples.c: - * source/rtl/set.c: - * source/rtl/setcolor.c: - * source/rtl/strings.c: - * source/rtl/tone.c: - * source/rtl/transfrm.c: - * source/rtl/gt/gt_tpl.c: - * source/rtl/gt/gtcrs.c: - * source/rtl/gt/gtdos.c: - * source/rtl/gt/gtos2.c: - * source/rtl/gt/gtstd.c: - * source/rtl/gt/gtwin.c: - * source/runner/runlib.c: - * source/tools/dates2.c: - * source/tools/hb_f.c: - * source/tools/strasint.c: - * source/tools/stringsx.c: - * source/vm/cmdarg.c: - * source/vm/debug.c: - * source/vm/dynsym.c: - * source/vm/hvm.c: - * source/vm/initsymb.c: - * source/vm/mainstd.c: - * source/vm/mainwin.c: - Changed calls to HB_TRACE to incorporate the new level parameter. - -19991103-22:38 GMT+1 Viktor Szakats - * source/rtl/filesys.c - % Nested #ifs converted to #elifs (hb_fsDelete(), hb_fsFile()) - % Double assigments optimalized - (convert_seek_flags(), hb_fsLock(), hb_fsFile()) - * Code made more clear (hb_fsLock()) - % Variable usage and assigments optimalized, made faster, smaller and - simpler. FCREATE(), FREAD(), FWRITE(), FERASE(), FRENAME(), FSEEK(), - FILE(), DIRCHANGE(), MAKEDIR(), DIRREMOVE() - ! FREAD(), FWRITE() now calls hb_fsReadLarge() and hb_fsWriteLarge() - instead of hb_fsRead() and hb_fsWrite(). - -Wed Nov 03 18:38:03 1999 Gonzalo A. Diethelm - - * tests/testbrdb.prg: - The test now restores the color setting and does a CLS before - exiting. - - * tests/testbrw.prg: - The test now remembers its device position, cursor setting and - color and restores everything before exiting. - -19991103-07:28 GMT+1 Antonio Linares - * source/rtl/classes.c - * hb___msgSuper() simplied, faster and less memory consume. - * source/rtl/arrays.c - * bSuperCast is no longer checked. - * source/vm/hvm.c - * simpler after super casting process. - * include/extend.h - - BASEARRAY struct bSuperCast member removed. - - BASEARRAY struct uiPrevCls member removed. - + tests/clasinh.prg - * New test added proving Super access does not generate unreleased - memory blocks. - -19991102-16:33 GMT+1 Antonio Linares - * makefile.b32 - * rdd.b32 - * updated files provided by Jose Lalin - -19991102-04:05 GMT+1 Antonio Linares - * makefile.b32 - * some files added. Alphabetical ordered. - -19991101-11:53 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Fixed bug - -19991101-10:10 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Fixed bug, reported by Antonio Linares - -19991030-03:24 GMT+1 Viktor Szakats - * tests/rtl_test.prg - + Four new Pad*() tests added. - * source/rtl/samples.c - * Small optimalizations, formatting corrections. - * source/rtl/dynsym.c - % hb_strgreater() replaced with standard ANSI C function strcmp(), it's - now a bit faster. - * source/rtl/strings.c - include/extend.h - ! SUBSTR() bug fix in handling the error when the third parameter was not - a string. (reported by Andi Jahja) - - hb_strgreater() removed since it was same as strcmp() - -19991028-22:30 EDT David G. Holm - - * source/rtl/inkey.c - * source/rtl/gt/gtdos.c - * source/rtl/gt/gtwin.c - + Added Ctrl+Break support for DJGPP. - % Unified Ctrl+Break handling by modifying DOS (non-DJGPP) and - Windows GT API Ctrl+Break handlers to set a global flag that - hb_inkeyPoll() checks before checking for keyboard input. - Otherwise, if the program is in a keyboard input loop, a second - key may have to be pressed after the "Cancelled at:" message is - displayed before the program will actually quit. NOTE: The DOS - Ctrl+Break handling needs to be refined to handle Ctrl+Break and - Ctrl+C separately and to pass the Ctrl+C keyboard code on to the - Harbour application. This requires handling BIOS INT 1B for the - Ctrl+Break key and requires a lower level DOS INT 23 handler for - the Ctrl+C handling than is provided by the C setbrk() function. - - * source/rtl/isprint.c - + Added support for Borland C REGS structure. - - * source/rtl/samples.c - ! Changed 'if( ulLen >= 0)' to read 'if( ulLen >= 1)' so that the - string conversion for the hours value will only be done when - there is at least one character in the source string. - - * tests/inkeytst.prg - + If the "skip" command line parameter is set to "BREAK", then - SETCANCEL() will be enabled, otherwise it will be disabled. - -19991028-14:12 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - source/rdd/dbf1.c - * dbCreate(), fixed a bug (mentioned by Victor). - -19991027-17:24 GMT+1 Viktor Szakats - * source/rtl/strings.c - source/rtl/descend.c - include/extend.h - % hb_strEmpty(), hb_str*cmp() a few optimalizations. - + Using const keyword for hb_str*() function parameters. - * Small formatting, some Hungarian notations adjusted. - + CHR() STRICT mode replaced with a comment, that the buggy Clipper - behaviour should (or should not) be implemented in the Harbour compiler - optimizer. - - tests/hardcr.prg - - tests/mtran.prg - tests/Makefile - + These test files has been removed, since they were moved to RTL_TEST - * tests/rtl_test.prg - * Some CHR() tests simplified, one added to show the buggy Clipper - behaviour. - + HARDCR(), MEMOTRAN() tests added. - -19991027-16:57 GMT+1 Antonio Linares - * source/vm/mainwin.c - * added missing #includes. - -19991027-13:55 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Fixed bugs, reported by Antonio Linares and Viktor Szakats - * ( increased size of expnew in Searnrep() and expreal in WorkMarkers() ) - * Added HB_TRACE to the new function ( PrevSquare() ) - -19991027-02:25 GMT+1 Viktor Szakats - * source/rtl/fm.c - ! Fixed to display negative unreleased memory properly. - * source/rtl/codebloc.c - * Removed newline chars from HB_TRACE() calls. - -19991026-19:55 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * Added WINAPI to the handler func def. - -Tue Oct 26 17:16:43 1999 Gonzalo A. Diethelm - - * source/common/hbtrace.c: - Now it is REALLY efficient; no copying, nothing. - - * source/rtl/codebloc.c: - * source/rtl/dir.c: - * source/rtl/filesys.c: - * source/rtl/inkey.c: - * source/rtl/memvars.c: - * source/rtl/set.c: - * source/vm/hvm.c: - Got rid of other ways of tracing. Hopefully now HB_TRACE() is the - only, standard way used in Harbour. - - * source/rtl/gt/gt_tpl.c: - * source/rtl/gt/gtdos.c: - * source/rtl/gt/gtos2.c: - * source/rtl/gt/gtstd.c: - * source/rtl/gt/gtwin.c: - Made sure all the GT implementations (including the template) have - proper HB_TRACE() calls. - -Tue Oct 26 13:20:46 1999 Gonzalo A. Diethelm - - * source/runner/runlib.c: - Added HB_TRACE() calls to the RUNNER library. - -19991026-18:10 GMT+1 Viktor Szakats - * source/rtl/gt/gtwin.c - + Ctrl+Break handler added for Win32 console mode, now Ctrl+Break will not - break an application with SetCancel(.F.), and will terminate it with - the proper message with SetCancel(.T.). - INCOMPATIBILITY: With SetCancel(.F.) the inkey code 876 will be passed - to Harbour which should be ignored and not returned by Inkey(). - David, could you check this ? - * source/rtl/gt/gtdos.c - + Ctrl+Break handler added for DOS character mode. - Please test this, since I could only test if it compiles. - * tests/tstalias.prg - + New alias related tests added. - -Tue Oct 26 13:11:19 1999 Gonzalo A. Diethelm - - * source/tools/dates2.c: - * source/tools/hb_f.c: - * source/tools/strasint.c: - * source/tools/stringsx.c: - Added HB_TRACE() calls to the TOOLS library. - -Tue Oct 26 12:55:49 1999 Gonzalo A. Diethelm - - * source/rdd/dbcmd.c: - * source/rdd/dbf1.c: - * source/rdd/dbfcdx/dbfcdx1.c: - Added HB_TRACE() calls to the RDD library. - -Tue Oct 26 12:15:01 1999 Gonzalo A. Diethelm - - * source/vm/cmdarg.c: - * source/vm/debug.c: - * source/vm/dynsym.c: - * source/vm/hvm.c: - * source/vm/initsymb.c: - * source/vm/mainstd.c: - * source/vm/mainwin.c: - Added HB_TRACE() calls to the VM. - -19991026-14:07 GMT+1 Viktor Szakats - * include/itemapi.h - source/rtl/itemapi.c - source/rtl/strings.c - source/rtl/console.c - + hb_itemString() made thread safe, while keeping the speed of previous - non-thread safe version for most cases. - * source/rtl/dates.c - + NOTE added about the buffer size requirements of hb_dtoc() - * source/vm/hvm.c - + HB_TRACE() call added to the HB_P_LINE opcode. - * source/rtl/strings.c - ! hb_strncpyUpper() and hb_itemPadConv() HB_TRACE() calls now print the - address of a buffer instead of the (uninitialized) content. - * source/rtl/memvars.c - ! bScope is now showed as a number instead of a char in HB_TRACE() call. - -19991026-12:49 GMT+1 Bruno Cantero - * source/rdd/dbf1.c - tests/testdbf.prg - * __dbZap() function finished. Test added for this function. - -19991026-11:35 GMT+1 Viktor Szakats - * source/tget.prg - % New() will evaluate the setget only once instead of three times. - ! New() fixed the picture generation for numeric values, decimals are - detected for example. - ! ::ColorSpec now defaults to the proper color. - + ColorDisp() inline method added. - ! Display() changed back to hide cursor while displaying - ! Display() fixed to use ::ColorSpec instead of SetColor() - ! Display() is now selecting the proper colors from the ::ColorSpec - ! Display() color now depends on ::HasFocus - ! SetFocus(), KillFocus() fixed to call ::Display(), like in Clipper. - + Dummy methods added for not yet implemented ones, TODOs added. - - "Message" DATA removed - + Exported/Private MESSAGEs grouped. - ! ToDecPos() fixed to redisplay and reposition the cursor. - ! WordLeft(), WordRight() fixed to reposition the cursor. - + Some TODOs and TOFIXs added. - * source/rdd/dbstrux.prg - source/rtl/dummy.prg - + __FLEDIT() function added, guarded with STRICT, for collectors only ;) - * source/rtl/oemansi.c - - #include "winuser.h" removed, since I mitakenly left it there. - * tests/rtl_test.prg - + One line enabled, since the PP is processing it now without hang. - -19991026-09:43 GMT+3 Alexander Kresin - * source/pp/hbpp.c - * Fixed bugs, reported by Antonio Linares and Viktor Szakats - -19991025-23:35 EDT Paul Tucker - * source/rtl/filesys.c - * add casts on xgrab/free - -19991025-18:15 EDT David G. Holm - - * include/hbwinapi.h - - Removed '#define HARBOUR_USE_WIN', because includinging windows.h - causes _Windows to be defined, so HARBOUR_USE_WIN is redundant. - - * harbour/source/pp/hbpp.c - % Changed "non directive" warning to level 3. - - * harbour/source/pp/hbppint.c - + Added include file and include file line number to warning messages. - - * harbour/source/rtl/inkey.c - ! Moved HB_TRACE() call in hb_releaseCPU() to bottom of function, - because variables are declared in #if blocks. - - Changed '#ifdef HARBOUR_USE_WIN' to '#if defined(_Windows) || - defined(WINNT)' (see include/hbwinapi.h for reason why). - - * harbour/source/rtl/oemansi.c - ! Only include winuser.h when compiling for Windows. - -19991025-23:12 GMT+1 Viktor Szakats - * source/rtl/achoice.prg - ! Fixed bound error on empty array. - % Small optimalization. - * source/rtl/filesys.c - include/filesys.h - ! CURDIR() was mistakenly marked a C53 function, but it was already there - in CA-Cl*pper 5.2e. - + hb_fsCurDirBuff() function added, which is thread safe. - * hb_fsCurDir() is now calling hb_fsCurDirBuff(). - + CURDIR() is now using the thread safe hb_fsCurDirBuff() instead of - hb_fsCurDir(). - + hb_fsCurDirBuff() now supports the "drive" parameter in WIN32/MINGW32. - + hb_fsCurDirBuff() now strips the leading and trailing slashes from the - directory, to be Clipper compatible. - * source/tools/ctchksum.c - * Small formatting. - -19991025-12:30 EDT Paul Tucker - * source/tools/ctchksum.c - * added a cast - * makefile.vc - + source/tools/ctchksum.c - -19991025-22:05 GMT+1 Bruno Cantero - * source/rtl/dummy.prg - - Removed __dbZap() function. - - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/dbfcdx/dbfcdx1.c - * dbUseArea() now show the "Default" option in the alert box. - + Added __dbZap() function (incomplete). - -19991025-19:46 GMT+1 Viktor Szakats - * source/rtl/filesys.c - ! DISKSPACE(): Added support for Win32 platform. - * ChangeLog - + ChangeLog.004 - * Old ChangeLog renamed to ChangeLog.004 - * New ChangeLog created. - -19991025-19:09 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * tests/memory.prg - + Using hbmemory.ch - * source/rtl/net.c - + cast added for MSVC - -19991025-14:58 GMT+1 Viktor Szakats - * source/rtl/net.c - + Name buffer length corrected. - * Using a better API call for the same job. - -19991025-12:37 GMT+1 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/rtl/fm.c - tests/memory.prg - + MEMORY() extended with 1003 and 1004 parameters, to retrieve stack - usage. - -19991022-10:33 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * source/rtl/fm.c - + MEMORY() function enhanced internally. - ! MEMUSED()/MEMFREE() non-standard functionality moved inside - MEMORY(). - -19991022-09:27 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/rtl/gtapi.c - ! hb_gtSetColorStr() now resets the ColorSelect() value to STANDARD, - like in Clipper. - -19991021-21:08 GMT+1 Viktor Szakats - * source/rtl/gt/gtwin.c - source/rtl/dates.c - ! Indentation fixed. - -19991021-19:40 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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, Viktor Szakats 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * doc/gmake.txt - ! win32 changed to w32. - -19991018-09:21 GMT+1 Viktor Szakats - + 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 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - * source/rtl/samples.c - ! hb_SecToTimeStr() bug (typo) fixed. - * tests/rtl_test.prg - + Tests added for new Samples functions. - -19991017-20:46 GMT+1 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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, Viktor Szakats 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 Viktor Szakats - * 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 Viktor Szakats - * tests/rtl_test.prg - * Column width adjusted. - -19991013-22:26 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/compiler/harbour.y - ! lLastPushPos -> _lLastPushPos - -19991012-02:50 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * bin/*.bat - + dbfcdx lib added. - -19991010-13:36 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/rtl/memoline.c - source/rtl/mlcount.c - ! TAB handling fixes for MEMOLINE() and MLCOUNT() by - Ignacio Ortiz de Zuniga - * All USHORTs changed to ULONG. - -19991006-13:05 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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-Cl*pper 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Zuniga ) - !! WARNING !! Please modify non-GNU make files. - -19991005-18:20 GMT+1 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/compiler/genc.c - ! Cosmetic: Some double tabs changed to single ones. - -19991004-22:34 GMT+1 Viktor Szakats - * tests/db_brows.prg - - READEXIT() removed since it's now part of the RTL. - -19991004-21:34 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - + source/runner/stdalone/hbrun.prg - + Added (now for sure) - -19991004-18:53 GMT+1 Viktor Szakats - + 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 Viktor Szakats - * 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 Viktor Szakats - + source/rtl/mlcount.c - source/rtl/Makefile - doc/funclist.txt - + MLCOUNT() added - (thanks to Ignacio Ortiz de Zuniga ) - - source/runner/stdalone/runner.prg - - Removed (now for sure) - -19991004-16:25 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - - make_b31.bat - makefile.b31 - harbour.b31 - - Removed, make_b16.bat should be used instead. - -19991004-01:14 GMT+1 Viktor Szakats - * 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 Viktor Szakats - ; 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 Viktor Szakats - * 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 Viktor Szakats, 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 Viktor Szakats - - + 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - ; Harbour Build 30 released - -19990929-16:42 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * funclist.txt - + __ACCEPTSTR marked ready. - * source/hbpp/hbpp.c - ! Non-ANSI (//) comments changed to /**/ - -19990926-17:22 GMT+1 Viktor Szakats - * 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 Viktor Szakats, Andi Jahja and Antonio Linares - -19990925-07:52 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * source/rtl/extend.c - ! Fixed hb_stor*() functions to handle arrays with the -1 parameter like - in CA-Cl*pper. Thanks to Janica Lubos - -19990923-10:55 GMT+1 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * source/vm/hvm.c - + Added support for CA-Cl*pper 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats. - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - * makefile.vc - ! Fixed version by Matteo Baccan. - -19990916-14:20 GMT+1 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/rtl/do.c - - Previous fix undone, since it was causing other problems. - -19990915-02:20 GMT+1 Viktor Szakats - * .cvspass - - File removed, since it was probably added by incident. - -19990915-01:22 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * (*.* 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * ChangeLog - ChangeLog.003 - * Old ChangeLog renamed to ChangeLog.003 - * New ChangeLog created. - -19990913-22:50 GMT+1 Viktor Szakats - - * source/rtl/gtapi.c - ! hb_gtRectSize() fixed to always return a valid value, even when - the coordinates are out of range, just like in Clipper. - This caused a GPF when running a program with the standard output - redirected. The screen size stored in the caching static variables - were invalid or uninitialized. - The Row()/Col() parameters are also cached in static variables, I'm not - sure if this is needed, it would be better IMO to add hb_gtRow() and - hb_gtCol() and call these when needed, it could be also cached locally - to optimalize where appropriate. - ! s_uiMaxCol()/s_uiMaxRow() static variables replaced with hb_gtMax*() - calls. - % hb_gtWriteCon() now caches the screen size info locally. - * source/rtl/console.c - ! SAVESCREEN() - Non GTAPI version now returns an empty string. - * source/rtl/alert.prg - + Will now return NIL and do nothing if the number of parameters was zero. - This better mimics the STRICT Clipper behaviour. - ! One explicit value changed to manifest constant. ( 0 -> SC_NONE ) - * source/rtl/memvars.c - ! FO_SHARED flag uncommented for __MVRESTORE(). - NOTE: Cygwin will now delete the .mem file after a restore. - This is a known problem and should be fixed elsewhere. - * tests/working/overload.prg - + New tests added by Jose Lalin. - * source/rtl/natmsg/msggl.c - * Updated version by Jose Lalin. - * include/errorapi.h - source/rtl/errorapi.c - + hb_errPutArgs() function to set :Args of an Error object. - * tests/working/rtl_test.prg - tests/working/memfile.prg - + __MVSAVE()/__MVRESTORE() error cases moved here from MEMFILE.PRG - + Operator overloading tests added. - -19990913-15:35 GMT+2 Ryszard Glab - - *source/rdd/dbcmd.c - * added retry possibility for error handling in field - assignment/access - * changed BOOL to ERRCODE for hb_rddSelect*() and - hb_rddPutFieldValue/hb_rddGetFieldValue - - *include/rddapi.h - * changed BOOL to ERRCODE for hb_rddSelect*() and - hb_rddPutFieldValue/hb_rddGetFieldValue - - *source/vm/hvm.c - * changed BOOL to ERRCODE for hb_rddSelect*() and - hb_rddPutFieldValue/hb_rddGetFieldValue - * memvar handling functions moved directly into main VM loop - - *include/ctoharb.h - * removed declaration of internal memvar functions used in VM - - *source/rtl/memvars.c - * added retry possibility for error handling in variable access - - *tests/working/rtl_test.prg - * added code to test __MVGET function (macro evaluation in Clipper) - -19990913-13:30 GMT+1 Viktor Szakats - - * source/compiler/harbour.y - ! Stupid bug fixed which always caused an error when using the /p switch. - The bug has been introduced today. - * source/runner/runlib.c - * Formatting/indenting errors fixed. - -19990913-12:00 GMT+1 Viktor Szakats - - * tests/working/rtl_test.prg - + ASORT() tests added. - ! Fixed an expected result for aScan() was 12 instead of 4. - ! CHR() tests fixed to avoid the Clipper compiler expression optimizer. - * source/rtl/asort.prg - ! Parameter checking fixed and streamlined again. - ! Fixed when sorting a given range of the array. - ! Fixed when the codeblock is not returning a logical type. This is not - Clipper compatible, but Clippers behaviour is not defined for this case, - and seems buggy. - % One variable eliminated from QuickSort() - + Formatted. - ; Results checked against Clipper - -19990913-10:00 GMT+1 Viktor Szakats - - * include/compiler.h - include/hberrors.h - source/compiler/harbour.l - source/compiler/harbour.y - source/compiler/gen*.c - source/hbpp/hbpp.c - source/hbpp/hbppint.c - source/hbpp/stdalone/hbpp.c - ! Fixed a GPF when the .PPO file could not be created. - * The compiler screen output made more Clipper like. - * Some error messages made Clipper like. - + Some printf()s changed to use GenError() instead. - + Added www site name and Copyright notice to the header. - * lPpo -> _bPPO variable name change. - * source/vm/hvm.c - + Some casts added. - -19990913-01:40 GMT+1 Viktor Szakats - - * source/rtl/memvars.c - ! __MVSAVE() - Pedantic fix to the saved format of DATE type. - ! __MVSAVE() - Made it bug compatible with Clipper, for DOUBLE numeric - types with no decimals, Clipper adds one to the saved width, which is - wrong, since at restore the width will be incorrect (one more than it - should be), you can check this with the value 5000000000 for example. - HARBOUR_STRICT_CLIPPER_COMPATIBILITY added here, right now the bug fix - in enabled. - * source/rtl/asort.prg - ! More parameter checkings added. - * tests/broken/numform.prg - + Added test to demonstrate a bug in the compiler. (a==22.and.b==10) - * tests/working/memfile.prg - ! Fixed faulty RESTORE command. - * source/compiler/harbour.y - -19990912-17:11 EDT Paul Tucker - * source/rtl/memvars.c - * added a few casts - -19990912-20:45 GMT+1 Viktor Szakats - - * source/rtl/memvars.c - ! __MVSAVE() will no longer try to save memvars with longer filename than - 10 characters, the Clipper maximum. - - * tests/working/memfile.prg - tests/working/Makefile - + .MEM file save/restore test program added, it's a simple test and doesn't - yet checks for every aspects of the topic. - - * funclist.txt - + __MSAVE()/__MRESTORE() marked Ready. - -19990912-20:30 GMT+1 Viktor Szakats - - * source/rtl/memvars.c - + __MVSAVE()/__MVRESTORE() .MEM file saving and restoring support added, - Clipper compatible, with extensions to __MVRESTORE() to only restore - varnames with a specified mask. - - * source/rtl/itemapi.c - include/itemapi.h - + hb_itemPutDL() added to set a date directly with a Julian date value. - - * source/rtl/filesys.c - ! hb_fsIsDrv() fixed bug when the original drive is not restored. - Thanks go to Jose Lalin for finding this. - - * tests/working/statinit.prg - + More meaningful messages are printed. - - * source/rtl/extend.c - ! hb_parcsiz() now only works for parameters passed by reference, just like - in CA-Cl*pper. - -19990912-15:45 GMT+2 Ryszard Glab - - *include/errorapi.h - *source/rtl/errorapi.c - * all hb_errRT*() functions return error code returned by - hb_errLaunch - * separated generic runtime error creation from error launching - - *include/extend.h - *source/rtl/strings.c - + added hb_strncpyUpper( char *pDest, char *pSource, ULONG ulLen ) - function to copy and convert to uppercase in one operation - - *source/rdd/dbcmd.c - * functions that select workarea can now retry the select operation - in case of error (the user code can open a missing database in a - custom error handler) - - *source/vm/hvm.c - *added substitution possibility in case of invalid alias value - - *tests/working/rtl_test.prg - * failure description shows now function name and line number where - failed code was used - - *include/external.ch - * added declaration of MEMVARBLOCK, __MVGET, __MVPUT - -19990912-07:43 GMT+1 Viktor Szakats - * source/vm/hvm.c - ! hb_vmSwapAlias() removed the RT error 9993, now it works like Clipper. - + Added an empty TYPE() function prototype with a TODO: - * source/vm/initsymb.c - - QSELF removed from the list, since it's a native opcode in Harbour, - there's not need to initialize it, the function address was NULL anyway. - + Changed NULL pointer to HB_TYPE for the "TYPE" symbol. - initsymb.c is complete now. - * source/rtl/terror.prg - source/compiler/genobj32.c - * Small corrections. - -19990912-01:29 EDT Paul Tucker - * source/rtl/dir.c - ! Changed selection criteria to include files that do not have - any attribute set. This particularly affected the results - returned by tests/working/adirtest.prg - * source/rtl/adir.prg - ! Changed default attributes passed to Directory to include "A" - -19990912-00:45 EDT David G. Holm - * source/rtl/dir.c - ! Changed file size array element to numeric to match CA-Cl*pper. - * tests/working/dirtest.prg - + Added 'SET CENTURY ON'. - - Removed padding from size array element. - - Added a TRANSFORM call to size array element. - - Removed padding from date and time array elements. - -19990911-20:25 EDT David G. Holm - * source/rtl/tone.c - ! Added '|| defined(__CYGWIN__)' to the #if block for HARBOUR_GCC_OS2 - and _Windows for calculating the value for temp for each pass of the - tone duration timing loop. - -19990911-07:42 EDT Paul Tucker - * makefile.vc - added new files for compiler to exe generation section - -19990911-13:03 GMT+1 Viktor Szakats - * source/compiler/harbour.y - source/compiler/genc.c - source/compiler/genhrb.c - source/compiler/genjava.c - source/compiler/genpas.c - source/compiler/genrc.c - source/compiler/Makefile - include/compiler.h - makefile.b32 - makefile.b40 - makefile.vc - harbour.b31 - + Separated the generation code from the main HARBOUR.Y file. - (The Borland and MSVC make files have been modified, but I could not test - them) - * source/rtl/arrays.c - + One comment added about hb_itemGetDS( NULL, szDate ); - -19990911-12:45 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * changed binary search to linear search for abbreviations - or redefinitions of reserved functions - - *source/rtl/math.c - * added generation of runtime errors in case of math errors - (log(0), sgrt(-2), etc) - for Watcom C only at this moment. - 'matherr' function is used to suppress printing of internal - compiler message for math errors. I think we need rethink - the handling of such errors. - - *source/rdd/dbcmd.c - *include/rddapi.h - *source/vm/hvm.c - * functions called from virtual machine return SUCCESS or FAILURE - -19990911-11:30 GMT+1 Viktor Szakats - * contrib/odbc/odbc.c - include/classes.ch - include/compiler.h - include/ctoharb.h - include/errorapi.h - include/extend.h - include/init.h - include/itemapi.h - include/pcode.h - source/compiler/genobj32.c - source/compiler/harbour.l - source/compiler/harbour.y - source/compiler/symbols.asm - source/debug/debugger.prg - source/rtl/arrays.c - source/rtl/classes.c - source/rtl/console.c - source/rtl/copyfile.c - source/rtl/dates.c - source/rtl/descend.c - source/rtl/errorapi.c - source/rtl/errorsys.prg - source/rtl/extend.c - source/rtl/filesys.c - source/rtl/fm.c - source/rtl/inkey.c - source/rtl/itemapi.c - source/rtl/math.c - source/rtl/msgxxx.c - source/rtl/objfunc.prg - source/rtl/setkey.prg - source/rtl/strings.c - source/rtl/tbcolumn.prg - source/rtl/tbrowse.prg - source/rtl/tclass.prg - source/rtl/terror.prg - source/rtl/tget.prg - source/rtl/tgetlist.prg - source/vm/dynsym.c - source/vm/hvm.c - * Partial copyright headers formatted, joined where possible, etc. - * Copyright header changed to the standard doc/hdr_tpl.txt for - Antonio Linares. - -19990911-01:42 EDT Paul Tucker - * source/compiler/harbour.y - sz_Compare4() Change the length of the first compare to - Min( 4, len(string)) to account for strings shorter than 4. - Add 1 to the length in the second compare to include the trailing - null so that (ie:) SetPos and SetPosBS can be detected as unique. - -19990910-18:45 EDT David G. Holm - * tests/working/rtl_test.prg - ! Changed smart stringify token marker in TEST_LINE to regular - stringify token marker. - * Changed all alias tests to use TEST_LINE instead of TEST_CALL. - -19990910-17:00 EDT David G. Holm - * source/rtl/inkey.c - ! In HARBOUR HB_INKEY( void ), the double seconds variable has to - be initialized to 0.0, because not all compilers initialize all - local variables to 0 and seconds is not assigned if INKEY() was - called with no parameters. - -19990910-22:10 GMT+1 Viktor Szakats - * source/vm/hvm.c - ! Fixed the operator overloading feature. (Reported by David) - * source/compiler/harbour.y - + Added /es switch, like in Clipper. /es0 and /es is the default, no - errorlevel is raised on warning, /es1 will set errorlevel, /es2 will - set errorlevel and not generate output. - + The program header is always (even with /q) printed now, right at startup. - * "id" -> "prefix" - + /m /r /t /u @ command line switches added as todo, checks and - messages added to the source, commented out lines added to help screen. - * tests/working/Makefile - tests/working/statinit.prg - + //NOTEST removed, the missing dummy HELLO() function added, so now it - links. - * source/rtl/memvars.c - * Fixed the MEMVARBLOCK() implementation in the doc examples 8) - -19990910-15:25 EDT David G. Holm - * source/rtl/gt/gtos2.c - ! I forgot to remove a debug printf() call when I committed the - hb_gt_Scroll() fixes in ChangeLog entry 19990908-21:35 EDT. - -19990910-14:55 EDT David G. Holm - * source/rdd/dbcmd.c - * source/rdd/dbf1.c - * source/rtl/copyfile.c - * source/rtl/filesys.c - * source/rtl/set.c - * Changed F_ERROR back to FS_ERROR. - -19990910-14:40 EDT David G. Holm - * source/compiler/harbour.y - ! Changed DWORD return type for PackDateTime() to ULONG. - -19990910-14:20 EDT David G. Holm - * source/rtl/console.c - ! Uncommented two calls to hb_fsSetDevMode() in hb_consoleInitialize() - which force the stdout and stderr handles to binary mode for Clipper - compatibility. There was no explanation in the ChangeLog as to why - the two calls had been commented out. - -19990910-14:15 EDT David G. Holm - * tests/working/Makefile - ! Moved statinit.prg to BAD_PRG_SOURCES, because it won't link. - * tests/working/statinit.prg - ! Added '//NOTEST' as the first line, because it won't link. - -19990910-17:40 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + Added a more complete ALIAS regression test suite. - * source/compiler/harbour.y - ! Compiles even if the YYDEBUG constant is *not* defined, the compiler - also hides the /y switch from the help screen. - + Added command line switch /x. The init symbol function name can be - set to an explicit value (using /xMyCoolLib) or to an automatically - generated one (using /x). By default no mangling takes place. - * include/itemapi.h - source/rtl/itemapi.c - + hb_itemPCount(), hb_itemParamPtr(), hb_itemReturnPtr() Item API calls - added, to provide full functionality by the Item API. The longer term - goal would be to make the Item API as the preferred, most complete and - flexible API, and leave the Extend API as a secondary, bit slower, but - simpler and more compatible option. Also the Item API should make it - unnecessary to directly access internals, so it should provide a full but - controlled access to all those. Only the VM itself should have access to - internals IMO. - * include/compiler.h - * Some formatting. - -19990910-16:00 GMT+2 Ryszard Glab - - *source/vm/hvm.c - * string alias is now correctly handled - - *include/rddapi.h - + added declaration for hb_rddSelectAorkAreaAlias - -19990910-11:10 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + Enabled some alias tests which fail. (Ryszard, could you take a look - at them ?) - * source/vm/hvm.c - ! hb_vmSwapAlias() - Fixed mistyped variable name, pItem was accessed - instead of pWorkarea. (Is this OK, Ryszard ?) - * source/rtl/itemapi.c - ! hb_itemStrCmp() - Fixed a bug, when the character were compared as a - signed value instead of unsigned. ( BYTE ) casts added where needed. - This caused four regr.tests to fail. - * source/rtl/gtapi.c - ! hb_gtSetColorStr() is now using toupper instead of a platform - dependent bit operation. - * tests/working/rtl_test.prg - + Code added to test the :Args feature of error handling, this is commented - out, since Harbour doesn't support it yet. - * include/error.api - ! Zero bytes (!) removed from some places, so now the compatibility header - files are working fine. - * source/compiler/harbour.y - source/rtl/dir.c - source/memvars.c - * Some formatting corrections. - * include/ctoharb.h - * Opcode functions grouped by type. Later on the same thing should be - done in HVM.C. If similar code fragments are close to each other, bugs are easier to spot. - * include/pcode.h - * Comments aligned. - -19990910-11:05 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * corrected support for pcode buffer larger than 64kB - (many WORD converted to ULONG) - However jumps are still limited to signed 16 bits - the compiler - generates error when this limit is exceeded - - *include/compiler.h - * changed WORD to ULONG - - *include/hberrors.h - * new error ERR_JUMP_TOO_LONG - -19990909-21:40 EDT Paul Tucker - * makefile.vc - + source/rtl/memvarbl.prg - + /q to Harbour flags - + /nologo to C flags - -19990909-20:55 EDT David G. Holm - * include/filesys.api - ! Added FS_ERROR (defined using '#define FS_ERROR F_ERROR' - following the already present '#include "fileio.ch"'). - -19990909-20:00 EDT David G. Holm - * include/fileio.ch - * source/rdd/dbcmd.c - * source/rdd/dbf1.c - * source/rtl/copyfile.c - * source/rtl/filesys.c - * source/rtl/set.c - ! Changed all FS_ERROR to F_ERROR for Clipper compatibility. - Thanks to Matteo Baccan for reporting this. - -19990910-01:10 GMT+1 Viktor Szakats - * source/rtl/arrays.c - % One memset() call replaced with a call to the Item API. It's a bit - slower, but this is only an error handling branch, which is not getting - called in normal cases anyway. - * source/rtl/itemapi.c - % hb_itemGetDS(), hb_itemPutDS() now uses the new date API call. Simpler. - and the low level date handling memset(sz,' ',8) calls could be removed. - * source/rtl/extend.c - % hb_pards() uses the new date API call, so it's even simpler now. - * source/rtl/dates.c - include/dates.h - + New simpler date API functions added: - hb_dateDecStr() == hb_dateStrGet() + hb_dateEncode() - hb_dateEncStr() == hb_dateDecode() + hb_dateStrPut() - * source/rtl/errorapi.c - + Added support for the :Tries variable, now Harbour will increment it on - every retry. - * A bunch of internal item access changed to Item API calls. This also - fixed a possible problem with accessing Integer member without making - sure that the type is an INTEGER. - + "Internal error" text changed to "Unrecoverable error". - * source/rtl/strings.c - ! ASC(), CHR() error value substitution added. - ! CHR() added a HARBOUR_STRICT_CLIPPER_COMPATIBILITY branch, where Harbour - will handle the value 256/512/... like Clipper. - * tests/working/rtl_test.prg - + ASC(), CHR() tests added. - + Detected preprocessor errors are always displayed. - * include/external.ch - source/rtl/tget.prg - source/runner/stdalone/external.prg - * __GET synonym for _GET_ added. Clipper really uses this function name - _GET_ is always converted to __GET internally by the compiler. - * source/tools/Makefile - source/vm/Makefile - source/tools/debug.c - source/vm/debug.c - makefile.b31 - makefile.vc - * DEBUG.C moved to the Harbour VM, since it's used from the debugger. - Please check the non GNU makefile, since I could not test them. - * source/rtl/terror.prg - + Reformatted. - -19990909-21:30 GMT+1 Viktor Szakats - * source/rtl/arrays.c - ! hb_arrayCopy() fixed. Now it has two methods, one strictly compatible, - and one which fixes buggy behaviour on extreme parameters. Clipper will - copy one item, even it an out-of-range start, or target position is - passed, I've considered that buggy. You can choose with the - HARBOUR_STRICT_CLIPPER_COMPATIBILITY switch anyway. - * tests/working/rtl_test.prg - + ACOPY() tests added. - * source/rtl/tgetlist.prg - + Using getexit.ch include file, instead of repeating its content. - * source/debug/tbrwtext.prg - + CVS header added. - * include/extend.h - ! Some Clipper compatibility include files moved to the bottom, it's - better now, but it still doesn't work when - HARBOUR_STRICT_CLIPPER_COMPATIBILITY is defined. - * source/rtl/tget.prg - source/debug/debugger.prg - + Using common.ch include file, instead of repeating its content. - DEFAULT := form changed to the standard DEFAULT TO form, which is a - bit more efficient anyway, since it only assigns when needed. - * source/tools/fileread.prg - source/tools/dates2.c - source/tools/hb_f.c - source/vm/dynsym.c - source/hbpp/table.c - source/hbpp/hbppint.c - source/hbpp/hbpp.c - source/compiler/fixflex.c - source/rtl/*.c - * Standardization in header format. Note that we should also standardize - the *text* of the copyright message. - * source/vm/hvm.c - * Small formatting correction. - * source/rtl/xsavescr.prg - + Reformatted. - -19990909-18:22 GMT+1 Viktor Szakats - * source/rtl/arrays.c - ! ARRAY() fixed to parse the dimension list in the right order. - * source/rtl/extend.c - ! hb_stornd() fixed byref method, it stored INTEGER instead of DOUBLE. - * tests/working/rtl_test.prg - + Some new ARRAY() tests added. - * tests/working/extend2.c - ; Compiled/linked successfully with Cygwin. There's still incompatibility - since Harbour needs all the C functions to be prefixed with "HB_". - * Changed HARBOUR function types to CLIPPER. - * include/clipdefs.h - + Added #include "caundoc.api". - * include/hbdefs.h - + Added a __HARBOUR__ define, to make it possible to detect Harbour - from C code. - * include/caundoc.api - + Added _reta() and _pcount(). - * tests/broken/vec2.prg - tests/working/statinit.prg - tests/working/Makefile - ! Moved to the working dir. - -19990909-16:35 GMT+1 Viktor Szakats - * source/rtl/memvarbl.prg - ! MEMVARBLOCK() now returns NIL if the passed parameter was not a string, - or the MEMVAR name is not declared. - * source/rtl/arrays.c - include/extend.h - ! hb_arraySize() - Fixed a memory related bug. Now when an array is - resized to zero length, it will free (and not reallocate) the memory - allocated for the item pointer table. ASIZE({ "A", "B" }, 0) could - show the problem. - + ARRAY() now supprt multiple dimensions. Code based on hb_vmArrayNew(). - ! Array functions error handling behaviour made completely CA-Cl*pper - compatible. - ! ARRAY() could GPF on an error condition. - ! AADD() checks if the second parameter is not NULL. - ! AFILL() could GPF when second param was omitted. - ! AADD() now throws a substitutable error. - ! AFILL(), ASCAN(), AEVAL(), ACOPY() - Made completely compatible the - ulStart/ulCount/ulTarget parameter handling. Please note that - ASCAN()/AEVAL()/ACOPY() has not yet been regression tested. - * hb_arrayFill(), hb_arrayScan(), hb_arrayEval(), hb_arrayCopy() changed - to parameter to implement the previous change. - * source/rtl/environ.c - ! __RUN() now checks for the parameter type, not the number. - + __RUN() funtionality enabled for __CYGWIN__ - + __RUN() will now throw an "operation not supported" runtime error on - platforms where it's not supported, this is IMO better than silently - doing nothing. The error has a Default case, so the use can continue - running the program. - ! __RUN() Standardized the doc header. - * source/rtl/copyfile.c - + Made completely compatible in order to pass the tests. A small file - name forming difference is still there. - * tests/working/rtl_test.prg - + __COPYFILE() tests added. - + __RUN() tests added. - + Array function error condition tests. - + MEMVARBLOCK() tests added. - + AFILL() tests added. - * source/rtl/memvars.c - + Added Clipper compatibility functions: - __MCLEAR(), __MRELEASE(), __MXRELEASE(), __MSAVE(), __MRESTORE() - They are simple wrappers to the corresponding Harbour versions. - * funclist.txt - + Added all internal functions (beginning with __) from Clipper/STD.CH. - + Marked MEMVARBLOCK() "Ready". - * source/compiler/harbour.y - * Small indentation fix in the generated code. - -19990909-16:05 GMT+2 Ryszard Glab - - *source/rtl/memvarbl.prg - + corrected to allow setings of NIL value - -19990909-13:00 GMT+2 Ryszard Glab - - *source/runner/stdalone/external.prg - + added __MVGET, __MVPUT, MEMVARBLOCK - - *include/init.h - + added 'static' declaration for functions used to initialize - symbols table - -19990909-12:45 GMT+2 Ryszard Glab - - *source/rtl/memvars.c - * removed unused variables - - *source/rtl/memvarbl.prg - + added new file with MEMVARBLOCK() function - - *source/trl/Makefile - + added memvarbl.prg to PRG_SOURCES - -19990909-12:00 GMT+2 Ryszard Glab - - *source/rtl/memvars.c - + added __mvGET and __mvPUT functions to set/get the value of - private and public variables - - *doc/subcodes.txt - * updated info for 3009 and 3010 subcodes used in __mvGET/__mvPUT - -19990908-21:35 EDT David G. Holm - * include/extend.h - * include/hbdefs.h - * include/hbpp.h - * include/hbsetup.h - * source/vm/hvm.c - ! In order to eliminate a redefinition error for _POSIX_PATH_MAX, - "extend.h" now includes "hbdefs.h", which includes "hbsetup.h", - which includes . - - * source/rtl/gt/gtdos.c - ! Fixed hb_gt_Scroll() by renaming parameter 'attrib' to 'attr', - and assigning all other parameters to variables of the correct - types and names that the code that was cut-and-pasted from the - source/rtl/gtapi.c module expects. - - * source/rtl/gt/gtos2.c - ! Changed the types of the hb_gt_Scroll() parameters to 'char' to - match the source/rtl/gtapi.c usage and changed their names so - that the scrolling logic won't try to use them directly. - + Added local variables to hb_gt_Scroll() with the types and names - expected by the scrolling code and assigned them from their - corresponding parameters. - + Added unsigned char to USHORT conversions for the row and column - scroll values, because negative scroll values were coming through - as positive values greater than 127, because ICC has to default - the char type to unsigned to avoid char type related link failures. - -19990909-01:10 GMT+1 Viktor Szakats - * source/compiler/harbour.y - + Modified to add the current date and time (in a packed form as a - hexadecimal DWORD value) to the generated symbol init function name, in - order to lessen the possibility of name collisions. - * source/rtl/inkey.c - % hb_inkeyPoll() optimized, so that if no key press could be detected, - the function will immediately return. - ! hb_inkeyPut() fixed to check the parameter and not allow to mistakenly - stuff a zero key code to the buffer. - * tests/working/rtl_test.prg - ! Fixed the expected results of two math functions to the mathematically - correct ones. - + Added some AllTrim() tests which brings CA-Cl*pper 5.2e to it's knees. - Harbour handles them fine. - * include/hbdefs.h - source/rtl/filesys.c - source/compiler/harbour.y - * MKLONG() and MKINT() moved to hbdefs.h - * LOBYTE(), HIBYTE(), LOWORD() moved outside the - HB_DONT_DEFINE_BASIC_TYPES guard, since they are guarded one-by-one - anyway. (all this in hbdefs.h) - * include/hbdefs.h - include/hbsetup.h - * _POSIX_PATH_MAX moved to hbsetup.h, where it belongs. - * include/dates.h - + Added some missing global functions. - * source/rtl/dates.c - * Small variable name corrections. - * source/rtl/setcolor.c - source/rtl/gtapi.c - ! Fixed indentantion and some small formatting errors. - -19990908-11:56 EDT Paul Tucker - * source/rtl/gtapi.c - * modified SetColor to accept a null pointer, and do nothing - * changed so that "" resets colors to Clipper default. - -19990908-17:00 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * corrected handling of parenthesized expressions - * corrected generation of pcodes for declaration of dimensioned - array variables ( LOCAL var[ 2, 4 ] ) - there is no longer POP - opcode between array dimensions - - *source/vm/hvm.c - + added code that creates multi-dimensioned arrays - (arrays declared by LOCAL arr[ 3, 5, getDim() ] - it - supports PRIVATE and PUBLIC declaration too) - - *source/rtl/arrays.c - + added functions hb_arrayGetItemPointer() which returns a pointer - to an item occcupied by a specified array element - - *include/extend.h - + added declaration of hb_arrayGetItemPointer() function - - *tests/broken/parexpr.prg - ! moved to tests/working directory - + added some code to test IF and IIF expressions (it is really - related to parenthesized expressions) - - *tests/working/Makefile - + added parexpr.prg - -19990908-10:30 EDT David G. Holm - * source/rtl/environ.c - ! I restored the Windows #ifdef #include block from the 1.43 version, - but kept the #define WIN32_LEAN_AND_MEAN from the 1.45 version. - * source/rtl/set.c - ! For _SET_COLOR case, only pass an argument to hb_setColor() if - the 2nd SET argument is a string. Otherwise pass (char *) NULL. - * source/vm/hvm.c - * Moved hb_inkeyPoll() to the HB_P_DO case to enhance performance. - -19990908-12:36 GMT+1 Antonio Linares - * source/tools/debug.c - + Added new function HB___GETLOCAL() to retrieve local variable containts. - (see debug.c for GetLocal() use documentation). - * source/debug/debugger.prg - * First propotipe retrieving local variables values - (still it is missing removing locals once a procedure is over. - Editing is not implemented yet). - -19990908-05:05 EDT Paul Tucker - * source/rtl/inkey.c - - remove extra #define INCL_DOSPROCESS - + add #define INCL_NOPMAPI - * source/rtl/gtapi.c - simplified hb_gtScroll() to a function call. - The code from this function was moved to gt/gtdos.c hb_gt_scroll() - I currently can't compile a dos version so need a tester! - * source/rtl/gt/gtos2.c - - remove #define INCL_KBD since no keyboard functions are used - + add #define INCL_NOPMAPI since PMAPI is not needed. - * source/rtl/gt/gtdos.c - * active hb_gt_scroll source. - needs test. - * most of this reported by Chen Kedem - -19990908-03:05 EDT Paul Tucker - * source/rtl/gt/gtos2.c - + hb_gt_scroll by Chen Kedem - -19990908-08:24 GMT+1 Antonio Linares - * makefile.b32 - * strfmt.c and strfmt.obj were missing. - -19990908-08:09 GMT+1 Antonio Linares - * rdd.b32 - * Fixed missing '\' on the C output file path. - -19990908-01:33 EDT Paul Tucker - * source/rtl/environ.c - corrected to work with msvc. - The format passed to sprintf is now a variable. Under Windows, - the hb_osletter is actually the build number, and the default - format was not printing it correctly. - -19990908-00:05 EDT David G. Holm - * source/rtl/environ.c - ! Version 1.43 added Windows code to detect the Windows version, but - it also replaced the DOS code to detect Windows with Windows code - to detect Windows. But Borland C 3.1 refuses to compile Windows code - when creating DOS programs and I suspect that other DOS compilers do - the same. So I restored version 1.42 and then put the Windows code - from version 1.43 back in the only place where it belongs. - - I removed the "95/98" designation from the Windows detection in DOS - mode, because that code should also be able to detect Windows 3.x. - * source/rtl/tget.prg - ! Added missing ::Display() at end of ::Delete() - -19990908-04:52 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + Some tests now are only included when compiled with Harbour, to skip - obvious bugs in Clipper. - * source/hbpp/table.c - + _SET_COUNT added. - * include/clipdefs.h - include/error.api - include/item.api - include/extend.api - ! Some fixes. - -19990908-03:14 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + Some ==/= tests added for strings. - * source/rtl/arrays.c - ! hb_arrayScan(). Fixed a string comparison bug. - * source/rtl/transform.c - + TOFIX added about a directly modified item string buffer. - -19990908-02:30 GMT+1 Viktor Szakats - * source/rtl/math.c - source/rtl/strings.c - source/rtl/extend.c - source/rdd/dbf1.c - * WORDs changed to int to reflect the recent Item API changes. - * include/itemapi.h - source/rtl/itemapi.c - ! hb_itemParam(), hb_itemType() parameter type and retval changed to USHORT - from WORD, to be Clipper compatible. - * hb_itemGetNLen(), hb_itemPutN?Len() WORD types changed to int. - * include/extend.h - source/rtl/arrays.c - * hb_arrayGetType() retval type changed to USHORT instead of WORD. - * include/extend.h - source/rtl/extend.c - * hb_retn?len() functions now uses int instead of WORD. - * hb_parinfo() and hb_pcount() now returns int instead of WORD, to be - more Clipper like. - * hb_param() WORD param type changed to int. - * tests/working/rtl_test.prg - + The execution time is now showed at the end of the tests. - + One missing copyright added. - * source/rtl/filesys.c - ! Formatting fixes. - -19990907-20:17 EDT Paul Tucker - * source/rtl/console.c - + added HB_SETMODE() (reported by Matteo Bacaan - -19990908-00:33 GMT+1 Viktor Szakats - * source/rtl/filesys.c - % FREAD() now uses the fixed ISCHAR() macro for parameter checking, - and ISBYREF(). - * source/rtl/extend.c - ! hb_param() now checks the type mask against the dereferenced item, - until now hb_param() was not working with values passed by reference. - After this fix the IS????() macros are Clipper compatible. - * source/rtl/tbcolumn.prg - ! TBColumnNew() fixed not to throw an error when a block is not passed. - + TBColumnNew() TOFIX added about possibly different behaviour than Clipper. - * source/rtl/math.c - ! hb_numRound() fixed for negative values. - % hb_numRound() is not using sprintf(), atof(), hb_x*() calls, so it should - be faster and requires less memory. All tests are still running fine. - I don't know why was it needed ? (David ?) - ! INT() fixed for values beyond -/+LONG_MAX. - ! ROUND() fixed to set the decimal width to MAX(iDec, 0) instead of iDec. - * tests/working/rtl_test.prg - + Some ROUND() tests added (mainly for negative numbers). - + Some byref tests added for several functions. - + SQRT() and some other math function tests added. - * source/rtl/strings.c - ! hb_itemStr() fixed to always use the "%*.*f" format to convert - a DOUBLE value. - ! hb_itemStr() fixed a possible error when the item.asDouble member - could accessed but the type was not DOUBLE. - + STR(), STRZERO() value substitution possible on error. - + STRZERO() added a HARBOUR_STRICT_CLIPPER_COMPATIBILIY to throw the - same error code as in Clipper, actually Clippers STRZERO will call STR - and the error will be handled by STR(), too. - * source/rtl/inkey.c - funclist.txt - tests/working/rtl_test.prg - + FKLABEL(), FKMAX() added. These are *really* dumb functions, but anyway. - Tests added. - * include/extend.h - + One cast added the IT_NUMERIC #define. - * source/rtl/environ.c - + OS(): Added Windows version detection code by - Luiz Rafael Culik - -19990907-17:00 GMT+1 Viktor Szakats - * source/vm/hvm.c - ! hb_vmEqual() is now Clipper compatible for ARRAY and BLOCK types. - ! hb_vmMinus() is now generating the result as LONG (instead of DOUBLE) - when the two operands are DATEs. - ! hb_vmDivide() fixed the decimal handling for integer operands with an - integer result. - ! hb_vmNegate() now handles the number width in a Clipper compatible way. - ! hb_vmEqual(), hb_vmNotEqual(), hb_vmLess*(), hb_vmGreater*(), hb_vmDo(), - hb_arrayAt() error handling now support value substitution. - hb_vmDo() and hb_vmArrayAt() should be tested, since I'm not exactly sure - if they are correctly pushing the result. - * source/rtl/strings.c - ! VAL() fixed to return INTEGER/LONG if applicable, not always a DOUBLE. - Similar logic can be found in hb_vmPushNumber(). - + REPLICATE() STROVERFLOW error now supports value substitution. - * hb_itemPadConv() now uses less internal, type checks reordered with the - most probable moved to the top. Some Extend API calls changed to Item API - ones, to make it faster. - ! hb_itemPadConv() was casting back DOUBLE value without decimals to LONG - to convert it to string. Corrected. There may be other places where - DOUBLE is converted to LONG, these should be revised, since a DOUBLE is - also used when there are *no* decimal places, but the value is too big - to fit in a LONG (like: 5000000000), for example INT() is buggy because - of that right now. - * tests/working/rtl_test.prg - + Some new decimal handling and ABS() tests added. - + Some divide and date subtracion tests added to decimal handling section. - + Some negate tests added to the decimal handling section. - + INT() tests added. - * LOCAL test values converted to STATIC, PRIVATE test values converted - to PUBLIC. - * Split the tests into smaller functions, since the 64K function limit - has been reached. - ! Expected results changed where we consider Clipper to be buggy, mainly - for cases when the parameters is passed by reference. - + SQRT() tests added. - * source/rdd/dbf1.c - ! Fixed the passed parameters to hb_itemPutNDLen() - * tests/working/testdbf.prg - + Numeric value put/get tests added. - * source/rtl/itemapi.c - ! hb_itemType() now checks for NULL parameters, like in Clipper. - ! hb_itemPutNDLen() was handling the wDec parameter in a wrong way by - mistake. I assumed that the wDec value means the decimal places within - the full length, but that was wrong. - ! hb_itemStrCmp() two LONGs changed to ULONG. - * source/rtl/math.c - % MOD() one Extend API call changed to Item API to make it faster. - + MIN()/MAX() now uses Item API instead of accessing internals. - + ABS() uses Item API instead of internals. - ! ABS() now keeps the width of the positive integers. - ! hb_numRound() now uses a much larger buffer (like in hb_itemStr()), this - seem to have fixed the random GPFs in Cygwin when running RTL_TEST. - Same type of dangerous code can be found in RDD/DBF1.C, too. (Bruno!) - + ABS(), INT(), ROUND(), EXP(), LOG(), SQRT(), MIN(), MAX() value - substitution added. - * source/rtl/descend.c - * Now using Item API only, internals totally eliminated. Simpler code, - some variables eliminated, some small optimalizations. - * source/rtl/do.c - * Value substitution added to EVAL(), DO() - * source/rtl/classes.c - * Value substitution added to :EVAL - * tests/working/descend.prg - tests/working/Makefile - - Removed since an automated version is already included in RTL_TEST. - * source/rtl/classes.c - source/rtl/arrays.c - + Copyright info added. - * source/rtl/set.c - ! Some minor formatting corrections. - -19990907-02:30 GMT+1 Viktor Szakats - * include/external.ch - source/runner/stdalone/external.prg - + Updated to reflect the recent changes. - * source/rtl/itemapi.c - ! hb_itemGetCPtr() will now return an empty string ("") on error and not - a NULL pointer. - ! Leak fixed in hb_evalLaunch() when the function to evaluate was passed - as a string. (hb_itemGetC() changed to hb_itemGetCPtr()) - * source/rtl/arrays.c - source/rtl/extend.c - source/rdd/dbcmd.c - include/extend.h - * Some array functions renamed to be consistent with the similar Item API - function names. - hb_arrayGetString -> hb_arrayGetCPtr - hb_arrayGetStringLen -> hb_arrayGetCLen - hb_arrayGetBool -> hb_arrayGetL - hb_arrayGetDouble -> hb_arrayGetND - hb_arrayGetDate -> hb_arrayGetDS - * hb_arrayGetCPtr() now calls hb_itemGetCPtr() instead of using redundant - code. - + hb_arrayGetC() added keep it in sync with the Item API. - + hb_arrayCopyC() added keep it in sync with the Item API. - % Further simplified the hb_arrayGet*()/hb_arraySet()/+some more functions. - * source/rdd/dbcmd.c - funclist.txt - + DBF() function added. (not tested yet) - * source/rdd/dbf1.c - source/rdd/delim1.c - source/rdd/sdf1.c - source/rdd/dbf0.prg - source/rdd/delim0.prg - source/rdd/sdf0.prg - * The forcelink function names changed. The C functions got a "C" appended - at the end, the Harbour ones got an underscore at the beginning, this - way it's more Clipper like, but it was also inevitable, since previously - the forcelink function HB_DBF() was colliding with the standard Clipper - function named DBF() (HB_DBF() from C). - * source/rdd/dbcmd.c - source/rdd/rddsys.prg - source/vm/hvm.c - include/rddapi.h - * Instead of calling rddShutDown() from a Harbour EXIT function, now - the same functions C version is called by the Virtual Machine on exit. - This way it's more Clipper compatible, since in CA-Cl*pper the RDDSYS - doesn't need to clean-up on exit. RDDSYS.PRG is now exchangeable with - the Clipper one. - ! hb_rddShutDown() fixed a possible GPF if there was no rddSetDefault() - calls at all (when RDDSYS was overridden by a dummy one). - * source/rtl/setkey.prg - * Not CA-Cl*pper compatible functions (extensions) renamed to avoid - possible collision with existing code: - SETKEYGET() -> HB_SETKEYGET() - SETKEYSAVE() -> HB_SETKEYSAVE() - SETKEYCHECK() -> HB_SETKEYCHECK() - The function names are valid even if compiled with /10 switch. - -19990907-01:00 GMT+1 Viktor Szakats - * source/rtl/arrays.c - ! hb_arrayScan() fixed, so that it can also search for a NIL value. Like - Clipper. - % Optimized the search loop for speed. - ! Fixed searching of numeric values. Different numeric sub-types with the - same value are also considered equal (of course), so 10 == 10.0 now. - * Uses Item API calls where possible. - * source/rtl/classes.c - ! hb___msgEval() added, so now send an :eval message to a block - will work fine, sending it to other types will result in a proper error - message. - ! hb___msgClsH() will return 0, if the checked type is not an ARRAY/OBJECT. - Until now a GPF occured on this code: a := "A" ; a:classH - * Functions reordered. - * source/rtl/do.c - source/vm/hvm.c - * EVAL() moved to do.c. - ! EVAL() internal message changed to the Clipper compatible one. - * DO() parameter count error message changed to EG_ARGCOUNT/3000. - * source/compiler/harbour.y - + SETPOSBS() added to the reserved function list. - * tests/working/rtl_test.prg - + Some PAD?() tests added with new types, byref. Some new MIN()/MAX() tests - added. ASCAN() tests added. - + /SKIP: switch added, to make it possible to temporarly skip specific - tests. (RTL_TEST /SKIP:100,102) - + EVAL(), :EVAL() tests added. Some are commented out, due to bugs. - * source/rtl/itemapi.c - include/itemapi.h - - Removed hb_itemSetNLen() since it was superseded by hb_itemPutN?Len() - functions, these are more compact, faster, and have default value of the - parameters. - -19990906-11:25 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * Fixes on Stabilize() method - * source/rtl/tbcolumn.prg - * Small fix on New() method - * source/debug/debugger.prg - * First outline for monitoring variables - (it is left open for testing purposing) - -19990906-01:27 EDT Paul Tucker - * source/rtl/set.c - * added a cast in open_handle to fsRead() - -19990905-17:55 EDT David G. Holm - * source/rtl/console.c - + Added code to preserve the current user file error code when - using Harbour hb_fs... functions. - * source/rtl/set.c - + Added code to preserve the current user file error code when - using Harbour hb_fs... functions. - + Added code to remove the old EOF character ('\x1A') when - appending to text-mode files on non-Unix platforms. - * tests/working/output.prg - * Changed the names of the output files to OUTPUT_A (.txt), - OUTPUT_E.EXT, and OUTPUT_P (.prn) so that the files may be - examined and deleted without having to worry about the .PRG - file (the extensions in parentheses are the default ones). - -19990905-17:48 GMT+1 Viktor Szakats - * source/rtl/dbf1.c - % Uses hb_itemPutN?Len() instead of hb_itemSetNLen(), so it's a bit - faster now. - * source/rtl/errorapi.c - % Now uses hb_itemDo() instead of the Eval API. Eight function calls - substituted with a single one. - * source/rtl/extend.c - + hb_retn?len() functions now make simple calls to hb_itemPutN?Len() - functions. - * source/rtl/itemapi.c - include/itemapi.h - + EVALINFO structure now has a Clipper compatible paramCount member. - ! hb_eval*() speed up a bit by using paramCount, and by assigning error - return value only on error. - ! hb_evalPutParam() now check if pItem is a NULL. - ! hb_evalRelease() now sets back the EVALINFO structure to an initial - state, just like Clipper. - + hb_itemDo() and hb_itemDoC() function added, they do the same as hb_eval() - but in a lot more convenient way. - + hb_itemPutNDLen(), hb_itemPutNILen(), hb_itemPutNLLen() functions added - to make to number length setting easier. - * source/rtl/do.c - ! DO() without any parameter caused a GPF. Fixed. - * tests/working/rtl_test.prg - + Alias tests enabled. Now an internal occurs in one of them, this will - need fixing. Some alias Pop/Push/Swap functions are not checking NULL - pointers and are not yet compatible with Clipper in strange situations. - + Fixed some result in == test with objects and arrays. Added some more - == tests. - * source/vm/hvm.c - ! Small correction in one debug message. - * source/vm/initsymb.c - + SETPOSBS added to the list. Since it's a native opcode in Clipper, it - always linked in by nature. - -19990905-02:47 EDT Paul Tucker - * source/rtl/filesys.c - * casts on access() and in HB_FILE - -19990904-23:35 EDT David G. Holm - * include/hbver.h - * Bumped revision from "a" to "b". - * Changed date to 1999.09.04 - * source/rtl/filesys.c - ! Borland needs "direct.h". - -19990904-20:35 EDT David G. Holm - * include/filesys.h - + Added hb_fsFile(). - * source/rtl/filesys.c - + The guts of HB_FILE() are now in hb_fsFile(), so that - C RTL functions can check for the existence of a file. - ! Added temporary bug fix for Cygwin I/O flags (starting - with O_CREATE, they are one bit position too high). - + I left in the debug statements that I used to track down - the Cygwin I/O flag bug, but I commented them out. */ - * source/rtl/set.c - ! Corrected the file open/create handling in open_handle(). - -19990904-18:35 EDT David G. Holm - * source/rtl/tone.c - ! Added missing '&& ! defined(_Windows)' checks to the - __BORLANDC__ checks that didn't already have them and - weren't already preceded by a 'defined(_Windows)' check. - -19990904-15:20 GMT+1 Viktor Szakats - * source/rtl/arrays.c - ! hb_arrayScan() fixed. (Thanks Antonio) - -19990903-19:35 EDT David G. Holm - * source/rtl/console.c - ! Added #ifdef HARBOUR_USE_GTAPI/#endif around use of GT API - functions in the new HB_SETPOSBS() function. - * source/rtl/filesys.c - ! Added #defines for _getdisk and _chdisk for DJGPP. - -19990903-19:00 GMT+1 Viktor Szakats - * source/itemapi.c - include/itemapi.h - + hb_itemGetCPtr() function added. Use this with care, don't modify the - returned buffer. This is the fastest way to access a string buffer via - the standard API. The retval should really be declared const, but that - would generated a bunch of compiler warnings, so I didn't add it. - ! hb_itemGetDS() made compliant with the Clipper NG, it now terminates - the date with a zero character, so the buffer needs to be 9 characters - long. Although Clipper itself is buggy in this respect and doesn't - append a trailing zero, even the example in the NG is buggy. - NOTE added about this. - * source/vm/hvm.c - * LEN(), EMPTY(), VALTYPE(), hb_stackDispLocal() (almost) now use no - internals, or uses Item API instead of Extend API, since it's faster - in their case. - * source/rtl/arrays.c - source/rtl/extend.c - include/extend.h - + hb_arrayIsObject() function added. - * hb_arrayGetString() now uses hb_itemGetCPtr() - + Copyright info added to arrays.c - ! hb_arrayGetDate() now returns the date with a terminating zero. - * Small cosmetic change in array.c. - * source/rtl/extend.c - % hb_stor*() functions further optimized, usage of ulArrayIndex eliminated. - ! One bug slipped in to one of the hb_stor*() functions at the previous - changes. Fixed. ( if -> else if ) - + NOTE added to hb_parc() - * hb_ret*() functions now uses Item API calls, this way a huge amount - or sensitive redundant code has been eliminated. Since these functions - are always called only once in Harbour callable function, the speed hit - should not be noticable (There's one more NULL check and a function - call). hb_retn?len() functions were not converted. We could make these - functions inline to speed it up. Notice that the size of extend.c has - been reduced from 23K to 17K. - ; hb_par*() functions also have many redundant code, but it would be more - of a speed hit to convert them, since these are generally called several - times in a function, and two additional if()s would be also executed. - * source/compiler/harbour.y - + The parameter count checking now shows the expected *range* in the - error message if applicable (not only the minimum number of params). - * tests/working/rtl_test.prg - + Changed the column layout. Few new tests added (==). - * source/rtl/classes.c - % One variable eliminated (wIndex). - * source/rtl/dir.c - include/init.h - ! Indenting errors fixed. - -19990903-15:30 GMT+1 Viktor Szakats - * source/rtl/itemapi.c - % hb_itemPutDS() contained one more hb_itemClear() then needed. - + hb_itemGetNI(), hb_itemPutNI() added for completeness. - ! hb_itemArrayGet()/hb_itemArrayPut() checks if the passed array item ptr - is not a NULL. - * source/rtl/extend.c - * hb_parni(), hb_parnl() now uses hb_arrayGetN*() instead of - hb_arrayGetDouble(). - % Array index validation removed from hb_par*() functions, since the - called Array API is doing this. - + hb_stor*() function group now using Item API instead of duplicating - the same code. These function looks much simpler now. - ! hb_stor*() functions were suboptimal in handling the -1 parameter, they - were assigning a new value to it, then checking IS_BYREF()/IS_ARRAY(). - The logic has been optimalized. - + Optional parameter type changed to ULONG from long. - * source/rtl/array.c - include/extend.h - + Missing prototypes added to extend.h - ! hb_arrayAdd() will not throw a runtime error anymore, instead it - returns a BOOL to signal error. Error launching moved to AADD(). - ! hb_arrayClone() will not throw error. ACLONE() is more compatible now. - ! hb_arrayCopy() will not throw error, but return BOOL. - ACOPY() is more compatible now. - ! hb_arrayRelease(), hb_arrayEval() will not throw error. They will return - BOOL. - ! hb_arrayScan() will return ULONG instead of int. It will now throw an - error anymore. - ! hb_arrayGetType() will return WORD instead of int. - ! hb_arrayIns(), hb_arrayDel() will return BOOL, and not throw an error. - ! hb_arrayFill() will not throw an error, but will return BOOL, AFILL() - will check if the second parameter is not NIL. - ! hb_arrayAdd(), hb_arrayLast() checks if the passed item is an array, like - the other hb_array*() functions. - + hb_arrayNew() now returns BOOL. Actually a constant TRUE right now. - + hb_arrayLast() now return BOOL, it will return FALSE if the passed item - was not an array. - ! hb_arraySize() now return BOOL. - ! hb_arrayClone() fixed bug which caused a GPF. (Thanks Paul!) - This was introduced around yesterday. - ! hb_arrayLen() will not throw a runtime error anymore. - ! hb_arrayGet*()/hb_arraySet() will no longer throw runtime errors. - + hb_arrayGet(), hb_arraySet() now return BOOL. - + hb_arrayGetNL(), hb_arrayGetNI() added to be in sync with Item API. - ! hb_arrayGetDate() now properly clears the date field on error. - * source/rtl/dir.c - + NOTE: added about the behaviour on reaching array length limit. - * source/rtl/extend.c - + NOTE: added about parameter -1 - * source/rtl/set.c - * bMode name changed to bAppend - * source/rtl/console.c - funclist.txt - + SETPOSBS() undocumented Clipper function added. I don't know why is this - function so important to CA, but it's a pcode level function. - * source/compiler/harbour.y - + Added parameter count check for EVAL() - + Added parameter count check for SETPOSBS() which is and undocumented - Clipper function. Now the parameter count check list is complete. - * source/vm/hvm.c - + Added runtime parameter count check for EVAL(). - * tests/working/ifelse.prg - + Changes by Jose Lalin implemented. - * source/rtl/classes.c - source/rtl/itemapi.c (nszText -> szText) - include/rtl/itemapi.h (nszText -> szText) - ! Small formatting fix. - * source/rtl/codebloc.c - ! A few formatting errors corrected. - -19990903-14:35 GMT+2 Ryszard Glab - - *source/rtl/codebloc.c - * corrected bug if nested codeblocks without local variables - references were created - -19990903-14:00 GMT+2 Ryszard Glab - - *include/hb_vmpub.h - * added a second parameter for HB_DYNS_FUNC - - *source/vm/dynsym.c - *include/extend.h - * added a second parameter for hb_dynsymEval() function - - *source/rtl/memvars.c - * new function __mvDBGINFO() for memvars debugging - (documentation included in memvars.c) - - *include/memvars.ch - * new MV_PRIVATE definition - - *source/rtl/mouseapi.c - * added (char*) type cast to make C++ compilers happy - -19990903-08:00 GMT+1 Viktor Szakats - * include/hbdefs.h - include/extend.h - ! IT_OBJECT() checked for IT_ARRAY type, correct to IT_OBJECT, which - is equal to IT_ARRAY, so there was no bug, but it's not a good practice - to take shortcuts like this. - * Type checking macros moved to extend.h from hbdefs.h - * source/vm/hvm.c - % Variable optimed out in HB_PCOUNT(). - * source/compiler/harbour.y - source/hbpp/stdalone/hbpp.c - source/rtl/filesys.c - ! hb_fsFNameSplit() now leaves the szName pointer to NULL if there was - no name specified. - ! hb_fsFNameMerge() now handles when szName is NULL. - * Some variable names made consistent in the functions above. - -19990902-21:15 EDT David G. Holm - * source/rtl/filesys.c - ! Added missing semi-colon for line 1842. - * Replaced all calls to getdisk() and setdisk(), which are not very - likely to be POSIX-compliant (they don't exist in the Cygwin or OS/2 - implementations of GCC), with _getdrive() and _chdrive(), which are - not POSIX-compliant either, but at least they exist for OS/2 GCC, - IBM Visual Age C++, Borland C, and Microsoft C. They also exist in - mingw32/direct.h for Cygwin, but that includes dir.h instead of - mingw32/dir.h, so it won't compile with a default Cygwin install, - so I left in the Cygwin exclusion. I also set things up so that only - OS2, DOS, and _Windows compilers will attempt to use these functions, - seeing as how they are unlikely to exist on Unix and Linux. - -19990902-17:30 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + <=, >=, >, < operator tests added. - * source/rtl/hvm.c - % Variable scope optimalization, variables accessed only once eliminated, - formatting errors corrected. - + Error value substitution support added to: - hb_vmNot(), hb_vmNegate(), hb_vmInString(), hb_vmInc(), hb_vmDec(). - ! hb_vmEqual(), hb_vmNotEqual() fixed for those where it returned - a constant FALSE, blocks, arrays, etc. It confused the stack. - ! Fixed all hb_vmOperatorCall() calls since they were not popping the - values from the stack. ( did not test this ) - ! hb_vmGreater*(), hb_vmLess*() functions pushed inverse results for - logical types. - -19990902-12:20 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + STOD() tests added. - * source/rtl/dir.c - * Direct stack access changed to hb_itemReturn(). - * source/rtl/hvm.c - ! hb_vmEqual(), hb_vmNotEqual() didn't handle DATE type. Fixed. - % hb_vmEqual(), hb_vmNotEqual() reordered the order of type to be a bit - more efficient. - % hb_vmEqual(), hb_vmNotEqual(), hb_vmGreater*(), hb_vmLess*() function - variable scopes optimed. They need less stack space now. - * source/rtl/errorapi.c - funclist.txt - + First pass of DOSERROR() implementation. - * source/rtl/dates.c - source/rtl/extend.c - source/rtl/itemapi.c - + hb_dateStrPut() now takes care of filling the target with spaces when - the date is empty, so from now on the caller shouldn't bother with this. - This has also fixed a possible bug in RDD/PutValue with empty date. - * source/rtl/itemapi.c - include/itemapi.h - + hb_itemGetCLen() function added, which simply returns the length of - STRING item, arrays.c uses it right now. - * source/rtl/arrays.c - * Many stack.return accesses converted to use hb_itemReturn(). - * One hb_itemClear()/hb_xfree() call pair converted to hb_itemRelease(). - % Replaced internal hb_arrayLen() calls with direct access to the - array structure. - * hb_arrayGet*() functions will call the proper Item API function instead - of repeating the functionality. - * source/rtl/console.c - * hb_fsSetMode() -> hb_fsSetDevMode() - * include/filesys.h - source/filesys.c - + hb_fsSetError() added, to be able to get/set the last error number - in internal functions which uses the FS API. - * hb_fsSetMode() -> hb_fsSetDevMode() - * source/rtl/descend.c - - One obsolete comment removed. - * source/rtl/console.c - ! Some formatting errors removed. - -19990901-21:24 EDT Paul Tucker - * source/rtl/filesys.c - * hb_fsReadLarge() -> drop out on eof - * hb_fsWriteLarge() -> drop out on disk full - * source/rtl/console.c - source/rtl/set.c - * added casts. - -19990902-01:44 GMT+1 Viktor Szakats - * source/rtl/filesys.c - include/filesys.h - - For speed reasons the hb_fsRead/Write() functions were set back to use - USHORT, they are again Clipper compatible, and don't have the overhead - of the long buffer support, since for most cases it's not needed. - + hb_fsReadLarge() and hb_fsWriteLarge() API functions added, which support - the very long buffer lengths (ULONG_MAX). FREADSTR() is using the large - read right now. - ! hb_fsWriteLarge() infinite loop on error fixed (?) Paul ? - + TOFIX: added to hb_fsFNameMerge() (related to buffer overrun). - * source/rtl/console.c - source/rtl/set.c - include/set.h - + Changed to use the Filesys API instead of calling the platform dependent - file handling functions. - ! hb_err*() caller now expect E_BREAK, too. - ! hb_setRelease() called close_binary() instead of close_text() for - hb_set_extrahan. Fixed. - - Removed a bunch of (now) unneeded include files and OS branched. - Source looks kind of clean now. - * config/rules.cf - make_tpl.* - + Added the L_USR variable, to make it possible to pass custom parameters - to the linker. Some platform/compiler combinations need to add support - for this manually: DOS/BCC31, DOS/WATCOM, WIN32/BCC32, WIN32/ICC - * source/rtl/itemapi.c - ! Some formatting errors removed. - * tests/working/rtl_test.prg - * Small corrections. - -19990901-20:34 GMT+1 Viktor Szakats - * source/vm/initsymb.c - + HB_LOCK pointer added. - * tests/working/Makefile - ! Mistakenly got replaced with my private one. Fixed. - -19990901-17:20 GMT+1 Viktor Szakats - * tests/working/rtl_test.prg - + Added tests for decimals handling. (NUMPAR.PRG) - * source/rtl/strings.c - + VAL() now using hb_retndlen() instead of internalling (wow!). - + hb_itemStr() is now using hb_itemGetNLen() - * source/rtl/math.c - + No functions (except ABS()) are now accessing the internals. They - are using hb_retndlen() and hb_itemGetNLen() instead. - ABS(), MAX(), MIN(), MOD(), ROUND() - ! HB_MOD() accessed item.asDouble even if the item was not a DOUBLE. - - There were places were the decimals places were explicitly set to the - default SET_DECIMAL setting, even though the hb_retnd() call already set - this. I've removed these assigments. (David, is this OK ?) - * source/rtl/itemapi.c - * hb_itemGetNLen() is now optionally returning the parameters, so passing - a NULL is now valid. - ! hb_itemGetNLen() now returns zeros for non-numeric values. - ; hb_itemSetNLen() tested. - * source/rtl/extend.c - include/extend.h - + hb_retndlen(), hb_retnilen(), hb_retnllen() added, which are the same - as the standard hb_retn*() functions, but the width and decimals can be - specified. - * source/rtl/dates.c - + DAY(), MONTH(), YEAR(), DOW() now using the new hb_itemSetNLen() API call - instead of dealing with the internals. - * source/rtl/console.c - + Changed to call hb_fsSetMode(). - * source/rtl/filesys.c - include/filesys.h - include/fileio.ch - + Added hb_fsSetMode() function, and the constants. - * Changes by Jose Lalin implemented. - -19990901-15:00 GMT+1 Jose Lalin - * filesys.c - + Added hb_fsChDrv() - + Added hb_fsCurDrv() - + Added hb_fsIsDrv() - ! BC4.5 docs: setdisk/getdisk are for DOS, WIN16, WIN32 and OS/2 - I don't know if they work under Unix/Linux too. - * hb_fsCurDir() - * hb_fsExtOpen - + some HB_SYMBOL_UNUSED added. - - NOTE [vszakats]: - 1.) I've #ifdef-ed out the new stuff for __CYGWIN__ since - setdisk()/getdisk() were neither declared nor present in any - libraries. - 2.) I've added some new header files to FILESYS.C. Please check them - on your system, whether they are correct. - -19990901-14:05 EDT Paul Tucker - * source/rtl/filesys.c - * hb_fsread() -> account for the possibility that num read is less - than requested. (It was staying in the while loop forever without this) - -19990901-17:59 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - + Added Lock() function - -19990901-17:20 GMT+1 Viktor Szakats - * source/rtl/set.c - funclist.txt - + SetCancel() function added. - * source/vm/hvm.c - ! hb_vmRequestCancel() now diplays correctly on DOS/DJGPP, since it's - using hb_consoleGetNewLine() to display a newline instead of '\n'. - * source/runner/runlib.c - ! __HRBRUN() now handles if the error launcher returns with an E_BREAK. - * source/rtl/copyfile.c - ! The error launching now also reacts to a BREAK correctly. - * source/compiler/harbour.l - ! At one place BREAK was not converted to uppercase, so the generated pcode - was faulty. RTL_TEST.PRG didn't link because of that. - (Ryszard, is this the correct fix ?) - * source/rtl/errorapi.c - ! szOperation now can be NULL. This caused some error launchings to GPF, - for example BADALIAS calls in HVM.C. - * IS_*() internal macros changed to hb_itemType() calls. - * source/rtl/filesys.c - + Added runtime error 2018 to DISKSPACE(). - * source/vm/hvm.c - ! Fixed a variable name which went out sync between the last two CVS - sessions. - * source/rtl/inkey.c - + Added copyright info. - -19990901-15:40 GMT+1 Viktor Szakats - * source/compiler/harbour.y - + It will now recognize and accept filenames specified via the - /o switch (not only paths), it also allows to override the extension. - Like CLIPPER.EXE. - * Indentation more or less fixed. - * Zeros changed to NULL and '\0'. - % Inc()/Dec() logic cleaned-up. Note that there are many more places where - such logic cleaning and variable scoping optim. could be done. - I'm also not sure if the debug_msg() calls should only be made when - warnings are turned on, IMHO they should always appear when DEBUG is on. - ! Some formatting errors corrected. - * tests/working/fileio.prg - + New test cycle added beginning with FOpen() (Temporary solution) - ! nFlags is not NIL anymore. - * tests/working/rtl_test.prg - + Some tough alias related tests added. They are commented out - for Harbour, since right now they will GPF for sure. - * source/rtl/langapi.c - source/rtl/natmsg/*.c - ! Fixed eleven error messages to look exactly like in Clipper. - * source/rtl/filesys.c - include/filesys.h - * hb_fsRead(), hb_fsWrite() changed to use ULONG instead of USHORT. - ( ! not tested ! ) - ! FOPEN() added FO_COMPAT to the default open flags. (cosmetic) - * source/rdd/dbf1.c - + GetValue() now sets the width and decimals of the returned numeric - value properly using hb_itemSetNLen(). ( not tested ) - * source/rtl/itemapi.c - include/itemapi.h - + hb_itemGetNLen() added. The pair of the recently added hb_itemSetNLen(). - * source/rtl/console.c - + Some static renamed and prefixed with s_ - * source/compiler/symbols.asm - + CVS header added. - * source/compiler/harbour.c - ! Formatting errors corrected. - -19990901-14:40 GMT+2 Ryszard Glab - - *source/compiler/harbour.l - * corrected handling of BREAK statement - - *source/compiler/harbour.y - * corrected generation of line number opcodes - * corrected the support for local variables when nested - codeblocks are used - * the step value is popped correctly at the end of FOR/NEXT loop - (the nested loops are working correctly now) - - *source/rtl/codebloc.c - * corrected the support for local variables when nested - codeblocks are used - - *source/vm/hvm.c - *include/ctoharb.h - * added hb_vmRequestCancel() function - - *source/rtl/inkey.c - * signals the virtual machine that Alt-C was pressed - - *doc/codebloc.txt - * updated information - -19990831-22:49 EDT Paul Tucker - * include/set.h - source/rtl/set.c - Set(_SET_DEBUG) now returns Logical as in Clipper 5.2 and 5.3 operation. - (Clipper 5.3 docs are incorrect) - -19990831-23:10 GMT+1 Viktor Szakats - * source/rtl/itemapi.c - include/itemapi.h - + hb_itemSetNLen() added to set the numeric values length and number - of decimal places. This way we have a standard way to set these without - fiddling with the internals. Cool. - -19990831-22:20 GMT+1 Viktor Szakats - * source/rtl/hvm.c - ! hb_vmFunction() now resets the return value to NIL, since previously - the default return value of the functions was not defined if there was - no hb_ret*() calls in them or if the called function was a PROCEDURE. - * source/rtl/descend.c - include/extend.h - ! It was modifying the string buffer directly, RTL_TEST failed in some - situations. Fixed. hb_strDescend() prototype modified. - * tests/working/Makefile - + ValType() tests added. - ! empty.prg, strsub.prg removed. - + Descend() tests added. - -19990831-20:55 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * Methods RefreshAll() and Invalidate() were not recalculating ::RowCount. - -19990831-19:47 GMT+1 Bruno Cantero - * source/rdd/dbf1.c - * Bug fixed - -19990831-19:09 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - * Added more RDD functions. - - * tests/working/Makefile - * Added testdbf.prg - -19990831-17:40 GMT+1 Viktor Szakats - - * source/rtl/arrays.c - include/extend.h - ! Fixed handling of zero array index, it was allowed previously. - (hb_arrayGet*(), hb_arraySet()) - + Added hb_arrayError() which checks the pArray and ulIndex, if it's not - valid, it throws a runtime error. - * source/vm/hvm.c - ! Fixed where operations followed the hb_err*() call. - (hb_vmArrayAt(), hb_vmArrayPut(), hb_vmDo(), ...) - ! hb_vmPopLogical() was decrementing the stack but was only clearing it - when it was logical type. Leak fixed. (Is this correct ?) - * hb_vmAliasPop() -> hb_vmPopAlias() - hb_vmAliasPush() -> hb_vmPushAlias() - hb_vmAliasSwap() -> hb_vmSwapAlias() - Renamed to be consistent with the pcode name and with the others. - * tests/working/rtl_test.prg - tests/working/empty.prg (removed) - tests/working/strsub.prg (removed) - + Added many new tests, comments, enhancement. - + EMPTY.PRG, STRSUB.PRG incorporated. - ! Some TRANSFORM() test results changed (@0) - * source/rtl/devoutp.prg - % One local variable eliminated. - * source/vm/hvm.c - + Added value substitution for errors 1081, 1082, 1083, 1084, 1085, 1088 - * source/rtl/transfrm.c - + Put all stuff related to the @0 picture clause between - #ifndef HARBOUR_STRICT_CLIPPER_COMPATIBILITY guards, since this was - not in original Clipper, that's why the tests failed. - * source/rtl/set.c - ! Fixed "ON"/"OFF" error where OFF was not recognized, this bug was - introduced yesterday. - % Some variables scopes optimalized, some internals changed to standard - interface calls. - * source/rtl/errorapi.c - source/vm/hvm.c - include/extend.h - + Moved ERRORBLOCK() and errorBlock variable to errorapi.c, hb_errInit() - hb_errExit() added. All that is a *bit* slower, since only "official" - API calls are being used. - * source/runner/runlib.c - source/rtl/gtapi.c - source/vm/dynsym.c - source/vm/hvm.c - include/vm.api - include/fm.api - include/hbpp.h - include/gtapi.h - include/extend.h - include/hb_vmpub.h - include/hbdefs.h - * Formatting errors corrected. - + static variables prefixed with "s_" - -19990831-02:37 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - tests/working/testdbf.prg - * Full support for memo fields. - -19990830-19:00 GMT+1 Viktor Szakats - - * source/filesys.c - include/filesys.h - funclist.txt - + Added: DIRCHANGE(), MAKEDIR(), DIRREMOVE(), DISKCHANGE(), DISKNAME() - All of them are Clipper 5.3 compatible functions. Some of them will not - work, since the underlying low level API is not worked out. - ! Fixed CURDIR() to preserve the FERROR() value. - ! Fixed prototype of hb_fsChDrv(). - + DISKSPACE() added (currently only working in DOS). - * source/rtl/arrays.c - + hb_arrayAdd() added BASE/1187 Bound error "AADD" error message. - ! 1068 Not an array errors changed to the 9999 code, until we allocate - a 3xxx error for. This error was not there in Clipper. - * source/vm/hvm.c - + Added standard "no exported method" and "no exported variable" - runtime error instead of the internal error. - ( ErrorNew():hello := 1, ErrorNew():hello ) - + hb_vmPlus() and hb_vmMinus() added "string overflow" runtime errors - (1209, 1210) (could not test this though :) - * Error code 1000 in BADALIAS errors changed to 9999, until someone finds - out the correct error code, since there's no 1000 error code in Clipper. - * source/rtl/set.c - ! Fixed to also accept strings that *begin* with "ON" or "OFF", like - Clipper. - * source/rtl/tone.c - source/rtl/codebloc.c - source/rtl/memvars.c - source/rtl/environ.c - source/rtl/classes.c - source/rtl/console.c - source/rtl/langapi.c - source/rtl/setcolor.c - source/rtl/strings.c - source/rtl/dates.c - source/rtl/set.c - source/rtl/transfrm.c (removed static) - source/rtl/inkey.c - source/rtl/fm.c - source/rtl/dir.c - source/rtl/gtapi.c - * Formatting errors corrected. - + static variables prefixed with "s_" - * Some type changed to BOOL. - -19990830-16:59 +0300 Chen Kedem - * source/rtl/mouse/mouseos2.c - * hb_mouse_Hide() now work in any text screen mode. - * hb_mouse_IsButtonPressed() now return TRUE if any button was - pressed. - TOFIX: every time I read event from the queue I lose the result - so I can not check if iButton was pressed, so for now I ignore - iButton and return TRUE if the last event saved had DOWN in it. - also to keep the noise level down I mask out MOUSE_MOTION - events. - * suMouHandle changed to s_uMouHandle - * Some reformatting. - -19990830-12:49 EDT Paul Tucker - * source/rtl/gtapi.c - * Handle nesting of gtPre/PostExt - * corrected s_uiPreCount handling in gtDispEnd - -19990830-14:25 GMT+1 Viktor Szakats - - * tests/working/rtl_test.prg - + Added the possibility to test expressions resulting in a runtime error. - + Added ABS(), EXP(), operator tests, some runtime error tests. - * Some bugs fixed, some enhancements. - * include/errorapi.h - source/rtl/errorapi.c - ! hb_errRT_TERM now accept the OS code parameter. - * source/rtl/set.c - ! Open error now shows the correct error codes for SET_PRINTFILE, - and SET_EXTRAFILE. The error message made completely Clipper compatible. - Retry and Default now works. - * source/rtl/arrays.c - ! Fixed two error messages ("AEVAL" -> "(AEVAL() function)") - UNDONE. - * source/rtl/classes.c - - Removed some externs not needed anymore. - * include/set.h - * Cleaned up. - * source/rtl/set.c - source/rtl/dates.c - source/rtl/transfrm.c - source/rtl/strings.c - source/rtl/inkey.c - source/rtl/setcolor.c - source/rtl/console.c - source/rtl/mouseapi.c - source/rtl/filesys.c - * Formatting errors corrected. - -19990830-10:40 GMT+1 Viktor Szakats - - * source/rtl/errorapi.c - include/errorapi.h - + Error launcher with substitution added. - + Added an emulation to the Clipper "Processor stack fault" error to - indicate the situation where there is an error in the error handler - itself, and thus infinite recursive calls are being executed. The - Harbour error message gives a better idea about the problem than in - Clipper. - * source/vm/hvm.c - ! hb_vmEqual() - Exact error message now depends on the bExact setting. - (1070 vs. 1071) - * source/vm/hvm.c - ! hb_vmNegate() - Throws a proper runtime error, instead of an internal - error. (like Clipper) - ( -("1") ) - * source/compiler/harbour.y - + Added compile time parameter check for LOCK() (BTW, there should be no - parameter passed.) - * source/rtl/copyfile.c - ! Fixed one error code (2012 -> 2016). - ! Two QUESTION: removed. - ; __COPYFILE is now 100% Clipper compatible (tested). - * source/vm/initsymb.c - + Added function pointers to the RDD functions. - + TODO: added for the NULL pointers still there. - (there are only three of them) - * source/vm/hvm.c - source/vm/initsymb.c - funclist.txt - + WORD() function added. - * source/vm/hvm.c - source/rtl/errorsys.prg - + hb_vmDivide(), hb_vmModulus() - Zero divide error is now handled in the standard error handler, and - the zero divide runtime error is properly generated. - * source/rtl/dates.c - ! DTOC() now throws Clipper compatible runtime error 1118. - ( DTOC("1") ) - * source/rtl/strings.c - + TODO: added to STRTRAN() (to check string overflow once) - * source/rtl/arrays.c - ! Fixed two error messages ("AEVAL" -> "(AEVAL() function)") - * source/rtl/filesys.c - source/rtl/strings.c - source/rtl/copyfile.c - + NOTE: added that the runtime errors are Clipper compatible, but - undocumented (FOPEN(), STRTRAN(), __COPYFILE()) - * source/rtl/transfrm.c - * Some reformatting. - -19990829-15:47 EDT Paul Tucker - * include/filesys.h - * hb_fsDelete and hb_fsRename now return int - * source/rtl/filesys.c - hb_fsDelete(), hb_fsRename - now Clipper compatible (only tested so far with msvc) - combined _some_ #if posix and msc_ver statements since posix version - works with msvc - * hb_fsClose - Invalid memory block error mapped to Invalid Handle - * hb_fsSeek Now Clipper compatible with -1 and FS_SET - Unknown Command error now mapped to Seek Error - * HB_FSERASE error is now 'invalid path' on bad parameter - * HB_FSRENAME error is now 'file not found' on bad parameter - -19990829-13:30 EDT Paul Tucker - * source/include/set.h - rearrange set struct to be in correct order - * source/hbpp/table.c - hand corrected output for _SET_ defines - * tests/working/set_test.prg - modified output to show which set is being displayed, and - external 'hooks' so that it demonstrates the same thing under Clipper. - -19990829-14:45 GMT+1 Viktor Szakats - - * source/vm/hvm.c - ! hb_vmArrayPut() - QUESTION: replaced with the proper runtime error - message. (like Clipper) - ( array[ .T. ] := 1 ) - ! hb_vmArrayAt() - Fixed: Now throws a proper runtime error instead - of an internal error. (like Clipper) - ( array[ .T. ] ) - ! hb_vmDec() - Throws a proper runtime error. (like Clipper) - ( a := .T. ; a-- ) - ! hb_vmModulus(), hb_vmMult(), hb_vmDivide(), hb_vmPower() - Throws - a proper runtime error, instead of an internal error. (like Clipper) - ( "1" / 10, "1" * 10, "1" % 10, "1" ^ 10 ) - * include/set.ch - include/set.h - source/rtl/set.c - + _SET_COUNT added to be even more Clipper compatible. - + _SET_* numeric values made compatible with Clipper. - * HB_INVALID_SET changed to HB_SET_INVALID_ - WARNING ! All source codes should be recompiled. - * source/rtl/errorapi.c - + Added copyright information. - * source/rtl/itemapi.c - source/rtl/extend.c - + One QUESTION: removed, it was obsolete now. - * source/rtl/set.c - + One QUESTION: answered. ( _SET_EXIT ) - * source/rtl/array.c - source/rtl/classes.c - * Some reformatting. - -19990829-11:21 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - * Beginning with memos. - -19990829-01:20 EDT Paul Tucker - * source/debug/debugger.prg - * ::Activate - call restoreAppStatus() since code was the same. - * ::Go added a DispEnd() - * __dbgEntry() Modified so that the app Screen is visible when - you select 'go' (F5) - The dispbegins/Ends here seem a bit weird, but this is temporary - as I'm working on a more permanent solution for the debugger to - do screen handling. - -19990828-22:20 EDT Paul Tucker - * source/rtl/filesys.c - * modified FO_ flags handling slightly to correctly reflect their state. - * modified handling of O_BINARY for msvc (was being discarded) - -19990828-14:00 GMT+1 Viktor Szakats - - * source/rtl/filesys.c - source/hbpp/stdalone/hbpp.c - source/compiler/harbour.y - include/hbsetup.h - include/hbpp.h - ! hb_fsFNameSplit() fixed handling of colon in filenames. - (reported by Bruno Cantero) - * source/compiler/harbour.y - ! Fixed the name format of the generated symbol registration function, - since it was causing a compiler error where the .prg name begun with - a number ( for example: 1.prg ). The new format is: hb_vm_SymbolInit_*() - * include/ctoharb.h - source/rtl/errorapi.c - source/vm/hvm.c - + hb_errLaunch() and hb_errLaunchSubst() finished - (the latter not yet tested). - Thanks to Ryszard Glab. - * include/ctoharb.h - source/vm/hvm.c - source/vm/initsymb.c - * hb_vmRTSymbolsInit() -> hb_vmSymbolInit_RT - * include/hbsetup.h - include/hbpp.h - + Changed OPT_DELIMITER to OS_OPT_DELIMITER_LIST and moved to hbsetup.h - So now it's multiplatform. - * source/rtl/mouse/mousedos.c - + hb_mouse_IsButtonPressed() added by Luiz Rafael Culik. - (small fixes applied, code not tested) - * include/hbdefs.h - ! LOBYTE(),HIBYTE(),LOWORD() put in #ifndef guards. - (reported by Jon Berg) - * tests/working/fileio.prg - + Some tests added. - -19990828-08:40 GMT+1 Antonio Linares - * source/vm/hvm.c - * Fixed hb_vmDebuggerEndProc() - (now it properly saves the previous PRG returned value) - * source/debug/debugger.prg - * CallStack now shows Classes and methods names - * It properly works debugging object oriented code - -19990827-18:46 GMT+1 Bruno Cantero - * source/rtl/filesys.c - * Now hb_fsCommit() work with MSVC - - * funclist.txt - include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf1.c - * Added dbCommit() and dbCommitAll() functions - -19990827-14:19 GMT+1 Bruno Cantero - * include/rddapi.h - source/vm/hvm.c - source/rdd/dbcmd.c - source/rdd/dbf1.c - * Bug in hb_rddGetFieldValue() and hb_rddPutFieldValue() removed. - -19990827-13:01 GMT+1 Antonio Linares - * source/vm/hvm.c - + Added new function hb_vmDebuggerEndProc() - (notifies the Debugger __DBGENTRY() about a HB_P_ENDPROC - * source/rtl/tbrowse.prg - * fixed small bug on method stabilize - * source/debug/debugger.prg - + Added support for the CallStack window - (notice I have intentionally left it open by default, to - monitorize how it is working) - * source/debug/tbrwtext.prg - * small fixes. - -19990827-06:50 GMT+1 Viktor Szakats - - * source/rtl/inkey.c - include/inkey.h - + hb_inkeyPut() added, see next. - + __KEYPUT() added. This function is able to insert *any* inkey codes - (not just the 0-255 range) to the keyboard buffer one by one. - ! __KEYBOARD() allowed to insert zero codes into the buffer which made - INKEY() hang. It's now using hb_inkeyPut() to avoid this. - % __KEYBOARD() uses ISCHAR() instead of two hb_p*() calls. Eliminated - one of the two hb_parclen() calls. - * hb_inkeyPoll() now calls hb_inkeyPut() to insert the new code. - ! INKEY() fixed parameter count checking bug introduced a few hours ago. - -19990827-06:00 GMT+1 Viktor Szakats - - * include/mouseapi.h - source/rtl/mouseapi.c - source/rtl/mouse/mousedos.c - + Copyright info corrected. - + Added original (BorlandC) implementation (MOUSE.ZIP) by - Jose Lalin . - Luiz Rafael Culik . - + The OS/2 implementation is thanks to - Chen Kedem - - Please note that these files have not been tested yet, Borland - users should comment out the #define BORLANDC line in mousedos.c. - Non-GNU make file users should add the new files source/rtl/mouseapi.c - and source/rtl/mouse/mousedos.c file to their make system. - -19990827-05:00 GMT+1 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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-Cl*pper 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * source/rdd/dbcmd.c - ! SELF_DELETE -> SELF_DELETED (missed from the previous ChangeLog entry) - -19990820-12:40 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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 Viktor Szakats - * 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-Cl*pper NG, the example program - suggest that it works like this. CA-Cl*pper example generated unreleased - blocks in Harbour. - % Some variable scopes optimized. - -19990816-12:39 GMT+1 Antonio Linares - + source/rtl/browdb.prg - * source code for TBrowseDb() - * source/rtl/tbrowse.prg - * removed source code for TBrowseDb() - * harbour/makefile.b32 - * browdb module added. - -19990816-12:03 GMT+1 Antonio Linares - * source/vm/hvm.c - * Enhanced ProcName() returned information. - (it generates the name of the Class and the method). - -19990816-12:03 GMT+1 Antonio Linares - * include/ctoharb.h - + Added new hb_callStackShow() prototype - * source/vm/hvm.c - + Added new hb_callStackShow() function - * improved internal errors reporting information - -19990816-01:11 EDT Paul Tucker - * source/vm/hvm.c - * ProcessObjSymbols -> hb_vmProcessObjSymbols - -19990816-02:45 GMT+1 Viktor Szakats - - * 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 Viktor Szakats - * bldodbc.bat - hbodbc.b32 - * moved to /contrib/odbc - * updated for the new locations (not tested though). - -19990814-20:40 GMT+1 Viktor Szakats - * 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 Viktor Szakats - * ChangeLog - ChangeLog.002 - * Old ChangeLog renamed to ChangeLog.002 - * New ChangeLog created. - -19990814-19:50 GMT+1 Viktor Szakats - * source/compiler/harbour.y - ! BYTE -> unsigned char - Previous change reverted, and replaced with a NOTE: not to - change this again. - -19990814-19:30 GMT+1 Viktor Szakats - * source/vm/dynsym.c - tests/working/dynsym.prg - * Name change to allow these functions to work even in 10 character - symbol limit mode. - __DYNSYMCOUNT -> __DYNSCOUNT - __DYNSYMGETNAME -> __DYNSGETNAME - __DYNSYMGETINDEX -> __DYNSGETINDEX - * make_tpl.* - + PRG_USR added. - * source/runner/runner.c - ! Fixed warning with unused InitSymbolTable() function. - * source/rtl/dates.c - * hb__seconds() -> hb_seconds() - * tests/working/fortest.prg - tests/working/Makefile - + New test file added. (It's broken BTW) - * source/compiler/harbour.y - * unsigned char -> BYTE - * source/rtl/console.c - * unsigned short -> USHORT - * source/rtl/transfrm.c - * unsigned long -> ULONG/DWORD - * source/rtl/classes.c - ! Added two missing prototypes. - -19990813-16:47 GMT+3 Alexander Kresin - * source/rtl/tbrowse.prg - * tests/working/testbrw.prg - * added some functionality ( PageDown(), PageUp(), GoBottom(), GoTop() ) - -19990813-11:00 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - *corrected generation of local variables positions when - PARAMETERS are used (for example: if there are - two declared PARAMETERS, then the first local variable - are placed on third position) - -19990813-01:30 EDT David G. Holm - * config/os2/gcc.cf - - Removed -( and -), which OS/2 GCC does not support. - * config/os2/icc.cf - + Added handling of HB_DB_DRIVERS. - * include/hbsetup.h - + If HARBOUR_GCC_OS2 is defined, then OS2 must get defined. - * include/hbver.h - * Set hb_revision to "a", hb_month to 8, and hb_day to 12. - * source/compiler/harbour.y - + Display revision code immediately following build code - (e.g., "Build 29a (1999.08.12)" - ! Moved display of compiler version from inside Include() - to immediately following command line option processing, - so that the version will always be displayed, unless the - /q option or an unsupported output language option is used. - * source/debug/debugger.prg - ! Changed CLEAR TO on line 208 to SCROLL(), to work around - preprocessor problem with certain compilers. - * source/rtl/console.c - ! Corrected display erasing for BackSpace in HB___ACCEPT() - for Harbour builds that are using the GT API. - * source/rtl/tone.c - ! Don't include for Borland C. - + Added support for OS/2 GCC/EMX. - * source/rtl/gt/gtos2.c - ! Put the fixes for the x vs. y coordinates bugaboo and the - change from DWORD to ULONG back in. - * tests/working/Makefile - ! Added rtl to the library list so that it can include rdd - functions and the rdd can include rtl functions for those - compilers that have no way to force recursive checking of - libraries (specifically, OS/2 GCC 2.8.1). - -19990812-22:29 GMT+3 Alexander Kresin - * source/rtl/tbrowse.prg - * source/rtl/tbcolumn.prg - * tests/working/testbrw.prg - * added some functionality - * funclist.txt - * updated status of TBrowse functions - -19990812-14:15 EDT David G. Holm - * funclist.txt - * Updated the status of several functions to S or R - * Updated the status of the errornew class and its members to R - -19990812-14:00 EDT David G. Holm - * source/rtl/Makefile - + Added tone.c - + source/rtl/tone.c - + New TONE() function supplied by Chen Kedem - I reorganized it so that Harbour C functions can generate tones - by callin hb_tone( , ) and I also added - DOS support for Borland and DJGPP. - * tests/working/Makefile - + Added sound.prg - + tests/working/sound.prg - + New test module to test TONE() function. - -19990812-14:10 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * PARAMETERS statement can be used before LOCAL statement - (the stack frame is calculated correctly) - * PARAMETERS statement cannot be used if there are local - parameters (parameters inside '()') declared already - - *include/compiler.h - + added wParamNum member to _FUNC structure - - *include/hberrors.h - + added new error code ERR_PARAMETERS_NOT_ALLOWED - - *source/rtl/console.c - * corrected `\0` to '\x0' for OS_UNIX_COMPATIBLE - -19990812-08:32 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * enhanced - -19990812-01:45 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * corrections to window sizing between dispbegin buffers - this part - is now working as it should. There is still the problem of - writing past the visible screen boundry which will gpf. - * source/rtl/gtapi.c - * temporarily limit string length in hb_gtwrite (attempting to avoid - above problem) - -19990811-09:01 GMT+3 Alexander Kresin - * source/hbpp/hbpp.c - * fixed some bugs - *changed logic of #translates scan, so it is possible now use - #translate with non alphabetical definitions ( such as '::', for - example ). - -19990811-18:00 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * hb_gt_getRow/Col were using the wrong screen handle. - -19990811-14:30 EDT Paul Tucker - * source/rtl/console.c - * set binary mode on stanard files before intializing gt system. - * HB_SCROLL - changed to only call hb_max_row and col once each. - * source/rtl/gtapi.c - * hb_gtInit() - + add call to hb_gtMaxRow and Col to initialize statics properly - - remove calls to setmode, setpos and setcursor - * some reformatting - * source/rtl/gt/gtwin.c - * simplified hb_gtDone - * modified code that returns maxrow and col to take into account - a window that is larger than the display region. Now the system - will use a screen size of 25x40 or the visible window, whichever - is greater. Comments? - NOTE: if you resize the window after initialization, Dispbegin/end - may cause the screen to jump around a bit - this will be corrected. - Also, if you resize the window while a savescreen is in effect, - the resulting restore screen will be unpleasant -this is being - reviewed. - * simplified hb_gt_DrawShadow - + static hb_gt_SetScreenBuffer() - * dispbegin/end support routine - ! changed hb_gt_SetMode to return BOOL - * include/gtapi.h source/rtl/gtdos.c - ! changed hb_gt_SetMode to return BOOL - * source/rtl/gtos2.c (Chen Kedem ) - ! changed hb_gt_SetMode to return BOOL - + hb_gt_IsColor() - + hb_gt_SetAttribute() - + hb_gt_DrawShadow() - * source/rt/gt/gt_tpl.c - * changed a comment - -19990811-11:35 EDT David G. Holm - * doc/gmake.txt - + Added a new section under 'NOTES' discussing how to build only - parts of Harbour, with examples for Harbour only and tests only - and how to build a single test file using the DOS build.bat file. - * source/rtl/console.c - ! Corrected #ifdef blocks for unistd.h and io.h. - ! Added code to remove newline in Unix compatible ACCEPT() code, - per Georg Lehner . - * source/rtl/setkey.prg - * New version from April White (april users.sourceforge.net). - * source/rtl/gt/gtdos.c - + Added DJGPP compatible GTAPI handling, but not sure how to deal - with dispbegin()/dispend(). Need to add cursor handling. - * source/rtl/gt/gtos2.c - ! Changed DWORD to ULONG. - * tests/working/Makefile - ! Added new setkey test program (as BAD, because no GETACTIVE()). - + tests/working/setkey.prg - + New test program from April White (april users.sourceforge.net). - Note: Needs a working get system and needs SetKeyCheck() - integrated into the appropriate Harbour input functions. - -19990810-00:55 EDT Paul Tucker - * source/rtl/gtapi.c source/rtl/gt/gtwin/c source/rtl/gt/gt_tpl.c - * minor formatting changes - * corrected an instance of nested comments. - -19990809-14:15 EDT Paul Tucker - + source/rtl/xsavescr.prg - * support for save screen and restore screen commands. - + __xSaveScreen() and __xRestScreen() - * source/rtl/Makefile - + xsavescr.prg - * makefile.vc - + xsavescr.prg - -19990809-13:10 EDT Paul Tucker - * source/rtl/gt_tpl.c - + added a number of TODO comments - * from Chen Kedem - * source/rtl/gt/gtos2.c - + support for: - hb_gt_Get/SetBlink - hb_gt_Get/SetCursorStyle - -Mon Aug 09 11:53:18 1999 Gonzalo A. Diethelm - - * source/Makefile: - Moved the debug directory after rdd. - - * source/hbpp/hbpp.c: - * source/rtl/filesys.c: - * source/runner/runner.c: - Got rid of several warnings. - -199908.09-15:24 GMT+3 Alexander Kresin - * source/hbpp/hbpp.c - * fixed problem with new DATA implementation - -19990809-12:20 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * restored all code related to debugger - * fixed alias expressions in '=' statement - -199908.09-13:12 GMT+3 Alexander Kresin - * source/hbpp/hbpp.c - * added support for list match patterns - -19990809-03:47 EDT Paul Tucker - * source/compiler/harbour.l - + added DECLARE statement - treated as PRIVATE - (Don't recall the exact rules for DECLARE) - -19990809-03:23 EDT Paul Tucker - * source/rtl/filesys.c"source/rtl/filesys" - * hb_fsLock implimented for msvc - -19990809-07:40 GMT+1 Viktor Szakats - * source/odbc moved to contrib/odbc - * source/rtl/console.c - + #include "io.h" added for __CYGWIN__ - * tests/working/block2.PRG removed. - * tests/working/transdef.prg - tests/working/testrdd.prg - tests/working/testpre.prg - tests/working/testdbf.prg - tests/working/strsub.prg - tests/working/dates4.prg - ! CVS tag added. - * source/rtl/mtran.c - ! Small typo. - -19990809-06:23 GMT+1 Viktor Szakats - * include/memvars.ch - ! #ifdef _MEMVARS_CH guard added. - ! Changed all comments to ANSI C style, since it's included in C code, too. - * source/rtl/errorapi.c - + Fixed logic for _errLaunch(), it seem ready now, plus highly - Clipper compatible. - * source/Makefile - + runner added. - * source/odbc/odbc.c - ! Small typo fixed. - * source/rtl/menuto.prg - + Handles non-declared variables correctly. Uses __MVSCOPE(). - * include/hbdefs.h - * Small cleanup, typo fix. - * tests/working/copyfile.prg - tests/working/copyfile.txt (removed) - % copyfile.txt is no longer needed. - * Open error test uses a much more rare file name. - -19990808-20:55 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * corrected checking for duplicated variable names when - MEMVAR and PRIVATE variable was declared - * Arguments used in DO ... WITH ... are pushed correctly now - using either a value or a reference - * RETURN statement is no longer generating JMP opcodes - it generates - HB_P_ENDPROC opcode now - * generated C code again includes "init.h" - + added support for aliased expressions (it seems that generated - C code is correct) - - *source/rtl/do.c - + added documentation - - *source/rtl/memvars.c - + added __MVSCOPE function to check if variable is created already - - *include/memvars.ch - ! new file that defines the values returned from __MVSCOPE - function - - *include/hb_vmpub.h - *include/extend.h - * changed to not duplicate definition of structures and type. - Duplicated definitions have caused undefined symbols during - linking of C++ compiler (Watcom) output. The C++ compilers - can mangle function's name into different names when - duplicated definitions of data types are used. - - *source/rtl/initsymb.c - + added again '#include "init.h"' - because some definitions - were moved into hb_vmpub.h to avoid problems with duplicated - definitions of data types. - - *include/langapi.h - - removed declaration of extern langDef (Watcom reported error) - see TODO comment in this file - - *include/pcode.h - - removed unused HB_P_PUSHWORD - + added opcodes: - HB_P_POPALIAS - HB_P_PUSHALIAS - HB_P_SWAPALIAS - HB_P_POPFIELD - HB_P_PUSHFIELD - HB_P_POPALIASEDFIELD - HB_P_PUSHALIASEDFIELD - NOTE: - You have to rebuild all harbour libraries and object files ! - - *source/vm/hvm.c - + added initial support for aliased expressions (fields are not - handled yet - we need to synchronize it with RDD development) - - *include/hberrors.h - + added ERR_INVALID_REFER reported when field or aliased variable - is passed by the reference - - *tests/working/alias.prg - + new file to check if aliased expressions are handled correctly - (only manual check at this moment - by looking at generated - C code) - - *test/working/Makefile - + added alias.prg into BAD_PRG_SOURCES because it cannot be run yet - - removed debugger.prg - - *source/rtl/console.c - - io.h cannot be included on Linux/GCC (placed inside #ifdef) - - *source/vm/dynsym.c - + restored definition of SYM_ALLOCATED because it is local symbol - NOTE: - When compared then this symbol _have to_ be type casted - to SYMBOLSCOPE. If it will be not type casted then some - compilers will compare (int)-1 with (char)-1 which is never - true! (I am changing it for the second time :) - -19990808-11:50 GMT+1 Viktor Szakats - * source/runner/runner.c - source/runner/Makefile - include/run_exp.h - ! Some missed name changes adapted. - * source/rtl/errorapi.c - ! hb_vmPushlogical() uses BOOL. - + Some improvement in _errLaunch(). - -19990808-10:05 GMT+1 Antonio Linares - * makefile.b32 - * setkey and devoutp were not properly referenced - -19990808-09:34 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * improved - * tests/working/TestBrw.prg - * improved - -19990808-23:33 EDT Paul Tucker - * source/rtl/gt/gtwin.c - + add missing = - -19990808-03:00 GMT+1 Viktor Szakats - * source/rtl/codebloc.c - source/rtl/itemapi.c - source/vm/hvm.c - include/extend.h - ! hb_Codeblock*() -> hb_codeblock*() - * source/rtl/codebloc.c - source/rtl/itemapi.c - source/rtl/memvars.c - source/vm/hvm.c - include/extend.h - ! hb_Memvar*() -> hb_memvar*() - * source/vm/hvm.c - ! Fixed and updated declaration list for HARBOUR functions. - * source/rdd/dbcmd.c - source/rtl/arrays.c - source/rtl/classes.c - source/rtl/do.c - source/rtl/errorapi.c - source/rtl/itemapi.c - source/rtl/transfrm.c - source/runner/runner.c - source/vm/hvm.c - source/vm/initsymb.c - include/ctoharb.h - include/hb_vmpub.h - * All function belonging to the vm renamed to hb_vm*() - * source/tools/debug.c - ! Some functions made static. - * source/vm/hvm.c - % Some variable declarations moved to the block which uses it. - * source/vm/hvm.c - include/ctoharb.h - * PushLogical(), PopLogical() uses BOOL instead of int. - * source/vm/hvm.c - include/extend.h - include/ctoharb.h - * declarations belonging to the vm moved to ctoharb.h - * declarations belonging to extend moved to extend.h (ulMemory* variables) - * source/rtl/console.c - source/rtl/copyfile.c - source/tools/debug.c - ! Removed #include "ctoharb.h" - * source/rtl/gt/gtwin.c - ! Fixed warning about missing parenthesis. - * include/ctoharb.h - ! #include "extend.h" - * source/runner/runner.c - ! HB_HB_RUN -> HB_MAIN - So it now works with Win32/GCC. - (this change belongs to 19990807-22:55 GMT+1) - -19990808-17:25 EDT Paul Tucker - * makefile.vc - + debug.lib - + menuto - * source/rtl/buildvc.bat - + debug.lib - -19990807-22:55 GMT+1 Viktor Szakats - * builddos.bat - makedos.env - makefile.dos - source/compiler/makefile.dos - source/makefile.dos - source/rdd/dbfntx/makefile.dos - source/rdd/makefile.dos - source/rtl/makefile.dos - source/tools/makefile.dos - source/vm/makefile.dos - tests/working/biccexe.cmd - tests/working/hbdos.bat - tests/working/hbicc.cmd - tests/working/makefile.dos - tests/working/makerunr.dos - tests/working/runrdos.bat - Removing all makefiles related to IBM C and the non-GNU makefiles - for DOS/DJGPP. - * source/rtl/error.prg renamed to - source/rtl/terror.prg - makefile.* - * source/hbpp/Makefile - - Removed unused parts for making standalone version - * source/rtl/Makefile - source/tests/working/Makefile - source/debug/Makefile - source/Makefile - + source/rtl/tbrowse.prg - + source/rtl/tbcolumn.prg - + source/debug/debugger.prg - + tests/working/testbrw.prg - * source/rtl/alert.prg - ! Fixed handling of parameters of other types than string and array. - * source/rtl/asort.prg - ! Fixed, so that it will now return NIL when the first parameter is not - an array, just like Clipper. - * source/rtl/errorapi.c - ! hb_errLaunch() interprets the non logical return value of the - error handler as an E_DEFAULT, some other small improvements. - * source/rtl/menuto.prg - ! Fixed errorblock return value. - ! Fixed deleted assigment to the variable n - * source/rdd/dbcmd.c - source/rtl/classes.c - source/rtl/do.c - source/rtl/errorapi.c - source/rtl/itemapi.c - source/rtl/memvars.c - source/rtl/transfrm.c - source/runner/runner.c - source/vm/dynsym.c - source/vm/hvm.c - * hb_*DynSym() functions renamed to hb_dynsym*() format. - * include/extend.h - source/vm/dynsym.c - * SYM_ALLOCATED renamed to FS_ALLOCATED and moved to extend.h - from dynsym.c (is this right ?) - * include/langapi.h - + Some new declarations. - -19990808-17:25 EDT Paul Tucker - * tests/working/Makefile - -debugger - +cursrtst - + tests/working/cursrtst.prg - -19990808-15:00 EDT Paul Tucker - * makefile.vc - + source/rtl/tbrowse.prg - + source/rtl/tbcolumn.prg - + source/debug/debugger.prg - + tests/working/testbrw.prg - * source/rtl/gtapi.c - -hb_gt_ScreenBuffer - * include/gtapi.h - -hb_gt_ScreenBuffer - * source/rtl/gt/gtwin.c source/rtl/gtdos.c - + Improved or added Dispbegin/end support - * minor corrections in gtdos - * source/rtl/gt_tpl.c - + dummy hb_gt_Set/GetBlink hb_gt_replicate - * source/rtl/gtos2.c - + dummy hb_gt_Set/GetBlink hb_gt_replicate - * corrected parameter order as reported by Davig G. Holme - NOTE: cursor sizes are not correct in this version. - -19990808-01:00 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * tag added - * source/rtl/tbcolumn.prg - * tag added - * tests/working/TestBrw.prg - * tag added - -19990807-19:34 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * improved - * source/rtl/tbcolumn.prg - * improved - * tests/working/TestBrw.prg - * improved - -19990807-18:51 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * improved - * tests/working/TestBrw.prg - * improved - -19990807-18:40 GMT+1 Bruno Cantero - * include/rddapi.h - source/rdd/dbcmd.c - source/rdd/dbf0.prg - source/rdd/dbf1.c - source/rdd/delim0.prg - source/rdd/delim1.c - source/rdd/sdf0.prg - source/rdd/sdf1.c - source/rdd/dbfntx/dbfntx0.prg - source/rdd/dbfntx/dbfntx1.c - More RDD functions: addField, createFields, setFieldExtent, info, - newArea, release and sysName - -19990807-22:00 WIB Andi Jahja - * source/rtl/asort.prg - bug fix when sorting an empty array - -19990807-12:54 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * improved - * source/rtl/tbcolumn.prg - * improved - * tests/working/TestBrw.prg - * improved - -19990807-11:37 GMT+1 Antonio Linares - * source/rtl/tbrowse.prg - * Some methods added - -19990807-10:17 CET Patrick Mast - * removed debugger.prg from /tests/working - -199908.07-12:03 GMT+3 Alexander Kresin - * makefile.b32 - * added 'source/debug' to .prg path for build32.bat to work - -19990807-9:38 GMT+1 Antonio Linares - * tests/working/hb32.bat - * Second supplied parameter is a compiler flag - * source/rtl/tbrowse.prg - * Some methods added - -19990807-9:19 GMT+1 Antonio Linares - * source/compiler/harbour.y - * Debugger() symbol requested when compiling using /b - * source/vm/hvm.c - * ModuleName() automatically invokes Debugger() if module compiled using /b - -19990807-8:39 GMT+1 Antonio Linares - + source/rtl/tbcolumn.prg - * Harbour Class TBColumn first outline - * tests/working/testbrw.prg - * Updated - * makefile.b32 - * tbcolumn module added - -19990807-8:39 GMT+1 Antonio Linares - + source/rtl/tbrowse.prg - * Harbour Class TBrowse first outline - + tests/working/testbrw.prg - * Harbour Class TBrowse sample - * makefile.b32 - * tbrowse module added - -Fri Aug 06 20:04:05 1999 Gonzalo A. Diethelm - - * config/rules.cf: - Added the removal of *.core to the clean target. - - * source/hbpp/hbpp.c: - * source/hbpp/stdalone/hbpp.c: - Fixed two unused variable warnings. - -199908.06-22:12 GMT+3 Alexander Kresin - * include/hbpp.h - * source/hbpp/hbpp.c - * source/hbpp/hbppint.c - * source/hbpp/table.c - * fixed some bugs - * linked list for #commands and #translates storage instead or array - * source/hbpp/stdalone/hbpp.c - * added run-time messages - * creation of table.c contens - -19990806-19:55 GMT+1 Antonio Linares - * include/classes.ch - * Added support for SETGET methods - -19990806-19:55 GMT+1 Antonio Linares - * makefile.b32 - * hvm module added - * tests/working/bld32exe.bat - * removed hvm.c module - -19990806-19:35 GMT+1 Antonio Linares - * include/pcode.h - + Added new HB_P_LOCALNAME opcode - * source/compiler/harbour.y - + Added support for HB_P_LOCALNAME opcode - * source/vm/hvm.c - + Added support for HB_P_LOCALNAME opcode - -19990806-18:43 GMT+1 Antonio Linares - * include/pcode.h - + Added new HB_P_MODULENAME opcode - * source/compiler/harbour.y - + Added support for /b compiler flag - + Added support for HB_P_MODULENAME opcode - * source/vm/hvm.c - + Added support for HB_P_MODULENAME opcode - -19990806-10:45 GMT+1 Antonio Linares - * makefile.b32 - * updated with latest modules - -19990806-01:40 EDT Paul Tucker - * makefile.vc - + readvar.prg - -19990806-05:31 GMT+1 Viktor Szakats - * source/rtl/menuto.prg - ! MENU TO made highly Clipper compatible (100%), with the addition of - the nesting capability. - (only BEGIN/END SEQUENCE and Break() support is missing) - * make_tpl.bat - make_tpl.cmd (added) - make_tpl.sh - * Updated and extended make starter files. - * source/rtl/readvar.prg - source/rtl/Makefile - funclist.txt - + Added: READVAR() (used in MENU TO) - (*** Please update other makefiles accordingly ***) - * include/Makefile - ! hb_vmpub.h added - * source/rtl/achoice.prg - ! Fixed handling of Ctrl+PgUp/PgDn/Home/End when a user func was passed. - * source/rdd/dbcmd.c - source/rtl/classes.c - source/rtl/do.c - source/rtl/memvars.c - source/runner/runner.c - source/vm/dynsym.c - source/vm/hvm.c - include/extend.h - include/hb_vmpub.h - * DYNSYM -> HB_DYNS - PDYNSYM -> PHB_DYNS - * include/*.* - More small cleanups - -19990805-17:10 GMT+1 Viktor Szakats - * source/rtl/setcolor.c - ! #includes "extend.h" instead of "pcode.h" - * source/compiler/harbour.y - include/hb_vmpub.c - % New header file which contains only those definitions which are - a must to compile a Harbour generated C file. - * source/rtl/natmsg/msghe862.c - source/rtl/natmsg/msghewin.c - source/rtl/msgxxx.c - + Hebrew language files added - (Posted by Chen Kedem ) - * source/rtl/Makefile - source/rtl/menu.prg (removed) - source/rtl/menuto.prg (added) - tests/working/testmenu.prg (removed) - tests/working/menutest.prg (added) - tests/working/Makefile - + New MENU TO implementation (Phil Barnett) - which is highly Clipper compatible. (nesting, color and setting - buffering, setkey, some side effects simulated, output redir behav.) - "~" hotkey char support removed, since there's no such in Clipper. - + Test includes recursive capability - ! Test added to Makefile - (Please update other makefiles accordingly) - * source/rtl/achoice.prg - + Added SETKEY() handling. - * source/rtl/alert.prg - ! HARBOUR_STRICT_CLIPPER_COMPATIBILITY mode bug fixed. - * include/extend.h - - Removed obsolete SYMBOL type. - * include/pcode.h - source/compiler/harbour.y - - #include "extend.h" removed from pcode.h - * include/hbdefs.h - include/extend.h - include/filesys.h - include/rddapi.h - include/rddapi.h - source/rdd/dbf1.c -_LOCALNAME opcode - -19990806-18:43 GMT+1 Antonio Linares - * include/pcode.h - + Added new HB_P_MODULENAME opcode - * source/compiler/harbour.y - + Added support for /b compiler flag - + Added support for HB_P_MODULENAME opcode - * source/vm/hvm.c - + Added support for HB_P_MODULENAME opcode - -19990806-18:00 WIB Andi Jahja - * source/rtl/menuto.prg - - added error checker - -19990806-10:48 GMT+1 Viktor Szakats - * source/rtl/classes.c - ! One cast added back. - -19990806-10:45 GMT+1 Antonio Linares - * makefile.b32 - * updated with latest modules - -19990806-01:40 EDT Paul Tucker - * makefile.vc - + readvar.prg - -19990806-05:31 GMT+1 Viktor Szakats - * source/rtl/menuto.prg - ! MENU TO made highly Clipper compatible (100%), with the addition of - the nesting capability. - (only BEGIN/END SEQUENCE and Break() support is missing) - * make_tpl.bat - make_tpl.cmd (added) - make_tpl.sh - * Updated and extended make starter files. - * source/rtl/readvar.prg - source/rtl/Makefile - funclist.txt - + Added: READVAR() (used in MENU TO) - (*** Please update other makefiles accordingly ***) - * include/Makefile - ! hb_vmpub.h added - * source/rtl/achoice.prg - ! Fixed handling of Ctrl+PgUp/PgDn/Home/End when a user func was passed. - * source/rdd/dbcmd.c - source/rtl/classes.c - source/rtl/do.c - source/rtl/memvars.c - source/runner/runner.c - source/vm/dynsym.c - source/vm/hvm.c - include/extend.h - include/hb_vmpub.h - * DYNSYM -> HB_DYNS - PDYNSYM -> PHB_DYNS - * include/*.* - More small cleanups - -19990805-17:10 GMT+1 Viktor Szakats - * source/rtl/setcolor.c - ! #includes "extend.h" instead of "pcode.h" - * source/compiler/harbour.y - include/hb_vmpub.c - % New header file which contains only those definitions which are - a must to compile a Harbour generated C file. - * source/rtl/natmsg/msghe862.c - source/rtl/natmsg/msghewin.c - source/rtl/msgxxx.c - + Hebrew language files added - (Posted by Chen Kedem ) - * source/rtl/Makefile - source/rtl/menu.prg (removed) - source/rtl/menuto.prg (added) - tests/working/testmenu.prg (removed) - tests/working/menutest.prg (added) - tests/working/Makefile - + New MENU TO implementation (Phil Barnett) - which is highly Clipper compatible. (nesting, color and setting - buffering, setkey, some side effects simulated, output redir behav.) - "~" hotkey char support removed, since there's no such in Clipper. - + Test includes recursive capability - ! Test added to Makefile - (Please update other makefiles accordingly) - * source/rtl/achoice.prg - + Added SETKEY() handling. - * source/rtl/alert.prg - ! HARBOUR_STRICT_CLIPPER_COMPATIBILITY mode bug fixed. - * include/extend.h - - Removed obsolete SYMBOL type. - * include/pcode.h - source/compiler/harbour.y - - #include "extend.h" removed from pcode.h - * include/hbdefs.h - include/extend.h - include/filesys.h - include/rddapi.h - include/rddapi.h - source/rdd/dbf1.c - source/rdd/dbfntx/dbfntx1.c - source/rdd/dbcmd.c - source/rtl/gt/gtos2.c - source/rtl/copyfile.c - source/rtl/environ.c - source/rtl/filesys.c - source/runner/runner.c - source/vm/hvm.c - source/tools/hb_f.c - Non Harbour standard, sparsly used and redundant types removed. - - PBYTE -> BYTE * (few occurences) - BYTEP -> BYTE * (few occurences, non standard) - PVOID -> void * (1 occurence) - FARPP -> void ** (few occurences) - FARP -> void * (few occurences) - -19990805-04:47 GMT+1 Viktor Szakats - * source/rtl/console.c - Small var naming change. - * source/rtl/achoice.prg - ! Fixed: SET DEVICE is no longer redirecting it's output. - % Optimalized color handling. (Thanks to Paul Tucker) - -19990804-14:30 EDT Paul Tucker - * source/rtl/filesys.c - * added a cast (reported by Matteo) - -19990804-20:30 GMT+1 Viktor Szakats - * source/rtl/achoice.prg - + Uses __COLORINDEX() - * source/rtl/console.c - tests/working/colorind.prg - ! __COLORINDEX() small bug fixed related to trimming trailing spaces. - ! expected test results updated. - -19990804-20:00 GMT+1 Viktor Szakats - * source/rtl/console.c - tests/working/colorind.prg - tests/working/Makefile - source/rtl/tget.prg - + Added function: __COLORINDEX(). - ! TGET modified to use __COLORINDEX() instead of STRTOKEN() - * source/rtl/Makefile - source/rtl/stringsx.c - source/tools/stringsx.c - ! STRTOKEN() put back to TOOLS. - -19990804-00:40 EDT Paul Tucker - * makefile.vc - + tget tgetlist langapi - -19990804-19:07 GMT+1 Viktor Szakats - + include/langapi.h - Added. (Missed from the previous CVS session, sorry) - -19990804-00:40 EDT Paul Tucker - * source/rtl/gtwin.c - * reduced the internal buffering to 1 level to improve speed. - * source/rtl/gtapi.c - * commented out dispbegin calls in gtbox (for now!) - -Wed Aug 04 12:25:12 1999 Gonzalo A. Diethelm - - * source/rdd/dbcmd.c: - Got rid of the bell (0x07) character printed in error messages; it - tends to screw up in some consoles. - Changed hb_rddRegister() to return an int rather than a bool, so - now it is possible to return different status values. - Now trying to register the same RDD more than once is a NOOP. - - * source/rdd/dbfntx/dbfntx0.prg: - KLUDGE ALARM: since the DBFNTX driver depends on the DBF driver, - and the order of INIT procedures is not guaranteed (and is - actually the wrong order under gcc/Win32), I forced the - initialization of DBF before DBFNTX. - -19990804-17:30 GMT+1 Viktor Szakats - * source/rtl/msgxxx.c - - __TURBOC__ branch deleted. - * source/rtl/alert.prg - + Added the handling of first parameters of Alert() if they are not strings. - * source/rtl/copyfile.c - + Changed to use: hb_errorRT_BASE_Ext1() - So now it can retry or default. - * source/rtl/errorapi.c - include/rtl/errorapi.h - + Added: hb_errorRT_BASE_Ext1() - + Added: hb_errorRT_New() (static) - ! Fixed: hb_errorLaunch() so that it converts the logical - value returned by the codeblock to a number. - + Added: hb_errorLaunch() some notes about internal error which can occur - here. - * source/rtl/errorsys.prg - + Added: Alert() box. - * source/rtl/msgxxx.c (code moved away from here) - source/rtl/classes.c - source/rtl/errorapi.c - source/vm/hvm.v - + Uses Language API instead of hb_errorNat...() function. - * source/vm/hvm.c - ! LONG lLineNo -> WORD wLineNo to suppress a warning. - * include/langapi.h - source/rtl/langapi.c - + Language API initial implementation. - * source/rtl/vm/ForTest() - - Removed the "internal error" which stated that there will - be infinite loop if STEP 0 is used, Clipper just goes into an - ininite loop. - ! Changed printf() to a standard error is STEP expression is not numeric. - * include/errorapi.h - source/rtl/errorapi.c - source/rtl/msgxxx.c - source/rtl/msg*.c - + Added internal error launcher API call hb_errorInternal() - * source/hbpp/hbpp.c - include/hberrors.h - * "#error" message standardized, made Clipper like. - * tests/working/Makefile - tests/working/dyssym.prg - + __DYNSYM*() tests added. - * include/Makefile - include/initsymc.h (renamed from initsymb.h) - include/initsymd.h (added) - source/vm/initsymb.c - source/runner/runner.c - Init function extern declarations put into initsymd.h - * source/vm/dynsym.c - * Name changes: - HB_DYNSYMBOLS -> HB___DYNSYMCOUNT - HB_DYNSYMNAME -> HB___DYNSYMGETNAME - HB_GETDYNSYM -> HB___DYNSYMGETINDEX - * source/runner/runner.c - ! Using "ctoharb.h" - * source/rtl/gt/gtwin.c - ! Compiler warning corrected. - * source/rtl/achoice.prg - % Some small optimalizations, userfunc as codeblock support documented. - * source/rtl/alert.prg - + Added TOFIX: DispBegin issue. - * include/ctoharb.h - include/extend.h - include/init.h - source/vm/initsymb.c - source/vm/hvm.c - source/vm/dynsym.c - source/rtl/memvars.c - source/rtl/codebloc.c - source/rtl/classes.c - source/runner/runner.c - source/compiler/genobj32.c - * SYMBOL -> HB_SYMB - PSYMBOL -> PHB_SYMB - * tests/working/Makefile - + debugger.prg and testread.prg added - * source/rtl/tget.prg - source/rtl/tgetlist.prg - tests/working/testread.prg - tests/working/debugger.prg - + CVS tags added. - * source/rtl/Makefile - + Added tget*.prg - -Wed Aug 04 11:00:07 1999 Gonzalo A. Diethelm - - * source/tools/stringsx.c: - * source/rtl/Makefile: - * source/rtl/stringsx.c: - Moved STRTOKEN from tools/ to rtl/, even though it is not a 100% - Clipper standard function. The reason is because we will probably - be using this function a lot (such as Antonio did in TGet.prg). - - * source/rtl/gt/gtwin.c: - * source/vm/hvm.c: - Fixed two minor warnings. - -Wed Aug 04 10:12:24 1999 Gonzalo A. Diethelm - - * config/win32/gcc.cf: - Got rid of -( and -). - - * tests/working/Makefile: - Corrected the order of the libraries to link against. - -199908.04-16:32 GMT+3 Alexander Kresin - * source/hbpp/table.c - * change in @ y,x GET ... - -19990804 GMT+1 Antonio Linares - + source/rtl/TGet.prg added - Harbour Class TGet (developed by Ignacio Ortiz) - + source/rtl/TGetList.prg added - Harbour Class TGetList (object oriented implementation of Clipper - language GetSys.prg) - * makefile.b32 - + TGet.prg and TGetList.prg modules added. - * Alphabetically sorted names. - * Please note I have not updated other makefiles - + tests/working/TestRead.prg added - * @ ... GET and READ sample - * source/compiler/harbour.y - * Fixed VarDef IDENTIFIER '[' ExpList ']' rule - * source/vm/hvm.c - * Added support for DimArray() just for one dimension - (it generates an error and exists if trying to build a more - than one dimensions array). - -199908.04-11:35 GMT+3 Alexander Kresin - * source/hbpp/hbpp.c - * Some bugs fixed,mentioned by Viktor Szakats, Matteo Baccan and David G. Holm - * makefile.b32 - * msgxxx.c replaced with msguk.c - * config/win32/bcc32.cf - * LD = bcc32 - -19990804-00:40 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * better selection of default screen size reported by MaxRow/Col - -19990804-00:35 EDT David G. Holm - * source/vm/hvm.c - ! Corrected Power() to set the correct number of decimal points. - * tests/working/build.bat - + Added checks for HB_ARCHITECTURE and HB_COMPILER. - + Modified to always build the target. - -19990804-00:40 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * corrected screen buffer size for dispbegin - * makefile.vc - + adir.prg - + setkey.prg - * Corrections to Achoice, filesys - * re-enabled gtDispbegin/end calls in gtBox - -19990804-00:20 EDT David G. Holm - + tests/working/build.bat - + New batch file to build and run individual PRG files - Syntax: "BUILD module", where module is the main part of the - file name of the PRG file to be built and run. For example, - to build and run T.PRG, use "BUILD T". - -19990804-00:15 EDT David G. Holm - * source/rtl/math.c - ! Corrected MOD() to set the correct number of decimal points. - * source/vm/hvm.c - ! Corrected Div() to set the correct number of decimal points. - ! Corrected Modulus() to use fmod() instead of the % operator. - ! Corrected Modulus() to set the correct number of decimal points. - -19990803-22:10 EDT David G. Holm - * source/rtl/setcolor.c - + Added missing '#ifdef HARBOUR_USE_GTAPI'. - * source/rtl/gt/gtos2.c - + Added missing 'char' type on 'cRight' parameter for - both hb_gt_SetAttribute() and hb_gt_DrawShadow(). - -19990803-21:20 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * SetCursor fixed - -19990803-22:30 GMT+1 Viktor Szakats - * source/rtl/gtapi.c - include/gtapi.h - + hb_gtGetBlink() added. - (still dummy though) - * source/rtl/console.c - + SETBLINK() added. - * source/rtl/filesys.c - source/rtl/Makefile - tests/working/curdirt.prg - tests/working/Makefile - + CURDIR() plus test program CURDIRT added. - (Please update other makefiles accordingly) - Note that hb_fsCurDir() is not fully implemented yet, - so the test will not work like Clipper. - * source/rtl/setcolor.c - + COLORSELECT() added. - * source/rtl/adir.prg - source/rtl/Makefile - tests/working/adirtest.prg - tests/working/Makefile - + ADIR() plus test program ADIRTEST added. - (Please update other makefiles accordingly) - * funclist.txt - * Updated statuses - + Added some functions (_fs*()) - * doc/codestyl.txt - + "NOTE:" Added - * tests/working/descend.prg - Byref test added. - -19990803-19:00 GMT+1 Viktor Szakats - * source/rtl/achoice.prg - source/rtl/Makefile - tests/working/ac_test.prg - tests/working/Makefile - + ACHOICE() plus test program AC_TEST added. - (Please update other makefiles accordingly) - * include/box.ch - include/box.h - + Xbase++ compatible B_THIN, B_FAT border types added. - * include/memoedit.ch - + Some Xbase++ extensions added. - -19990803-16:50 GMT+1 Viktor Szakats - * config/win32/gcc.cf - config/os2/gcc.cf (not tested) - ! Fixed rddtest linking failure, with method by Ryszard - (also used in config/dos/djgpp.cf) - * make_tpl.bat - + C_USR, list of available commands, HB_*_INSTALL. - * include/error.ch - include/rddsys.ch - include/set.ch - include/fileio.ch - include/color.ch - include/setcurs.ch - Added a note that these files are also used in C files. - * include/inkey.ch - + Added missing K_ definitions. - * Converted so it can now be used in C. - -Tue Aug 03 11:20:17 1999 Gonzalo A. Diethelm - - * include/rddapi.h: - Changed all #ifdef 0 with #if 0, assuming the original intent was - to comment those sections out. - - * source/rtl/gt/gtwin.c: - Moved an unused variable within the commented out portion of the - code where it was used. - -19990803-14:55 GMT+1 Viktor Szakats - ! source/rtl/strings.c - ASC() fixed. It could return negative values - since a typecase (BYTE) was missing. - ! source/rtl/descend.c - * Fixed so that it's returning NIL type - on bad parameter type, and not "NIL" as a string. - * Fixed Chr(0) handling in the middle of the string. - * Fixed so that it returns DOUBLE type even when an integer - is passed, just like in Clipper. - + tests/working/descend.prg - Output to STD, plus some new tests. - ! source/rtl/console.c - makefile.b16 - makefile.b31 - terminal.b32 - WINDOWS define check removed. QOUT() will no longer - throw a MessageBox() when compiled wit -DWINDOWS - Since this by no means expected behaviour. - To throw a MessageBox() one should call a user function - to do this. - - source/vm/hvm.c - WINDOWS define check removed, since it was never defined, - in any current build system. - * include/rddapi.h - "Translated" to English. - + include/extend.h - Added hb_strdescend() function extern. - + include/itemapi.h - Added type EVALINFO_PTR - ! include/Makefile - Completed file lists. - -19990803-12:22 GMT+1 Viktor Szakats - ! include/rddapi.h - ITEM -> PHB_ITEM - #ifdef COMMENT -> #ifdef 0 - + include/error.api - ERRORP definition added. - ! include/itemapi.h - HB_EVAL_PARAM_MAX_ set back to 9 - + include/*.api - #include all the things they include in original - CA-Cl*pper. (*.api, clipdefs.h) - Some other CA-Cl*pper compatible typedefs added. - + include/fm.api - Some Clipper'87 compatible memory alloc functions - added, also contained in CA-Cl*pper. - _exmgrab(), _exmback (anyone using these ? 8-) - ! include/filesys.h - source/rtl/files.c - ERRORP -> PHB_ITEM - * source/rtl/files.c -> source/rtl/filesys.c - source/rtl/Makefile - makefile.* - ! makefile.b31 - Fixed a bug where filesys.obj depended on extend.c - + include/filesys.api - include/extend.api - Some more CA-Cl*pper defines added. - * source/rtl/gt/gtwin.c - __CYGWIN32__ -> __CYGWIN__ - Since Cygnus's wrote somewhere that the "32" will be removed - in the future versions of Cygwin GCC. - * include/gtapi.h - Platform detection code moved to - include/hbsetup.h - BTW, it seems that it's not used anywhere yet. - -19990803-04:50 EDT Paul Tucker - * source/rtl/codebloc.c source/rtl/memvars.c - + #include "itemapi.h" - (also reported by Matteo Baccan) - -19990803-04:15 EDT Paul Tucker - + source/rtl/gt/gt_tpl.c - * renamed source/rtl/gt/gtxxx.c since it's a template. - * source/rtl/gt/gtwin.c - * major changes - Working DispBegin/DispEnd - original was leaving screen turds when - running in a window (hard to figure out, easy to fix) - * source/rtl/gtapi.c - * minor changes - * changed SetMode() executed at startup to default to your - screen size. - (Movie humour: This program has been modified to fit your screen - : How do you know how big my screen is? - It's late) - -19990803-05:30 GMT+2 Ryszard Glab - - *tests/working/Makefile - + added possibility to build a single file. Usage: - make PM=file - make PM=file.prg - PM can be replaced with pm - - *source/compiler/harbour.y - * DO .. WITH .. statement passes variables by reference now - - *source/vm/hvm.c - * added reporting of line numbers in some internal errors - - *source/compiler/harbour.l - * corrected missed line continuation with BREAK; EXIT; and LOOP; - -19990802-20:00 EDT David G. Holm - * config/os2/icc.cf - * Added '/NOE' to 'AR_FLAGS' to get rid of linker errors for - multiply defined and unresolved symbols. - * config/win32/dir.cf - ! Fixed COMMAND shell support . - * config/win32/gcc.cf - + Added 'moldname' to list of libraries to include - (for hb_inkeyPoll() support). - * config/win32/install.cf - ! Fixed COMMAND shell support. - * include/hbdefs.h - ! Macros MAX and MIN are not types and must therefore be - outside 'the #if ! defined(HB_DONT_DEFINE_BASIC_TYPES)' - and '#if defined(__IBMCPP__)' type exclusion blocks. - * include/inkey.h - + Added extern prototype for hb_inkey(). - * source/hbpp/stdalone/hbpp.c - * Changed #include tests to allow more compilers to build it. - * source/rtl/console.c - * Added code to switch stdout and errout from text mode to - binary for Borland C, IBM C++, DJGPP, Cygwin, and MS C. - * Changed HB___ACCEPT() to use hb_altout() instead of using a - P-Code call to QOUT(). Changed HB_OS_DOS_COMPATIBLE version - to use INKEY(). Moved the function to the bottom of the file - in order to avoid having to add a prototype for hb_dispout(). - * source/rtl/dir.c - ! Worked around bug where certain compilers that only have standard - chmod() support were being treated as if they had Borland / DJGPP - style _chmod() support, which resulted in OS/2 / GCC and Windows / - GCC version of DIRTEST marking all files read only. Compilers that - previously caused read-only files will no longer show attributes. - * source/rtl/inkey.c - - Removed __CYGWIN__ exclusion from hb_inkeyPoll(). - + Added comments to key translations. - + Created hb_inkey() from the low-level guts of HB_INKEY, so that - internal Harbour functions can get input events without having - to resort to using a P-Code call to INKEY(). - * source/rtl/set.c - * Added message with actual error for file create failure. - * tests/working/cdow.prg - * Changed CHR(10) to CHR(13)+CHR(10) - * tests/working/dates.prg - * Changed CHR(10) to CHR(13)+CHR(10) - * tests/working/dates2.prg - * Changed CHR(10) to CHR(13)+CHR(10) - * tests/working/dates3.prg - * Changed CHR(10) to CHR(13)+CHR(10) - * tests/working/dates4.prg - * Changed CHR(10) to CHR(13)+CHR(10) - * tests/working/dirtest.prg - * Attempt to determine if running on a DOS type system and - use the result to determine whether to use CR,LF or LF. - * tests/working/inherit.prg - * Attempt to determine if running on a DOS type system and - use the result to determine whether to use CR,LF or LF. - * tests/working/inkeytst.prg - + Added two command line parameters: If the first one is - present, only the last test will be run. If the second - one is present, extended keyboard codes are allowed. - * tests/working/longstr2.prg - * Attempt to determine if running on a DOS type system and - use the result to determine whether to use CR,LF or LF. - * tests/working/readfile.prg - * Changed from having newline differ based on Clipper vs. - Harbour to having it differ based on DOS vs. Unix. - * tests/working/round.prg - * Attempt to determine if running on a DOS type system and - use the result to determine whether to use CR,LF or LF. - * tests/working/seconds.prg - * Attempt to determine if running on a DOS type system and - use the result to determine whether to use CR,LF or LF. - * tests/working/set_num.prg - * Changed CHR(10) to CHR(13)+CHR(10) - -19990802-19:45 GMT+1 Viktor Szakats - + include/dates.h - source/rtl/dates.c - const keyword added. - - include/ctoharb.h - extern StackShow() removed. - - include/set.h - HARBOUR externs removed. - * include/extend.h hb_item*() moved to - include/itemapi.h - source/rtl/console.c - source/rtl/transfrm.c - * source/rtl/console.c - source/rtl/strings.c - include/itemapi.h - hb_str() -> hb_itemStr() - %! source/rtl/transfrm.c - Fixed the case when no picture is passed. - Got rid of NUMDEFAULT(). Now using hb_itemStr() instead of - HARBOUR function callback to HB_STR(), some callbacks are still - left though. - * include/*.h - Some more cleanup. - -19990802-18:23 GMT+1 Viktor Szakats - + source/tools/mathx.c - Added PI() - Posted by Matteo Baccan (baccan@isanet.it) - -19990802-17:53 GMT+1 Viktor Szakats - ! source/rtl/setkey.prg - Fix: aSetKeys := aClone( OldKeys ) - -19990802-10:50 EDT Paul Tucker - * makefile.vc - + added setkey - * source/rtl/setkey.prg - * fixed stray comment. - -19990802-16:10 GMT+1 Viktor Szakats - + include/extend.h - _PTR flavour of pointer names added. - * include/gtapi.h - source/rtl/console.c - source/rtl/gtapi.c - source/rtl/gt/gt*.c - gt*() -> hb_gt_*() - hb_gt_DispBegin() color removed from the parameter list. - + source/rtl/setkey.prg - source/rtl/Makefile - SetKey() function added. - -19990802-15:20 GMT+1 Viktor Szakats - % source/hbpp/hbpplib.c - source/tools/debug.c - source/tools/stringsx.c - Unused #includes removed - + doc/codestyl.txt - Added. Moved here from source/vm/hvm.c - * source/rtl/strings.c - include/extend.h - source/vm/dynsym.c - hb_strgreater() and hb_strupr() moved. - * source/vm/dynsym.c - source/vm/hvm.c - LogSymbols() -> hb_LogDynSym() - hb_ReleaseDynamicSymbols() -> hb_ReleaseDynSym() - * source/rtl/classes.c - source/runner/runner.c - source/vm/hvm.c - include/extend.h - include/hbdefs.h - HARBOURFUNC -> PHB_FUNC - + include/item.api - include/itemapi.h - Moved #define ITEM PHB_ITEM to item.api, guard added. - ! source/rtl/itemapi.c - hb_itemGetDS() handling of the case when item is not a date - fixed and made Clipper compatible. - It will no longer place a \0 after the date. Clipper does the - same, the NG is obviously wrong here, since it requires to pass - an 8 byte buffer which is then supposed to hold an 8 chars date plus the - terminating zero. Testing showed that Clipper doesn't place a \0. - + include/extend.h - source/rtl/arrays.c - source/rtl/extend.c - Change hb_arrayGetDate() to be thread safe by design, - got rid of static buffer. - + source/rtl/files.c/hb_fsCurDir() - Added TODO: Make it thread safe. - % source/rtl/dates.c/STOD() - Some checkings removed, which had been - moved to hb_retds() previously. - + source/rtl/dates.c - source/rtl/arrays.c - source/rtl/extend.c - source/rtl/itemapi.c - include/dates.h - hb_dateStrPut(), hb_dateStrGet() added. Redundant code converted - to calls for these. - * include/set.h - Extern decls moved to source/rtl/set.c and to - source/vm/hvm.c - * source/rtl/codebloc.c - Extern decls moved to include/extend.h - * source/vm/initsymb.c - Extern decl moved to include/extend.h - + include/*.h - extern keyword added to all extern declarations. - ! include/item.api - _array* removed since not in Clipper. - ! include/extend.api - _pcount, _reta removed since not in Clipper. - ! include/gt.api - _gtInit removed since not in Clipper. - ! include/vm.api - #include "extend.h" added. - - include/compat.h - include/super.h - include/extra.h - include/Makefile - Unused header files removed. - They supposed to be used by Ad's RDD implementation. - + include/itemapi.h - source/rtl/itemapi.c - The maximum number of parameters that could be addd with - hb_EvalPutParam() can be set with a #define. Also 10 instead on 9 - parameters can be used now. - % include/itemapi.h - Two unused variables removed from the EVALINFO - structure. - + include/extend.api - include/extend.h - source/rtl/extend.c - hb_parcsiz() added for Clipper compatibility. - -19990802-05:30 EDT Paul Tucker - * test/working/scroll.prg - * added calls to dispbegin/dispend - nice & snappy now! - -199908.02-12:15 GMT+3 Alexander Kresin - * source/hbpp/hbpp.c - * Bug fixed ( mentioned by Viktor Szakats ) - -19990802-02:30 EDT Paul Tucker - * source/rtl/gtapi.c - ! hb_gtDispbegin/end and hb_gtSetMode now supported for gtwin - + hb_gt_ScreenBuffer - internal function for use by hb_gt_DispBegin/End - * source/rtl/gtos2.c source/rtl/gtdos.c - + dummy hb_gt_DispBegin, hb_gt_DispEnd and hb_gt_SetMode (for now) - * source/rtl/gtwin.c - + hb_gt_DispBegin, hb_gt_DispEnd and hb_gt_SetMode - * couple of comments in gtSetCursor along with a minor change - due to cursor not always turning on when app quit. - * source/rtl/inkey.c - * updated a comment. - * include/gtapi.h - + hb_gt_DispBegin hb_gt_DispEnd hb_gt_ScreenBuffer hb_gt_SetMode - * makefile.vc - + added do - -19990802-06:30 GMT+2 Ryszard Glab - - *source/tools/strfmt.c - * added (char *) type cast to call for hb_xgrab() - - *config/dos/djgpp.cf - *config/linux/gcc.cf - * changed to link correctly regardless the libraries order - (the GCC linker searches the library only once by default) - - *source/rtl/classes.c - *source/rtl/dates.c - *source/rtl/files.c - *source/rtl/inkey.c - *source/rtl/math.c - *source/rtl/memvars.c - *source/rtl/strings.c - *source/tools/dates2.c - *source/vm/hvm.c - * changed numbering of error subcodes - - *source/rtl/errorapi.c - + added hb_errorRT_TOOLS() function - - *include/errorapi.h - + added definition of HB_ERR_SS_TOOLS - + added hb_errorRT_TOOLS() function - - *doc/subcodes.txt - + added new file with proposed format for documenting of used - error subcodes. - - *include/hberors.h - + added new error code ERR_INVALID_LVALUE - - *source/compiler/harbour.y - + added new error 'invalid lvalue' generated in cases like: - alias->(var1, var2) := 0 - + enhanced support for DO WITH statement - procedure is - called however variables are nnot passed by reference yet - - *source/vm/initsymb.c - + updated systems symbols' table with HB_DO function - - *source/rtl/do.c - + added new HARBOUR HB_DO function (visible in harbour as 'DO') - that calls passed function/procedure. - This function can be called directly passing the string with - function/procedure name or passing a codeblock. - This function is also used to implement DO WITH - statement - - *source/rtl/Makefile - + added new file do.c - -19990801-21:58 GMT+1 Viktor Szakats - % source/rtl/descend.c - #include removed - ! source/compiler/harbour.y - - hb_INITSTATICS() -> HB_INITSTATICS() (case adjusted) - Change undone. Comment added to make this clear. - -19990801-21:58 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - Fixed a GPF with MSVC, thaks Paul - -19990801-21:40 GMT+1 Viktor Szakats - ! source/compiler/harbour.y - source/hbpp/hbpplib.c - source/odbc/odbc.c - source/rtl/dates.c - source/rtl/dir.c - source/tools/dates2.c - include/rddapi.h (some are still left) - Changed all // style comments to /**/ - -19990801-20:40 GMT+1 Bruno Cantero - * source/rdd/rddsys.prg - source/rdd/dbf0.prg - source/rdd/sdf0.prg - source/rdd/delim0.prg - source/rdd/dbfntx/dbfntx0.prg - tests/working/testdbf.prg - Added a message for check if all the RDD's are linked - -19990801-20:20 GMT+1 Bruno Cantero - * source/rtl/files.c - Changed for MSVC - * tests/working/buildvc.bat - Added a include path to harbour - -19990801-18:14 CET Viktor Szakats - ! source/compiler/harbour.y - - hb_INITSTATICS() -> HB_INITSTATICS() (case adjusted) - + source/rdd/nulsys/nulsys.prg - Using ANNOUNCE - ! source/rtl/mtran.c - Fixed, now 100% Clipper compatible. - - HARD and SOFT characters swapped. - - HARD and SOFT characters pairs are changed to only one - character, like in Clipper. - - unnecessary include ctype.h removed. - ! source/rtl/hardcr.c - - unnecessary include ctype.h removed. - - "HARD_" -> "SOFT_" #define names corrected. - + tests/working/mtran.prg - More extensive tests added. - ! source/rtl/msgxxx.c - Previous changes undone, to make it work in GCC. - + source/tools/numtxten.prg - source/tools/Makefile - NumToTxtEN() - English language number to text conversion added. - Author: "Michael Mozina" Donated to the Public Domain. - -199908.01-16:30 GMT+3 Alexander Kresin - * source/hbpp/hbppint.c - * Bug fixed ( related to line continuation ) - -199908.01-20:30 WIB Andi Jahja - * msgxxx.c - correct directives, it now works - -199908.01-16:30 GMT+3 Alexander Kresin - * hbpplib.b32 - * it works now - -19990801-13:14 GMT+1 Antonio Linares - * tests/working/debugger.prg - * pulldown menu already functional. - -19990801-07:45 GMT+2 Ryszard Glab - - *source/rtl/inkey.c - * added #include for Watcom section - - *source/vm/hvm.c - * the symbols are not scaned if there is no INIT/EXIT - procedure in the module (this is checked at the time of - symbol registration) - * _INITSTATICS function is called directly (by pointer) - instead of Do() function - it gives faster startup code - * removed calls for hb_ItemClear for uninitialized data - during startup code - these data have to be initialized - by assigning the IT_NIL value - - removed unnecessary calls for hb_itemClear in Push* - functions (the number of calls decreased almost 3 times) - * StackPop() clears now the last item on the stack - (it clreared the first free previously) - + added StackDec() that decrements the stack pointer but - doesn't clear the item (hb_itemClear() must be called - when this item is no longer needed) - * storing/restoring of private variables stack position moved - to VirtualMachine function - - *source/rtl/itemapi.c - + added checking for proper type before calling hb_itemClear - - *include/rddapi.h - * added forward declaration for _RDDFUNC struct - - *config/dos/watcom.cf - * changed to support new RDD directory structure - - *source/rdd/dbcmd.c - * removed #ifdef _MSC_VER that was placed before some - type casting - this type casting should be included for - all compilers - - *source/runner/runner.c - * corrected to properly call static variable initialization - function before other INIT functions - - *include/run_exp.h - + added symols: __MVPUBLIC, __MVPRIVATE - - *source/runner/Makefile - + added required libraries - - *include/extend.h - * added declaration for hb_strMatchRegExp() function - - *source/rtl/strings.c - * moved hb_strMatchDOS() function from rtl/dir.c - * added hb_strMatchRegExp() function (it calls hb_strMatchDOS - at this moment) - - *source/rtl/dir.c - * moved hb_strMatchDOS() function to rtl/strings.c - - *source/hbpp/table.c - * corrected entry for RELEASE command - - *source/rtl/memvars.c - * corrected __MVXRELEASE function used in RELEASE statement - + added __MVRELEASE function used in RELEASE ALL LIKE/EXCEPT - -19990801-00:15 EDT Paul Tucker - * source/rtl/gtapi.c - * hb_gtScroll() - call gtScroll if WIN_GTAPI - * source/rtl/gt/gtwin.c - + gtScroll() Much improved scroll speed -not up to Clipper yet though. - * include/gtapi.h - + declaration for gtScroll() - -19990731-23:20 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - Forced to link rddsys.prg - -19990731-17:00 EDT Paul Tucker - * makefile.vc - * moved contents of rdd.lib into harbour.lib - * tests/working/buildvc.bat - * removed reference to rdd.lib - -19990731-22:27 GMT+1 Bruno Cantero - * makefile.dos - Removed target 'nat' - -19990731-22:17 GMT+1 Bruno Cantero - * include/rddapi.h - * source/rdd/rddsys.prg - * source/rdd/dbcmd.c - * source/rdd/dbf1.c - * source/rdd/delim1.c - * source/rdd/dbfntx/dbfntx1.c - * tests/working/testrdd.prg - dbCreate() is finished! - + tests/working/testdfb.prg - This file create a DBF file - -19990731-15:10 EDT Paul Tucker - * makefile.vc - * oodles of changes. - * tests/working/buildvc.bat - * added a couple of libs - -19990731-22:55 Alexander Kresin - * source\hbpp\hbpp.c - * Fixed bugs mentioned by Viktor Szakats - -19990731-20:16 GMT+1 Antonio Linares - * tests\working\debugger.prg - * improved sample. - * rdd.b32 - * added delim... and sdf... modules - * makefile.b32 - * little fixes - -19990731-17:51 Alexander Kresin - * source\hbpp\hbpp.c - * Fixed problem with @ ::nTOP,... SAY ... - * source\rdd\rddsys.prg - * source\rdd\sdf0.prg - * source\rdd\dbf0.prg - * source\rdd\delim0.prg - * source\rdd\dbfntx\dbfntx0.prg - * Uncommented 'ANNOUNCE' - now it can be used - -19990731-14:44 CET Viktor Szakats - ! source/rtl/alert.prg - Handling of "*" in color string is - made compatible with Clipper. - - source/hbpp/buildgcc.bat - Removed. Use GNU Make instead. - - include/fm.api - _xrealloc removed, since it was not there - in Clipper. - ! source/rtl/extend.c - "item.api" -> "itemapi.h" - ! source/tools/hb_f.c - "filesys.api" -> "filesys.h" - * tests/working/extend2.c - #include -> "x" - + funclist.txt - Extended with a huge amount of new functions, method - and class variables. Please review it for your functions. - -19990731-14:50 Alexander Kresin - * source\hbpp\hbpp.c - * source\hbpp\table.c - * fixed some bugs, mentioned by Kwon,Oh-Chul ( ?"1234" ), Viktor Szakats - * added support of letters, prefixed by '\' in rezult patterns - * some other improvements that I don't remember already :) - + added 'ANNOUNCE' keyword - -19990731-11:40 CET Patrick Mast - * updated build40.bat and makefile.b40 - -19990731-08:22 CET Viktor Szakats - * source/rtl/natmsg/*.c - GenericErrors renamed to hb_errorsGeneric - static removed from the declarations. - * source/rtl/msgxxx.c - Small cleanup. - * source/rtl/natmsg/*.c - source/rtl/msgxxx.c - All files and language manifest constants renamed, so that - they use the RFC language code. - msgr1251 renamed to msgruwin, I may be wrong that - codepage 1251 can be called russian windows codepage, but - the name could not fit in 8 chars otherwise. - * include/error.ch - Small modification. - + source/rtl/natmsg.c - msg_tpl.c - Added template language file. Contributors should use this to add - support for a new language. - + source/tools/Makefile - source/tools/strfmt.c - StrFormat() added, see the file for - documentation. StrFormat("%1 %2", "Hello", "world!") -> "Hello world!" - + source/tools/Makefile - source/tools/numtxthu.prg - NumToTxtHU() function to convert a - number (especially currency) to a text. This is the Hungarian - version. ( 115 -> "One hundred fifteen" ) - !! If you have such a function for your language, please add it, too. - -19990731-02:30 EDT David G. Holm - * source/hbpp/hbpplib.c - ! ParseExpression() expects a null-terminated string. - ! ParseExpression() returns the parsed input in the input - string, not in the output string. - -19990731-06:50 CET Viktor Szakats - * include/extend.h - include/hbdefs.h - include/errorapi.h - More small cleanups, additions. - + include/clipdefs.h - Added Clipper compatible header file. (not tested) - + include/*.api - Added a file description line. - Added a line which warns users not to use these - files for new Harbour code. - + include/caundoc.api - Contains undocumented API declarations - (only wrappers as of now). - Original idea by Bruno Cantero . - * include/rdd.api most of the content moved to include/rddapi.h - source/rdd/dbfntx/dbfntx1.c - source/rdd/dbcmd.c - source/rdd/dbf1.c - source/rdd/delim1.c - source/rdd/sdf1.c - *.api files are for compatibility only, not for - new harbour code. - + doc/hdr_tpl.txt - Small modification RCS ID and licenc part - of the header separated. - * include/*.* - Standardized (again) RCS ID and licenc headers. - -19990731-06:40 GMT+2 Ryszard Glaaab - *source/compiler/harbour.y - * PUBLIC and PRIVATE variables referenced inside a codeblock - can be used to initialize a static variables - -19990731-06:00 CET Viktor Szakats - + include/achoice.ch - include/common.ch - include/dbstruct.ch - include/directry.ch - include/memoedit.ch - include/dbedit.ch - include/assert.ch - include/getexit.ch - include/simpleio.ch - Missing Clipper compatible Harbour header files added. - * source/rtl/extend.c -> Fixed memory management stuff - moved to the new file source/rtl/fm.c - source/rtl/Makefile - makefile.* - + source/rtl/fm.c - include/fm.api - include/extend.h - _xalloc(), hb_xalloc() added for Clipper compatibility. - + include/vm.api - VM API added to provide some Clipper compatibility. - VM functions are mapped to FM calls, Heap calls - are accepted but functionality is not supported. - * include/rdd.api - include/error.ch - include/inkey.ch - include/color.ch - include/fileio.ch - include/rddsys.ch - include/box.ch - include/classes.ch - include/set.ch - Small cleanups. Missing #ifdef guards added. - + make_tpl.sh - GNU Make launcher for bash/linux/gcc. - -19990731-03:33 CET Viktor Szakats - ! source/vm/hvm.c - Fixed some error codes. - (.OR., .AND., PVALUE) - * hb_ErrorNatDescription -> hb_errorNatDescription - source/vm/hvm.c - source/rtl/natmsg/*.c - source/rtl/errorapi.c - source/rtl/arrays.c - include/errorapi.h - + source/rtl/natmsg/*.c - Standardized, reformatted, - ISO codes filled. - + source/rtl/msgxxx.c - source/rtl/natmsg/msghu852.c (former msghu.c) - source/rtl/natmsg/msghucwi.c - source/rtl/natmsg/msghuwin.c - Support for two additional Hungarian codepages. - % source/rtl/natmsg/*.c - source/rtl/msgxxx.c - hb_errorNatDescription() moved from natmsg/*.c to msgxxx.c - so there's only one copy of it now. - - source/rtl/natmsg/makefile.dos - Removed since it was not used at all. - + doc/lang_id.txt - Standard RFC language code list. - ! source/rtl/alert.prg - Some typo fixed. - * source/rtl/runner/runner.c - #include <> -> #include "" - -19990731-08:05 WIB Andi Jahja - + source/rtl/menu.prg - __AtPrompt() - __MenuTo() - + tests/working/testmenu.prg - Test Program - -19990731-00:05 CET Viktor Szakats - ! source/rtl/files.c - __CYGWIN__ defines changes rolled back, - to fix the new DOS/DJGPP errors. - + source/rtl/alert.prg - Made almost 100% Clipper compatible. - - Parameter list is now compatible. - - Placing of the box is now compatible. - - Sizing of the box is now compatible. - - Console mode added as in Clipper. - - Color handling compatible. - - Parameter error handling compatible. A Clipper bug fixed. - - Hotkey support added as in Clipper. - - Leaves the cursor where it was. - - Optional support logic for undocumented //NOALERT switch. - - Some small cleanups. - -19990730-21:05 CET Viktor Szakats - * source/rtl/files.c - Two __CYGWIN__ branches joined. - -Fri Jul 30 14:44:00 1999 Gonzalo A. Diethelm - - * config/bin.cf: - * config/c.cf: - * config/prg.cf: - Added support for recursing into subdirectories in addition to - creating a target (library or executable). - Added support for executables whose main function is defined in a - PRG file. - - * config/header.cf: - Temporarily got rid of two definitions that look buggy. - - * include/run_exp.h: - Got rid of warning regarding pragma. - - * source/hbpp/Makefile: - * source/hbpp/hbppmain.c: - * source/hbpp/stdalone/Makefile: - * source/hbpp/stdalone/hbpp.c: - Support for recursing into stdalone. - Moved hbpp/hbppmain.c tp hbpp/stdalone/hbpp.c. - - * source/odbc/Makefile: - * source/runner/Makefile: - Added GNU-makefiles for these two directories (but they don' - compile ok under gcc/Win32). - - * source/rtl/files.c: - Changed defined(__GNUC__) for defined(__CYGWIN__). - - * source/rtl/gt/gtwin.c: - Got rid of a warning. - -19990730-20:24 CET Viktor Szakats - - buildicc.cmd - Removed. - - tests/working/list.txt - Removed, since it was - suprseded by /funclist.txt - -19990730-20:04 CET Viktor Szakats - ! source/rtl/inkey.c - source/rtl/files.c - __CYGNUS__ -> __CYGWIN__ - ! tests/working/testpre.prg - Typo fixed. - -19990730-14:00 EDT Paul Tucker - * makefile.vc (reported by Matteo Baccan) - + source/tools/fileread.prg - + source/rtl/alert.prg - -19990730-19:51 CET Viktor Szakats - ! source/rtl/strings.c/HB_STRTRAN() - Fixed so that it throws an error instead of - returning "", when parameter 1 or 2 is of bad - type. - ! source/rtl/gtapi.c - Non-ANSI C compliant var - declaration fixed. - Posted by Dave Pearson - -19990730-12:30 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * simplified gtputs and gtSetAttribute - * corrected gtGetCursorStyle for !cci.bVisible return SC_NONE - other cases should be handled by the switch that follows. - * source/rtl/gt/gtdos.c source/rtl/gt/gtwin.c source/rtl/gt/gtos2.c - ! renamed gtSetAttribute gtDrawShadow - (currently active only in gtwin) - + created new gtSetAttribute that will recolor a region. - (currently not used) - * source/rtl/gtapi.c - * modified most internal calls to hb_gtMaxRow/Col to use Static vars. - * gtScroll - fill scrolled region with spaces, not nulls - * source/rtl/console.c - * HB_SHADOW - call gtDrawShadow - * HB_ISCOLOR now active when using gtdos - * include/gtapi.h - + added decl for gtDrawShadow - -19990730-12:00 EDT Paul Tucker - * makefile.vc - + added inkey to harbour.lib - * as submitted by Matteo Baccan - + added missing dates2 to tools.lib - * corrected output of dbfntx?.obj - * source/rtl/dbfntx/dbfntx1.c - * added typecast in getfunctable - -19990730-15:33 CET Viktor Szakats - + source/rtl/descend.c - source/rtl/hardcr.c - source/rtl/mtran.c - Added documentation. - Posted by Jose Lalin - -19990730-09:20 EDT Paul Tucker - * makefile.vc - + added sdf and delim support - * changed natmsg\msgxxx to msgxxx - * source/hbpp/hbpplib.c - + added typecasts to 2 xgrab calls - * source/rdd/dbcmd.c - + added typecasts at line 337 but wrapped this one in an - #if defined(_MSC_VER) - -19990730-14:55 CET Viktor Szakats - ! source/hbpp/preproc.c - defines _pFileName. - ! source/hbpp/hbppmain.c - Definition of pFileName - changed scope and name to _pFileName, so that - OpenInclude() can use it. (not tested) - ! source/rtl/alert.prg - - Added left out original author info. - Added missing #includes. - Added RCS id. - ! source/rtl/Makefile - Added alert.prg - ! source/rdd/Makefile - Added new RDD stuff. - ! source/hbpp/preproc.c/HB_PREPROCESS() - Fixed unterminated result string problem. - Fixed return value inconsistencies. - Fixed to not use internals. - Code cleanup. - + include/hbdefs.h - Added MIN() and MAX() macros. - * source/hbpp/harb.h - Removed. - * source/hbpp/preproc.c renamed to hbpplib.c - source/hbpp/Makefile - (Please update other makefiles accordingly) - * include/hbpp.h - source/hbpp/hbpp.c - source/hbpp/hbppint.c - source/hbpp/hbpplib.c - source/hbpp/hbppmain.c - source/compiler/harbour.y - Common declarations moved to one place, hbpp.h - * source/hbpp/hbpp.c - isname() -> ISNAME() - * tests/working/testpre.prg - Small cleanup. - -19990730-08:50 EDT Paul Tucker - * makefile.vc - * added dbfntx support (not nulsys yet) - -19990730-12:46 GMT+1 Bruno Cantero - * tests/working/testrdd.prg - Fixed a bug - -19990730-12:24 GMT+1 Bruno Cantero - + source/rdd/sdf0.prg, source/rdd/sdf1.c, source/rdd/delim0.prg and source/rdd/delim1.c - Support for two RDD's (SDF and DELIM) - * include/rdd.api, source/rdd/dbcmd.c, source/rdd/dbf0.prg, source/rdd/dbf1.c - Changed for support the new RDD's - * tests/working/testrdd.prg - Test for all RDD's in one PRG - - include/rdd_api.old - Removed old backup file - -19990730-11:05 GMT+1 Antonio Linares - * include/inkey.ch - + More defines added - -19990730-10:21 GMT+1 Antonio Linares - * buildrdd.bat - * removed PRGs building from there - * rdd.b32 - * Added PRGs building - * makefile.b32 - * Added Alert.prg building (note: I have not updated all makefiles!) - * source/compiler/harbour.y - * Added support for a:b[ c ]:d = e statements - + source/rtl/alert.prg - * tests/working/classch.prg - * added Super:New() test - + tests/working/debugger.prg - -19990730-05:55 CET Viktor Szakats - + source/hbpp/hbppint.c - Added "Warning" to the - message "non directive in include file" - + tests/broken/vec2.prg - Added a failing command: - STATIC bBlock2 := {|| cMyPubVar } - -19990730-05:00 CET Viktor Szakats - ! source/rtl/inkey.c - - #elif defined(__GNUC__) -> #elif defined(__CYGNUS__) - ! source/hbpp/preproc.c - MakeFilename() bug fixed here, too. - It's quite strange that we have three copies of MakeFilename() - in various source files. - + source/hbpp/hbppint.c - Added hbpp_init() prototype. - ! source/hbpp/hbpp.c - Fix: #include directive will search for - the header file in the directory of the compiled .PRG file, - not in the current directory as before. - + source/hbpp/hbpp.c - Added support for - #include 'x' and #include , the latter searches only in - the include directories, like in C. - ! source/hbpp/hbpp.c - Added patch to fix the GPF in RTL_TEST - when using Win32/GCC (and some others). - Posted by Dave Pearson - -19990729-22:00 EDT Paul Tucker - * source/rtl/inkey.c - + added comments and example for implimenting ReleaseCPU - -19990729-22:00 EDT Paul Tucker - * source/rtl/console.c - * HB_SHADOW/DBGSHADOW - 5th param is optinal and defaults to 7 (w/n) - -19990729-19:40 EDT Paul Tucker - * source/rtl/console.c - source/rtl/gtapi.c - source/rtl/gt/gtwin.c - source/rtl/gt/gtdos.c - source/rtl/gt/gtos2.c - * Adjusted a number of functions to accept coordinates in Row, Col - order - some of them were reversed. - ! source/rtl/gt/gt*.c - renamed gtwhereX gtwhereY and gtGotoXY to - gtCol, gtRow and gtSetPos - * include/gtapi.h - adjusted gt decls to account for above changes - -19990729-23:35 CET Viktor Szakats - ! source/rtl/objfunc.prg - Typo fixed. - "doesnt exists in class" -> "does not exist in class" - -19990729-23:00 GMT+1 Bruno Cantero - * makefile.env, makefile.dos,source/makefile.dos, source/rdd/makefile.dos - + source/rdd/dbfntx/makefile.dos - Full support RDD for DJGPP - -Thu Jul 29 16:17:09 1999 Gonzalo A. Diethelm - - * config/dos/djgpp.cf: - * config/linux/gcc.cf: - * config/os2/gcc.cf: - * config/win32/gcc.cf: - * config/win32/msvc.cf: - One more modification: the DB drivers must be linked against only - when the Makefile specifies linking against the rdd - library. Otherwise, other binaries such as the Harbour compiler - would try to link against the DB drivers. - -Thu Jul 29 15:58:44 1999 Gonzalo A. Diethelm - - * source/rdd/Makefile: - * source/rdd/nulsys/Makefile: - Bruno Cantero pointed out that a user may use all of the DB - drivers simultaneously, so I got rid of the environment variable - and made sure all of the valid DB drivers are linked against the - application. On of the valid drivers is nulsys. - - * config/global.cf: - Now a list of all the valid DB drivers is stored in - HB_DB_DRIVERS. - - * config/dos/djgpp.cf: - * config/linux/gcc.cf: - * config/os2/gcc.cf: - * config/win32/gcc.cf: - * config/win32/msvc.cf: - Deleted support for environment variable HB_DB_DRIVER. - Added support for make variable HB_DB_DRIVERS. - -Thu Jul 29 14:46:51 1999 Gonzalo A. Diethelm - - * source/rdd/Makefile: - * source/rdd/dbfntx/Makefile: - Now there is a subdirectory for each database driver. For now, - only dbfntx/ is supported. The Makefile in rdd/ walks into each - subdirectory. - - * source/rdd/dbfntx0.prg: - * source/rdd/dbfntx1.c: - * source/rdd/dbfntx/dbfntx0.prg: - * source/rdd/dbfntx/dbfntx1.c: - Moved these files from rdd/ to rdd/dbfntx/. - - * config/bin.cf: - * config/dir.cf: - * config/header.cf: - * config/lib.cf: - * config/test.cf: - * config/dos/djgpp.cf: - * config/linux/gcc.cf: - * config/os2/gcc.cf: - * config/win32/gcc.cf: - * config/win32/msvc.cf: - Added support for the new separate directories for the database - driver. The user must define an environment variable HB_DB_DRIVER - with the appropriate driver he wants to use. For example, defining - it to 'dbfntx' will pick up that driver. - -19990729-18:39 CET Viktor Szakats - - source/rdd/dbcmd.c - now redundant declarations removed. (again) - + source/rdd/Makefile - new files added. - -19990729-18:51 GMT+1 Bruno Cantero - + source/rtl/natmsg/msgspa.c - Changed any messages. - -19990729-19:38 GMT+1 Antonio Linares - * source/rtl/console.c - * several fixes at SAVESCREEN, RESTSCREEN and SETCURSOR - -19990729-18:50 GMT+1 Bruno Cantero - + source/rdd/dbf0.prg, source/rdd/dbf1.c - Added RDD DBF - * source/rdd/rddsys.prg - Prepared for use ANNOUNCE/REQUEST keywords - * source/rdd/dbcmd.c - Added more functions and now the RDD system is a tree of RDD's - * tests/working/testrdd.prg - Changed for test two RDD's - * makedos.env - Added DBFNTXLIB=$(HARBOURDIR)/libs/libdbfntx.a - * source/rdd/makefile.dos - Changed to create $(HARBOURLIB) and $(DBFNTXLIB) - dbcmd.o, rddsys.o, dbf0.o and dbf1.o now in lharblib.a - dbfntx0.o and dbfntx1.o now in ldbfntxlib.a - * tests/working/makefile.dos - Added ldbfntxlib.a to link - -19990729-18:40 GMT+1 Bruno Cantero - * source/vm/hvm.c - Remove all RDD references. Now it isn't necesary. - -19990729-11:35 EDT Paul Tucker - * source/rtl/console.c - * hb_setCursor - account for optional param. #ifdef .. GTAPI - * hb_Save/RestScreen #ifdef .. GTAPI - * account for nil params ie: SaveScreen(,,,,@Buf) - * use hb_gtRectSize - -19990729-13:26 GMT+1 Antonio Linares - * source/rtl/gt/gtwin.c - * Fixed gtGetCursorStyle when cci.bVisible returning SC_NORMAL - * source/rtl/console.c - * high level C source code implemented for SAVESCREEN, RESTSCREEN anb SETCURSOR - -19990729-12:13 CET Viktor Szakats - + include/extend.h - - hb_strLower(), hb_strUpper() declarations added. - extern STACK stack; added - extern SYMBOL symEval; added - extern HB_ITEM errorBlock; added - extern HB_ITEM aStatics; added - - source/rdd/dbcmd.c - source/rtl/setcolor.c - now redundant hb_strUpper() declarations removed. - - source/rtl/transfrm.c - source/rtl/classes.c - source/rtl/arrays.c - source/rtl/math.c - source/rtl/itemapi.c - source/rtl/extend.c - source/rtl/dir.c - source/rtl/descend.c - source/rtl/dates.c - source/rtl/codebloc.c - source/rtl/errorapi.c - source/rdd/dbcmd.c - source/hbpp/preproc.c - source/tools/debug.c - Removed explicit references to above added externs. - + include/dates.h - - extern char *hb_monthsname[]; added - extern char *hb_daysname[]; added - - source/rtl/dates.c - source/tools/dates2.c - Removed explicit references to above added externs. - - source/rtl/classes.c - Removed reference to DoBlock() - - source/rtl/codebloc.c - Redefinition of TRUE/FALSE removed. - + source/rtl/dir.c - Copyright statement added for - hb_strMatchDOS() function. - -19990729-11:20 CET Viktor Szakats - ! tests/working/rtl_test.prg - Now returns errorlevel 1 - if anything fails, and 0 if OK. Now for sure. - * source/vm/hvm.c - Get rid of a few low level ITEM access. - -19990729-10:40 CET Viktor Szakats - ! source/vm/hvm.c - #include "itemapi.h" added - to fix a warning. - ! source/rtl/inkey.c - hb_inkeyPoll() #define-ed out - the kbhit() and getch() calls in Cygwin, until - some better solution is found. - + include/ctoharb.h - PushNumber() declaration added. - + source/rtl/arrays.c/hb_arrayEval() now passes the index - to the codeblock as the second parameter. - + tests/working/arreval.prg - tests/working/Makefile - aEval() test program added. - - source/rtl/arrays.c - Removed duplicate declarations. - + tests/working/rtl_test.prg - Now returns errorlevel 1 - if anything fails, and 0 if OK. - -19990729-01:40 EDT Paul Tucker - * source/rtl/dir.c - + #if !defined(FA_ENCRYPTED) - * source/compiler/harbour.y - * in FUNCINFO[] change: - { SELECT, 0, 1 } - -19990729-05:25 CET Viktor Szakats - * Changed all #include to #include "x", where - x is a Harbour header file. - Many source and header files involved. - * include/extend.h - Small cleanups. - * include/extend.h - Some functions renamed to be more - consistent. - source/rtl/arrays.c - source/rtl/classes.c - source/rtl/codebloc.c - source/rtl/dir.c - source/rtl/errorapi.c - source/rtl/extend.c - source/rtl/itemapi.c - source/rtl/memvars.c - source/rtl/transfrm.c - source/tools/debug.c - source/vm/hvm.c - ItemCopy() -> hb_itemCopy() - ItemRelease() -> hb_itemClear() - ItemUnRef() -> hb_itemUnRef() - GetMethod() -> hb_GetMethod() - * include/version.h renamed to hb_ver.h - source/rtl/environ.c - source/compiler/harbour.y - include/Makefile - * source/vm/hvm.c - hb_item*() functions moved to source/rtl/itemapi.c - * source/vm/hvm.c - Codeblock and memvar management function - declarations moved to include/extend.h - * source/rtl/strcmp.c/hb_stricmp() moved to source/rtl/strings.c - * source/rtl/strcmp.c/hb_itemStrCmp() moved to source/rtl/itemapi.c - - source/rtl/strcmp.c removed. - source/rtl/makefile - makefile.b16 - makefile.b31 - makefile.b32 - makefile.b40 - makefile.vc - - makefile.icc removed (superseded by GNU Make System) - + tests/working/rtl_test.prg - Further improved, it's - now fully automatic. - ! source/rtl/strings.c - LEFT(),RIGHT(),SUBSTR() bugs fixed with - some LONG casts for asstring.length. - UPPER(),LOWER() LONG -> ULONG - * source/compiler/harbour.y - source/compiler/harbour.l - source/compiler/genobj32.c - Some ints changed to BOOL. - ! tests/working/strsub.prg - "Press a key" changed - to "press Enter". - -19990728-19:45 GMT+1 Antonio Linares - * include/classes.ch - Added support for 'Super' keyword - -19990728-19:35 CET Patrick Mast - + /harbour/contrib/directX - Added Jesus'es DirectX files. - -Wed Jul 28 11:54:06 1999 Gonzalo A. Diethelm - - * source/rtl/dir.c: - Fixed a typo: #if define(USE_NT) => #if defined(USE_NT). - - * source/rtl/inkey.c: - Added an include of when compiling with gcc. - - * include/Makefile: - * tests/working/Makefile: - Updated list of files. - -19990728-14:30 CET Eddie Runia - * source/rtl/dir.c - #include added - -19990728-14:15 CET Eddie Runia - * source/rtl/dir.c - FA_ENCRYPTED etc. only available if USE_NT has been defined - -19990728-13:10 CET Viktor Szakats - ! source/hbpp/hbppmain.c - MakeFilename() bug fixed here, too. - (see 19990728-05:40) - ! source/hbpp/harb.h - Include Harbour header files, instead of - repeating part of their content explicitly. Some warnings - about re-#defines fixed. - ! source/hbpp/preproc.c - #pragma Preprocess__InitSymbols - excluded when __GNUC__. So no more compiler warning with Win32/GCC. - -19990728-13:13 GMT+1 Bruno Cantero - * source/rdd/rddsys.prg, source/rdd/dbcmd.c, source/rdd/dbfntx0.prg - source/rdd/dbfntx1.c, include/rdd.api, tests/working/testrdd.prg - The size of WorkAreas now is variable - Testing under MSVC++ 6.0 and DJGPP - -19990728-14:44 Alexander Kresin - * source\hbpp\hbpp.c - * Bug, appeared after last change, fixed - -19990728-12:30 CET Eddie Runia - * source/runner/runner.c - Symbols with both INIT and EXIT raised are not EXIT symbols. - * include/extend.h - FS_INITEXIT added as a mask to check the above - -19990728-11:31 Alexander Kresin - * source\hbpp\hbpp.c - * Yet another problem fixed with rtl_test and C++ Builder - -19990728-10:22 Alexander Kresin - * source\hbpp\hbpp.c - * source\hbpp\hbppint.c - * source\hbpp\hbppmain.c - * source\hbpp\table.c - * include\hbpp.h - * Bug fixed for rtl_class.prg ( mentioned by Viktor Szakats ) - * Linked list for defines instead or array - -19990728-01:10 EDT Paul Tucker - * source/rtl/gtapi.c - * minor correction in case of inverted coordinates - -19990728-05:40 CET Viktor Szakats - ! source/compiler/harbour.y/MakeFilename() - - Fixed bug, which sometimes caused that the - filename losed the "." extension separator char. - ! tests/working/makefile - newcopy.prg removed. - + tests/working/strsub.prg - Added some more tests, and the - expected results. - ! source/vm/hvm.c - Minus() simplified and fixed for strings. - ! config/dos/djgpp.cf - Added -g to CFLAGS, so it's - able to make test programs. - -19990728-03:50 CET Viktor Szakats - ! config/win32/msvc.cf - Missing include added. - -19990727-16:30 EDT David G. Holm - * source/rtl/dir.c - + Added support for IBM Visual Age C++ compiler - * source/rtl/gt/gtos2.c - ! Corrected function declration for gtSetAttribute() - * tests/working/dirtest.prg - * Changed QOUT() to OUTSTD() to allow the directory listing to be - redirected, regardless of whether or not the GT API is linked in - -19990727-22:20 CET Viktor Szakats - + tests/broken/lnlenli1.prg - + tests/broken/lnlenli2.prg - Test programs added to test how Harbour handles extremly long lines. - ! tests/broken/vec2.prg - Added RCS line. - -19990727-21:00 CET Viktor Szakats - + source/compiler/harbour.y - Help screen updated. - /a,/v added /t deleted, made it even more Clipper like. - original Clipper typo "supress" fixed. - -19990727-20:15 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * static variables can be initialized using the codeblocks - that calls functions. However static variables still cannot - be initialized with direct function call. - * changed the symbol created for function that initialize - static variable to: '(_INITSTATICS)' and generated function is - named now hb_INITSTATICS - this allows to create an user - defined function or memvar named _INITSTATICS - * the _INITSTATICS function (used to initialize static variables) - have the scope equal to (FS_INIT | FS_EXIT) - to distinguish - this function from other INIT functions. All _INITSTATICS - functions defined in the application have to be called - before normal INIT functions are called. - - *source/vm/hvm.c - * All _INITSTATICS functions defined in the application are - called before normal INIT procedures - this allows to use - static variables in INIT procedures - - *tests/working/initexit.prg - * updated code to test cooperation of INIT procedures with - static variables - - *include/rdd.api - + added forward declaration for struct _RDDFUNCS - - *source/rtl/natmsg/msgbas.c - *source/rtl/natmsg/msgcat.c - *source/rtl/natmsg/msgcz852.c - *source/rtl/natmsg/msgczkam.c - *source/rtl/natmsg/msgdut.c - *source/rtl/natmsg/msgeo.c - *source/rtl/natmsg/msgfre.c - *source/rtl/natmsg/msggal.c - *source/rtl/natmsg/msgger.c - *source/rtl/natmsg/msghu.c - *source/rtl/natmsg/msgia.c - *source/rtl/natmsg/msgita.c - *source/rtl/natmsg/msgkor.c - *source/rtl/natmsg/msgpl852.c - *source/rtl/natmsg/msgplmaz.c - *source/rtl/natmsg/msgpor.c - *source/rtl/natmsg/msgr1251.c - *source/rtl/natmsg/msgru866.c - *source/rtl/natmsg/msgspa.c - *source/rtl/natmsg/msguk.c - *source/rtl/natmsg/msgyu852.c - * corrected bug in hb_ErrorNetDescription - (was "<=" instead of "<" ;-) - -19990727-19:48 GMT+1 Bruno Cantero - * source/rdd/dbcmd.c - Fixed a GFP (Paul, test it) - -19990727-19:18 GMT+1 Bruno Cantero - * source/rdd/dbfntx1.c - Fixed a bug - -19990727-19:08 GMT+1 Bruno Cantero - * source/rtl/natmsg/*.c - Added #include to these files - -19990727-12:35 EDT David G. Holm - * source/rtl/dir.c - ! Corrected two errors that the MSC changes introduced for non-MSC - non-Unix compilers: 1) The intermediate long variable fsize is now - back in place; 2) The use of 'attrib = entry.attrib;' is now #ifdefed - for MSC and the use of 'attrib = _chmod(fullfile,0);' is restored for - non-MSC non-Unix compilers. - -19990727-13:45 GMT+1 Antonio Linares - * include/classes.ch - + added support for multiple classes definition on the same PRG - -19990727-13:08 CET Viktor Szakats - + tests/broken/vec2.prg - Added - -19990727-14:21 Alexander Kresin - * source\hbpp\hbpp.c - * ParseExpression() rewritten for supporting new classes functionality - -19990727-02:22 EDT Paul Tucker - * include/gtapi.h - + added definition of gtSetAttribute - * source/rtl/dates.c - * hb__seconds - fixed MSC support for correct hundreths. - * source/rtl/dir.c - * Directory() now works under msc. Other platform users should - review the code and add defined()'s or code as needed. - * source/rtl/gt/gtwin.c - + gtSetAttribute() - * source/rtl/gt/gtdos.c source/rtl/gt/gtos2.c - + Empty gtSetAttribute() - * source/rtl/console.c - + empty SAVESCREEN,RESTSCREEN - + SHADOW() and DBGSHADOW() now implimented - -19990727-07:50 CET Felipe Coury - * tests/working/hscript/dir.hs; tests/working/hscript/hello.hs; - tests/working/hscript/hscript.prg; tests/working/hscript/multiply.hs; - tests/working/hscript/ugly.hs - New version - * tests/working/testcgi.prg - New version as well - -19990727-06:12 GMT+1 Antonio Linares - * makefile.b32 - + Added inkey.c module - -19990726-21:35 EDT David G. Holm - * config/os2/dir.cf - ! Corrected FOR statement to work properly when called from CMD.EXE - which means that when using 4OS2, the GNU Make System must be run - using: CMD /C make -r (or CMD /C make -r clean) - * config/os2/install.cf - ! Corrected FOR statement to work properly when called from CMD.EXE - which means that when using 4OS2, the GNU Make System must be run - using: CMD /C make -r install - * include/inkey.ch - + Added INKEY_EXTENDED event mask code - + Added mouse event codes - + include/inkey.h - + New support module for new module source/rtl/inkey.c - * include/set.h - + Added INKEY_EXTENDED - + Added version comment for V 1.17 by Bruno Cantero - * Corrected version number in version history for V 1.16 - * source/hbpp/Makefile - ! Added preproc.c, so that tests/working/testpre.prg will link - * source/rtl/Makefile - * Added inkey.c - * source/rtl/dates.c - + Added _MSC_VER to list of compilers that use DOS method to get - seconds and fractions in SECONDS() instead of just whole seconds - * source/rtl/files.c - * hb_fopen() now generates runtime error BASE/2021 when filename - parameter is not a string (argument error) - + source/rtl/inkey.c - + New module for CLEAR TYPEAHEAD, INKEY(), KEYBOARD, NEXTKEY(), - LASTKEY() and SET TYPEAHEAD support (no mouse support yet) - * source/rtl/math.c - ! MIN() and MAX() no longer generate an argument error when called - with different numeric types - ! MIN() and MAX() now return the first parameter when both are equal - * source/rtl/set.c - * Modified HB_SET_TYPEAHEAD handling to use INKEY() support function - hb_inkeyReset() to adjust the size of the keyboard typeahead buffer - ! Corrected HB_SET_TYPEAHEAD handling to use set_number() - * source/tools/Makefile - + Added fileread.prg - + source/tools/fileread.prg - + New file reader class reads files one line at a time - * source/vm/hvm.c - + Added call to hb_inkeyPoll() at top of Virtual Machine loop - * tests/working/Makefile - + Added inkeytst.prg - + Added readfile.prg - + tests/working/inkeytst.prg - + Test program for INKEY(), NEXTKEY(), LASTKEY(), KEYBOARD, - SET TYPEAHEAD, and CLEAR TYPEAHEAD. - * tests/working/mathtest.prg - + Added MIN() and MAX() tests - + tests/working/readfile.prg - + Test program for new file reader class (the test program dumps the - file contents to STDOUT to let you redirect to file so that you can - compare the input and output files) - * tests/working/seconds.prg - * If run with a number as a command line parameter, the loop will be - executed that many times, without pausing between calls to SECONDS() - -19990726-22:35 CET Patrick Mast - + Build40.bat and Makefile.b40 - Build and makefile for Borland 4.0 - -19990726-03:25 EDT Paul Tucker - * source/rtl/dbcmd.c - + memset(pWorkAreas,0,sizeof(AREA)); in rddInit - * a couple more (or maybe the same) casts to help msvc. - -19990726-20:52 CET Viktor Szakats - * tests/working/rtl_test.prg - make use of the preproc - and thus it's more easy to expand it, and fewer human - errors can be made. We could use this idea in several - other test programs, too. - ! tests/working/transfrm.prg - Buggy test line fixed. - -19990726-20:32 GMT+1 Bruno Cantero - * source/rdd/dbfntx1.c - Fixed bug under msvc - -19990726-20:20 CET Eddie Runia - * tests/working/hscript/bldguest.bat - Better version added. (Old version was meant for working directory) - -19990726-20:59 Alexander Kresin - * source\hbpp\hbpp.c - * Fixed some bugs with quotes, '??' - * source\hbpp\hbppint.c - * source\hbpp\hbppmain.c - * some functions prefixed with pp_ - -19990726-18:24 GMT+1 Bruno Cantero - * include/rdd.api, source/rdd/dbcmd.c, source/rdd/dbfntx1.c and tests/working/testrdd.prg - Added more RDD functions - Implemented dynamic WorkAreas - -19990726-18:12 GMT+1 Bruno Cantero - * makefile.dos, source/makefile.dos and source/rdd/makefile.dos - Added RDD support - -Mon Jul 26 11:42:11 1999 Gonzalo A. Diethelm - - * include/Makefile: - * source/rdd/Makefile: - * tests/working/Makefile: - Updated file lists. - -19990726-13:20 CET Viktor Szakats - + source/rtl/gtapi.c - Some minor fixes and corrections mainly to gtBox() - -19990726-12:50 CET Viktor Szakats - + source/rtl/natmsg/msghu.c - Error descriptions translated. - -19990726-06:05 EDT Paul Tucker - * source/rtl/gtapi.c - * position cursor inside top-left corner of box - compatibility - * source/rtl/console.c - * Row() and Col() - too passive when linked with gtapi. - -19990726-05:20 EDT Paul Tucker - * source/rtl/gtapi.c - * much improved box drawing speed. - * source/rtl/msgita.c from Matteo Baccan - * source/rtl/msgpor.c from Felipe Coury - -19990725-09:50 CET Felipe Coury - + tests/working/hscript/guestbk.ini; tests/working/hscript/guestbk.htm; - tests/working/hscript/guestbk.prg; tests/working/hscript/guestbk.txt; - tests/working/hscript/bldguest.bat; - Harbour guestbook added - -19990725-09:45 CET Eddie Runia - * source/runner/runner.c - GPL text added - -19990726-09:45 Antonio Linares - * source/rtl/natmsg/msguk.c - * missing #include - -19990726-01:06 EDT Paul Tucker - * makefile.vc - * changed msguk to msgxxx - * source/rdd/dbfntx1.c - * corrected assignement of RDDFUNCSCOUNT now that I see what it's doing - -19990726-00:20 EDT Paul Tucker (from Felipe Coury) - * rdd.b32 - * buildrdd.bat - * tests/working/bld32w.bat - + added support for new files in rdd - -19990726-02:30 GMT+2 Ryszard Glab - - *include/errorapi.h - + added declaration of hb_ErrorNatDescription() function -this - function should be used to read a description of generic errors - - *source/rtl/errorapi.c - * changed to read a generic error description form national - language module: - hb_errorRT_BASE(), hb_errorRT_TERMINAL(), hb_errorRT_DBCM() calls - hb_ErrorNatDescription() when there is no description specified - in function that generates an error - - *include/error.ch - * new generic error codes: - EG_ARGCOUNT Incorrect number of arguments - EG_ARRACCESS array access - EG_ARRASSIGN array assign - EG_NOTARRAY not an array - EG_CONDITION conditional - - *source/rtl/natmsg/msgbas.c - *source/rtl/natmsg/msgcat.c - *source/rtl/natmsg/msgcz852.c - *source/rtl/natmsg/msgczkam.c - *source/rtl/natmsg/msgdut.c - *source/rtl/natmsg/msgeo.c - *source/rtl/natmsg/msgfre.c - *source/rtl/natmsg/msggal.c - *source/rtl/natmsg/msgger.c - *source/rtl/natmsg/msghu.c - *source/rtl/natmsg/msgia.c - *source/rtl/natmsg/msgita.c - *source/rtl/natmsg/msgkor.c - *source/rtl/natmsg/msgpl852.c - *source/rtl/natmsg/msgplmaz.c - *source/rtl/natmsg/msgpor.c - *source/rtl/natmsg/msgr1251.c - *source/rtl/natmsg/msgru866.c - *source/rtl/natmsg/msgspa.c - *source/rtl/natmsg/msguk.c - *source/rtl/natmsg/msgyu852.c - + the table with generic errors' descriptions was added - + new hb_ErrorNatDescription() that returns error description - - *source/rtl/natmsg/msgpliso.c - + new module for Polish ISO-8859-2 coding - - *source/rtl/arrays.c - *source/rtl/copyfile.c - *source/rtl/classes.c - *source/rtl/dates.c - *source/rtl/math.c - *source/rtl/set.c - *source/rtl/strings.c - *source/rtl/transfrm.c - *source/rtl/memvar.c - *source/rtl/rdd/dbcmd.c - *source/tools/dates2.c - *source/vm/hvm.c - * changed to use generic error codes (EG_*) instead of hard-coded - descriptions - - *source/rdd/Makefile - *corrected to compile files placed in this directory - - *tests/working/Makefile - + added rdd library - - *source/rtl/gtxxx.c - + added #include "hbsetup.h" to properly include platform specific - files based on settings in hbsetup.h - - *source/rtl/msgxxx.c - + added #include "hbsetup.h" to properly include platform specific - files based on settings in hbsetup.h - +added #include "hbdefs.h" - - *source/compiler/harbour.y - + added support for '-a' automatic MEMVAR declaration - * extended support for MEMVAR declaration - + added definition of VS_PRIVATE and VS_PUBLIC - - *include/hberror.h - + new warning code WARN_MEMVAR_ASSUMED - - *include/extend.h - - removed definition of VS_PRIVATE and VS_PUBLIC - - *source/rtl/memvars.c - + added definition of VS_PRIVATE and VS_PUBLIC - - *source/hbpp/table.c - * changed names for memvar related functions ('__MV' prefix) - in RELEASE, CLEAR* and SAVE/RESTORE commands - -19990725-23:12 CET Viktor Szakats - + make_tpl.bat - Template batch file to call the GNU make system. - -19990724-21:20 EDT Paul Tucker - * source/rdd/dbcmd.c - * added type casts mostly on xgrab calls - * source/rdd/dbfntx0.c - * commented out 1 assignment, as uiCount - is not pointing at anything. - * makefile.vc - + added additional rdd support - -19990725-19:47 GMT+1 Bruno Cantero - + include/rddsys.ch, source/rdd/dbfntx0.prg, source/rdd/dbfntx1.c - Skeleton for DBFNTX functions - + tests/working/testrdd.prg - Test for RDD functions - * source/rdd/dbcmd.c - Bug fixed - * source/rdd/rddsys.prg - Register the default driver (DNFNTX) - * include/rdd.api, include/rdd_api.old - File renamed - -19990724-21:20 EDT Paul Tucker - * makefile.vc - * tests/working/buildvc.bat - + added support for the rdd. - -19990725-01:00 GMT+2 Ryszard Glab - - *source/rtl/memvars.c - * corrected code that handle values' cache - + added code to test variables with the names that are the same - as functions names - * variables passed by reference are correctly handled now in - PARAMETERS statement - * renamed __PUBLIC to __MVPUBLIC and __PRIVATE to __MVPRIVATE - all other functions related to memory variables will start - with '__MV' prefix - + added __MVXRELEASE function to release value stored in memvar - variable (it can be used in RELEASE command) - - *source/vm/hvm.c - * variables passed by reference are correctly handled now in - PARAMETERS statement - - *source/compiler/harbour.y - * the symbol table is generated correctly now if a memvar variable - have the same name as one of used functions or is the same as the - name of compiled module - * simplified and cleared handling of symbol positions - - *source/compiler/harbour.l - * MEMVAR keyword is handled correctly now - - *tests/working/memvar.prg - + added code to test variables with the names that are the same - as functions names - -19990725-00:20 CET Felipe Coury - * tests/working/bld32exe.bat - changed for RDD - + buildrdd.bat; rdd.b32 - makefiles for RDD - * build32.bat - changed for RDD - -19990724-21:02 GMT+1 Bruno Cantero - + include/set.h - Added two prototypes - + source/vm/hvm.c - Added one prototype and initialize the RDD - + include/errorapi.h - Added one prototype - + source/rtl/errorapi.c - New function: hb_errorRT_DBCMD - + source/rdd/dbcmd.c - New file. First functions for the RDD system - + source/rdd/rddsys.prg - New file. Define the default RDD driver (DBFNTX) - * source/rdd/nulsys/nulsys.prg - New file. Allow compile without RDD driver - -19990727-21:11 CET Patrick Mast - * Release of Build 29 - -19990724-11:50 CET Patrick Mast - * Makefile.b16 and Makefile.b32 - added -DHARBOUR_USE_GTAPI swicth - -19990723-06:39 EDT Paul Tucker - * source/rtl/gtapi.c - * source/rtl/setcolor.c - * modified some if statements to specifically test for != 0 - -19990723-06:39 EDT Paul Tucker - * source/rtl/devoutp.prg - * second param to devout() is color, not picture - -19990723-06:39 EDT Paul Tucker - * source/rtl/transfrm.c - * changed GetDynSym to hb_GetDynSym (again) - -19990723-12:07 Antonio Linares - * terminal.b32 - * Fixed for Win32 console mode Harbour apps - * makefile.b32 - * Support for C debugger - * tests/working/bld32exe.bat - * Support for C debugger - -19990723-12:00 CET Eddie Runia - * source/rtl/transfrm.c - Decimals and width from parameter used if no template specification - is present - + tests/working/transdef.prg - Test program used - -19990723-07:45 CET Matthew Hamilton - * tests/working/inifiles.prg - Even newer version - -19990723-02:45 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * corrected generation of symbols for memvar variables - * PARAMETERS are handled now in the same way as in Clipper - (if PARAMETERS statement is repeated in the same function then - the first parameter listed is always equal to the first argument, - the second parameter is initialized with the second argumennt etc) - - *source/rtl/memvars.c - * reference to variables are correctly updated - * item returned from hb_arrayGet() is of proper type now and - is properly released - - *source/rtl/codebloc.c - * changed to use second parameter of hb_MemvarValueNew() - - *source/vm/dynsym.c - * symbols created dynamically are properly released now - (SYM_ALLOCATED is now type casted to new type SYMBOLSCOPE - the - scope value (char) was compared with (int) previously and it was - never true (char was extended to int -1) - - *include/hbdefs.h - + added new SYMBOLSCOPE typedef - - *include/extend.h - * changed to support new SYMBOLSCOPE typedef - * replaced void *pDynSym with struct _DYNSYM *pDynSym - - *tests/working/memvars.c - + added noew code to test memvars - * it shouldn't report the unreleased memory blocks now - -19990722-10:50 EDT Paul Tucker - *source/rtl/dir.c - * corrected hang when passing a second param to dirtest. - -19990722-16:30 GMT+2 Ryszard Glab - - *source/compiler/harbour.y - * symbol names are no longer released for the second time - (it caused that DJGPP hanged in 'free' function) - - *source/hbpp/makefile - + added preproc.c - - *source/hbpp/harb.h - - changed to definie LONG and ULONG typedefs if there is no - HB_DEFS_H_ defined (these typedefs are defined in hbdefs.h) - - *source/hbpp/preproc.c - - removed nested /* */ - - *tests/working/Makefile - - removed statics1.prg and statics2.prg because these file have to - be linked together into an executable (we should change Makefile - architecture to support it) - - removed testpre.prg (it requires hbpp library however this library - cannot be linked because of duplicated symbol 'hb_strAt' defined - in rtl library also) -the changes in source/hbpp/*.c was an attempt - to get it working. - -19990722-14:30 CET Matthew Hamilton - * tests/working/inifiles.prg - cFile -> @cFile in fRead statement - - -19990722-03:30 GMT+2 Ryszard Glab - - *source/rtl/classes.c - *source/rtl/console.c - *source/rtl/errorapi.c - *source/rtl/itemapi.c - *source/rtl/transfrm.c - * changed GetDynSym to hb_GetDynSym - * changed FindDynSym to hb_FindDynSym - - *source/runner/runner.c - * changed FindDynSym to hb_FindDynSym - - *source/vm/dynsym.c - * changed GetDynSym to hb_GetDynSym - * changed NewDynSym to hb_NewDynSym - * changed FindDynSym to hb_FindDynSym - + added initialization of hMemvar and hArea - - *source/vm/hvm.c - * changed GetDynSym to hb_GetDynSym - * changed NewDynSym to hb_NewDynSym - * changed FindDynSym to hb_FindDynSym - + added support for PUBLIC and PRIVATE variables and PARAMETERS - (not finished yet) - - *include/extend.h - * changed definition of DYNSYM - + added definition of VS_MEMVAR, VS_PUBLIC, VS_PRIVATE - - *include/init.h - + added again 'static' declaration (only for WATCOM compiler - at this moment) - - *config/dos/watcom.cf - * changed to not link and lib in no case exact mode - - *include/pcode.h - - removed unused opcode HB_P_DEFSTATIC - + added HB_P_PARAMETER to create memvar variables that store - function/procedure parameters - - *source/rtl/codebloc.c - *updated to support current memvars implementation - - *source/rtl/memvars.c - + added support for PUBLIC and PRIVATE statements - + new __PUBLIC and __PRIVATE functions that can be accessed - from PRG code to create memvar variables - + support for PARAMETERS statement - - NOTE: It is still in development! There is something wrong with - reference counting (see tests/working/memvar.prg) - - *source/compiler/harbour.y - + added support for PUBLIC and PRIVATE variables - + added support for PARAMETERS statement - - *source/compiler/harbour.l - + added full support for PUBLIC, PRIVATE and PARAMETERS - * LOCAL can now be used in abbreviated form - - +tests/working/memvar.prg - + tests memvar variables - (NOTE: it can show unreleased memory blocks) - - *tests/working/Makefile - + added memvar.prg - -Wed Jul 21 17:39:35 1999 Gonzalo A. Diethelm - - * include/hbsetup.h: - Added Win32 as a case when CR/LF must be output for a new line to - appear on the screen. - -19990721-22:36 CET Patrick Mast - * Makefile.vc errorsys compiles with /iinclude now - -19990721-10:25 CET Eddie Runia - * source/hbpp/hbpp.c - Old lookup returned for '??'. Follow (ER) for the change - -Wed Jul 21 15:36:04 1999 Gonzalo A. Diethelm - - * source/compiler/harbour.y: - Moved printing the "build..." message after the command line - arguments have been checked, so that if the user specifies -q, it - is not shown. - - * source/vm/hvm.c: - Got rid of a couple of warnings. - - * include/Makefile: - * tests/working/Makefile: - Updates list of files. - - * include/init.h: - * include/initsymb.h: - * source/hbpp/preproc.c: - Updated use of RCS Id keyword. - -19990721-18:39 GMT+1 Paul Tucker / Bruno Cantero - * source/compiler/harbour.y - Added support for empty arguments in functions. - -19990721-15:50 CET Eddie Runia - * source/rtl/classes.c; source/rtl/transfrm.c - Clean-up of source - -19990721-04:12 EDT Paul Tucker - * source/rtl/gtapi.c - * corrected color string Underline handling. - * Much more color compatibility even for some undocumented - behaviour. - The only inconsistancy is for ie: ("w+/n*") Clipper returns - "w+*/n" - Harbour returns "w+/n*" This is on purpose, as it - agrees with the documentation instead of observed behaviour. - AFAIK, the only thing that may need change is for mono monitors. - Is anyone using one? - -19990721-09:30 CET Eddie Runia - * source/vm/hvm.c - Copy & Paste error - -19990721-09:00 CET Jose Lalin - * source/vm/hvm.c - + added support for concatenation operator "-" - + added support to generate correct runtime errors in functions: - And(), Equal(), Greater(), GreaterEqual(), - Inc(), Instring(), Less(), LessEqual(), Not(), - NotEqual(), Minus(), Or(), Plus(), HB_LEN() - + tests/working/strsub.prg - tests for operator "-" on strings - -19990721-09:00 CET Matthew Hamilton - * tests/working/inifiles.prg - * Case sensitive & Speed improvement - -19990720-09:38 Alexander Kresin - * source\hbpp\hbpp.c - * Fixed bugs related to nested #ifdef, #ifndef - * Fixed bug with '??' command - -19990720-17:15 EDT David G. Holm - * funclist.txt - * Updated the status of several functions - -19990720-20:55 GMT+1 Bruno Cantero - * makefile.b31 - Changed fixflex to bin\fixflex. - * harbour.b31 - Added /iinclude to compile prg's. - -19990720-20:10 CET Eddie Runia - * source/vm/hvm.c - wsize =*( (WORD *) ... part removed. - -19990720-13:40 EDT Paul Tucker - * source/rtl/gtapi.c - * If a color string of ("r/b,b/r" ) is used, the - fifth param is set equal to the second. (as in clipper) - -19990720-13:30 EDT Paul Tucker - * source/rtl/gtapi.c - * implimented color attribute in gtWrite and gtScroll. - This is the last selected color set via gt_ColorSelect() - -19990721-16:35 CET David G. Holm - * source/compiler/harbour.y - ! Correct _StdFunc entty for INKEY to allow no parameters - - Removed _StdFunc entry for SET - * Display build date for include/version.h instead of a season - -19990721-15:10 CET Felipe Coury - + bldodbc.bat; hbodbc.b32; source/odbc/bld32exe.bat; source/odbc/harbour.mdb; - source/odbc/hb32.bat; source/odbc/odbc.c; source/odbc/odbc.txt; - source/odbc/odbc32.def; source/odbc/sql.ch; source/odbc/sql.h; - source/odbc/sqlext.h; source/odbc/sqltypes.h; source/odbc/testodbc.prg - First version of ODBC implemented. - -19990720-14:35 CET Matthew Hamilton - * tests/working/inifiles.prg - New version installed - -19990720-09:55 CET Eddie Runia - * source/rtl/files.c - #include added for __BORLANDC__ - -19990720-09:30 CET Eddie Runia - * tests/working/run_all.bat - %1 exchanged for test_all - -19990719-17:55 EDT Paul Tucker - * source/rtl/gtapi.c - - removed temp init line now that init order is fixed. - + added call to gtDone from hb_gtExit - * source/rtl/setcolor.c - * removed a comma - * tests/working tstcolor.prg - + Added 'numeric' color example. - -19990719-16:50 EDT David G. Holm - * config/dos/bcc31.cf - + Added -DHARBOUR_USE_GTAPI and -DHARBOUR_USE_DOS_GTAPI - to the C preprocessor options - * include/set.h - + Added prototypes for hb_consoleInitialize() and - hb_consoleRelease(), because console doesn't own - an include file and these two functions were added - to allow synchronization with hb_setInitialize() and - hb_setRelease(), both of which are prototyped here - * include/version.h - * Updated build to 29, set revision to "", and set date - to 1999, 7, 19, in anticipation of a new public release - * source/compiler/harbour.y - + Added #include "version.h" - * Changed version printout to use hb_build from version.h - * Changed version printout us use "Summer" instead of "Spring" - * Removed newline from middle of version printout - * Moved prinout of version ahead of command line option checks, - so that the version is always displayed, like in Clipper - * source/rtl/console.c - + Added hb_consoleRelease() function that calls hb_gtExit() - * Converted InitializeConsole() from an HB_CALL_ON_STARTUP - function to a normal function named hb_consoleInitialize() - * source/rtl/setcolor.c - - Removed HARBOUR GTEXIT() function - * source/vm/hvm.c - + Added call to hb_consoleInitialize() immediately following call to - hb_setInitialize and added call to hb_consoleRelease() immediately - prior to calling hb_setRelease(). - * tests/working scroll.prg - * Changed the introductory text message - * tests/working/tstcolor.prg - - Removed GTEXIT() call - -19990719-16:15 EDT Paul Tucker - * source/rtl/gtapi.c - * Minor change to catch last color parameter - that may be empty - -19990719-15:55 EDT Paul Tucker - * source/rtl/gtapi.c - * Added support for 'numeric' color strings - ie: "1/7,8/15" - -19990719-19:28 GMT+2 Ryszard Glab - *source/compiler/harbour.y - +added 'PushFunCall' function to push the name of function. This - function checks if passed name is an abbreviation of reserved - function. If the abbreviation is used then the full name is pushed. - -19990719-18:33 Antonio Linares - * source/rtl/classes.c - * enhanced methods amount meanwhile DictRealloc() is built. - * several defines missing. - * source/rtl/extend.c - * new hb_xsize() function needed for classes.c DictRealloc() implementation. - -19990719-18:30 GMT+2 Ryszard Glab - *source/compiler/harbour.y - -removed call for non ANSI C 'stricmp' - *changed to support abbreviated functions' names - -19990719-11:40 EDT Paul Tucker - *source/rtl/gtapi.c - * Changed call in hb_gtinit() to pass the - literal initial color setting in case - the GT system is initialised prior to Set - * Skipped color params in a string now keep - their previous value. ie ",,,r/b" - *source/rtl/set.c - * corrected parameter passing in _SET_COLOR case. - -19990719-10:40 EDT Paul Tucker - *source/compiler/harbour.y - * replace CheckArgs() as supplied by Jose Lalin - - with a few minor tweaks. - -19990719-16:00 GMT+2 Ryszard Glab - *source/rtl/msgxxx.c - +added support for Polish national messages - - *source/rtl/natmsg/msgpl852.c - *source/rtl/natmsg/msgplmaz.c - * corrected names of months - -19990719-03:10 EDT David G. Holm - * config/os2/icc.cf - + Added /Gs+ option to enable runtime stack checking - * include/dates.h - + Added prototype for hb_dow() - * include/gtapi.h - + Added prototype for hb_gtExit() - * include/set.h - + Added prototype for hb_setColor() - * Changed hb_set.HB_SET_COLOR from char * to char[64] - * source/compiler/harbour.y - * Replaced _StdFunc table with new table supplied by Jose Lalin, - while keeping the entry for SET that Paul Tucker had CVSed - * source/hbpp/hbpp.c - * Made mpatt and rpatt buffers in ParseCommand() static. - * source/hbpp/hbppint.c - * Allocate sBuffer in Hp_Parse() using _xgrab() (and - release with _xfree() before exiting) - * source/rtl/console.c - + Added call to hb_gtInit() to InitializeConsole() - - Removed all gt...() calls from InitializeConsole() - * source/rtl/gtapi.c - + Added gt...() calls that used to be in InitializeConsole() - to hb_gtInit() and also added a call to gtInit() - * Renamed hb_gtexit() to hb_gtExit() to match Harbour style - * Converted three // style comments to /* style comments */ - * source/rtl/set.c - * Simplified handling of HB_SET_COLOR by just calling hb_setColor() - * Made changes related to hb_set.HB_SET_COLOR now being char[64] - * source/rtl/setcolor.c - + Added #include - * Replaced gt prototypes with #include - * Changed hb_SetColor() to hb_setColor() to match Harbour style - * Changed hb_setColor() to use hb_set.HB_SET_COLOR instead of - allocating a buffer and requiring the caller to free the buffer - + Added conditional logic for not using the GT API - * source/rtl/gt/gtwin.c - - Removed call to hb_gtInit() - * source/tools/dates2.c - + Added #include - ! Added missing semicolon to HB_INIT_SYMBOLS_END() - - Removed prototypes for hb_dow() and hb_dateDecode() - * tests/working/Makefile - - Removed strings4.prg - + Added tstcolor.prg - * tests/working/empty.prg - - Removed call to empty() with no parameters, because - it now results in a compile error - - tests/working/string4.prg - - Removed this test program, because Harbour now checks for - the correct number of arguments when compiling - -19990719-00:55 EDT Paul Tucker - * source/rtl/set.c - * Trap for NIL param in Set( _SET_SETCOLOR, NIL ) - -19990719-00:12 EDT Paul Tucker - * corrected new parameter check - added {"SET",1,3} - also increased strncmp len param by 1 to get null byte for - complete match. - -19990718-22:25 EDT Paul Tucker - * source/rtl/gtapi.c - * corrected returned color strings so pair ordering is - the same as Clipper - -19990718-21:20 EDT Paul Tucker - * source/rtl/gt/gtwin.c - * call hb_gtinit from gtinit - * source/rtl/gtapi.c - * changed gtSetColorStr and gtGetColorStr to support - clipper compatible color strings. - * source/rtl/set.c - * changed _SET_COLOR support to tie in to SetColor() - * source/rtl/setcolor.c - * cleaned up - added HB_GTEXIT till proper exit - support is working - + tests/working/tstcolor.prg - test for SetColor() - * makefile.b16 - makefile.b31 - makefile.b32 - makefile.icc - source/rtl/makefile - * added setcolor - * makefile.vc - * added setcolor - * changed -o$(RTL_DIR) -o$(**D) - * added missing datesx and copyfile - * removed duplicate errorsys from harbour.lib obj list - -19990718-20:45 CET Eddie Runia - - source/rdd/rdd.api - And removed again - -19990718-20:35 CET Jose Lalin - * source/compiler/harbour.y; include/hberrors.h - Argument checking for standard functions added. Thanks to Ryszard - -19990718-20:30 CET Eddie Runia - + source/rdd/rdd.api - Restore from the attic - -19990718-13:06 EDT Paul Tucker - + source/rtl/setcolor.c - * my first cvs upload - * I'll work on adding this to the various makefiles - as well as the required support code in gtapi.c - (not posted yet) - -19990718-18:05 CET Patrick Mast - * Release of Build #28 - * version.h, updated build version - -19990718-17:33 CET Patrick Mast - * /source/rtl/errorsys.prg - changed #include "include\error.ch" back into #include "error.ch" - changed makefile.b32 to compile PRG's with switch iinclude - -19990718-15:44 CET Patrick Mast - * /test/working/buildvc.bat For PRG -> EXE with MSVC++ - * buildvc.bat Includes MASM'ing Symbols.obj now - -19990718-15:25 CET Bruno Cantero / Eddie Runia - * source/vm/hvm.c - PushString endian ordered not determined by compiler but by HVM - -19990718-14:13 CET Patrick Mast - * /source/hbpp - latest files from Alexander. With these files Build32.bat works ok. - -19990718-14:22 CET Eddie Runia - * tests/working/run_all.bat - Harbour compile added - -19990718-14:00 CET Eddie Runia - * build32.bat - bldhbpp.bat called - * makefile.b16; makefile.b31; makefile.b32; makefile.icc; makefile.vc - dates2 included - * makedos.env - very strange error. msgxxx could not include natmsg/msguk.c. - I haven't seen this error before, -Isource/rtl was added to resolve - the problem - * source/rtl/dates.c; source/rtl/descend.c; source/rtl/hardcr.c; - source/rtl/mtran.c - Copyright Jose Lalin added - * source/rtl/msgxxx.c - Esparanto added - + source/rtl/natmsg/msgeo.c - Esparanto added - + source/tools/dates2.c - File from Jose Lalin added. - The following modification have been made : - * Symbol table added - * Bug as reported by Andi resolved - * Casts added to eliminate warnings produced by DJGPP - * source/tools/makefile - dates2.c added - * include/initsymb.h; source/runner/runner.c; source/vm/initsymb.c - Dates2 added to file list. - + tests/working/dates4.prg - Test program tools/dates2 added - + tests/working/run_all.bat - Batch file for testbench added. Will run test_all.prg and subsequently - run all symbols - -19990716-20:00 EDT David G. Holm - * config/rules.cf - + Added ifeq section for BCC, which requires that the output - file be listed ahead of the input file on the command line - (at least for version 3.1) - + config/dos/bcc31.cf - + New GNU Make System module for Borland C++ 3.1 - (adapted from original config/win32/bcc32.cf) - * config/dos/global.cf - + Added 'if not exist' to both 'dirbase::' commands - + Added 'if exist' to all deletes of a single file type - * config/win32/bcc32.cf - * Applied several changes from config/dos/bcc31.cf, - but remains untested - * doc/gmake.txt - + Added dos/bcc31 - * source/hbpp/hbpp.c - ! Temporary fix to avoid an incorrect "Cycled #define" error - * source/hbpp/hbppint.c - ! Use of exit() warrants inclusion of stdlib.h for all compilers - * source/rtl/environ.c - + Added RUN() support for MSC, IBMCPP, and GCC for OS/2 - * tests/working/dosshell.prg - + Added support for OS/2 - * tests/working/procline.prg - - Removed unneeded 'local a' that I accidentally left in earlier - -Fri Jul 16 17:53:35 1999 Gonzalo A. Diethelm - - * source/rtl/gt/gtwin.c: - Added the possibility to log everything to a file; this made it - possible for me to find out what was wrong with GTwin (which is, - noone was calling gtInit()). - - * source/rtl/console.c: - Call gtInit() as the first console initialization. This finally - made it possible to have a working GT on Win32 with gcc (it should - work with other compilers too). - -19990716-20:43 Alexander Kresin - * source\hbpp\hbpp.c - * Problem with C++ Builder resolved - -19990716-18:10 CET Eddie Runia - + tests/working/clasname.prg - Test program for clasname implemented. Warning : Just a partial - implementation - * source/vm/hvm.c - void Do() changed so all types call GetMethod - * source/rtl/classes.c - Small changes so messages to non-objects are properly handled. - -19990716-16:00 CET Eddie Runia - * source/rtl/transfrm.c - Memory allocation error resolved - -19990716-15:00 CET Eddie Runia - * source/rtl/math.c - Round() : One byte more should be allocated - * source/rtl/copyfile.c; source/runner/runner.c; source/vm/initsymb.c; - include/initsymb.h - __CopyFile added as symbol - * source/rtl/console.c - DevOutPict() added as symbol - -19990716-14:30 CET Eddie Runia - * source/runner/runner.c - Typo corrected - -19990716-13:00 CET Eddie Runia - * include/initsymb.h; source/vm/initsymb.c; source/runner/runner.c; - include/run_exp.h - The runner is back on-line :-)) - -19990716-10:54 Alexander Kresin - * source\hbpp\hbpp.c - * source\hbpp\table.c - * fixed some bugs, simplified expressions in SearnRep() - -19990716-06:45 GMT+1 Ryszard Glab - - *source/compiler/harbour.y - * corrected generation of proper static frame for functions - (the values of static variables defined in different modules - are no longer overlapped) - - *tests/broken/statics1.prg - *tests/broken/statics2.prg - -moved to tests/working directory - - *config/dos/watcom.cf - * corrected to support HB_*_COMPILE variables - - *config/global.cf - *config/rules.cf - * removed duplicated definition of HB variable - * HB_*_COMPILE variables are defined now before architecture - and compiler specific config file is included (it allows to change - these variables for specific architecture/compiler requirements) - - *doc/codebloc.txt - + added description of an incompatibility with Clipper - -19990715-23:40 CET Eddie Runia - * tests/working/arrays.prg; - tests/working/dosshell.prg; - tests/working/dupvars.prg; - tests/working/keywords.prg; - tests/working/linecont.prg; - tests/working/linecont.prg; - tests/working/longstr2.prg; - tests/working/spawn.prg; - tests/working/spawn2.prg; - tests/working/test10.prg; - tests/working/testid.prg; - tests/working/test_all.prg - //NOTEST should be the first line - -19990715-23:14 CET Patrick Mast - All files for the Preprocessor lib from Felipe Coury - + source/hbpp/preproc.c - + doc/hbpplib.txt - + tests/working/testpre.prg - + Hbpplib.b32 - + Bldhbpp.bat - * changed tests/working/bld32exe.bat (to include hbpp.lib) - -Thu Jul 15 17:32:29 1999 Gonzalo A. Diethelm - - * config/rules.cf: - Added support for a couple of environment variables for the user - to specify additional flags for compilation. They are C_USR and - PRG_USR. An example using bash: - - export C_USR='-DHARBOUR_USE_GTAPI -DHARBOUR_USE_WIN_GTAPI' - make -w - - * include/hbdefs.h: - * source/rtl/gt/gtwin.c: - Modified these files to be able to compile gtwin.c with gcc. It - compiles and links, but it dumps core on execution... - -19990715-16:30 Ryszard Glab - - *source/compiler/harbour.l - * added support for - case ::variable - while ::variable - * corrected line numbering in NEXT and END keywords - * changed ';' (line continuation logic) - - *source/compiler/harbour.y - * corrected line numbering (opcode for line number is no longer placed - inside an expression) - - *tests/working/procline.prg - * corrected line numbering - - *config/linux/gcc.cf - *config/linux/global.cf - * corrected to support the latest changes in GNU make system - -19990715-09:50 CET Patrick Mast - *makefile.vc - * Changed output for PRG's that needed to be compiled with Harbour - * Deleted 'Classes.Prg' lines. (No need for them) - * Added parameter -n for compiling asort.prg - * Added parameter -n for compiling errorsys.prg - * Deleted 'GenObj.c' lines (No need for them) - * Changed 'Stringp.c' line $(RTL_DIR) should be $(TOOLS_DIR) - = Works fine with MSVC++ 6.01 now - -19990715-09:50 CET Patrick Mast - *source/rtl/environ.c - changed all 'defined(__MSC__)' to 'defined(__MSC__) || defined(_MSC_VER)' - It compiles with MSVC++ 6.01 now - -19990714-22:45 EDT David G. Holm - * config/dos/djgpp.cf - * Modified to support new HB_*_COMPILE variables - * config/dos/global.cf - - Removed initialization of old HB_*_DIR variables - * config/dos/watcom.cf - * Modified to support new HB_*_COMPILE variables - + config/os2/dir.cf - + New GNU Make System module for OS/2 - + config/os2/gcc.cf - + New GNU Make System module for GCC for OS/2 - + config/os2/global.cf - + New GNU Make System module for OS/2 - + config/os2/icc.cf - + New GNU Make System module for IBM Visual Age C++ for OS/2 - + config/os2/install.cf - + New GNU Make System module for OS/2 - * doc/gmake.txt - + Added documentation for os2/gcc and os2/icc - * Changed names of installation variables to HB_*_INSTALL - * Changed NOTES section to reflect new 2-step process for a clean build - * include/hbsetup.h - + Added documentation of new #define for HARBOUR_GCC_OS2, which is used - by config/os2/gcc.cf in order to ensure that the GCC build of Harbour - for OS/2 gets created as OS_DOS_COMPATIBLE and not OS_UNIX_COMPATIBLE - + Added platform #defines for the GT API for use by the GNU Make System - * include/set.h - - Removed obsolete global variable hb_set_fixed and declaration for - obsolete HB_SETFIXED() - * source/compiler/harbour.y - + Added #ifdef guard for GCC around generated #pragma startup directive - (like the #ifdef guard that was added to the runtime source modules) - ! Display entire command line option when reporting invalid options - (like Clipper, instead of leaving off the option switch character) - * source/hbpp/hbpp.c - + Added grouping parentheses as a safeguard around the one use of the - isname() macro parameter that didn't already have a grouping - ! The use of 'exit(1);' requires that stdlib be included for all compilers - * source/hbpp/table.c - ! Changed all _SET_ constants to match Harbour instead of Clipper - * source/rtl/Makefile - + Added new gtxxx.c module - * source/rtl/environ.c - + Added OS() support for GCC when using OS/2, because OS/2 uses 'version' - as the version indicator and uses 'release' as a revision indicator - * source/rtl/files.c - + Only use S_IRUSR and S_IWUSR flags when creating a read/write file, - per correction supplied by Dave Pearson - + source/rtl/gtxxx.c - + Added new module to allow the GNU Make system to build the GT API - * source/rtl/set.c - + Added #include for GCC, per warning generated by GCC for - OS/2 when sys/types.h was not included - - Removed obsolete global variable hb_set_fixed - * source/rtl/strings.c - ! Replaced use of obsolete hb_set_fixed with hb_set.HB_SET_FIXED - * tests/working/codebloc.prg - ! Corrected the spelling of 'Trying' - * tests/working/procline.prg - ! Corrected the expected ProcLine() line numbers - * tests/working/testcgi.prg - ! Initialize cRes variable to "" to get rid of run time error on line 280 - -Wed Jul 14 20:02:55 1999 Gonzalo A. Diethelm - - * config/bin.cf: - * config/c.cf: - * config/global.cf: - * config/header.cf: - * config/lib.cf: - * config/rules.cf: - * config/win32/bcc32.cf: - * config/win32/gcc.cf: - * config/win32/icc.cf: - * config/win32/msvc.cf: - Now there are two sets of variables to control compilation and - installation: HB_*_COMPILE points to where to get all the files - (binaries, includes, etc.); if not defined, it will pick them off - the working repository. HB_*_INSTALL points to where you want to - install the files (binaries, includes, etc.) when you issue a - "make install". - -Wed Jul 14 18:20:24 1999 Gonzalo A. Diethelm - - * config/global.cf: - * config/rules.cf: - * config/dos/djgpp.cf: - * config/linux/gcc.cf: - * config/win32/gcc.cf: - * config/win32/msvc.cf: - Now it is not necessary to "install" harbour anywhere. - If you do NOT define HB_BIN_DIR, HB_INC_DIR and HB_LIB_DIR, it - uses all the files (binaries, headers, libraries, etc.) right off - the working repository. - - * include/Makefile: - Updated list of files. - -19990714-12:01 Alexander Kresin - * source\hbpp\hbpp.c - * source\hbpp\hbppint.c - * source\hbpp\hbppmain.c - * include\hberrors.h - * fixed some bugs, including those, needed for classes.ch - -19990713-22:30 CET Eddie Runia - - source/runner/run_exp.h - + include/run_exp.h - run_exp.h moved because of problem with BC 4.5 - -19990713-20:35 CET Eddie Runia - * source/rtl/tclass.prg - Changed standard message Super to __Super - * tests/working/clsdata.prg - Named class name used instead of Super - - -Tue Jul 13 14:06:03 1999 Gonzalo A. Diethelm - - * include/classes.ch: - * include/compat.h: - * include/extra.h: - * include/super.h: - * source/rtl/natmsg/msgbas.c: - * source/runner/run_exp.h: - * source/runner/runner.c: - * tests/broken/clasname.prg: - * tests/broken/parexpr.prg: - * tests/broken/statics1.prg: - * tests/broken/statics2.prg: - * tests/broken/vec1.prg: - * tests/working/ainstest.prg: - * tests/working/and_or.prg: - * tests/working/array16.prg: - * tests/working/arrayidx.prg: - * tests/working/arrays.prg: - * tests/working/arrindex.prg: - * tests/working/atest.prg: - * tests/working/box.prg: - * tests/working/byref.prg: - * tests/working/calling.prg: - * tests/working/cdow.prg: - * tests/working/clasinit.prg: - * tests/working/classch.prg: - * tests/working/classes.prg: - * tests/working/clsdata.prg: - * tests/working/cmphello.prg: - * tests/working/codebl.prg: - * tests/working/codebloc.prg: - * tests/working/comments.prg: - * tests/working/copyfile.prg: - * tests/working/dates.prg: - * tests/working/dates2.prg: - * tests/working/dates3.prg: - * tests/working/debugtst.prg: - * tests/working/descend.prg: - * tests/working/dirtest.prg: - * tests/working/docase.prg: - * tests/working/dosshell.prg: - * tests/working/dupvars.prg: - * tests/working/dynobj.prg: - * tests/working/empty.prg: - * tests/working/exittest.prg: - * tests/working/extend1.prg: - * tests/working/extend2.c: - * tests/working/fib.prg: - * tests/working/fileio.prg: - * tests/working/filexist.prg: - * tests/working/fornext.prg: - * tests/working/fornext2.prg: - * tests/working/funcarr.prg: - * tests/working/guess.prg: - * tests/working/hardcr.prg: - * tests/working/hello.prg: - * tests/working/ifelse.prg: - * tests/working/ifinline.prg: - * tests/working/inherit.prg: - * tests/working/inifiles.prg: - * tests/working/initexit.prg: - * tests/working/inline.prg: - * tests/working/instr.prg: - * tests/working/iotest.prg: - * tests/working/iotest2.prg: - * tests/working/keywords.prg: - * tests/working/linecont.prg: - * tests/working/longstr.prg: - * tests/working/longstr2.prg: - * tests/working/mankala.prg: - * tests/working/mathtest.prg: - * tests/working/mtran.prg: - * tests/working/multiarg.prg: - * tests/working/nums.prg: - * tests/working/objarr.prg: - * tests/working/objasign.prg: - * tests/working/objects.prg: - * tests/working/operat.prg: - * tests/working/os.prg: - * tests/working/output.prg: - * tests/working/overload.prg: - * tests/working/passref.prg: - * tests/working/procline.prg: - * tests/working/procname.prg: - * tests/working/readhrb.prg: - * tests/working/recursiv.prg: - * tests/working/returns.prg: - * tests/working/round.prg: - * tests/working/rtfclass.prg: - * tests/working/rtl_test.prg: - * tests/working/say.prg: - * tests/working/scroll.prg: - * tests/working/seconds.prg: - * tests/working/set_num.prg: - * tests/working/set_test.prg: - * tests/working/spawn.prg: - * tests/working/spawn2.prg: - * tests/working/statfun.prg: - * tests/working/statics.prg: - * tests/working/strcmp.prg: - * tests/working/strdelim.prg: - * tests/working/strings.prg: - * tests/working/strings2.prg: - * tests/working/strings3.prg: - * tests/working/strings4.prg: - * tests/working/strip.prg: - * tests/working/syserror.prg: - * tests/working/t1.prg: - * tests/working/test.prg: - * tests/working/test10.prg: - * tests/working/test_all.prg: - * tests/working/testcgi.prg: - * tests/working/testcopy.prg: - * tests/working/testerro.prg: - * tests/working/testfor.prg: - * tests/working/testgt.prg: - * tests/working/testhbf.prg: - * tests/working/testhtml.prg: - * tests/working/testid.prg: - * tests/working/testinc.prg: - * tests/working/testmem.prg: - * tests/working/teststr.prg: - * tests/working/testtok.prg: - * tests/working/testvars.prg: - * tests/working/testwarn.prg: - * tests/working/transfrm.prg: - * tests/working/val.prg: - * tests/working/version.prg: - * tests/working/while.prg: - Added RCS Id keywords to all these files. - Got rid of a few '//' comments in C/H files. - Added include guards to a few H files. - -Tue Jul 13 13:44:04 1999 Gonzalo A. Diethelm - - * include/Makefile: - * source/rtl/Makefile: - * tests/working/Makefile: - Updated list of files. - - * source/rtl/arrays.c: - * source/rtl/classes.c: - * source/rtl/console.c: - * source/rtl/dates.c: - * source/rtl/descend.c: - * source/rtl/dir.c: - * source/rtl/environ.c: - * source/rtl/files.c: - * source/rtl/hardcr.c: - * source/rtl/math.c: - * source/rtl/mtran.c: - * source/rtl/set.c: - * source/rtl/strings.c: - * source/rtl/transfrm.c: - Protected all uses of #pragma startup so they won't trigger a - warning with gcc. - - * tests/working/inifiles.prg: - Fixed a typo. - -19990712-23:40 EDT David G. Holm - * include/hbdefs.h - ! The HB_HANDLE type was being defined in the #else section of a #ifdef - __IBMCPP__ section instead of being defined for all compilers - -19990712-19:30 EDT David G. Holm - * tests/working/inifiles.prg - ! new() no longer returns nil and now checks to see if the file was - successfully opened or created before attempting to access it - -19990712-19:15 EDT David G. Holm - * source/rtl/files.c - ! hb_fsCreate now creates files that are read-write instead of write-only - ! hb_fsRead now returns 0 instead of 65536U after a read() error - -19990712-22:00 Eddie Runia - * source/rtl/classes.c - Some more test data left in - -19990712-19:10 Eddie Runia - * tests/working/*.prg - Little inconsistency corrected - -19990712-16:52 Antonio Linares - * include\classes.ch - * Inheritance class creation command support - * Enhanced tests\working\classch.prg classes.ch sample - -19990712-15:54 Antonio Linares - * include\classes.ch - * Missing oClass:Create call - * Fixed Method INLINE command - * Added tests\working\classch.prg classes.ch sample - -19990712-13:56 Antonio Linares - * include\classes.ch - * Added support for CONSTRUCTOR and INLINE Methods - -19990712-10:52 Alexander Kresin - * source\hbpp\hbpp.c - * fixed some bugs of #translate implementation - -19990711-21:30 Eddie Runia - * source/rtl/classes.c - Debug text removed - - -19990711-21:15 Eddie Runia - * include/hbdefs.h; include/extend.h; source/rtl/codebloc.c; - source/rtl/memvars.c - HANDLE changed to HB_HANDLE - -19990711-20:25 Ryszard Glab -* include/init.h - * all functions and variables declared in this file have to be 'static' - -* source/vm/initsymb.c - * added again #ifdef HARBOUR_STRICT_ANSI_C to call functions for - symbols table initialization only when strict ANSI C compiler - is used. - -* include/extend.h - + added HB_VALUE structure for storing memvars and detached locals - + added hb_struMemvar used in HB_ITEM structure - -* include/hbdefs.h - + added IT_MEMVAR constant for values stored as memvar reference - + added IS_MEMVAR macro - -* source/vm/hvm.c - * corrected support for detached local variables - + added support for static variables passed by reference - * variables passed by reference can be now chained and a reference to - static variable can be mixed with a reference to local variable - (this should work for memvar variables too) - -* source/rtl/codebloc.c - * corrected support for detached local variables - + added copyright info - -+ source/rtl/memvars.c - + new file for PUBLIC and PRIVATE variables handling - (it supports detached locals currently) - -* source/rtl/classes.c - * updated to use 'ItemUnRef()' function instead of direct stack access - -* source/rtl/extend.c - * updated to use 'ItemUnRef()' function instead of direct stack access - * removed all if( pItem->type & IT_BYREF ) and replaced with the *only* - correct if( IS_BYREF(pItem) ) - -* source/rtl/Makefile - + added memvars.c file - -- tests/working/codebl2.c - - removed this file because its code is now in codebl.prg file - -* tests/working/codebl.prg - * added new code to test detached locals (donated by David Pearson) - -* tests/working/byref.prg - * added new code to test if Harbour handles variables passed by - reference correctly - -* tests/working/Makefile - - removed codebl2.prg - -* doc/codebloc.txt - * updated information to reflect current implementation of codeblocks - -+ config/win32/bcc32.cf - + new file for Borland C/C++ Builder - (This file is NOT TESTED yet) - -+ config/win32/icc.cf - + new file for IBM Visual Age C++ - (This file is NOT TESTED yet) - -* makefile.b16 -* makefile.b32 -* makefile.icc -* makefile.vc - + added source/rtl/memvars.c - -* makedos.env - * added '-I.' switch for compiler flags - -* source/compiler/harbour.l - - removed #include "./harboury.h" (it is now handled by makedos.env) - -* source/tools/stringp.prg - * corrected bug in line 101 (':=' should be here instead of '+=' - -19990710-23:15 Alexander Kresin - * source\hbpp\hbpp.c - * fixed some bugs - now we can use classes.ch - Old Changelog renamed to Changelog.001 - + ChangeLog - -19990710-15:00 Ryszard Glab - -* tests/working/Makefile - + added longstr2.prg - -19990710-14:00 Ryszard Glab - -* tests/working/Makefile - * removed asctest.prg - * renamed errorsys.prg to syserror.prg - -* tests/working/errorsys.prg - - renamed to syserror.prg to avoid duplicated symbol ERRORSYS__initSymbols - -* source/compiler/harbour.y - * EXTERN definition is now in 'Statement' section to compile code: - if .T. - EXTERNAL xx - ENDIF - -19990709-19:00 Eddie Runia - + tests/working/clsdata.prg - Test program supplied by Bruno Cantero - * source/rtl/classes.c; source/rtl/tclass.prg - inheritance class data bug resolved. - -19990709-18:21 Antonio Linares - + source/compiler/harbour.l - added support for ppo #line token - Described line bug was mine. Fixed! - + source/compiler/harbour.y - added support for ppo #line syntax (including Xbase++ style) - -19990709-16:25 Eddie Runia - * build32.bat; source/runner/runner.c; source/runner/run_exp.h; - tests/working/hb32.bat; tests/working/runrdos.bat - - tests/working/runner.c; tests/working/run_exp.h - runner moved to /source/runner - * source/vm/initsymb.c; include/init.h - init symbols no longer worked both on Borland C++ Builder as well as - DJGPP - + source/compiler/harbour.l - include bug for DJGPP resolved - * tests/working/ainstest.prg - copy error resolved - - -19990709-20:00 Andi Jahja - + tests/broken/clasname.prg by Dave Pearson - + tests/broken/statics1.prg by Bruno Cantero - + tests/broken/statics2.prg by Bruno Cantero - - -19990709-11:05 CET Eddie Runia - * source/compiler/harbour.y - Copyright portable objects added - -19990709-10:50 CET Eddie Runia - * tests/working/*.prg - identified my tests and moved them to the PD - -19990709-10:30 CET Felipe Coury - * tests/working/hscript/hscript.prg; tests/working/hscript/*.hs - Copyright & GPL inserted - - -19990708-20:05 EDT David G. Holm - + Added my email address to my Coypright notice in each of the following: - * include/fileio.ch - * include/filesys.api - * include/filesys.h - * include/set.ch - * include/set.h - * include/version.h - * source/rtl/console.c - * source/rtl/dates.c - * source/rtl/devoutp.prg - * source/rtl/set.c - * source/rtl/strcmp.c - * tests/working/output.prg - * tests/working/round.prg - * tests/working/scroll.prg - * tests/working/seconds.prg - * tests/working/version.prg - -19990708-18:20 EDT David G. Holm - * makefile.icc - + Have to create a dummy unistd.h in the include directory after - running bison and then delete it after building harbour.exe, - because GNU bison adds "#include " for C++ mode, but - the IBM Visual Age C++ 3.0 compiler doesn't have such a file. - * config/dos/global.cf - Added individual -$(RM) commands for *.bak, *.obj, core, and *.o, - because the COMMAND.COM DEL command won't take more than one target. - * include/fileio.ch - + Added copyright and license header and filled in version history - * include/filesys.api - + Added copyright and license header and filled in version history - * include/filesys.h - + Added copyright and license header and filled in version history - * include/set.ch - + Added copyright and license header and filled in version history - * include/set.h - + Added copyright and license header and filled in version history - -19990708-22:00 Bruno Cantero -CVSed by Andi Jahja - - Applying undocumented calling to _par*() and _stor*() - providing a -1 as the first parameter will access the item - located at stack.Return instead of accessing the stack parameters - -include/extend.h: - * hb_param - * hb_parc - * hb_parclen - * hb_pards - * hb_parl - * hb_parnd - * hb_parni - * hb_parnl - * hb_parinfo - * hb_storc - * hb_storclen - * hb_stords - * hb_storl - * hb_storni - * hb_stornl - * hb_stornd -source/rtl/extend.c: - * hb_param - * hb_parc - * hb_parclen - * hb_pards - * hb_parl - * hb_parnd - * hb_parni - * hb_parnl - * hb_parinfo - * hb_storc - * hb_storclen - * hb_stords - * hb_storl - * hb_storni - * hb_stornl - * hb_stornd -source/working : - * extend1.prg - undocumented feature included - * extend2.c - undocumented feature included - -19990808-12:18 Antonio Linares - - * source/vm/hvm.c - Added copyright and license information - * source/vm/dynsym.c - Added copyright and license information - * source/compiler/harbour.l - Added copyright and license information - * source/compiler/harbour.y - Added copyright and license information - * source/compiler/genobj32.c - Added copyright and license information - * source/compiler/symbols.asm - Added copyright and license information - * source/rtl/dates.c - Added copyright and license information - * source/rtl/console.c - Added copyright and license information - * source/rtl/extend.c - Added copyright and license information - * source/rtl/strings.c - Added copyright and license information - * source/rtl/arrays.c - Added copyright and license information - * source/rtl/classes.c - Added copyright and license information - * source/rtl/errorapi.c - Added copyright and license information - * source/rtl/itemapi.c - Added copyright and license information - * source/rtl/tclass.prg - Added copyright and license information - * source/rtl/error.prg - Added copyright and license information - * source/rtl/errorsys.prg - Added copyright and license information - * source/rtl/errorapi.prg - Added copyright and license information - * include/classes.ch - New Harbour file for classes creation commands - * include/compiler.h - Added copyright and license information - * include/ctoharb.h - Added copyright and license information - * include/errorapi.h - Added copyright and license information - * include/extend.h - Added copyright and license information - * include/init.h - Added copyright and license information - * include/itemapi.h - Added copyright and license information - * include/pcode.h - Added copyright and license information - -19990808-10:15 Eddie Runia - * source/rtl/transfrm.c - header change - -19990708-14:00 Andi Jahja - * source/rtl/file.c - Change per Paul for MSC - -19990708-14:00 Bruno Cantero -CVSed by Andi Jahja - -include/extend.api - + #define _reta hb_reta - * change hb_storlen to hb_storclen -source/rtl/extend.h - + declaration of hb_reta -source/rtl/extend.c - :) wArrayIndex use now completely implemented - + #include - * hb_storc - * hb_storclen - * hb_stords - * hb_storl - * hb_storni - * hb_stornl - * hb_stornd -tests/working : - * extend1.prg - * extend2.c - -19990705-14:10 Alexander Kresin - * source\hbpp\hbpp.c - * source\hbpp\table.c - * source\hbpp\hbppmain.c - * source\hbpp\hbppint.c - * include\hberrors.h - * Implemented genError() for preprocessor - + Added copyright and license information - -19990707-23:10 EDT David G. Holm - + harbour.b31 - + Separate harbour.exe makefile, so that it is possible to build - 16-bit Harbour programs using a 32-bit compiler and the 16-bit - libraries or by using a 16-bit compiler and libraries. - * makefile.icc - + Put bison and flex back into operation after finding OS/2 versions - of each that work as expected: gnubison.zip and flex254-2.zip from - http://www.leo.org/pub/comp/os/os2/leo/gnu/index.html - * include/init.h - ! Missing ; after return 1 in HB_STARTUP_SYMBOLS_END for MSC and IBMCPP - * source/rtl/transfrm.c - ! Missing ; after HB_INIT_SYMBOLS_END - -19990707-20:45 EDT David G. Holm - * doc/gmake.txt - + Added NOTES section with steps needed for a clean build - * include/version.h - + Added copyright and license header and filled in version history - * source/rtl/console.c - + Added copyright and license information for functions that I wrote - * source/rtl/dates.c - + Added copyright and license information for functions that I wrote - * source/rtl/math.c - + Added copyright and license information for function that I wrote - * source/rtl/strcmp.c - + Added copyright and license information for function that I wrote - * tests/working/output.prg - + Added copyright and license information - * tests/working/round.prg - + Added copyright and license information - * tests/working/scroll.prg - + Added copyright and license information - * tests/working/seconds.prg - + Added copyright and license information - * tests/working/version.prg - + Added public domain information - -19990708-01:33 Bruno Cantero -CVSed by Andi Jahja - -source/rt/arrays.c - * hb_arrayGetDate() - - fixed warning : function returns address of local variable. - -include/extend.api - + #define _parinfa hb_parinfa - -include/extend.h - + declaration hb_parinfa - -source/rtl/extend.c: - * hb_parinfa - - now return long - -tests/working : - + extend1.prg - + extend2.c - These are test programs for Harbour extend system - -19990707-20:50 Eddie Runia - - tests/working/asctest.prg - not an original work - -19990707-20:10 Eddie Runia - * tests/working/mankala.prg; tests/working/transfrm.prg; - tests/working/debugtst.prg; tests/working/readhrb.prg; - tests/working/strip.prg; tests/working/inherit.prg; - tests/working/guess.prg - Copyright added (why not) - -19990707-19:40:00 Eddie Runia - * source\rtl\asort.prg; source\rtl\objfunc.prg; source\runner\runner.c; - tests\working\runner.c; source\tools\debug.c; source\tools\stringp.prg - GPL Licensing added - * source\rtl\console.c; source\rtl\environ.c; source\rtl\tclass.prg - Partial Copyright added - -19990707-16:22:20 Bruno Cantero -CVSed by Andi Jahja - - * source/rtl/natmsg/msgspa.c - - -19990707-16:20:20 Bruno Cantero -CVSed by Andi Jahja - -source/rtl/arrays.c - + hb_arrayGetDate - - retrieves the date value contained on an array element -include/extend.h: - + hb_arrayGetDate protoype -source/rtl/extend.c - * hb_pards - - wArrayIndex use when retrieving date value of an array - element implemented - -19990707-11:10 Alexander Kresin - * source\compiler\harbour.l - * source\compiler\harbour.y - * include\hberrors.h - * changed calls of genError() function for implementing it to preprocessor - * from harbour.y removed some lines related to #include implementation - -19990706-23:35 EDT David G. Holm - * source/rtl/set.c - + Added header template and filled in - complete version history by cross- - referencing ChangeLog and the output - from "cvs log source/rtl/set.c". - -19990706-22:40 EDT David G. Holm - * doc/hdr_tpl.txt - - Removed "(C)" from Copyright notice - + Put author's name rather than date - next to each version number, because - the RCS tracks dates, but only tracks - CVS user names, not author names. - + Added version comment for Viktor Szakats's change - * source/compiler/fixflex.c - + Placed under GPL - * source/rtl/devoutp.prg - - Removed "(C)" from Copyright - * Updated previous version comments - -19990707-03:48 CET Viktor Szakats - * doc/hdr_tpl.txt - * Description line changed to be a template, too. - * source/rtl/natmsg/msghu.c - tests/working/rtl_test.prg - + Copyright notice added. - -19990707-22:25:59 Bruno Cantero -CVSed by Andi Jahja - -source/rtl/extend.c - * hb_parni - - wArrayIndex use when retrieving an array element implemented - * hb_parnl - - wArrayIndex use when retrieving an array element implemented - -19990706-16:30 Eddie Runia - * source/rtl/asort.prg; source/rtl/objfunc.prg; source/runner/runner.c; - source/tools/debug.c; source/tools/stringp.prg; source/rtl/transfrm.c - Copyright assertions made. - * source/rtl/strcmp.c; source/rtl/classes.c - Partial copyright assertion made - -19990706-20:15 Bruno Cantero -CVSed by Andi Jahja - -=> retrieve the logical value contained on an array element -=> retrieve the double value contained on an array element - -source/rtl/arrays.c - + internal hb_arrayGetBool - + internal hb_arrayGetDouble -source/rtl/extend.c - * hb_parnl - * hb_parnd -include/extend.h - + hb_arrayGetBool prototye - + hb_arrayGetDouble prototype - -19990705-14:10 Alexander Kresin - * source\hbpp\hbpp.c - * fixed some warnings - * source\hbpp\table.c - * fixed bugs in table, reported by David G. Holm - -19990704-23:45 EDT David G. Holm - * makefile.b16 - + Added devoutp - * makefile.b31 - + Added devoutp - * makefile.b32 - + Added devoutp - * makefile.icc - + Added devoutp - * makefile.vc - + Added devoutp - + Added commands to compile .prg to .c - * include/dates.h - + Added date format parameter to hb_dtoc() - * source/rtl/Makefile - + Added devoutp - * source/rtl/console.c - ! Corrected non-GT API version of DISPBOX() to also draw lines - + Added date format parameter to call to hb_dtoc() - * source/rtl/dates.c - + Added date format parameter to hb_dtoc() instead of always - using hb_set.HB_SET_DATEFORMAT, so that TRANSFORM() can use it - + Added hb_set.HB_SET_DATEFORMAT as parameter in call to hb_dtoc() - + source/rtl/devoutp.prg - + New module for HARBOUR DEVOUTPICT(,,[]) - * source/rtl/gtapi.c - ! Corrected hb_gtBox to also draw lines - * source/rtl/strings.c - + Added hb_set.HB_SET_DATEFORMAT as parameter in call to hb_dtoc() - * source/rtl/transfrm.c - ! Corrected date transformation to call hb_dtoc() with either - hb_set.HB_SET_DATEFORMAT, the 2-digit year british date format, - or the 4-digit year british date format (depending upon the use - of the format function "@E" and the setting for SET CENTURY - + tests/working/say.prg - + Demonstrates DEVPICT() by use of @ ... SAY ... PICTURE ... - -19990704-18:50 EDT David G. Holm - * include/ctoharb.h - * Converted length parameter in PushString to ULONG - in order to support strings longer than 64 KB - * include/errorapi.h - + Added hb_errorRT_TERMINAL() wrapper function - * include/gtapi.h - + Added support for strings longer than 64 KB - * include/hbsetup.h - + Added optional HARBOUR_LANGUAGE_ manifest constant to - select which national language will be in the RTL library - created by the GNU Make System - * include/set.h - + Added extern int hb_set_extrahan; - + Limited size of SET strings to 64 KB or less - * source/rtl/console.c - * Made various changes after running through Gimpel Lint - + Added support for HB_SET_EXTRAFILE - * source/rtl/environ.c - + Added OS() support for DJGPP - - Removed OS/2 check from non-OS/2 section of OS() - * source/rtl/errorapi.c - + Added hb_errorRT_TERMINAL() wrapper function - * source/rtl/gtapi.c - + Added support for strings longer than 64 KB - * source/rtl/msgxxx.c - ! Changed from using #if (HB_LANGUAGE == to using - #if defined(HB_LANGUAGE_) with a default of UK - * source/rtl/set.c - * Made various changes after running through Gimpel Lint - + Added call hb_errorRT_TERMINAL() wrapper function upon - failure to create an alternate file and/or a printer file - (and/or an extra file, even though I still don't know have - any idea as to what it is used for) - + Added support for HB_SET_EXTRAFILE - + Added support for strings longer than 64 KB - * source/vm/hvm.c - * Converted length parameter in PushString to ULONG to allow - for strings longer than 64 KB (Note: 16-bit programs and - constant strings in source files are still limited to 64 kB) - ! Corrected Instring() to call hb_strat() with the entire first - string as the first parameter instead of looping to check if - each character in the first string is in the second string - + tests/working/longstr2.prg - + Demonstrates the creation and output of short, long, and very - very long strings (10 bytes, 40960 bytes, and 1310720 bytes) - * tests/working/output.prg - + Added demonstration of _SET_EXTRAFILE - -19990704-16:20 Ryszard Glab - -* include/init.h - * changed definitions of HB_INIT_SYMBOLS_* and HB_CALL_ON_STARTUP_* - to make it more consistent. The symbol table should be defined now: - HB_INIT_SYMBOLS_BEGIN( moduleName__InitSymbols ) - { "FIRST", FS_PUBLIC, HB_FIRST, 0}, - /* more symbols */ - HB_INIT_SYMBOLS_END( moduleName__InitSymbols ); - -* source/compiler/harbour.y - * changed generated C code to support new HB_INIT_SYMBOLS_* macros - -* source/rtl/arrays.c -* source/rtl/classes.c -* source/rtl/console.c -* source/rtl/dates.c -* source/rtl/descend.c -* source/rtl/dir.c -* source/rtl/environ.c -* source/rtl/files.c -* source/rtl/hardcr.c -* source/rtl/math.c -* source/rtl/mtran.c -* source/rtl/set.c -* source/rtl/strings.c -* source/rtl/transfrm.c - * changed to use he new definition of HB_INIT_SYMBOLS_* and - HB_CALL_ON_STARTUP_* macros - -* tests/working/box.prg - * changed "BOX.CH" to lowercase (Linux is case-sensitive OS) - -19990702-09:08 Alexander Kresin - * source\hbpp\hbpp.c - * Changed logic for fixing some problems - * source\hbpp\hbppint.c - * source\hbpp\hbppmain.c - * changed code for accepting #line sentences - -19990702-00:30 EDT David G. Holm - * makefile.b31 - * Changed -DUSE_GTAPI to -DHARBOUR_USE_GTAPI - + Added module hb_f - + Added module copyfile - -19990701-22:30 EDT David G. Holm - * makefile.icc - * Changed -DUSE_GTAPI to -DHARBOUR_USE_GTAPI - * source/rtl/console.c - ! HB_CALL_ON_STARTUP_END() must be called from inside the - function that was defined using HB_CALL_ON_STARTUP_START() - * source/rtl/environ.c - ! No #includes are allowed ahead of #ifdef __IBMCPP__ - -19990630-19:35 EDT David G. Holm - * source/rtl/errorapi.c - - Removed assignment of default severity value. - * source/rtl/error.prg - + Added default values to all member variables - (which is the correct permanent solution). - -19990630-19:25 EDT David G. Holm - * source/rtl/errorapi.c - * Changed the default severity value in hb_errNew() to - ES_WHOCARES as the permanent solution (matches Clipper). - -19990630-17:45 EDT David G. Holm - * source/rtl/errorapi.c - + Added a default severity value of ES_ERROR in hb_errNew() - as a temporary workaround to the error severity problem. - * source/rtl/errorsys.prg - - Removed CHR(13)+CHR(10) from QOUT() of error message, - because Clipper doesn't have a blank line between the - error message and the error trace. - -19990630-02:10 EDT David G. Holm - * harbour.b31 - - Removed -DHARBOUR_STRICT_ANSI_C - * makefile.b31 - - Removed -DHARBOUR_STRICT_ANSI_C - * include/init.h - - Removed #pragma startup - * source/compiler/harbour.y - + Added output for #pragma startup in C generation - * source/rtl/arrays.c - + Added #pragma startup - * source/rtl/classes.c - + Added #pragma startup - * source/rtl/console.c - + Added #pragma startup - * Made InitializeConsole() a startup function - * source/rtl/dates.c - + Added #pragma startup - * source/rtl/descend.c - + Added #pragma startup - * source/rtl/dir.c - + Added #pragma startup - * source/rtl/environ.c - + Added #pragma startup - * source/rtl/files.c - + Added #pragma startup - * source/rtl/hardcr.c - + Added #pragma startup - * source/rtl/math.c - + Added #pragma startup - * source/rtl/mtran.c - + Added #pragma startup - * source/rtl/set.c - + Added #pragma startup - * source/rtl/strings.c - + Added #pragma startup - * source/rtl/transfrm. - + Added #pragma startup - * source/vm/hvm.c - - Removed InitializeConsole() - -19990629-23:00 EDT David G. Holm - * build31.bat - + Added option to build 16-bit harbour.exe instead of just the - harbour libraries by using "build31 hb" instead of "build31" - * makefile.b31 - - Moved everything to do with harbour.exe to harbour.b31 - + Added dir and msguk - + harbour.b31 - + Split out from makefile.b31 - + Added preprocessor files - * source/compiler/fixflex.c - + Switched from using a series of if statements for the smaller large - files to using an array of table names and a for loop - - Removed yy_acclist from new array - * source/vm/hvm.c - * Changed a few error messages from "types not match..." to - "types do not match..." - * tests/working/Makefile - * Changed order in which library files are included - -19990630-00:25 Ryszard Glab - -* include/init.h - * the HB_INIT_SYMBOLS in now divided into HB_INIT_SYMBOLS_BEGIN and - HB_INIT_SYMBOLS_END to support Borland C compilers. - -* include/hbdefs.h - * added missing changes related to new HB_ITEM - -* source/compiler/harbour.y - * corrected line continuation bug (the parse parameters was counted - incorrectly) - * the compiler generates code to use HB_INIT_SYMBOLS_* macros for - symbol table initialization - -* source/rtl/*.c - * corrected some missing code related to new HB_ITEM - * changed code that registers local symbol table (it uses - HB_INIT_SYMBOLS_* macros now) - -* source/tools/debug.c - * changed code to support new HB_ITEM structure - -19990629-05:55 Ryszard Glab - -* Tagged all sources with the name 'release_old_item' - You can download old version by issuing tthe following command: - cvs checkout -r release_old_item harbour - (be sure to checkout into new directory) - To check tag names for file use: - cvs status -v - -* include/extend.h - * changed definition of HB_ITEM structure - -* include/init.h - * added HB_INIT_SYMBOLS and HB_CALL_ON_STARTUP macros - -* include/hbsetup.h - * renamed HB_STRICT_CLIPPER_COMPATIBILITY to - HARBOUR_STRICT_CLIPPER_COMPATIBILITY - + added HARBOUR_STRICT_ANSI_C definition - -* source/vm/hvm.c - * changed to use the new HB_ITEM - -* source/initsymb.c - * changed to use HARBOUR_STRICT_ANSI_C - -* source/rtl/*.c - * changed to use the new HB_ITEM - * changed to automatically register symbol table - -*source/tools/stringsx.c - * removed direct access to Harbour internals HB_ITEM structure - -* source/compiler/harbour.l - * corrected line continuation bugs - -* source/compiler/harbour.y - * corrected line continuation bug - -* tests/working/linecont.prg - * added some more code for testing line continuation - -19990628-23:30 EDT David G. Holm - * source/tools/hb_f.c - * Undid previous type change for x in hb_hbfskip(), because it - causes a serious problem in an attempt to avoid a warning. - The strange thing is that GCC (DJGPP) doesn't complain either - way, even with -pedantic enabled. - -19990628-21:50 EDT David G. Holm - * source/compiler/harbour.y - * Changed fopen() call used to create .PPO files from using - mode "wt", which is not ANSI-C compliant, to "w", which is - the ANSI-C way to create or open/truncate a text mode file. - -19990627-23:50 CET Viktor Szakats - * source/compiler/harbour.l - ! Fixed line number bug. (LINE opcode, PROCLINE(), error messages) - * tests/working/procline.prg - tests/working/copyfile.prg - tests/working/copyfile.txt - + Added. - -19990627-16:30 CET Viktor Szakats - * source/rtl/strings.c - source/rtl/set.c (added four Clipper errors) - source/rtl/math.c - source/rtl/environ.c - source/rtl/transfrm.c - source/rtl/dates.c - source/rtl/arrays.c (partially) - + Using error launcher wrapper - + Made launched errors Clipper compatible. - ! Some incompatibilities fixed in error handling (RTRIM, TRIM, ...) - * source/rtl/errorsys.prg - + Builds error message text like Clipper. - * source/rtl/copyfile.c - % Optimized var scoping, var naming - + Error handling enhanced, using error launcher wrapper. - + HB_STRICT_CLIPPER_COMPATIBILITY mode added. - ! BYTEP -> char* for strings - ! char* -> PBYTE for buffer - % Copy loop optimized - + Error handling added to copy loop - + Notes added about Clipper compatibility, todos, questions. - * source/vm/hvm.c - * "DUNNO" -> "UNKNOWN" 8) - * makedos.env - + HARBOUR.EXE called with -i parameter, to be able to include .CH files - (probably should be added to other make environments, too.) - -19990627-09:00 "Paul Tucker" - * source/hbpp/hbpp.c - - change lines from 1246 to 1257 - -19990626-13:35 Ryszard Glab - -* source/rtl/copyfile.c - * added code to copy also the file permissions on *nix - -* source/rtl/files.c - * 'access' function should use F_OK constant instead of 0 on *nix - -19990626-13:12 Ryszard Glab - -* tests/working/Makefile - * removed MAKECMDGOALS logic - -19990626-06:20 Ryszard Glab - -* source/compiler/harbour.l - * corrected line continuation bugs - - removed yy_lex_count_lf function since this is handled by - preprocessor now - * restored the END rule - -* tests/working/linecont.prg - * moved from tests/broken to tests/working - -* tests/working/Makefile - + added linecont.prg to BAD_PRG_SOURCES section - -* doc/gmake.txt - * updated list of supported compilers - -19990625-20:15 EDT David G. Holm - * tests/working/inifiles.prg - - Added an error message that displays when the specified section - number is larger than the number of sections in the .INI file - * tests/working/testcgi.prg - - Added test to skip WHILE loop if list.txt couldn't be opened - * tests/working/teststr.prg - - Corrected spelling of _SET_FIXED - -Fri Jun 25 18:27:43 1999 Gonzalo A. Diethelm - - * include/Makefile: - * tests/working/Makefile: - Updated the file list. - - * tests/working/dirtest.prg: - Made the output easier to be read. - -19990624-21:10 EDT David G. Holm - * source/compiler/harbour.l - - Corrected logic in if block that prints spurious error message when - using END with a DO or WHILE to actually check the while counter - - Changed from printf() error message to GenError( ERR_ENDIF ) - -19990625-01:05 CET Viktor Szakats - * include/extend.h - include/dates.h - source/rtl/extend.c - source/rtl/itemapi.c - source/rtl/transfrm.c - source/rtl/dates.c - makefile.b31 - makefile.icc - hb_date*() function definitions moved to - dates.h, all required changed made in sources. - ! source/rtl/copyfile.c - buffer size 8096 -> 8192 - * source/rtl/types.h - SYMBOL_UNUSED() -> HB_SYMBOL_UNUSED() - + source/rtl/errorapi.c, include/errorapi.h - Added return value to hb_errorRT_BASE() - ! test.ch removed again from /include - ! cgi.ch added again to tests/working/hscript - * source/rtl/mtran.c - source/rtl/hardcr.c (fixed) - changes by Jose Lalin. - * include/*.h, include/*.api - Clean-ups, headers added, HB_ prefixes, - minor fixes. - * include/set.h - source/rtl/set.c - source/vm/hvm.c - InitializeSets() -> hb_setInitialize() - ReleaseSets() -> hb_setRelease() - * types.h -> hbdefs.h - include\extend.h - include\hbdefs.h - include\makefile - include\set.h - source\compiler\genobj32.c - source\compiler\harbour.l - source\compiler\harbour.y - source\compiler\makefile - source\hbpp\harb.h - source\vm\initsymb.c - gt.b32 - makefile.b16 - makefile.b31 - makefile.b32 - makefile.icc - terminal.b32 - -19990624-19:30 EDT David G. Holm - * makefile.icc - - environ.c needs to be dependent upon version.h - * include/version.h - - Bumped revision code to "c" (still build 27) - -19990624-23:20 CET Kwon, Oh-Chul - * source/rtl/natmsg.xxx - Korean added - * source/rtl/natmsg/msgkor.c - Korean language file - -19990624-15:40 EDT David G. Holm - * doc/hdr_tpl.txt - - Added proposed HRL/HVM license exception for executables. - - Added GNU web site address. - - Replaced "?" in copyright statement with "(list of individual authors)". - -19990624-15:15 EDT David G. Holm - * makefile.b31 - - Removed genobj - * makefile.icc - - removed genobj - * source/rtl/copyfile.c - - Added type override to hb_xgrab() call - * source/rtl/files.c - - Removed test printf() calls that I forgot to remove from - hb_fsWrite() after debugging hb_fsCreate() last night - * source/rtl/set.c - - Minor change in last if block in HB___SETCENTURY() to avoid - a signed/unsigned comparison complaint by some compilers. - * source/tools/hb_f.c - - In hb_hbfskip(), made x the same type as read_len to avoid - a signed/unsigned comparison complaint by some compilers. - * tests/working/Makefile - - Added box.prg - * tests/working/test_all.prg - - Added optional second command line parameter. If not used, - testall.bat uses call, otherwise it uses the command shell - specified and automatically adds /c. Examples: - test_all hbdos ==> call hbdos ainstest - test_all hbdos command ==> command /c hbdos ainstest - -19990624-13:40 EDT David G. Holm - * source/rtl/gt/gtwin.c - - New functions for gtWhereX() and gtWhereY() contributed by Paul Tucker - - Removed all occurrences of strlen(), replacing them either with a - parameter string length or a calculated string width - -19990624-19:17 CET Felipe Coury - + tests/working/hscript/ugly.hs - additional test file - * tests/working/hscript/hscript.prg - * tests/working/hscript/readme.txt - new version - -Thu Jun 24 12:25:30 1999 Gonzalo A. Diethelm - - * include/Makefile: - Added the following files: box.h, compat.h, extra.h, super.h, - box.ch, color.ch, rdd.api. - - * source/rtl/Makefile: - Added copyfile.c. - - * source/rtl/errorsys.prg: - Changed an END to an ENDDO, to avoid Harbour compilation errors. - -19990624-13:00 WIB Andi Jahja - * source/rtl/copyfile.c - - add run time error - -19990623-23:25 EDT David G. Holm - * source/rtl/console.c - - The non-GT API version of DISPBOX() was creating boxes that - were one column and one row to small. - -19990623-23:00 EDT David G. Holm - * source/rtl/copyfile.c - - Renamed _fsCopy to hb_fsCopy(), in case we decide to make - it available to other internal Harbour functions later. - * source/rtl/files.c - - Solved the apparent read only problem with hb_fsCreate(). - The problem turned out to be that errno is set to an error - value if open() has to create the file instead of opening - and truncating. And because hb_fsCreate() wasn't checking - the return value before saving errno for hb_fsError(), an - error would be indicated if the file had to be created. - But now test/working/testcopy works even when newprog.prg - (the destination for the COPY TO command) doesn't exist. - -19990623-22:05 EDT David G. Holm - Code has been added to the following two modules to return the - correct number of decimal places for floating point results. - * source/rtl/descend.c - * source/rtl/math.c - -19990623-21:50 EDT David G. Holm - Oops! I accidentally left the HB_USE_STRICMP and HB_USE_STRCASECMP - stuff in these two files. It's really gone now... - * include/hbsetup.h - * source/rtl/strcmp.c - -19990623-21:30 EDT David G. Holm - * makefile.b31 - - Added support for source/rtl/copyfile.c - - source/rtl/genobj.c was moved to source/contrib - * makefile.icc - - Added support for source/rtl/copyfile.c - + include/box.ch - - New include file contributed by Phil Barnett - + include/box.h - - Moved all border type manifest constants from gtapi.h - - Removed leading underscores - + include/color.ch - - Moved all color attribute manifest constants from gtapi.h - - Removed leading underscores - * include/gtapi.h - - Moved all manifest constants for color attributes to color.ch - - Added #include - - Removed all manifest constants for cursor types - - Added #include - - Moved all manifest constants for border types to box.h - - Added #include - * include/hbsetup.h - - Added HB_STRICT_CLIPPER_COMPATIBILITY - * source/compiler/harbour.l - - Corrected yy_lex_count_lf per Paul Tucker - * source/rtl/console.c - - Added minimal DISPBOX() support for those without a working GT API - based on code contributed by Phil Barnett - * source/rtl/dates.c - - Added #include - - Added HB to front of _STRICT_CLIPPER_COMPATIBILITY and - _OPTIMIZE_DTOS manifest constants - * source/rtl.gtapi.c - - Removed leading underscores from former gtapi.h manifest constants - * source/rtl/math.c - - Set the default number of decimal digits after call to - EXP(), LOG(), and SQRT() - - Always return the value from the C/C++ compiler's log() - function. Even when the HARBOUR LOG() argument is less - than or equal to zero, in which case set the display - width to 99 to indicate overflow. - * source/rtl/strcmp.c - - Removed ability to use library functions stricmp() or strcasecmp() - * source/rtl/strings.c - - Added #include - - Added #ifdef HB_STRICT_CLIPPER_COMPATIBILITY to determine - whether to use Clipper overflow indication (a string of - asterisks) or to use the C/C++ compiler's indication - (+/-Infinity and/or +/-Not a Number) - - Added support for date and numeric arguments for first - parameter in all PAD functions (PADC, PADL, PADR) - * source/rtl/gt/gtdos.c - - Removed leading underscores from former gtapi.h manifest constants - * source/rtl/gt/gtwin.c - - Removed leading underscores from former gtapi.h manifest constants - - Changed all malloc() calls to hb_xgrab() - * source/vm/hvm.c - - In ForTest(), the number of decimal digits was being - accessed before the loop counter was popped off the - stack instead of after - + tests/broken/cbtest.prg - - Illustrates codeblock problem pointed out by Dave Pearson - + tests/working/box.prg - - New test program to demonstrate the use of DISPBOX() - based on code contributed by Phil Barnett - -19990624-08:00 WIB Andi Jahja - * source/rtl/copyfile.c - - function name now upper case - - change filesys.api to filesys.h - - add hb_ prefix to internal calls - -19990623-22:30 WIB Andi Jahja - + tests/working/testcopy.prg - + source/rtl/copyfile.c - - __CopyFile() clone - * makefile.b32 to include __copyfile() - -19990623-19:30 WIB Andi Jahja - + tests/working/rtfclass.prg - -19990623-01:00 CET Viktor Szakats - ! source/rtl/asort.prg - Added patch posted by - Dave Pearson - quicksort() is STATIC now. - + source/rtl/types.h - SYMBOL_UNUSED() macro added. - -19990622-00:35 Ryszard Glab -* source/compiler/harbour.y -* source/compiler/harbour.l - * removed some unnecessary rules - * added the very begginning of MEMVAR support - -* include/compiler.h - + added pMemvars member to _FUNC structure - -19990622-14:00 CET Viktor Szakats - * source/rdd/rdd.api moved to /include - -19990621-19:09 CET Viktor Szakats - ! source/rtl/asort.prg - source/rtl/objfunc.prg - Got rid of the references to Default() - + Added msgcz852.c, msgczkam.c, msgyu852.c to - source/rtl/natmsg/ - source/rtl/msgxxx.c - posted by Davor Siklic - + Added cgi.ch to tests/working/hscript/, too. - + source/rtl/environ.c - Added patch posted by - Dave Pearson - -19990622-00:22 Ryszard Glab - * config/prg.cf - * config/test.cf - * corrected to support creation of executables that don't contain - extension - -19990621-19:00 CET Ad Franse - + source/rdd/rdd.api - + include/compat.h; include/super.h; include/compat.h - First version of the rdd added - -Mon Jun 21 12:14:15 1999 Gonzalo A. Diethelm - - * include/Makefile: - Got rid of cgi.ch. - - * source/compiler/Makefile: - Got rid of all ^M characters. - -19990621-13:27 CET Viktor Szakats - * source/compiler/harbour.y - GCC warnings fixed. - * source/contrib/genobj.c removed, as - suggested by "Antonio Linares" - -19990621-13:27 Alexander Kresin - updated: - * source\hbpp\hbpp.c - * source\hbpp\buildgcc.bat - * source\hbpp\makefile.b16 - * source\hbpp\makefile.b32 - * source\compiler\harbour.l - Now keywords.prg compiles Ok. - Updated makefiles for standalone version of preprocessor. - From harbour.l removed all stuff related to early implementation of - preprocessor functionality. - -19990621-11:50 CET Viktor Szakats - * source/compiler/harbour.y - Some old PCODE name changed to new in - debug_msg messages. - -19990621-04:04 CET Viktor Szakats - * include/errorapi.h - Some additions, note - the copyright message at the beginning, as the - final text gets done, we should put similar header - to each file. - ! include/hbsetup.h - USE_GTAPI was mistakenly - left defined. - + include/errorapi.h - include/error.api - source/rtl/errorapi.c - The rest of the ERROR API functions - implemented. -. hb_errorRT_BASE() implemented. - + doc/hdr_tpl.txt - added templates for - file and function headers. - -19990621-01:30 CET Viktor Szakats - * whatsnew.txt moved to doc/ directory. - * doc/hrb.faq renamed to hrb_faq.txt - + tests/broken/vec1.prg readded. - -19990621-00:57 CET Viktor Szakats - * include/*.h - Some code beatifying. - * include/types.h/_PCOUNT renamed back to PCOUNT - + IT_MEMOFLAG and IT_MEMO types added to - include/extend.h and include/types.h - * TEST.CH moved from /include to tests/working - ! include/gt.api - _gtBox double define fixed. - ! include/extend.api - _param removed since it's - not standard Clipper. - ! include/item.api - Fixed obsolete references - to Array*() functions changed since to hb_array*() - ! source/rtl/console/hb_setpos() - Fixed one warning. - -19990621-00:37 Ryszard Glab -* config/dos/watcom.cf - * changed invocation of 'echo' command to overcome problems with - too small space for environment variables. - Note also that it is possible that you will have to increase this - space at DOS startup (for example add - SHELL=c:\command.com c:\ /E:2048 /P - to config.sys) - * removed some variables that can be expanded directly - -* config/dos/global.cf - * all '\' are now replaced with '/' in COMSPEC variable to shell from - make utility succesully - + added check to not include this file recursively - -* config/dos/djgpp.cf - * removed some unnecessary data - -* config/linux/gcc.cf - * created executables have no extension now - -* config/win32/gcc.cf -* config/win32/msvc.cf - + added missing CC_IN variable - -* config/c.cf -* config/global.cf -* config/lib.cf -* config/rules.cf - + added dependency on header files for YACC and LEX sources - * some rules or variables got clarified - -* source/compiler/Makefile - + added dependency on header files - -* include/Makefile - + added missing hbpp.h - -* makewat.env, makefile.wat - - removed from repository - replaced by GNU make (dos/watcom.cf) - -* makefile.gcc, readmake.txt, tests/tests.mk - - removed from repository - replaced by GNU make (gcc.cf) - -19990620-23:40 CET Viktor Szakats - * source/compiler/harbour.y - Finished the required modifications for the PCODE - name change. - -19990620-21:40 CET Viktor Szakats - * source/compiler/harbour.y - source/compiler/genobj32.c - source/vm/hvm.c - source/runner/runner.c - tests/working/runner.c - include/pcode.h - All PCODE constants prefixed with HB_P_ - NOOP opcode added - Reference to pcode.h was removed from runner.c - -19990620-21:40 CET Viktor Szakats - * source/rtl/console.c missed those hb_ prefixes... - -19990620-21:00 CET Viktor Szakats - * CGI.CH moved to /tests/working/ - -19990620-20:00 CET Viktor Szakats - * source/rtl/gtapi.c - hb_gtGetColorStr() fixed, so that is doesn't - require that the passed memory should be zero - terminated, checks for null pointer. - * source/rtl/console.c - 64 -> CLR_STRLEN - Added DISPBOX(), DISPBEGIN(), DISPEND(), DISPCOUNT(), - ISCOLOR(), NOSNOW() - HB_DEVOUT() cleaned up. - * source/rtl/gt/gtdos.c - source/rtl/gt/gtwin.c - Using manifest constants. - Cursors sizes in DOS made exactly compatible with Clipper. - Removed not Clipper compatible cursor type 5, changed - to NONE. - -19990620-22:29 Alexander Kresin - updated: - * source\hbpp\hbppmain.c - * source\hbpp\hbpp.c - * source\hbpp\harb.h - Fixed some problems with preprocessor - -19990620-15:50 CET Viktor Szakats - * hb_gtBox() rewritten. - It's now 100% Clipper compatible, fill character - supported, undocumented frame string padding supported. - Leaves the cursor at the same place as Clipper does. - Handling of empty or short frame string parameter - fixed. Bit slower. - source/rtl/gtapi.c - -19990620-02:40 Ryszard Glab - -* config/bin.cf -* config/lib.cfg -* config/rules.cf -* config/linux/gcc.cf -* config/win32/gcc.cf -* config/win32/msvc.cf -* config/dos/dir.cf -* config/dos/djgpp.cf -* config/dos/global.cf -* config/dos/install.cf -+ config/dos/watcom.cf - * added support for other compilers not compatible with gcc - (there were gcc switches hardcoded into common rules) - New compiler: Watcom C/C++ 10.0 - * changed rules for DJGPP - the Makefile can be used now to - create harbour with DJGPP. The makedos.env and makefile.dos - are obsolete now. - * cleared the use of '\' and '/' in make rules for DOS environment - * the make looks now for COMSPEC variable to locate the command.com - in DOS environment - * changed the rule for creating DJGPP library (archive) to use - script file instead of command line - there is a limit of 128 - characters that can be placed into command line in DOS - -+ include/hbpp.h - + new file with definition shared by the preprocessor and harbour.y - (needed to match the declaration of AddDefine function) - -* source/hbpp/harb.h - * changed to include the new hbpp.h file - -* source/compiler/harbour.y - * changed the declaration of yy_create_buffer to make it compatible - with C++ compilers - * added inclusion of hbpp.h (to keep C++ compilers happy with - AaddDefine function) - -* source/compiler/harbour.l - + added #pragma to suppress warnings of unreachable code when - compiled with Watcom C++ compiler - - -19990619-14:35 CET Matteo Baccan - * makefile.vc, source/hbpp/hbpp.c, source/hbpp/hbppint.c, - source/rtl/environ.c, source/rtl/files.c, source/rtl/gt/gtwin.c, - source/tools/hb_f.c - Patches to allow for succesful compilation with MS Visual C++ - -19990619-14:00 Ryszard Glab - -* tests/working/testcgi.prg -* tests/working/testinc.prg - * changed the names of included files into lowercase - -* include/extend.h - + added include - -* source/rtl/set.c - + files created by SET PRINTER TO or SET ALTERNATE TO have now - changed permissions to write/read by user on UNIX like OS - -19990619-12:22 Ryszard Glab - -* include/hbsetup.h - + added automatic definition of settings that can be used for OS specific code - OS_UNIX_COMPATIBLE -for UNIX like systems - OS_DOS_COMPATIBLE -for DOS like systems - -* source/rtl/console.c - + added calls for fgets instead of gets for GCC on UNIX-es - TODO: check if this change can be applied on DOS also - * changed CR/LF use to LF for GCC on UNIX-es - -* source/rtl/dir.c - * changed to use OS_UNIX_COMPATIBLE/OS_DOS_COMPATIBLE settings - -19990619-10:42 Ryszard Glab - -* tests/working/Makefile - * moved some files into BAD_PRG_SOURCES - -* tests/working/testid.prg - + added TODO comment because it core dumps if /dTEST is not passed - -19990619-09:49 CET Patrick Mast - * Updated build numbers - -19990619-09:40 CET Patrick Mast - * tests\working\hscript\hscript.prg - removed line 150 - -19990618-21:50 EDT David G. Holm - * makefile.icc - - genobj.c was moved to source/contrib - * source/compiler/harbour.y - - Added missing type overrides to OurMalloc() calls - * tests/working/scroll.prg - - Modified to use the preprocessor - -19990618-20:55 EDT David G. Holm - * source/rtl/dir.c - - Corrected #if test GNU C on Unix/Linux test to use && ! instead of || ! - in order to force DJGPP to use DOS functions instead of Unix functions - -19990619-00:52 Ryszard Glab - -* config/linux/gcc.cf - * added default gcc library libm - * added location of libm library (I have assumed /usr/lib) - -* source/include/hbsetup.h - + the order of static variables initialisation is not determined in - gcc on Linux. This requires the definition of HARBOUR_START_PROCEDURE - The dafault is 'MAIN' - -- tests/working/next.prg - - removed because it is contained in keywords.prg - -* tests/working/Makefile - -removed reference to next.prg - - -19990618-23:17 CET Patrick Mast - * Release of Build #27 - * version.h, updated build version - -19990618-19:39 CET Patrick Mast - * tests\working\hscript\bld32exe.bat - changed line 17 : echo ..\runner.obj >> b32.bc - because runner.obj is not in tests\working\hscript but in tests\working - -19990618-17:00 CET Viktor Szakats - * Fixed some GCC warnings in: - source/compiler/harbour.y - * Some left _parc()/_parni()/_parnl() prefixed with hb_ - source/rtl/dir.c - source/rtl/files.c - * Fixed PADR(), PADL(), PADC() when called with a width - less than the length of the string. - Submitted by Matthew Hamilton - source/rtl/strings.c - -19990618-13:40 Alexander Kresin - updated: - * source\hbpp\hbppmain.c - * source\hbpp\hbpp.c - * source\hbpp\table.c - Fixed some problems with preprocessor - -19990618-07:50 Ryszard Glab - -* source/compiler/harbour.y - + added deallocation of used structures - + added yy_strupr and yy_strdup functions to make sure that memory is - properly allocated - -* source/compiler/harbour.l - + added declaration of yy_strupr and yy_strdup functions and changed - calls for strupr and strdup to yy_strupr and yy_strdup respectively - -* include/hbsetup.h - + added operating system dependand settings - -+ config/linux/ - + added new directory with GNU MAKE files for GCC on Linux - You have to define: - HB_ARCHITECTURE = linux - HB_COMPILER = gcc - -* source/hbpp/hbppint.c - * added support for Watcom C/C++ compiler - -+ source/hbpp/makefile.wat - + makefile for Watcom C/C++ compiler - -+ source/compiler/makefile.wat - * changes to link hbpp library into Harbour executable - -* source/rtl/console.c -* source/rtl/dir.c -* source/rtl/files.c -* source/rtl/set.c - * changed files to make them compile with Watcom C/C++ and GCC on Linux - * removed PATH_SEPARATOR and replaced it with OS_PATH_DELIMITER - defined in hbsetup.h - -* source/contrib/genobj.c - * moved this file from source/tools since this is DOS specific code and - it is not needed for Harbour - -* source/tools/Makefile - - removed reference to genobj.c file - -* Harbour compiles fine on Linux now. However there is still some - suspicious code in source/rtl/dir.c and source/rtl/files.c files. - The runner.c is unsupported since it generates DOS specific code. - -19990617-20:49 PST Ron Pinkas - * compiler.h - added member cType to struct VAR - * harbour.y - added { iVarScope = VS_MEMVAR; } to PRIVATE, PUBLIC, and PARAMETERS statements to avoid errounous error: - "declaration follows executable statement" - added: AliasExp '=' Expression Crlf { /* TODO */ GenPCode1( _POP ); } - to statement definition to avoid parse error on M->Var = "Value" statments. - the _POP will balance the stack but the assignment is not implemented yet. - changed --iLine to iLine in yyerror() to correct errornous line numbers in parase error messages. - added check for null pointer on few references to pVars->szName - - * hbpp.c, hbpmain.c, hbpint.c - prefixed messages in all printf() with \n and postfixed with \n until modification to GenWarning() and GenError() - -19990617-18:55 EDT David G. Holm - * include/set.h - - SET DEBUG is numeric, not logical - * source/rtl/console.c - - Added support for SET MARGIN - * source/rtl/set.c - - Added documentation - - Converted HB_SET_DEBUG to numeric - - Added limits of 16 and 4096 to HB_SET_TYPEAHEAD - * tests/working/output.prg - - Removed ADDITIVE from SET PRINTER TO OUTPUT - - Added SET MARGIN TO 5 - -19990617-21:55 CET Eddie Runia - * source/rtl/set.c - __SETCENTURY in Symbol table instead of SETCENTURY - * tests/working/hscript/hscript.prg - Problem with comment after ; - Comment moved to allow for compilation - -19990617-13:00 EDT David G. Holm - * doc/transfrm.txt - - Updated to reflect use of SET DATE FORMAT and SET CENTURY for dates - - Added question regarding behaviour difference between Harbour and - Clipper for the @E date-related function - * source/hbpp/hbppint.c - - Removed ParseDefine("__HARBOUR__") - * source/hbpp/table.c - - Added __HARBOUR__ to aDefines table - * source/rtl/environ.c - - No #includes are allowed before the #ifdef __IBMCPP__ block - * source/rtl/set.c - - Renamed HB_SETCENTURY to HB___SETCENTURY - - Eliminated HB_SETFIXED - * tests/working/dates.prg - - Converted HB_SETCENTURY() to __SETCENTURY() - * tests/working/dates2.prg - - Converted HB_SETCENTURY() to __SETCENTURY() - * tests/working/empty.prg - - Converted HB_SETCENTURY() to __SETCENTURY() - * tests/working/teststr.prg - - Converted HB_SETFIXED() to SET (_SET_SETFIXED) - * tests/working/transfrm.prg - - Converted HB_SETCENTURY() to __SETCENTURY() - -Thu Jun 17 11:34:35 1999 Gonzalo A. Diethelm - - * source/Makefile: - * source/compiler/Makefile: - * source/hbpp/Makefile: - Now the hbpp preprocessor is compiled before the compiler, and it - generates a library. No stand-alone preprocessor is generated. The - compiler links against the new preprocessor library. - - * include/Makefile: - * tests/working/Makefile: - Updated the list of files. - - * include/compiler.h: - * include/ctoharb.h: - * include/dates.h: - * include/error.api: - * include/errorapi.h: - * include/extend.h: - * include/filesys.h: - * include/gtapi.h: - * include/hberrors.h: - * include/hbsetup.h: - * include/init.h: - * include/itemapi.h: - * include/pcode.h: - * include/set.h: - * include/types.h: - * include/version.h: - * source/compiler/fixflex.c: - * source/compiler/genobj32.c: - * source/compiler/harbour.l: - * source/compiler/harbour.y: - * source/hbpp/harb.h: - * source/hbpp/hbpp.c: - * source/rtl/asort.prg: - * source/rtl/descend.c: - * source/rtl/error.prg: - * source/rtl/errorsys.prg: - * source/rtl/hardcr.c: - * source/rtl/itemapi.c: - * source/rtl/mtran.c: - * source/rtl/objfunc.prg: - * source/rtl/tclass.prg: - * source/tools/asciisum.c: - * source/tools/ascpos.c: - * source/tools/atdiff.c: - * source/tools/chareven.c: - * source/tools/charmix.c: - * source/tools/charodd.c: - * source/tools/chrcount.c: - * source/tools/chrfirst.c: - * source/tools/chrtotal.c: - * source/tools/debug.c: - * source/tools/hb_f.c: - * source/tools/strasint.c: - * source/tools/strcount.c: - * source/tools/strcspn.c: - * source/tools/strdiff.c: - * source/tools/strexpan.c: - * source/tools/stringp.prg: - * source/tools/strleft.c: - * source/tools/strpbrk.c: - * source/tools/strright.c: - * source/vm/hvm.c: - * source/vm/initsymb.c: - Made sure all *.{h,c,ch,api,prg,l,y} files under include/ and - source/ have an RCS Id keyword. - Got rid of the RCS Log keyword on several files; this keyword - should never be placed in a source file. - Made sure all *.h files have a proper include guard. If the file - name is foo.h, the include guard is called FOO_H_, without a - leading underscore, to comply with ANSI rules. - -19990617-12:40 CET Eddie Runia - * source/rtl/dir.c - hb_chmod should be _chmod - * tests/working/round.prg - loop shortened to 100 (I thought the program has crashed, while testalling) - -19990617-12:20 CET Eddie Runia - * source/compiler/harbour.y - GetLocalVarPos : OurMalloc( sizeof(PVAR) ) should be sizeof(VAR) - -19990617-02:15 EDT David G. Holm - * include/extend.api - - Moved fixed memory functions to fm.api - + include/fm.api - - Fixed memory API functions (converts _x... to hb_x...) - + include/item.api - - Item API functions (converts _item... to hb_item..., etc.) - -19990617-02:00 EDT David G. Holm - All Extend API and GT API functions have been convert from _ to hb_ - * include/compiler.h - * include/errorapi.h - + include/extend.api - * include/extend.h - + include/gt.api - * include/gtapi.h - - include/harbclip.h - * include/types.h - * source/rtl/arrays.c - * source/rtl/classes.c - * source/rtl/codebloc.c - * source/rtl/console.c - * source/rtl/dates.c - * source/rtl/descend.c - * source/rtl/dir.c - * source/rtl/environ.c - * source/rtl/errorapi.c - * source/rtl/extend.c - * source/rtl/files.c - * source/rtl/gtapi.c - * source/rtl/hardcr.c - * source/rtl/itemapi.c - * source/rtl/math.c - * source/rtl/mtran.c - * source/rtl/set.c - * source/rtl/strings.c - * source/rtl/transfrm.c - * source/runner/runner.c - * source/tools/asciisum.c - * source/tools/ascpos.c - * source/tools/atdiff.c - * source/tools/chareven.c - * source/tools/charmix.c - * source/tools/charodd.c - * source/tools/chrcount.c - * source/tools/chrfirst.c - * source/tools/chrtotal.c - * source/tools/datesx.c - * source/tools/debug.c - * source/tools/hb_f.c - * source/tools/io.c - * source/tools/mathx.c - * source/tools/strcount.c - * source/tools/strcspn.c - * source/tools/strdiff.c - * source/tools/strexpan.c - * source/tools/stringsx.c - * source/tools/strleft.c - * source/tools/strpbrk.c - * source/tools/strright.c - * source/vm/dynsym.c - * source/vm/hvm.c - * tests/working/harbour.ini - * tests/working/runner.c - -19990617-00:10 EDT David G. Holm - * include/extend.h - - Finally noticed and removed the old Error API declarations - -19990617-00:00 EDT David G. Holm - * include/errorapi.h - - Added "#include " - * source/rtl/environ.c - - Added "#include - - Converted all _errFunctions to hb_errFunctions - * source/rtl/math.c - - Added missing _errFunction to hb_errFunction conversions - -19990616-23:30 EDT David G. Holm - * makefile.icc - - Added or corrected various include file dependencies - * include/error.api - - Moved all #defines to errorapi.h - - Added "#include " - - Added #defines to convert all _errFunctions to hb_errFunctions - + include/errorapi.h - - Added function declarations for all hb_errFunctions - - Moved all #defines from error.api and errorapi.c - * source/rtl/arrays.c - - Convert all _errFunctions to hb_errFunctions - * source/rtl/classes.c - - Convert all _errFunctions to hb_errFunctions - * source/rtl/dates.c - - Convert all _errFunctions to hb_errFunctions - * source/rtl/errorapi.c - - Convert all _errFunctions to hb_errFunctions - * source/rtl/math.c - - Convert all _errFunctions to hb_errFunctions - - Added ( char * ) override to _xgrab() call in HB_ROUND() - * source/rtl/set.c - - Convert all _errFunctions to hb_errFunctions - * source/rtl/strings.c - - Convert all _errFunctions to hb_errFunctions - * source/rtl/transfrm.c - - Convert all _errFunctions to hb_errFunctions - * source/vm/hvm.c - - Convert all _errFunctions to hb_errFunctions - -19990616-22:50 EDT David G. Holm - * source/hbpp/hbppint.c - - Added ParseDefine( "__HARBOUR__" ) to Hbpp_init() - * source/rtl/arrays.c - - Added missing symbols to symbol table - * source/rtl/console.c - - Added missing symbols to symbol table - * source/rtl/dates.c - - Added symbol table - * source/rtl/math.c - - Added HARBOUR HB_ROUND() function - * source/rtl/strings.c - - Added missing symbols to symbol table - * source/rtl/transfrm.c - - Added symbol table - * source/vm/initsymb.c - - Added calls to Dates__InitSymbols() and Transfrm__InitSymbols() - + tests/working/round.prg - - New function to test ROUND() function uses OUTSTD() to allow - easy checking of Harbour results against Clipper results - -19990616-21:40 CET Eddie Runia - * tests/working/dosshell.prg - new version added - -19990616-21:15 CET Matteo Baccan - * makefile.vc - correct updated version added - * source/vm/dynsym.c - NULL pointer assignment added - * source/rtl/environ.c - _WIN32 define added - - -19990616-13:45 EDT David G. Holm - * source/hbpp/hbppint.c - - Added extern declaration for strocpy() - -19990616-11:30 CET Eddie Runia - * source/rtl/console.c - Eject should be __Eject of course - * tests/working/dosshell.prg - With preprocessed statements - -19990616-13:12 Alexander Kresin - updated: - * source\compiler\harbour.y - Added description of /p switch to PrintUsage() - -19990616-11:19 Alexander Kresin - updated: - * source\hbpp\hbppmain.c - * source\hbpp\hbppint.c - * source\hbpp\hbpp.c - Fixed problems with preprocessor, mentioned by David G. Holm - -19990615-23:20 PST Ron Pinkas - * compiler.h - added member iUsed to struct VAR - * hberrors.h - added define of codeblock parameter not used warning - * harbour.y - removed PDECLARED_VAR struct definition - removed code to maintain FunVars list - added code to GetVarPos() to reflect use of declared variable - added logic to FixReturns() and CodeBlockEnd() to generate warnings on non used decalred vaiables - removed previous version of nonused declared variables warnings from FunDedf() and {Main} - -19990615-23:45 EDT David G. Holm - * makefile.icc - - Added tools\datesx, which is needed by runner - * tests/working/runner.c - - Added or corrected type overrides on 4 _xgrab() calls (for C++) - Compiles on OS/2, but gives "unsuported pcode opcode: 104" when used - - * ChangeLog - - Added comment to entry 19990615-12:30 EDT David G. Holm - about renaming two hb_ functions in source/rtl/console.c - * makefile.icc - - Build component parts of Harbour.exe separately - * source/hbpp/hbpp.c - - Added #ifdef block for IBM C++ compiler - - Added prototype for OpenInclude() - - Increased size of expreal array in ConvertPatterns from 4 to 5, - because it is being initialized from a zero terminated string - * source/hbpp/hbppint.c - - Added #ifdef block for IBM C++ compiler - * source/rtl/console.c - - I went overboard in tracking the printer position, because - Clipper doesn't make any adjustments for control characters sent - to the printer. But it does adjust the printer row and column when - QOUT() output goes to the printer, which is what I had missed. - * source/rtl/dates.c - - Changed hb_seconds() to hb__seconds(), because IBM C++ - librarian can't distinguish between HARBOUR HB_SECONDS(void) - and double hb_seconds(void) - -19990616-08:00 WIB Andi Jahja - + source\rtl\natmsg\msgia.c - Language module for Indonesian languange - ( First Asian ) - -19990615-23:00 CET Felipe Coury - + tests/working/hscript/bld32exe.bat; dir.hs; hb32.bat; hello.hs; - hscript.prg; makehs.prg; makehtm.prg; multiply.hs readme.txt - First release of hScript added - -19990615-21:00 CET Jose Lalin / Eddie Runia - + source/rtl/natmsg/msgbas.c - * source/rtl/msgxxx.c - * source/compiler/harbour.y - VarId ArrayIndex ':' and ObjectData ArrayIndex ':' syntax was incorrect - -19990615-12:30 EDT David G. Holm - * source/compiler/makefile.dos - - Integrated preprocessor into compiler - * source\hbpp\hbpp.c - - Added braces to avoid implicit else in ParseExpression() - * source/rtl/console.c - - Added HARBOUR HB_SETPOS() - - Improved printer position tracking - - Improved screen position tracking when not using GT API - - Renamed hb_maxrow() to hb_max_row() and hb_maxcol() to hb_max_col(), - because IBM C++ librarian can't distinguish between functions with - the same name that differ only by the return argument. - * source/rtl/files.c - - convert_create_flags no longer returns a value, so declare as void - * source/rtl/set.c - - Logical SET values can now use "ON" for .T. and "OFF" for .F. - * source/rtl/strcmp.c - - hb_stricmp does a case-insensitive compare even when not using a - library function. - * tests/working/output.prg - - Converted to use the preprocessor - -19990615-10:38 Alexander Kresin - removed: - - source\hbpp\harb.c - added: - + source\hbpp\hbppmain.c - + source\hbpp\hbppint.c - updated: - * source\hbpp\hbpp.c - * source\hbpp\table.c - * source\hbpp\makefile - * source\hbpp\makefile.b32 - * source\hbpp\makefile.b16 - * source\hbpp\buildgcc.bat - * source\compiler\harbour.l - * source\compiler\harbour.y - * makefile.b32 - This is the latest preprocessor version, it may be build now as - standalone or as integrated with compiler. - -19990615-08:30 Ryszard Glab - -* source/compiler/harbour.y - * added missing error message - -* source/compiler/harbour.l - * removed printf introducced for debugging purpose - -19990615-07:00 Ryszard Glab - -* source/compiler/harbour.y - * removed bug in CodeblockEnd (the names of local variables shoudn't - be released here) - -* source/compiler/harbour.l - * corrected line continnuation logic - -* include/hberrors.h - + added new error message - -* include/hbsetup.h - * removed unneccessary '*/' defined for Watcom compiler - -+ broken/linecont.prg - + new file to test if linne continnuation ';' is handled correctly - -19990614-15:40 EDT David G. Holm - * include/extend.h - - Added declaration for hb_stricmp() - * include/version.h - - Changed revision code to "b" - * source/rtl/classes.c - - Now uses hb_stricmp() instead of stricmp() - * source/rtl/console.c - - Now uses hb_stricmp() instead of stricmp() - * source/rtl/dates.c - - Fixed several bugs reported by Jose Lalin, who included - the appropriate fix for most of them. - * source/rtl/files.c - - Removed test code that was accidentally included in CVS - - Added default #define for O_BINARY - * source/rtl/set.c - - Now uses hb_stricmp() instead of stricmp() - - Added default #define for O_BINARY - * source/rtl/strcmp.c - - Added new hb_stricmp() function, because stricmp() is not - an ANSI C function. If stricmp() exists, it is used, else - if strcasecmp exists, then it is used, otherwise use byte - by byte comparision. - * tests/working/dates3.prg - - Added more test cases - -19990614 11:50 CET Eddie Runia - * source/compiler/harbour.y - help text changed - -19990613 23:23 CET Eddie Runia - * source/rtl/natmsg/msggal.c - forgot this one - * tests/working/cmphello.prg - Hm, I little bit quick this evening forgot the != 0 part :-) - -19990613 23:15 CET Eddie Runia - + source/rtl/natmsg/msg???.c - more languages added. - * source/rtl/natxxx.c - id. - -19990613 23:00 CET Eddie Runia - * source/rtl/environ.c - __Run() added for Borland and DJGPP - + tests/working/dosshell.prg - Only for DOS, OS/2 & Windows - + tests/working/cmphello.prg - This file compiles hello. Also usuable for Linux / Unix, if the system() - command functions on their compilers :-) - -19990613 16:35 CET Eddie Runia - * tests/working/strip.prg; tests/working/inherit.prg; - tests/working/dynobj.prg - Were also not transmitted. - -19990613 15:30 CET Eddie Runia - * source/tools/debug.c; source/tools/stringp.prg - Changes 1990612 08:00 were reverted ?? - -19990613 14:30 CET Eddie Runia - * source/rtl/arrays.c; source/rtl/classes.c; source/rtl/files.c; - source/rtl/console.c; source/rtl/dir.c; source/rtl/environ.c; - source/rtl/math.c; source/rtl/set.c; source/rtl/strings.c - InitSymbols added - * source/rtl/transfrm.c - Warnings eliminated - * source/vm/initsymb.c - calls to RTL functions added - * tests/working/run_exp.h - removed unnecessary references and sort alphabetically - -19990612 08:30 CET Matthew Hamilton - * tests/working/inifiles.prg - with ReadBool and WriteBool - -19990612 10:57 PST Ron Pinkas - * source/compiler/harbour.y - Added check on non used variables to be done at the end of source file so last function will be tested too. - -19990612-18:55 CET Eddie Runia - * source/rtl/files.c - One byte more allocated for fReadStr() - -19990612-17:00 CET Matthew Hamilton - * source/rtl/strings.c - Extended syntax for alltrim and rtrim - -19990612-14:10 CET Eddie Runia - * source/rtl/dir.c - month started with 0 (Jan). Harbour months start with 1. - * tests/working/dirtest.prg - output sorted alphabetically and case insensitive. - -19990612-13:45 CET Eddie Runia - * source/rtl/files.c - read-only file creation resolved. The permission should be passed as - the third parameter to open. - -19990612-11:22 CET Patrick Mast - * Release of Build #26 - * version.h, updated build version - + Included WhatsNew.txt - -19990612-08:30 CET Jose Lalin / Eddie Runia - * tests/working/testcgi.prg - New version uploaded. - ER : Changed HB_File -> File and Functions.cfm -> Function.cfm - + tests/working/list.txt, function.cfm - Referenced files added - -19990612-08:00 CET Eddie Runia - * tests/working/debugtst.prg, tests/working/clasinit.prg, - * tests/working/funcarr.prg, tests/working/objarr.prg, - * tests/working/objasign.prg - Reference to HBDebug() renamed to Debug() - * tests/working/run_exp.h, tests/working/runner.c - all reference now correct - * source/tools/debug.c - HB_Static -> HB___Static - * source/tools/stringp.prg - HBDebug() renamed to Debug() - - -Fri Jun 11 1999 19:35 PST Ron Pinkas - * source/compiler/harbour.y - Moved code to check non used declared variable from GenReturn() to FunDef() - Since Clipper function may have multiple RETURN statements - -Fri Jun 11 19:14:22 1999 Gonzalo A. Diethelm - - * include/Makefile: - * include/set.h: - * source/compiler/harbour.y: - * source/hbpp/harb.h: - * source/hbpp/hbpp.c: - * source/rtl/arrays.c: - * source/rtl/classes.c: - * source/rtl/console.c: - * source/rtl/dates.c: - * source/rtl/descend.c: - * source/rtl/dir.c: - * source/rtl/environ.c: - * source/rtl/files.c: - * source/rtl/hardcr.c: - * source/rtl/math.c: - * source/rtl/mtran.c: - * source/rtl/set.c: - * source/rtl/strings.c: - * source/rtl/transfrm.c: - * source/runner/run_exp.h: - * source/runner/runner.c: - * source/tools/asciisum.c: - * source/tools/ascpos.c: - * source/tools/atdiff.c: - * source/tools/chareven.c: - * source/tools/charmix.c: - * source/tools/charodd.c: - * source/tools/chrcount.c: - * source/tools/chrfirst.c: - * source/tools/chrtotal.c: - * source/tools/datesx.c: - * source/tools/debug.c: - * source/tools/hb_f.c: - * source/tools/io.c: - * source/tools/mathx.c: - * source/tools/strcount.c: - * source/tools/strcspn.c: - * source/tools/strdiff.c: - * source/tools/strexpan.c: - * source/tools/stringsx.c: - * source/tools/strleft.c: - * source/tools/strpbrk.c: - * source/tools/strright.c: - * source/vm/dynsym.c: - * source/vm/hvm.c: - * source/vm/initsymb.c: - * tests/working/Makefile: - * tests/working/dates.prg: - * tests/working/dates2.prg: - * tests/working/empty.prg: - * tests/working/filexist.prg: - * tests/working/inifiles.prg: - * tests/working/next.prg: - * tests/working/test_all.prg: - * tests/working/teststr.prg: - * tests/working/transfrm.prg: - When the compiler sees a function called FOO, it generates a call - to HB_FOO. This meant updating the code generation (with the help - of Eddie Runia) and updating all HARBOUR functions to prepend an - HB_ to each of them. I also made sure all of them where declared - in uppercase and had the signature HARBOUR HB_FOO(void). - I may have missed something. In particular, test testhbf.prg does - not work, but I wanted to commit this change anyway. - -Fri Jun 11 17:11:09 1999 Gonzalo A. Diethelm - - * config/bin.cf: - * config/dir.cf: - * config/global.cf: - * config/install.cf: - * config/lib.cf: - * config/rules.cf: - * config/test.cf: - * config/dos/dir.cf: - * config/dos/djgpp.cf: - * config/dos/global.cf: - * config/dos/install.cf: - * config/win32/dir.cf: - * config/win32/gcc.cf: - * config/win32/global.cf: - * config/win32/install.cf: - * config/win32/msvc.cf: - * config/win32/rules.cf: - Reorganized things in an attempt to make it clearer how to support - different platforms and compilers. Also added as much support as I - could for running the GNU-make build system under plain - COMMAND.COM (DOS and Win95), not only under bash. - -19990611-17:00 CET Matthew Hamiltion - * tests/working/inifiles.prg - new version installed - -19990610-23:40 EDT David G. Holm - * include/fileio.ch - - Corrected $Id: header - * include/filesys.api - - Corrected $Id: header - * include/filesys.h - - Corrected $Id: header - -19990610-23:35 EDT David G. Holm - * makefile.icc - - Added some missing source files - * source/rtl/files.c - - Put back '#include ' for __WATCOM__, '#include ' - for __BORLANDC__, and '#include ' for __IBMCPP__, after - removing them earlier while removing '#include ', which - isn't needed, because the DIRECTORY() function is in a separate - source file. The reason that I thought it was safe to remove them - was that I *thought* that I had recompiled with IBMCPP after I - recompiled with DJGPP, but it turned out I hadn't. I'm hoping that - I caught it before anybody extracted the bad version from CVS. - -19990610-22:35 EDT David G. Holm - + include/fileio.ch - - File API related flags - + include/filesys.api - - Converts from _fs... functions to hb_fs... functions - + include/filesys.h - - Declares all hb_fs... functions - * source/compiler/harbour.y - - Added missing type override to OurMalloc() call in LoopStart() - * source/rtl/files.c - - Added support for IBM C++ compiler for OS/2 - - All HARBOUR functions must have a void argument list - - Changed '#include ' to '#include ' - - Changed all _fs... functions to hb_fs... functions - - Changed hb_fsCreate to use open() instead of creat() - - Corrected and/or added last_error handling in all hb_fs... functions - - Corrected return parameter handling in a few hb_fs and HARBOUR functions - * source/tools/hb_f.c - - Removed extern declarations for _fs... functions - - Added '#include ' - - Added two missing type overrides on _xgrab() calls in HB_FUSE() - -19990610-18:05 EDT David G. Holm - * makefile.b16 - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - * makefile.b31 - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - * makefile.b32 - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - * makefile.icc - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - * makefile.vc - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - * config/c.cf - - Remove $(MV) command following $(YACC) command - * source/compiler/harbour.l - - Changed '#include "y_tab.h"' to '#include "harboury.h"' - * source/compiler/makefile.dos - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - * source/compiler/makefile.wat - - Changed all 'y_tab' to 'harboury' - - Changed all 'lexyy' to 'harbourl' - -19990610-11:40 EDT David G. Holm - + tests/working/makerunr.dos - - New make file to build RUNNER.EXE using DJGPP - * tests/working/runner.c - - Added 'static' to several forward declarations - + tests/working/runrdos.bat - - New batch file to build RUNNER.EXE using DJGPP - -19990610-09:30 CET Patrick Mast (Changes made by Jose Lalin) - * source/rtl/asort.prg - Resloved bug (Changed line 28 ) - -19990610-10:30 Alexander Kresin ( files posted by Marek Horodyski ) - + source/rtl/natmsg/msgpl852.c - + source/rtl/natmsg/msgplmaz.c - National language message files for Polish - -19990609-12:55 EDT David G. Holm - * source/rtl/files.c - - Set _fmode to O_BINARY before using creat(), - then restore to previous value afterwards - * source/tools/asciisum.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/ascpos.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/atdiff.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/chareven.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/charmix.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/charodd.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/chrcount.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/chrfirst.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/chrtotal.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/hb_f.c - - HARBOUR function names must be in upper case - * source/tools/strcount.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/strcspn.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/strdiff.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/strexpan.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/strleft.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/strpbrk.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * source/tools/strright.c - - HARBOUR function names must be in upper case - - HARBOUR functions must have a void argument list - * tests/working/spawn2.prg - - Added //NOTEST - * tests/working/test_all.prg - - Use HB_FILE instead of FILE - - Made compiler independent - - Added restart capability - - Renamed created batch file to TESTALL.BAT, so that it can be run - without having to include the .BAT extenstion. - -19990609-11:25 EDT David G. Holm - * source/rtl/set.c - - Removed "+ 1" in setting y_stop to default stop point, because it - caused _xgrab to allocate 1 byte too few when year was at end. - * tests/working/dates.prg - - Convert HB_SETCENTURY() test block to function and call it twice: - Once with date format "MM/DD/YYYY" and once with "YYYY/MM/DD". - -19990608-13:00 EDT David G. Holm - * source/rtl/files.c - - Changed "#if" for "#include " from "#if defined( - __GCC__) && !defined(__DJGPP__)" to just "#if defined(__CYGNUS__)" - * source/rtl/set.c - - Moved "#include " outside "#if defined(__GCC__) || - defined(__DJGPP__)" block, so that it is included for all compilers. - * source/rtl/strcmp.c - Added braces to "if( lLenFirst != lLenSecond ) /* Both empty ? */" - block to avoid an implicit else warning for the else clause for the - "if( hb_set.HB_SET_EXACT || bForceExact )" block. - * source/rtl/natmsg/msghu.c - Removed extra "/*" from inside "TODO:" comment block. - -19990608-20:00 Alexander Kresin - Implemented: #command, #xcommand, #translate, #xtranslate . - Some functions rewritten for a better functionality and readability. - Fixed some bugs. - Updated: - * source/hbpp/hbpp.c - * source/hbpp/harb.c - * source/hbpp/table.c - Removed: - - source/hbpp/a.prg - - source/hbpp/c.prg - - source/hbpp/example.ch - - source/hbpp/exam2.ch - -Tue Jun 08 09:22:40 1999 Gonzalo A. Diethelm - * source/rtl/set.c (open_handle): - Misplaced parenthesis when callin open() caused S_IWRITE to never - be seen by open(). - -19990608-13:25 CET Eddie Runia - * source/vm/initsymb.c - SECONDS added - * tests/working/runner.c - _FILEs removed. - * tests/working/run_exp.h - HB_SETFIXED added - -19990608-11:45 CET Eddie Runia - * source/tools/debug.c - even though it makes no difference hb_arrayClone is used in statics(), - since it will no longer allow modification of the static table - * source/rtl/classes.c - class wrap bug eliminated - * source/rtl/files.c; source/rtl/set.c - temporary patches with regard to sys/stat.h removed - -Mon Jun 07 20:42:04 1999 Gonzalo A. Diethelm - - * config/dir.cf: - * config/global.cf: - * config/install.cf: - Made a mistake in my previous commit. This one works. - -Mon Jun 07 20:20:32 1999 Gonzalo A. Diethelm - * config/bin.cf: - * config/c.cf: - * config/dir.cf: - * config/global.cf: - * config/install.cf: - * config/lib.cf: - * config/test.cf: - * config/win32/gcc.cf: - * config/win32/global.cf: - * config/win32/msvc.cf: - * config/win32/rules.cf: - Updated rules so they work under WinNT CMD.EXE without any Unix - utilities installed. - -19990607-19:45 EDT David G. Holm - * include/extend.h - - Moved "#include " to include/types.h - - Removed "#define FILE" and "#undef FILE", which are no longer - needed, because HARBOUR FILE() was renamed to HARBOUR HB_FILE() - some time ago. - * include/types.h - - Moved "#include " from include/extend.h in order to - avoid having to require that extend.h be included before set.h - * source/rtl/dates.c - - HARBOUR SECONDS() and support module hb_seconds() courtesy of - Jose Lalin . I removed the use of clock() - from hb_time(), because clock() returns the number of clock - ticks since the program started, which has no relationship to - when the seconds of the real time clock roll over. This means - that SECONDS() will always return whole seconds instead of - seconds and hundredths. I also provided an alternate hb_seconds - implementation for DOS platforms using gettime() instead of - time() and localtime(), because gettime() includes 1/100ths. - * source/rtl/files.c - - Don't "#include " if compiling with DJGPP. - + tests/working/seconds.prg - - New test program for SECONDS(). - -19990607-20:30 CET Eddie Runia - * makefile.b32 - change little bug (hb.c) - -Mon Jun 07 12:58:17 1999 Gonzalo A. Diethelm - - * source/hbpp/Makefile: - * source/hbpp/harb.c: - * source/hbpp/harb.h: - * source/hbpp/hbpp.c: - * source/hbpp/table.c: - Added a GNU-make Makefile to this directory. - Solved portability problems under gcc. - Got rid of a few warnings and unused variables. - - * source/rtl/msgxxx.c: - This file includes the correct message file based on the value of - HB_LANGUAGE, whose default is UK. - - * source/rtl/classes.c: - * source/rtl/console.c: - * source/rtl/dir.c: - * source/rtl/files.c: - * source/rtl/set.c: - Solved portability problems under gcc. - Got rid of a few warnings and unused variables. - - * source/rtl/dir.c: - This file had definite bugs, see difference between r1.4 and r1.3 - for more details. - - * source/rtl/natmsg/msgdut.c: - * source/rtl/natmsg/msggal.c: - * source/rtl/natmsg/msgger.c: - * source/rtl/natmsg/msghu.c: - * source/rtl/natmsg/msgpor.c: - * source/rtl/natmsg/msgr1251.c: - * source/rtl/natmsg/msgru866.c: - * source/rtl/natmsg/msgspa.c: - * source/rtl/natmsg/msguk.c: - Added Id keywords. - - * config/bin.cf: - * config/global.cf: - * config/header.cf: - * config/lib.cf: - * config/prg.cf: - * config/test.cf: - * config/win32/rules.cf: - Use GRANDP to refer to ../../ and change environment variables to - start with a HB_. - - * config/win32/rules.cf: - Added a -I$(TOP) to the list of paths for included files in the - rule to compile a PRG file with Harbour. - - * include/Makefile: - * source/Makefile: - * source/rtl/Makefile: - * source/tools/Makefile: - * tests/working/Makefile: - Updated the file list. - -19990607-15:15 CET Matthew Hamilton - * tests/working/inifiles.prg - -19990607-14:50 CET Eddie Runia - * source/vm/hvm.c - Unreleased error block - -19990607-12:50 CET Eddie Runia - * makefile.b32, build32.bat - changed to split the terminal driver into seperate makefile for Windows - support - + terminal.b32 - split terminal driver - * tests/working/bld32w.bat - windows build file uses echo now - -19990607-03:05 PST Ron Pinkas - * include/hberrors.h - added WARN_VAR_NOT_USED - * source/compiler/harbour.y - added warning message "Variable \'%s\' declared but not used in function: %s" - added linked list FunVars to record the usage of declared variables - added logic to maintain FunVars - added logic to check usage as per FunVars in GenReturn() - -19990607-09:40 Alexander Kresin - + source/rtl/natmsg/msgru866.c - + source/rtl/natmsg/msgr1251.c - National language message files for Russian - -19990606-16:42 PST Ron Pinkas - * include/hberrors.h - added define WARN_AMBIGUOUS_VAR 1 - added declaration for new function GenWarning() - * source/compiler/harbour.y - added _szWarnings[] to include parse warning messages - added function GenWarning() - added /w compiler switch to enable warnings - added warning message for ambiguous vars - -19990606-20:20 CET Viktor Szakats - - * source/rtl/dir.c - - HB_CHARUPPER() parameters were wrong. - HB_CHARUPPER() converted to toupper() - The attribute parameter conversion to uppercase was buggy. - -19990606-15:20 CET Eddie Runia - * source/compiler/harbour.y - - : is now functioning ! - where is +=, -=, *=, /=, %=, ^= - and increment / decrement for : - + tests/working/objasign.prg - test program used - -19990606-13:50 CET Eddie Runia - * source/rtl/errorapi.c - _ErrNew() stack.Return itself was returned instead of a copy. - _ErrRelease() error object is released - * source/rtl/classes.c - SetData() & SetClassData() return the value set - * source/compiler/harbour.y - - : := can now be used inside expressions (codeblocks) - - MessageFix() has been added to fix the generated message in case of - assignments - - type of ObjectData is now a string containing the (last) message. - global _lMessageFix will contain a pointer to the location which should - be fixed. - * tests/working/inherit.prg - test program for 'enhanced' syntax. - -19990606-11:00 CET Eddie Runia - * source/rtl/arrays.c; source/vm/initsymb.c; tests/working/run_exp.h - Arrays converted to init symbols - -19990606-10:15 CET Jose Lalin (upload Eddie Runia) - + source/rtl/hardcr.c; source/rtl/mtran.c - new ! - * source/vm/initsymb.c - added initsymbols call - * makefile.* - files added - -19990605-20:05 EST Les. Griffith - * some fixes to dir.c for gcc and suggestions by Viktor Szakats - need replacement for non gcc supported functions ltoa() and strrev() - -19990606-00:30 CET Eddie Runia - * tests/working/hardcr.prg; tests/working/mtran.prg - Uploaded. Matching .C untested and missing for now. - Just wanted #100 & #101 in ! - -19990605-11:12 EST Les. Griffith - * removed DIRECTORY() from files.c - * added rtl\dir.c - * added tests working dirtest.prg - * changed makefile.b32 to deal with dir.c dir.obj - -19990604-16:20 CET Eddie Runia - * source/vm/initsymb.c; tests/working/run_exp.h - CDOW/ CMONTH were missing + Removal duplicate symbols from run_exp - -19990604-15:30 CET Patrick Mast - * Release of Build #25 - -19990604-14:14 CET Patrick Mast - * source/rtl/set.c - Removed #include - * source/rtl/files.c - Removed #include - * source/compiler/harbour.y - Put in the build Nr. - -19990604-14:24 CET Viktor Szakats (upload Eddie Runia) - + source/rtl/natmsg/msghu.c - National language message file for Hungarian - -19990604-13:56 CET Thomas Braun (upload Eddie Runia) - + source/rtl/natmsg/msgger.c - National language message file for German - -19990604-11:50 CET Eddie Runia - * source/compiler/harbour.y - support for the following syntax added : - :[] - :()[] - - and increment / decrement for ()[], - :[] and :()[] - * source/rtl/natmsg/msgdut.c - Sunday is the first day ofcourse - + tests/working/objarr.prg - tests for object array syntax - * tests/working/funcarr.prg - tests for function array syntax (inc/dec added) - -19990604-23:15 EDT David G. Holm - + include/version.h - - New file to specify version info. A future revision will be - to specify where to find the version information, so that it - may be pulled from other modules and/or the CVS. - * source/rtl/environ.c - - Modified HARBOUR OS() function to work with DJGPP. - - Modified HARBOUR VERSION() function to format the version info - similar to how Clipper does it (version, build, and date). - * source/rtl/set.c - - Added #include for DJGPP. - * tests/working/makefile.dos - - Added compiler and library to the PRG to C dependency. - + tests/working/version.prg - - Added new module to test the VERSION function. - -19990604-22:07 EST Les. Griffith - added logic for msguk.c and msguk.obj to makefile.b32 - -19990604-21:50 EDT David G. Holm - * builddos.bat - - Pass command line arguments to make processor, so that we can build and - clean in one step by running "BUILDDOS ALL CLEAN" instead of having to - modify the builddos batch file. - -19990604-21:50 EDT David G. Holm - * makefile.icc - - Added new Harbour modules - * source/rtl/classes.c - - C++ requires functions with no arguments to be protyped as void - * source/rtl/dates.c - - C++ requires that arguments be prototyped (hb_cmonth and hb_cdow) - * source/vm/initsymb.c - - C++ needs prototypes for external initialization functions - -19990604-20:20 EDT David G. Holm - Thanks go to Jose Lalin for CDOW() and CMONTH() (and - their support functions), msggal.c, msgspa.c, and msguk.c and cdow.prg, - to Felipe G. Coury for msgpor.c, and to Eddie - Runia for msgdut.c - * makefile.dos - - Added source/rtl/natmsg - * source/rtl/console.c - - Separated screen and printer coordinates - - Moved HARBOUR ROW() and HARBOUR COL() from gtapi.c - - Added rudimentary screen positioning when not using the GT API - * source/rtl/dates.c - - Added HARBOUR CDOW(), HARBOUR CMONTH(), and support functions - * source/rtl/gtapi.c - - Moved HARBOUR ROW() and HARBOUR COL() to console.c - + source/rtl/natmsg/makefile.dos - - New DJGPP makefile for national language message files - Note: Only msguk goes into the library - + source/rtl/natmsg/msgdut.c - - National language message file for Dutch - + source/rtl/natmsg/msggal.c - - National language message file for Galician - + source/rtl/natmsg/msgpor.c - - National language message file for Portugese - + source/rtl/natmsg/msgspa.c - - National language message file for Spanish - + source/rtl/natmsg/msguk.c - - National language message file for English - + tests/working/cdow.prg - - Test program for CDOW() and CMONTH() - -19990605-00:22 CET Eddie Runia - * tests/broken/exittest.prg; tests/broken/codebloc.prg - removed, since they work ! - * tests/working/exittest.prg; tests/working/codebl.prg - added (renamed codebloc to avoid conflict) - -19990605-00:00 CET Eddie Runia - * tests/working/runner.c - PITEM -> PHB_ITEM - -19990604-17:35 EDT David G. Holm - * include/hbsetup.h - - Added USE_GTAPI, which defaults to NOT being defined - -19990604-17:00 EDT David G. Holm - In each of the following modules, all occurrences of ITEM and PITEM - were changed to HB_ITEM and PHB_ITEM. Any additional changes are - listed following the applicable modules: - * include/ctoharb.h - * include/extend.h - * include/itemapi.h - - Also added #define ITEM PHB_ITEM - * source/rtl/arrays.c - * source/rtl/classes.c - * source/rtl/codebloc.c - * source/rtl/console.c - * source/rtl/dates.c - * source/rtl/descend.c - * source/rtl/errorapi.c - * source/rtl/extend.c - * source/rtl/files.c - * source/rtl/itemapi.c - * source/rtl/math.c - * source/rtl/set.c - * source/rtl/strcmp.c - * source/rtl/strings.c - * source/rtl/transfrm.c - * source/tools/debug.c - * source/tools/hb_f.c - * source/tools/io.c - * source/tools/stringsx.c - * source/vm/dynsym.c - * source/vm/hvm.c - -19990604-13:05 EDT David G. Holm - * source/vm/hvm.c - - Corrected ForTest() to use the correct decimal count - -19990604-12:35 EDT David G. Holm - * source/rtl/dates.c - - Corrected HARBOUR DOW() to use _retni() instead of _retnl() - -19990604-12:30 EDT David G. Holm - * source/vm/hvm.c - - Corrected HARBOUR ERRORLEVEL() to not change the error level if - it is called with no parameters. - -19990604-18:05 CET Jose Lalin (upload Eddie Runia) - * makefile.* - descend added - * source/rtl/descend.c; tests/working/descend.prg; source/vm/initsymb.c - descend added - -19990604-12:00 EDT David G. Holm - * build31.bat - - Removed the non-portable fully qualified path that somebody added - to the make command instead of adding to their PATH statement. - -19990604-17:15 CET Eddie Runia - * source/compiler/harbour.y; source/vm/hvm.c; include/pcode.h; - tests/working/funcarr.prg - Syntax for : - [] added - -19990604-11:45 CET Eddie Runia - * source/rtl/classes.c - _GetClassName() called by ClassName() - -19990603-00:00 PST Ron Pinkas - * hvm.c - - Reverted VitualMachine() to use case switch rather than direct dynamic call for processing pcodes, - since such optimization already done by c compiler. - -19990604-02:22 Ryszard Glab - -* source/compiler/harbour.y - * corrected "unmatched END" error if BEGIN/END SEQUENCE was used - + LOOP now loops to the begginig of FOR/NEXT or WHILE statement - + EXIT now exits from FOR/NEXT or WHILE statement - -* source/compiler/harbour.l - * corrected support for the following keywords: - IF, IIF (90 % compatible with Clipper), IN, INCLUDE, INIT, LOCAL, LOOP - -* source/vm/hvm.c - local variables passed by reference in a codeblock are handled - correctly now - -* include/hberrors.h - + added new error message - -* tests/working/keywords.prg - + added some new keywords for compatibility testing - -+ tests/working/keywords.ch - + new file for INCLUDE testing - -+ doc/codebloc.txt - + new file with a short description of a codeblock implementation - - -19990603-19:00 EDT David G. Holm - Thanks go to Ryszard Glab - * makefile.dos - - Added -r to two make lines for source/compiler - -19990604-00:25 CET Eddie Runia - * source/rtl/classes.c - With _GetClassName(); optimized; more comments; more clean-up - -19990603-21:50 CET Eddie Runia - * source/rtl/classes.c; tests/working/run_exp.h - OBJFUNC.PRG added to init symbols scheme. - -19990603-20:20 CET Eddie Runia - * source/rtl/classes.c; source/vm/initsymb.c; tests/working/run_exp.h - First implementation of init symbols scheme. - -19990603-14:00 EDT David G. Holm - * makefile.dos - - Even with the -y in the source/compiler/makefile.dos, when I - used builddos, which uses makefile.dos, instead of a temporary - replacement batch file that I used before I figured out why I - was getting bad command errors when running builddos (it turned - out that I needed to add the DJGPP\bin directory to the path in - C:\WINNT\SYSTEM32\AUTOEXEC.NT), it moved y_tab.c to harbour.c! - So I converted everything in makefile.dos from upper case to - lower case and it stopped doing that. So i also added the missing - source/tools directory, so that everything gets build. - * source/compiler/harbour.l - - Changed yylval.string = ')'; to yylval.string = strdup( ")" ); - - Changed yylval.string = ']'; to yylval.string = strdup( "]" ); - -19990603-13:30 EDT David G. Holm - Thanks go to Jose Lalin - * source/rtl/dates.c - - localtime() returns tm_year with 1900 already subtracted from it, - so it is necessary to add 1900 back when formatting the date. - -19990603-18:30 CET Eddie Runia - * source/rtl/classes.c; source/rtl/tclass.prg; source/rtl/arrays.c - * include/ctoharb.h; include/extend.h - New class module added with lots of commands and alphabetic order. - aClone() no longer necessary for super casting - ctoharb.h updated so the forward declarations could be removed. - -19990603-16:00 CET Eddie Runia - * source/rtl/classes.c - wLimit bug resolved - -19990603-15:25 CET Eddie Runia - * source/compiler/harbour.y - ()[] syntax added - -19990603-13:10 CET Eddie Runia - * source/rtl/classes.c - small optimalization - -19990603-11:40 CET Eddie Runia - * source/compiler/harbour.y - :[] := syntax added - * build32.bat - runner build from batch file - -19990603-00:00 PST Ron Pinkas - * hvm.c - - Changed VitualMachine() to use direct dynamic call for processing pcodes rather tha the switch loop. - -19990603-00:30 EDT David G. Holm - * makedos.env - - Removed HARBOURDIR definition to a batch file - -19990602-23:30 EDT David G. Holm - * source/compiler/makefile.dos - - bison needs -y option so that it won't replace harbour.c with y_tab.c - when building Harbour with DJGPP - * source/rtl/console.c - - Moved MAXROW() and MAXCOL() from gtapi.c and added #ifdef USE_GTAPI - in each. The #else condition defines the screen as 24x80 (23, 79) - * source/rtl/gtapi.c - - Moved MAXROW() and MAXCOL() to console.c in order to not include the - GT API when it isn't wanted (such as when building with DJGPP) - -19990602-20:45 EDT David G. Holm - * source/rtl/environ.c - - Modified #ifdef _Windows section to return "Windows" - instead of "Windows 95/98". - -19990602-18:20 EDT David G. Holm - * source/rtl/strings.c - - Changed if( lLen > lSubLen ) to if( lLen >= lSubLen ) - Reported by "Alexander S.Kresin" - -19990602-16:00 EDT David G. Holm - + tests/broken/codebloc.prg - - Output doesn't match Clipper. Clipper outputs NIL and 42, - (both 5.2e and 5.3b), but Harbour outputs NIL and NIL (as - tested with Harbour built using Borland C++ 3.1 using the - build31.bat and makefile.b31 files) - -19990602-22:10 CET Eddie Runia - * tests/working/run_exp.h - gtApi and new console functions added - -19990602-16:00 EDT David G. Holm - * source/rtl/console.c - - OS/2 requires that stdout and stderr be flushed in order to stay - synchronized with the GT API - * source/rtl/gt/gtos2.c - - The gtPuts function was using strlen() on the text buffer instead - of using the text length parameter - -19990602-14:50 EDT David G. Holm - * makefile.b31 - - Added itemapi.h as dependancy for arrays.obj - * makefile.icc - - Added new GT string modules - - Added Harbour include file dependencies to library sources - * source/rtl/arrays.c - - Added #include , which is needed by C++ compilers - * source/rtl/console.c - - Removed two trailing semicolons from #endif directives - * source/rtl/gtapi.c - - When adding HARBOUR MaxRow() and MaxCol() earlier, I forgot the - rule that Harbour functions may not use any lower case letters - - Added end comment for comment block around color tests in order - to avoid having nested comments - * source/tools/chareven.c - - Added (char *) type conversion to _xgrab() function call - * source/tools/charmix.c - - Added (char *) type conversion to _xgrab() function call - * source/tools/charodd.c - - Added (char *) type conversion to _xgrab() function call - * source/tools/strexpan.c - - Added (char *) type conversion to _xgrab() function call - - -19990602-13:05 EDT David G. Holm - * makefile.b31 - - Added the new gt functions (which have nothing to do with the GT API) - - All Harbour library source modules are now dependent upon the proper - include files. - * source/rtl/console.c - - The GT API and dev_row, dev_col synchronization now also includes - OUTSTD() and OUTERR(). - * source/rtl/gtapi.c - - Corrected error in column overflow handling in _gtWrite() - -19990602-18:40 CET Eddie Runia - * tests/working/run_exp.h - gt_string functions added - -19990602-11:35 EDT David G. Holm - * source/rtl/console.c - - Added HARBOUR SCROLL() - * source/rtl/gtapi.c - - Added HARBOUR MAXROW() and MAXCOL() - + tests/working/scroll.prg - - New test module to demonstrate scrolling - -19990602-12:00 WIB Andi Jahja - + gt.b32 - make file for gt functions - + bldgt32.bat - batch file for hbgt.lib - * tests\working\bld32exe.bat - to include hbgt.lib - * tests\working\testgt.prg - test program for hbgt.lib - + some function from PD gt.lib ported to Harbour : - - source\tools\ascpos.c - - source\tools\atdiff.c - - source\tools\chareven.c - - source\tools\charodd.c - - source\tools\chrcount.c - - source\tools\chrtotal.c - - source\tools\charmix.c - - source\tools\asciisum.c - - source\tools\chrfirst.c - - source\tools\strasint.c - - source\tools\strcount.c - - source\tools\strcspn.c - - source\tools\strdiff.c - - source\tools\strexpan.c - - source\tools\strleft.c - - source\tools\strpbrk.c - - source\tools\strright.c - + doc\vm.txt - description of Harbour Virtual Machine - -19990602-12:30 CET Eddie Runia - * source/rtl/arrays.c - memory leakage in arrayClone plugged - -19990602-09:30 Alexander Kresin - Updated: - * source/hbpp/hbpp.c - main preprocessor file - * source/hbpp/c.prg - sample file - * source/hbpp/makefile.b16 - * source/hbpp/makefile.b32 - Added: - * source/hbpp/buildgcc.bat - * source/hbpp/table.c - -19990601-23:50 EDT David G. Holm - * makefile.b31 - - Made progress on GT API, so put USE_GTAPI back in as default. - * source/rtl/console.c - - Cleaned up synchronization between GT API and dev_row, dev_col - * source/rtl/gtapi.c - - Initialize starting row and column to 0 instead of 1 - - _gtMaxCol() and _gtMaxRow() are 0-based in Clipper, so subtract 1 - from the device width and height - - Removed call to strlen() in _gtSave(), because Clipper does not appear - to require the screen buffer to be initialized, just allocated - - Changed _gtWrite() to deal with writing multiple rows of text - - Wrote _gtScroll(), which is needed by _gtWritePos() and _gtWrite(). - -19990601-21:35 CET Eddie Runia - * tests/working/multinh.prg, source/rtl/classes.c, source/rtl/tclass.prg - first step to multiple inheritance - -19990601-18:15 CET Eddie Runia - * tests/working/inherit.prg, source/rtl/classes.c, source/rtl/tclass.prg - version correct release (+ super ) - -19990601-12:00 EDT David G. Holm - * makefile.b31 - - Ran into problems using GT API with tests\working\mathtest, so removed - USE_GTAPI from default use. - * source/compiler/harbour.y - - Added missing third parameter (a copy of the first one) to the comment - section of the generated C pcode for _PUSHDOUBLE. - -19990601-12:15 CET Eddie Runia - * tests/working/inifiles.prg - new Mab version installed - * tests/working/inherit.prg, source/rtl/classes.c - stackfree() bug disappeared (??) after using itemapi in classes.c - -19990601-09:50 CET Eddie Runia - * include/cgi.ch, tests/working/testcgi.prg - CGI test program added - * tests/working/run_exp.h - GetEnv() added - -19990531-23:05 CET Eddie Runia - * source/compiler/harbour.y - determination of symbol scope now correct. - -19990531-21:45 CET Eddie Runia - * tests/working/inherit.prg - newer test program. reported crash was due to static functions ? - * source/rtl/classes.c - some small improvements - -19990531-16:35 CET Matthew Hamilton (upload by Eddie Runia) - * tests/working/inifiles.prg - version 2 which creates harbour.new - -19990531-14:30 CET Matthew Hamilton (upload by Eddie Runia) - * tests/working/harbour.ini, tests/working/inifiles.prg - added - -19990531-13:20 CET Eddie Runia - * source/rtl/classes.c; source/rtl/tclass.prg - better version of inheritance - * tests/working/inherit.prg - some minor changes - -19990531-10:15 CET Felipe G. Coury (upload Eddie Runia) - * tests/working/testhtml.prg - beautiful !! - -19990530-23:05 CET Eddie Runia - * source/rtl/objfunc.prg - since aEval has been clean for a long time, it was time to use it ! - -19990530-21:30 CET Eddie Runia - * source/rtl/classes.c; source/rtl/tclass.prg - initializer and release ready for inheritance - * tests/working/inherit.prg - init test added - -19990530-12:12 EST Les. Griffith - * added logic for hb_file in files.c - * added test filexist.prg to test hb_file() in tests working - -19990530-17:30 CET Eddie Runia - * source/rtl/files.c - fixed 0x00 byte handling of fReadStr - * tests/working/readhrb.prg - now a Harbour program - * tests/working/readhrb.lnk - removed. No longer necessary - -19990530-11:18 EST Les. Griffith - * added logic for _fscommit in files.c - -19990530-14:00 CET Eddie Runia - * source/rtl/classes.c; source/rtl/tclass.prg - first step to inheritage - * tests/working/inherit.prg - test program - -19990530-13:15 CET Eddie Runia - * source/rtl/classes.c - message <> not found bug finally removed - -19990530-00:25 EST Les. Griffith - * add logic for _fslock in files.c - -19990529-23:46 Alexander Kresin - Preprocessor: implementation of #command almost complete - Updated: - * source/hbpp/hbpp.c - main preprocessor file - * source/hbpp/harb.c - * source/hbpp/c.prg - sample file -19990529-19:45 CET Eddie Runia - * tests/working/run_exp.h - hb_f* functions added - -19990529-10:04 EST Les Griffith - * Files.c defined out scandir on djgpp - * Set.c added include errno.h for djgpp - * makefile.dos remaked out tests\working makefile.dos logic - * created hbdos.bat in tests\working for gcc creation of exes - -19990529-15:00 CET Eddie Runia - * source/rtl/set.c - small correction in ReleaseSets() - -19990528-14:30 EST David G. Holm - * source/rtl/console.c - - NIL ouptuts "NIL", just like it used to before I removed it after - running some tests with Clipper, which turned out to be flawed. - - Improved link between GT API screen position and stdout/stderr - screen position. - -19990528-23:15 WIB Andi Jahja - * source/tools/hb_f.c - - add hb_fselect - - + tests/working/testsel.prg - test program for hb_fselect() - -19990529-10:11 EST Les Griffith - * added both builddos.bat and makefile.dos for djgpp dos enviroment - -19990528-21:00 WIB Andi Jahja - * makefile.b32 - modified to include hb_f.c in harbour.lib - - + source/tools/hb_f.c - nanforum ft_f*() clones - - hb_fuse - - hb_frecno - - hb_flastrec - - hb_fgotop - - hb_fgobottom - - hb_fgoto - - hb_feof - - hb_freadln - - hb_fskip - - + tests/working/testhbf.prg - - Test program for hb_f*() routines - -19990527-22:06 EST Les Griffith - * changed iotest.prg to work without and exit clause - -19990527-21:57 EST Les Griffith - * fix to gtwin.c for duplicate function gtwherex 2nd one should be - gtwherey - -19990527-18:00 EST David G. Holm - * makefile.icc - - Added missing modules - - Modified to build console with USE_GTAPI - - Modified to put console and gtos2 into terminal library - * source/rtl/console.c - - Had row,col and y,x reversed in InitializeConsole() - * source/rtl/gt/gtdos.c - - Had row,col and y,x reversed in gtWhereX() and gtWhereY() - * tests/working/biccexe.cmd - - Include new terminal library - -19990527-17:25 EST David G. Holm - * makefile.b31 - - Added -DUSE_GTAPI as standard compiler option - * source/rtl/console.c - - Added #ifdef USE_GTAPI to allow compiling without using the GT API - -19990527-14:15 EST David G. Holm - * makefile.b31 - - Added gtdos to terminal library - * include/ctoharb.h - - Added word wDec parameter to PushDouble prototype (needed by C++ compilers) - * include/gtapi.h - - Added CVS ID - - Added gtWhereX() - - Added gtWhereY() - * source/rtl/console.c - - Added GT API support - - Added InitializeConsole() to initialize GT API and device screen position - - Added HARBOUR PROW(), PCOL(), and SETPRC() - - Synchronize dev_row and dev_col with GT API screen position - * source/rtl/files.c - - Borland support now takes into account that older compiler versions - don't have the POSIX S_ flags. - * source/rtl/gtapi.c - - Added CVS ID - - Changed #include to #include - - Modified _gtWriteCon() to process control characters - * source/rtl/set.c - - Added default of "PRN" for HB_SET_PRINTFILE - - If SET (_SET_DEVCE, "PRINTER") and printer file not open, then open it - * source/rtl/transfrm.c - - Added use of wDec parameter in calls to PushDouble() - * source/rtl/gt/gtdos.c - - Added CVS ID - - Added gtWhereX() - - Added gtWhereY() - - Removed screen coordinate adjustments (i.e., - 1), because - Clipper (and therefore Harbour) screen origin is (0,0) - * source/rtl/gt/gtos2.c - - Added CVS ID - - Added gtWhereX() - - Added gtWhereY() - - Removed screen coordinate adjustments (i.e., - 1), because - Clipper (and therefore Harbour) screen origin is (0,0) - - Note: Still needs some work - doesn't match output from gtdos.c - * source/rtl/gt/gtwin.c - - Added CVS ID - - Added gtWhereX() - - Added gtWhereY() - - Removed screen coordinate adjustments (i.e., - 1), because - Clipper (and therefore Harbour) screen origin is (0,0) - - Note: Needs to be tested, because I don't have a Windows compiler - * source/rtl/gt/gtxxx.c - - Added CVS ID - - Added gtWhereX() - - Added gtWhereY() - * source/vm/hvm.c - - Added call to InitializeConsole() - - Added prototypes for InitializeConsole() and InitSymbolTable() for C++ compilers - -19990527-19:50 CET Eddie Runia - * source/rtl/gt/gtdos.c, source/rtl/gt/gtwin.c, source/rtl/gtapi.c - minor changes - * makefile.b32 - should be correct now. /* QUESTION : Can anybody do this more the others - as well */ - * tests/working/runner.c run_exp.h - 'DOW()' added to export list - -19990527-12:15 CET Eddie Runia - * tests/working/strip.prg - slight modification - * source/rtl/classes.c - Problem with DynSym (??). Quick fix added to classes.c to stop - message '' not implemented in class '' - -19990527-08:45 CET Eddie Runia - * makefile.b32 - gtdos added - * source/rtl/gt/gtdos.c; include/gtapi.h; tests/working/run_exp.h; - source/rtl/console.c - Minor changes to get it working - -19990527-00:14 Les Griffith - * moved gtos2.c gtwin.c gtdos.c gtxxx.c to source\rtl\gt - at Matthew Hamilton suggestion - -19990526-22:53 Les Griffith - * added Bil Simser's gtapi.h to include - and the c files to source\rtl - * added to doc Bil's documentation re gtapi - -19990526-20:45 EST David G. Holm - * ChangeLog - - Removed excess whitespace from previous ChangeLog entry - * makefile.b31 - - Added some missing source files - * include/set.h - - Added hb_set_althan and hb_set_printhan - * source/rtl/console.c - - Added OUTERR(), DEVPOS(), DEVOUT(), and EJECT() - - Note: DEVPOS() and DEVOUT() have limited console support, due to the - lack of a working GT API. - * source/rtl/files.c - - Added missing #if ! defined( __WATCOMC__ ) && ! defined( __BORLANDC__ ) - around first use of S_IWUSR (copied from existing #if from second use). - * source/rtl/set.c - - Added file open/close support to HB_SET_ALTFILE and HB_SET_PRINTFILE - + tests/working/output.prg - - New module to test DEVPOS() and DEVOUT() - -19990527-00:40 Ryszard Glab - * the support for following keywords are now 100% compatible with Clipper - EXTERNAL, FIELD, FOR, FUNCTION - -19990526-13:30 EST David G. Holm - * source/rtl/dates.c - - Added hb_dow and HARBOUR DOW() supplied by Jose Lalin - + tests/working/dates3.prg - - New file to test DOW() supplied by Jose Lalin - -19990526-17:25 Eddie Runia - * tests/working/strip.prg - delete broken one and moved working one in - -19990526-16:10 Eddie Runia - * source/rtl/files.c - Pass reference error removed. - * source/rtl/extend.c - par* commands now work correctly with reference variables. - -19990525-23:25 Les Griffith - * source/rtl/files.c - added logic to readstr for lasterror - -19990525-22:45 CET Eddie Runia - * tests/working/spawn2.prg; tests/working/runner.c - support for STATIC functions added and error message for duplicate - identifiers - -19990525-21:30 CET Eddie Runia - * tests/working/spawn2.prg - Warning added if not compiled using /gHRB - -19990525-19:15 CET Eddie Runia - * source/runner/runner.c; source/runner/run_exp.h; source/runner - created. currently in transition. - -19990525-15:40 CET Eddie Runia - * bin, libs/b16, libs/b32, libs/vc, libs/icc, libs/win16 & libs/win32 - added as per request - -19990525-10:40 CET Eddie Runia - * source/vm/initsymb.c - DATE added to init symbols - -19990525-10:03 CET Antonio Linares - * tests/working/runner.c (shouldn't this file be located at source/runner?) - - some small changes to admit FILE() Harbour name. - * tests/working/run_exp.h (shouldn't this file be located at include directory ?) - - some small changes to admit FILE() Harbour name. - -19990525-09:13 CET Antonio Linares - * makefile.b32 - - project dependencies list order changed to properly build everything in one pass - -19990525-09:01 CET Antonio Linares - * source/rtl/extend.c - - wArrayIndex Borland C warnings fixed. - -19990525-08:45 CET Antonio Linares - * include/extend.h - - workaround to avoid conflicts between FILE struct and harbour FILE() - * source/rtl/files.c - - _FILE() renamed to FILE() /* tests/working/test_all.prg now builds fine */ - -19990525-08:21 CET Antonio Linares - * makefile.b32 - - enhanced .path.obj so the compiler gets not built always - * source/rtl/files.c - - enhanced support for Borland C 5.2 compiler - -19990524-19:20 EST David G. Holm - * source/rtl/dates.c - - Added HARBOUR DATE() function. - * tests/working/dates.prg - - Added use of DATE() function in first OUTSTD call. - -19990524-21:05 CET Eddie Runia - * source/rtl/strings.c - PAD* didn't work correctly with negative numbers - * source/rtl/extend.c - _parnl needed casting - -19990524-17:10 CET Eddie Runia - * tests/working/test_all - Fully automated the test bench. - If you select HRB, it also runs the program. - Just press a couple of times and you should know how to loose - Mankala blindly. - -19990524-16:45 CET Les Griffith (upload Eddie Runia) - * tests/working/iotest2.prg - Test program fReadStr - * tests/broken/exittest.prg - Anyone up for a challenge ;-) - -19990524-16:40 CET Eddie Runia - * include/hbsetup.h - WATCOM if added - * tests/working/*.prg - minor updates - -19990524-14:30 CET Eddie Runia - * source/vm/hvm.c - := PValue() added - * tests/working/run_exp.h - added to function list - * tests/working/multiarg.prg - test program used - -19990524-10:25 CET Alexander Kressin (upload Eddie Runia) - * source/hbpp - added preprocessor - -19990524-08:10 CET Les Griffiths (upload Eddie Runia) - * source/rtl/files.c - a step in right the direction - -19990523-16:45 CET Eddie Runia - * tests/working/test_all.prg - Optional command line option added. If you pass HRB, it will compile - .HRB files. (Also it redirects the output to test_all.out, because - it went to quickly) - -19990523-16:15 CET Patrick Mast (upload by Eddie Runia) - * tests/working/test_all.prg, tests/working/test_all.lnl - Testbank added. - * tests/working/*.prg - So programs not qualified for testing. - * tests/working/rtl_test.prg - function Main() added - -19990523-14:30 CET Eddie Runia - * tools.b16, tools.b32, bldtls32, bldtools.bat - send to heaven - -19990523-14:05 CET Eddie Runia - * source/rtl/files.c - #include added for Borland - * source/rtl/strings.c - str error fixed - -19990523-12:50 CET Eddie Runia - * source/rtl/transfrm.c - Modified for by reference. (Forgot I was Captain of that) - -19990523-12:20 CET Eddie Runia - * include/types.h - modified the IS_* to work for reference passed variables - * source/vm/hvm.c - Changed ->wType to IS_* if possible else added & ~IT_BYREF - * source/rtl/strings.c - Strings also modified - - -19990523-11:36 CET Manuel Ruiz - * source/rtl/files.c - Add HAVE_POSIX_IO for Borland and GCC compilers - -19990523-08:00 CET Les Griffith (upload by Eddie Runia) - * source/rtl/files.c - Yes, revision 1.2 ! - * tests/working/passref.prg, tests/working/iotest.prg - test files added. (Not functioning correctly yet) - -19990522-18:30 CET Eddie Runia - * tests/working/runner.c - command-line arguments passed to both init function and running program - * tests/working/spawn.prg - test program - -19990522-17:50 CET Eddie Runia - * source/rtl/arrays.c, source/rtl/classes.c - typical : if it works on one compiler, it will fail on another. - oClone also modified :-) - -19990522-17:25 CET Eddie Runia - * source/vm/hvm.c - 'Array' bug possibly resolved. - * source/rtl/arrays.c - aClone does not loose memory anymore - * tests/working/ainstest.prg - test for aClone added. - -19990522-15:55 CET Eddie Runia - * docs/hrb.faq - Clean up - * tests/working/stub.dat, tests/working/hbrun.bat - Renamed stub.bat to hbrun.bat (Better name) - -19990522-15:35 CET Eddie Runia - * tests/working/instr.prg, source/vm/hvm.c - Les Griffiths patch inserted - -19990522-15:10 CET Eddie Runia - * include/test.ch - added - * source/rtl/environ.c - Crash resolved for C++ Builder - * tests/working/testtok.prg - set exact added - -19990522-14:40 CET Eddie Runia - * tests/working/*.bat - -i..\..\include added - -19990522-14:10 CET Eddie Runia - Change from 11:43 committed - * tests/broken/instr.prg - removed - * include/hbsetup.h - #define HARBOUR_START_PROGRAM temporarily commented out, because of errors - -19990522-11:43 CET Eddie Runia - * source/vm/hvm.c - pItem bug in add changed - Instring operator added - 'unreleased memory block' only get shown if memory block remain open - * tests/working/instr.prg - test program for instring added - * tests/working/runner.c - 'Loading' messages removed - * source/compiler/harbour.y - 'Debug' messages removed. - -19990521-21:45 CET Eddie Runia - * tests/broken/instr.prg added. Contribution from Les Griffiths. - formerly known as strcomp - * source/rtl/transfrm.c. - Serious error code error - * source/rtl/classes.c - Error code added - * source/vm/hvm.c - Additional operator overloads added. - -19990520-20:07 EST David G. Holm - Thanks go to "Viktor Szakats" again! - * source/rtl/strings.c - - VAL sets the number of integer digits and decimal places for the result - -19990520-19:35 EST David G. Holm - Thanks go to "Viktor Szakats" - * source/compiler/harbour.l - - Saves number of decimal places in double constants - * source/compiler/harbour.y - - Includes number of decimal places when creating pcode for _PUSHDOUBLE - * source/vm/hvm.c - - Pcode for _PUSHDOUBLE extracts number of decimal places - -Thu May 20 16:03:24 1999 Gonzalo A. Diethelm - - * source/rtl/dates.c: - Nasty bug: using '&' instead of '&&'. - - * config/header.cf: - * include/Makefile: - * Makefile: - Added rules to deal with include files (they are just installed - into INC_DIR). Now the top level Makefile traverses include before - source. - - * config/win32/gcc.cf: - * config/win32/msvc.cf: - * config/win32/global.cf: - The include directory is now given by INC_DIR. - - * config/win32/rules.cf: - Harbour now uses -I to find include files. - - * include/hbsetup.h: - Moved OS_PATH_DELIMITER back to harbour.y, as PATH_DELIMITER; it - is now a string that contains "/\\". - - * source/compiler/harbour.y: - Deal with '/' as path separator ('\\' still works). - Make sure -q is really quiet. - - * source/rtl/Makefile: - * source/tools/Makefile: - Used tabs instead of spaces. - - * source/rtl/gtapi.c: - * source/tools/io.c: - Made sure these two compile in non-DOS platforms (don't do much - though). - - * source/vm/hvm.c: - Fixed a warning about using %i instead of %li. - -19990520-07:10 MST Bil Simser (bsimser@home.com) - * makefile.vc - Updated makefile to include new changes to RTL - -19990520-13:50 CET Eddie Runia - * tests/working/transfrm.c - set date and century added. - -19990520-11:00 CET Eddie Runia - * tests/working/runner.c - simple file correctness checks added - -19990520-03:40 EST David G. Holm - * include/set.h - - Added hb_set_fixed and HB_SETFIXED(). - * source/rtl/set.c - - Added hb_set_fixed and HB_SETFIXED(). - * source/rtl/strings.c - - Added test for hb_set_fixed and set default number of decimal positions - to hb_set.HB_SET_DECIMALS if hb_set_fixed is TRUE instead of using the - number of decimal positions specified in the ITEM structure. - * source/vm/hvm.c - - Removed the special case for a return value of zero from PushNumber(). - * tests/working/teststr.prg - - Added a second run of the test with SET FIXED ON. - -19990520-03:00 EST David G. Holm - * include/extend.h - - Added new function hb_str() for public use. - * source/rtl/console.c - - hb_outstd() now uses hb_str() instead of formatting numerics itself. - * source/rtl/strings.c - - Added new hb_str() function to do all numeric formatting for all of Harbour. - - Rewrote STR() to call hb_str() after validating parameters. - + tests/working/teststr.prg - - New module to test new function hb_str() via STR() and STDOUT(). - -19990519-23:50 EST David G. Holm - * source/rtl/extend.c - - Use wDec = hb_set.HB_SET_DECIMALS instead of wDec = 2. - - _retnd() and _stornd() now set wLength to 20 if the value is over 10 digits. - * source/rtl/itemapi.c - - Use wDec = hb_set.HB_SET_DECIMALS instead of wDec = 2. - - hb_itemPutND() now sets wLength to 20 if the value is over 10 digits. - * source/rtl/math.c - - Restored HARBOUR INT() back to use _retnl( _parnd( 1 ) ), because the - problem was not in the Borland C++ 3.1 compiler, but in the hb_outstd() - case for IT_LONG in console.c (see 19990518-17:30 EDT David G. Holm for - the incorrect correction and 19990519-21:40 EST David G. Holm for the - fix to hb_outstd() in console.c). - * source/vm/hvm.c - - Div(), Modulus(), and Power() set wDec to hb_set.HB_SET_DECIMALS. - - Dec(), Inc(), FOR, and Negate() leave wDec unchanged. - - Plus() and Minus() set wDec to the larger of the two parameter wDec values. - - Mult() sets wDec to the sum of the two parameter wDec values. - - PushDouble() now sets wLength to 20 if the value is over 10 digits. - -19990519-22:00 EST David G. Holm - * source/rtl/environ.c - - Do Windows version check even when #if defined(_Windows). - - Don't attach version numbers if the major OS version number is unknown. - -19990519-21:40 EST David G. Holm - * makefile.b31 - - Modified to support changes to source/compiler/fixflex.c - * source/compiler/fixflex.c - - The two largest tables in lexyy.c are now larger than 64K combined, - so they are now placed into separate source files and the four next - largest tables are split into a third source file. - * source/rtl/console.c - - Corrected display of IT_LONG to use value.lNumber instead of iNumber. - - Corrected display of IT_DOUBLE to use wLength as integer size, so that - when printing decimals the total display size is wLength + wDec + 1. - * source/rtl/extend.c - - _retnd and _stornd now set wLength to 10 instead of 13. - * source/rtl/itemapi.c - - hb_itemPutL now sets wLength to 3. - - hb_itemPutNL now sets wLength to 10 and wDec to 0. - - hb_itemPutND now sets wLength to 10 and wDec to 2. - * source/vm/hvm.c - - PushDouble, PushInteger, and PushLong now set wLength and wDec. - * tests/working/ainstest.prg - - Modified formatting done by aDump() to be more readable. - -19990520-01:40 Ryszard Glab - - * source/compiler/harbour.y - -corrected support for INCLUDE environment variable (the last path - was ignored) - -definition of path delimiter and path list separator was moved to - hbsetup.h file. OS_PATH_DELIMITER and OS_PATH_LIST_SEPARATOR are - now defined. - -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION - - * source/compiler/harbour.l - -EXIT keyword is now properly supported - - * source/vm/hvm.c - -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION - -changed #define from HARBOUR_MAIN to HARBOUR_START_PROCEDURE - - * include/hbsetup.h - -changed #define from OBJ_GENERATION to HARBOUR_OBJ_GENERATION - -changed #define from HARBOUR_MAIN to HARBOUR_START_PROCEDURE - -added #define OS_PATH_DELIMITER - -added #define OS_PATH_LIST_SEPARATOR - - * include/hberrors.h - -added #define ERR_UNMATCHED_EXIT - - * source/rtl/environ.c - -corrected support for Watcom C/C++ compiler - - * tests/working/keywords.prg - -added test code for EXIT keyword - -19990519-21:22 CET Eddie Runia - * makefile.b16 - Patrick patch (command-line too long entered) - -19990519-20:00 CET Eddie Runia - * tests/working/run_exp.h - shortened because InitSymbols - * makefile.b16 / .b32 / .icc - initsymb.c added - -19990519-18:00 CET Eddie Runia - * docs/hrb.faq - add some documentation and FAQ list for the .HRB output - -19990519-12:50 CET Eddie Runia - * source/compiler/harbour.y - Some clean up - * tests/broken/runner.c | run_exp.h | stub.bat - removed - * tests/working/runner.c | run_exp.h | stub.bat - added runner code - * tests/working/spawn.prg - spawn example program - * tests/working/readhrb.prg + readhrb.lnk - Clipper program to read .HRB files - -19990518-23:15 David G. Holm - * makefile.b31 - - Put all common BCC options in c_opt macro to make it easy to switch to - C++ by simply adding -P to c_opt and changing -P- on fixflex line to -P+ - - I left the makefile creating Harbour using C, because there was no change - in harbour.exe size or behaviour with C++ (Borland C++ 3.1) - * source/compiler/fixflex.c - - Modified to work with both C and C++ versions of Harbour - + tests/working/bldpexe.bat - - Copy of buildexe.bat with -P option to compile with C++ - + tests/working/hbp.bat - - Copy of hb.bat that calls bldpexe.bat to use C++ - -19990519-02:45 Ryszard Glab - -* source/compiler/harbour.y - - added support for INCLUDE environment variable - - corrected looking for unmatched ENDIF/ELSE//ELSEIF - - added '-t' option = alternative initialization of symbol table - When this option is used then the Harbour generates C code for a function - __InitSymbols that have to be called in order to properly - initialize the global symbol table. You should use this option if you - want to generate the C code output and your C compiler doesn't allow - to call any function before the 'main'. - -* surce/vm/initsymb.c - - added new file that registers a symbols table with runtime support - functions. This file can be edited to add calls for application specific - functions that registers local symbols tables used in application modules. - The Harbour compiler can create __InitSymbols functions - when you use '-t' option. - -* source/vm/hvm.c - - added call for InitSymbolTable function that registers symbol table - with runtime support Harbour functions. - -19990518-19:30 David G. Holm - * source/rtl/environ.c - - Enhanced Harbour OS function to return both OS and Version - for OS/2, DOS, and Windows 95/98. - -19990518-18:00 David G. Holm - + buildicc.cmd - - New file for IBM C++ 3.0 for OS/2 - + makefile.icc - - New file for IBM C++ 3.0 for OS/2 - * include/types.h - - Added #ifdef for IBM C++ 3.0 for OS/2 - * source/compiler/harbour.c - - Added #ifdef and isatty() for IBM C++ 3.0 for OS/2 - * source/rtl/environ.c - - Added #ifdef for IBM C++ 3.0 for OS/2 - + tests/working/biccexe.cmd - - New file for IBM C++ 3.0 for OS/2 - + tests/working/hbicc.cmd - - New file for IBM C++ 3.0 for OS/2 - -19990518-23:40 CET Eddie Runia - * source/compiler/harbour.y - GenPortObj added. Can be accessed through /gHRB - generates portable object structure. - * tests/broken/hrb.bat - added. simple batch file for HRB compilation - * tests/broken/runner.c - added. runner program - * tests/broken/run_exp.h - added. runner include file containing 'exportable' functions. - -19990518-17:30 EDT David G. Holm - * source/rtl/console.c - - Use pItem->wLength and pItem->wDec when printing numbers. - * source/rtl/dates.c - - Moved date validation to hb_dateEncode function. - - hb_dtoc now puts date separators in an empty date. - - DAY function now sets stack.Return.wLength to 3. - - MONTH function now sets stack.Return.wLength to 3. - - YEAR function now sets stack.Return.wLength to 5. - * source/rtl/extend.c - - Set stack.Return.wLength and stack.Return.wDec for numbers. - - _retds() now returns 8 spaces for invalid dates. - * source/rtl/math.c - - ABS returns same numeric type as parameter. - - INT returns same numeric type as parameter, but for IT_DOUBLE, the - value is truncated, wLength is set to 10, and wDec is set to 0. - * tests/working/dates.prg - - Removed trailing spaces in strings in OUTSDT calls with multiple items, - because OUTSTD provides a leading space for all items but the first. - * tests/working/mathtest.prg - - Added QOUT(454.14) and QOUT(INT(454)) to debug INT problem with - Borland C++ 3.1, which lead to change to INT in source/rtl/math.c - -19990518-15:20 EDT David G. Holm - * source/rtl/set.c - - Fixed memory leak in HB_SETCENTURY - -19990518-03:05 Ryszard Glab - - * source/compiler/harbour.l - -corrected misspelled wCaseCounter - - * include/hberrors.h - -new errors definition added (it should be uploaded in previous - commit -sorry my fault - -19990518-01:45 Ryszard Glab - - * source/compiler/harbour.l, source/compiler/harbour.y - -added support for '-i' option (#include file search path) - however it doesn't use SET INCLUDE environment variable yet - -added error messages if unmatched ENDDO, ENDCASE, ENDIF, NEXT - is found - - * include/extend.h - -added forward declaration of CODEBLOCK structure and added - the proper type for pCodeblock member of ITEM structure - - * source/vm/hvm.c - -corrected pCodeblock type casting - -added C++ style declaration of HB_FIRSTSYMBOL and HB_LASTSYMBOL - -19990517-16:05 CET Eddie Runia - * source/rtl/classes.c, source/rtl/tclass.prg, include/extend.h - Initializers for DATA items added - * tests/working/clasinit.prg - Test program added - -19990516-20:20 EDT David G. Holm - * source/rtl/dates.c - - Modified CTOD to perform date validation to only allow dates in the - range allowed by Clipper: January 1, 0 through December 21, 2999. - - Added parameter checking to hb_dtoc. - * source/rtl/extend.c - - Modified _pards to return an empty string ("") for invalid dates. - - Modified _retds to set the Harbour date to 0 if the parameter is missing - or if the parameter is not an 8-character null-terminated string. - * source/vm/hvm.c - - Changed EMPTY case for IT_NUMERIC to IT_INTEGER, because IT_NUMERIC is a - composite of IT_INTEGER, IT_LONG, and IT_DOUBLE, which caused all integer - values to return .T. - * tests/working/empty.prg - - Added SET CENTURY ON and SET DATE BRITISH, and removed text regarding DTOC - needing to be fixed. - -19990516-21:33 CET Eddie Runia - * tests/working/set.ch removed - -19990516-07:04 Ryszard Glab - - * source/compiler/harbour.l, source/compiler/harbour.y - -cleaned rules for NEXT, BREAK, WHILE, BEGIN, DO to be 100% - Clipper compatible (mainly keyword[] use); - -corrected support for END keyword; - -added include files: hbsetup.h and hberrors.h; - -code for OBJ generation is now linked optionally -it is linked if - the symbol OBJ_GENERATION is defined in hbsetup.h file; - -corrected the generation of EXTERNAL symbols - - * source/vm/hvm.c - -code with support for symbols defined in OBJ files is now linked - optionally -it is linked if the symbol OBJ_GENERATION is defined - in hbsetup.h file - -added support for optional definition of the starting procedure - (in case when automatic lookup for it doesn't work (Watcom C/C++)) - - * include/hbsetup.h - -new file with Harbour configuration options (see this file for - available options) - - * include/hberrors.h - -new file with error constants definition shared by - harbour.y and harbour.l - - * include/extend.h - -added declaration of FindDynSym() function used in hvm.c - - * source/rtl/environ.c - -added correct #include for Watcom C/C++ to use REGS union - (although I am not sure if OS function should be placed here) - - * source/rtl/itemapi.c - -corrected wrog declaration of symEval variable - (it is SYMBOL structure instead of PSYMBOL pointer) - - * tests/working/keywords.prg - -added test code for END keyword - - * makewat.env, makefile.wat - -added/corrected makefiles for Watcom C/C++ compiler - - * makedos.env, makefile.dos - -added/corrected makefiles for pure DOS DJGPP compiler - -19990516-06:30 CET Eddie Runia - * tests/working/bld32exe.bat - Correct version added - -19990516-01:00 CET Eddie Runia - * source/rtl/arrays.c, source/rtl/extend.h - ULONG instead of int hb_arrayLen() - Reallocation bug in arrayAdd fixed - -19990515-19:40 CET Eddie Runia - * source/rtl/classes.c, source/rtl/arrays.c - oClone added (actually : aClone can handle both :-) - -19990515-16:20 CET Eddie Runia - * source/compiler/harbour.y - Jump optimalization caused return to fail. Optimalization removed. - -19990515-15:15 CET Eddie Runia - * source/rtl/environ.c - Crash from geninterrupt resolved - -19990515-13:55 CET Eddie Runia - * source/rtl/classes.c - Unreleased memory block in inline resolved. AGAIN ! - -19990515-13:40 CET Eddie Runia - * source/rtl/classes.c - CVS Just deleted another upload !!!! - -19990515-12:50 CET Eddie Runia - * tests/working/overload.prg; source/rtl/hvm.c - overloading basis - -19990515-10:20 CET Eddie Runia - * tests/working/*.bat make and build files added - -19990514-20:10 EDT David G. Holm - * source/rtl/strcmp.c - - Added SET EXACT ON rules for null strings and trailing spaces. - * tests/working/strings3.prg - - Added tests for null strings and trailing spaces. - -19990515-01:15 CET Eddie Runia - * source/compiler/harbour.y - #include again - -19990513-22:20 EDT David G. Holm - * makefile.b31 - - Put harbour.obj back into the harbour.exe build. - * source/compiler/harbour.y - - Changed Expression EQ (for ==) to generate new PCODE _EXACTLYEQUAL, again. - * source/vm/hvm.c - - Modifed the Equal function to take one parameter: BOOL bExact, again. - - Modified the handler for PCODE _EQUAL to call Equal( FALSE ), again. - - Added new handler for PCODE _EXACTLYEQUAL, which calls Equal( TRUE ), again. - - Modified the Equal function to call hb_itemStrCmp with bExact as the new - third parameter, again. - -19990514-23:45 CET Eddie Runia - * source/rtl/set.c - IS_STRING and IS_LOGICAL called without checking for empty pItem. - -19990514-22:15 CET Eddie Runia - * tests/working/set.ch - added - -19990514-20:30 CET Eddie Runia - * include/set.ch (didn't work) - added - * source/rtl/classes.c - Unreleased memory block in inline resolved - -19990514-20:15 CET Eddie Runia - * source/rtl/gtapi.c - A lot of #ifdef #endif added or else it couldn't build out of the box. - -19990514-19:50 CET Eddie Runia - * source/rtl/codebloc.c - Codeblock patch from Ryszard applied - -19990514-19:45 CET Eddie Runia - * source/rtl/arrays.c - Patch from David (see below) was overwritten ?? - -19990514-17:05 CET Eddie Runia - * harbour.y - xVar[ xEl ] += -= *= /= %= ^= added - -19990514-16:00 CET Eddie Runia - * makefile.b32 - - added objfunc.obj - * source/vm/hvm.c - #ifdef NO_OBJ added - * tests/working/hb32.bat, tests/working/bld32exe.bat - added. - - -19990513-22:20 EDT David G. Holm - * makefile.b31 - - Removed harbour.obj from harbour.exe build, due - to change from harbour_main to main in harbour.y - * include/extend.h - - Added 3rd parameter, BOOL bForceExact, to hb_itemStrCmp - * include/pcode.h - - Added new PCODE for _EXACTLYEQUAL to handle difference between = and == - * source/compiler/harbour.y - - Changed Expression EQ (for ==) to generate new PCODE _EXACTLYEQUAL - * source/rtl/arrays.c - - Modified ASCAN to call hb_itemStrCmp with FALSE as new 3rd parameter in - order to match Clipper's use of the = operator for comparisons - * source/rtl/strcmp.c - - Added 3rd parameter, BOOL bForceExact, to hb_itemStrCmp and modified the - code for comparing two strings to not adjust the return value when the - second string is shorter than the first string and matches the first - string up to the length of the second string, unless either bForceExact - or hb_set.HB_SET_EXACT are TRUE - * source/vm/hvm.c - - Modifed the Equal function to take one parameter: BOOL bExact - - Modified the handler for PCODE _EQUAL to call Equal( FALSE ) - - Added new handler for PCODE _EXACTLYEQUAL, which calls Equal( TRUE ) - - Modified the Equal function to call hb_itemStrCmp with bExact as the - new third parameter - * tests/working/strings3.prg - - Added display of the SET EXACT setting before the big string comparison - test, then duplicated the entire test and added SET (_SET_EXACT, .T.) - prior to the second set of tests - -19990513-11:05 Eddie Runia - * obj/symbols.obj added - * makefile.b32 - changed according to Andi/Patrick fix. - -19990512-21:30:00 EDT David G. Holm - * makefile.b31 - - Added implicit rule to compile .prg files in source\tools - -19990512-18:40 Eddie Runia - * source/tools/stringp.prg - #defines added - * makefile.b32 - \ error and .prg path corrected - * makefile.b16 - .prg path corrected - -19990512-01:15:00 EDT David G. Holm - * makefile.b31 - - Added genobj32.c and sybmols.asm - - Made more developer friendly (you no longer have to remember - which intermediate files to delete when a build fails due to an - error in the makefile or an error in an intermediate step). - - Added fixflex to split flexyy.c into flexyy.c and flex_tab.c - + source/compiler/fixflex.c - - New source module to split flexyy.c into smaller flexyy.c with - the two largest tables in flex_tab.c. - NB! Not needed for 32-bit compilers. - -Tue May 11 18:53:43 1999 Gonzalo A. Diethelm - * Makefile: - Added obj to the list of directories. - - * source/Makefile: - Added rdd to the list of directories. - - * source/rtl/Makefile: - Added gtapi.c to the list of C sources. - - * source/rtl/gtapi.c: - Got rid of two warnings with gcc. - - * source/rtl/environ.c: - Made sure it compiles with gcc. - There was a missing #endif. - - * source/tools/stringp.prg: - * tests/working/debugtst.prg: - Replaced Debug() with HBDebug(), otherwise the generated C source - collides with the macro DEBUG. - - * source/vm/hvm.c: - Corrected a comment. - - * source/rdd/Makefile: - * obj/Makefile: - Added these two Makefiles. - -19990511-19:20 Eddie Runia - * source/rtl/classes.c - (Default) parameter self added to INLINE methods - * tests/working/inline.prg - Test of INLINE method. - -19990511-09:55 Eddie Runia - * source/rtl/objfunc.prg, source/tools/stringp.prg - created from tests/working/debugtst.prg - * Makefile.* - files added to list. (Except makefile.vc) - -19990511-09:40 Eddie Runia - * source/rtl/asort.prg - added a seperate function - * tests/working/debugtst.prg - asort removed - * Makefile.* - asort added to list. (Except for makefile.vc; Incomplete ?) - -19990511-00:07 MSG Bil Simser - * source/rtc/environ.c - - Added OS function - * tests/working - - Added OS.PRG test program - -19990510-21:45 EDT David G. Holm - * source/harbour.y - - Put back a C++ lvalue fix that appears to have gotten lost - during a diff merge: - Parameter in call to yy_switch_to_buffer with embedded - assignment needs () around the entire expression in order - to have the (YY_BUFFER_STATE) type override apply to the - result of the assignment. - -Mon May 10 19:32:34 1999 Gonzalo A. Diethelm - - * makefile.b32: - Added source/compiler/harbour.c to this makefile. - - * source/compiler/Makefile: - Added genobj32.c. - - * source/compiler/genobj32.c: - Got rid of warnings. - - * source/compiler/harbour.y: - Added '/' as path separator. - -19990510-11:30 Eddie Runia - * source/rtl/classes.c - Function IsMessage() added - * tests/working/debugtst.prg - Function IsData() / IsMethod() added. Also contains tests for Is*() - -19990510-10:05 Eddie Runia - * source/vm/hvm.c - Function PCount() added /* QUESTION: Should it be there ? */ - * tests/working/debugtst.prg - PCount() used - -19990510-09:10 Eddie Runia - * source/rtl/itemapi.c, include/itemapi.h - - new version installed - * source/tools/debug.c, source/rtl/classes.c - - _item changed to hb_item - -19990510-08:32 Eddie Runia - * include/harbclip.h grabbed - -19990510-01:19 Ryszard Glab - - * source/compiler/harbour.l, source/compiler/harbour.y - - corrected syntax check for: case-> case+= case-= - - DO/WHILE/CASE/WITH is now 100% compatible with Clipper - - there is still problem with comments that ends with **/ - (exactly two asterix and slash) - - * tests/working/keywords.prg - - added code to test DO/WHILE/CASE/WITH - -19900509-23:30 Eddie Runia - * source/working/mankala.prg - Instructions added - -19990509-21:00 Eddie Runia - * hvm.c - Logical equivalence tests added ( ==, !=, >, <, >=, <= ) - * debugtst.c - Logical equivalence used. (==) aoMethod down to one-liner ! - -19990509-19:30 Eddie Runia - * makefile.b16, makefile.b32 - debug.obj added - -19990509-18:10 Eddie Runia - * tests/working/calling - Function Second changed to SecondOne() - * tests/working/initexit - * tests/working/statfun - See above - * tests/working/testtok - i was required in next - Problem resolved (Thanx ! Ryszard ?) - -19990509-18:00 CET Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * 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 Viktor Szakats - - * source/rtl/dates.c: - Fix to STOD(), added error checking to DTOS(), the later can be - disabled to make it faster. - * source/vm/hvm.c, include/extend.h: - strempty() -> hb_strempty(), declaration moved to .h - * source/rtl/strings.c: - hb_strempty() speed optimalization, cleanup. - * source/vm/dynsym.c: - OurStrUpr() -> hb_strupr() - _strgreater -> hb_strgreater() - * source/rtl/console.c: - _outstd() -> hb_outstd() - * source/tools/stringsx.c: - StrToken() -> hb_strtoken() - * source/rtl/strings.c: - LTrim() -> hb_LTrim() - RTrimLen() -> hb_RTrimLen() - Lower() -> hb_Lower() - Upper() -> hb_Upper() - At() -> hb_At() - Val() -> hb_Val() - * source/vm/hvm.c, source/rtl/array.c, source/rtl/strcmp.c, - include/extend.h - OurStrCmp() -> hb_itemStrCmp() - * source/rtl/*.c, source/include/extend.h - julian2greg() -> hb_julian2greg() - greg2julian() -> hb_greg2julian() - Declaration moved to extend.h - -Thu May 06 13:58:48 1999 Gonzalo A. Diethelm - - * source/vm/hvm.c: - Changed the prototype for ForceLink so that it is declared and - defined as a static function. - -Thu May 06 13:09:45 1999 Gonzalo A. Diethelm - - * config/bin.cf: - * config/c.cf: - * config/lib.cf: - * config/prg.cf: - * config/test.cf: - * source/rtl/Makefile: - By mistake, we were not compiling the PRG files into OBJS for the - rtl library. - - * source/rtl/dates.c: - Changed the use of min with explicit code. min and max are macros - in some platforms, functions in others, and it is usually a mess - to link against them. - - * source/Makefile: - * source/tools/Makefile: - This directory was not being compiled. - - * source/tools/genobj.c: - Got rid of most (all?) the warnings. - - * tests/working/Makefile: - Now the libs to link against are explicitly specified in the - Makefile. - - * tests/working/statics.prg: - Cleaned up all ^M characters. - -Thu May 06 12:34:45 1999 Gonzalo A. Diethelm - - * source/compiler/harbour.l: - * source/compiler/harbour.y: - * source/rtl/set.c: - Again, I renamed _AND and _OR to AND_ and OR_, and cleaned up a - few warnings. - -Wed May 05 18:51:06 1999 Gonzalo A. Diethelm - - * include/ctoharb.h: - * source/rtl/arrays.c: - * source/rtl/files.c: - * source/rtl/transfrm.c: - * source/vm/dynsym.c: - Replaced C++-style comments (//) with C-style commens (/* */). - -Wed May 05 18:36:53 1999 Gonzalo A. Diethelm - - * include/ctoharb.h: - * include/dates.h: - * include/extend.h: - * include/init.h: - * include/itemapi.h: - * include/pcode.h: - * include/set.h: - * include/setcurs.ch: - * include/types.h: - * source/compiler/harbour.c: - * source/compiler/harbour.l: - * source/compiler/harbour.y: - * source/rtl/arrays.c: - * source/rtl/classes.c: - * source/rtl/codebloc.c: - * source/rtl/console.c: - * source/rtl/dates.c: - * source/rtl/environ.c: - * source/rtl/errorapi.c: - * source/rtl/extend.c: - * source/rtl/files.c: - * source/rtl/itemapi.c: - * source/rtl/math.c: - * source/rtl/set.c: - * source/rtl/strcmp.c: - * source/rtl/strings.c: - * source/rtl/transfrm.c: - * source/tools/datesx.c: - * source/tools/genobj.c: - * source/tools/io.c: - * source/tools/mathx.c: - * source/tools/stringsx.c: - * source/vm/dynsym.c: - * source/vm/hvm.c: - Added a comment with the CVS Id keyword. - -Wed May 05 18:28:28 1999 Gonzalo A. Diethelm - - * makefile.b16: - * makefile.b32: - Added explicit rules to compile harbour.o from harbour.c. - Don' know why these were necessary, but it seems people had - problems without them. - -Wed May 05 16:29:19 1999 Gonzalo A. Diethelm - - * include/pcode.h: - * source/vm/hvm.c: - * source/compiler/harbour.y: - Replaced _AND and _OR with AND_ and OR_. - Under gcc, these two identifiers are defined out. - Also, got rid of a few warnings. - - * source/rtl/files.c: - Implemented a macro trick to allow compilation of - FOPEN, FREAD and FWRITE. - Turned off HAVE_POSIX_IO for gcc; it doesn't seem to work. - Restructured the code so that when HAVE_POSIX_IO is not defined, - there are no warnings. - -Wed May 05 15:30:49 1999 Gonzalo A. Diethelm - - * source/harbour.y: - * source/compiler/harbour.c: - Replaced main() with harbour_main(), and added a separate - harbour.c with just the main() function. - - * makefile.b16: - * makefile.b32: - * makefile.vc: - Updated these files to reflect the new source/compiler/harbour.c - file. - - * .cvsignore: - Added this file with the patterns CVS will ignore while - processing. - - * config/bin.cf: - * config/c.cf: - * config/dir.cf: - * config/global.cf: - * config/install.cf: - * config/lib.cf: - * config/prg.cf: - * config/test.cf: - * config/win32/gcc.cf: - * config/win32/global.cf: - * config/win32/msvc.cf: - * config/win32/rules.cf: - * Makefile: - * source/Makefile: - * source/compiler/Makefile: - * source/rtl/Makefile: - * source/vm/Makefile: - * tests/Makefile: - This is the GNU-make based build system. - -Wed May 05 09:24:22 1999 Gonzalo A. Diethelm - - * include/Set.ch: - * tests/working/block2.PRG: - Added back these files. They can't be renamed through CVS on NT, - and the repository will have to be updated by some other means. - -Wed May 05 09:19:23 1999 Gonzalo A. Diethelm - - * include/Set.ch: - * tests/working/block2.PRG: - Removed these files in preparation to move them to lowercase. - - * ChangeLog: - Added this file. - -May 31, 1999 Ron Pinkas - Harbour.l modified {Array} and added {FunArray} and {ExpArray}. - To fix support of state to be recusive as well as support: - Function()[nIndex]. - - /TESTS/WORKING/ArrIndex.prg added this file. - - /TESTS/BROKEN/FuncArr.prg added this file to show: - - // This is NOT working? - QOut( aFunc()[1] - - // But this IS working! - a := aFunc() - QOut( a[1] ) - -May 31, 1999 Ron Pinkas - Harbour.l added support for "[String]" inside ARRAY INDEX expressions. - Added "Sysntax error :" message for the macro operator (&) - when followed by a string delimiter. - -June 1st. 1999 00:30 Ron Pinkas - Harbour.y -> modified pcode generation to move the push of the counter variable to the NEXT rather than the FOR - so loop code may manipulate the counter vaiable. - - TEST/WORKING/TestFor.prg -> added this file + ! \ No newline at end of file diff --git a/harbour/INSTALL b/harbour/INSTALL index afed6d2636..432f4e0104 100644 --- a/harbour/INSTALL +++ b/harbour/INSTALL @@ -1286,7 +1286,7 @@ HARBOUR http://www.postgresql.org/ HB_WITH_PNG - libpng [multiplatform, free, open-source] http://www.libpng.org/pub/png/libpng.html - HB_WITH_QT - Nokia QT (GUI) [win, wce, darwin, linux, free, open-source] + HB_WITH_QT - Nokia QT (GUI) [win, wce, os2, darwin, linux, free, open-source] http://qt.nokia.com/products/ http://get.qt.nokia.com/qt/source/ Currently supported Windows binary package: diff --git a/harbour/contrib/hbqt/filelist.mk b/harbour/contrib/hbqt/filelist.mk index 13054e4ae3..afbdd4300a 100644 --- a/harbour/contrib/hbqt/filelist.mk +++ b/harbour/contrib/hbqt/filelist.mk @@ -16,12 +16,10 @@ CPP_SOURCES := \ hbqt_destruct.cpp \ hbqt_hbdbfmodel.cpp \ hbqt_hbevents.cpp \ - hbqt_hbevents2.cpp \ hbqt_hbqmainwindow.cpp \ hbqt_hbqsyntaxhighlighter.cpp \ hbqt_hbqtableview.cpp \ hbqt_hbslots.cpp \ - hbqt_hbslots2.cpp \ PRG_SOURCES := \ hbqt_misc.prg \ diff --git a/harbour/contrib/hbqt/hbqt_hbevents.cpp b/harbour/contrib/hbqt/hbqt_hbevents.cpp index a61f9f926b..ba0057928e 100644 --- a/harbour/contrib/hbqt/hbqt_hbevents.cpp +++ b/harbour/contrib/hbqt/hbqt_hbevents.cpp @@ -109,62 +109,6 @@ HB_FUNC( QT_EVENTS_DESTROY ) /*----------------------------------------------------------------------*/ -HBEvents::HBEvents( QObject * parent ) : QObject( parent ) -{ -} - -HBEvents::~HBEvents() -{ - HB_TRACE( HB_TR_DEBUG, ( " HBEvents::~HBEvents()" ) ); - int i; - - for( i = 0; i < listBlock.size(); i++ ) - { - if( listBlock[ i ] != NULL ) - { - hb_itemRelease( listBlock.at( i ) ); - listBlock[ i ] = NULL; - listObj[ i ] = NULL; - } - } - - listBlock.clear(); -} - -bool HBEvents::eventFilter( QObject * object, QEvent * event ) -{ - QEvent::Type eventtype = event->type(); - - if( ( int ) eventtype == 0 ) - return false; - - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", eventtype, "P" ); - - int found = object->property( prop ).toInt(); - - if( found == 0 ) - return false; - - bool ret = true; - - if( found <= listBlock.size() && listObj.at( found - 1 ) == object && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pEvent = hb_itemPutPtr( NULL, event ); - ret = hb_itemGetL( hb_vmEvalBlockV( ( PHB_ITEM ) listBlock.at( found - 1 ), 2, pObject, pEvent ) ); - hb_itemRelease( pObject ); - hb_itemRelease( pEvent ); - - hb_vmRequestRestore(); - - if( eventtype == QEvent::Close ) - event->ignore(); - } - - return ret; -} - HB_FUNC( QT_CONNECT_EVENT ) { QObject * object = ( QObject* ) hbqt_pPtrFromObj( 1 ); /* get sender */ @@ -221,4 +165,202 @@ HB_FUNC( QT_DISCONNECT_EVENT ) /*----------------------------------------------------------------------*/ +#include +#include + +typedef struct +{ + void * ph; + QT_G_FUNC_PTR func; + QPointer< HBEvents > pq; +} QGC_POINTER_HBEvents; + +static QT_G_FUNC( hbqt_release_HBEvents ) +{ + QGC_POINTER_HBEvents * p = ( QGC_POINTER_HBEvents * ) Cargo; + + HB_TRACE( HB_TR_DEBUG, ( "release_HBEvents p=%p", p)); + HB_TRACE( HB_TR_DEBUG, ( "release_HBEvents ph=%p pq=%p", p->ph, (void *)(p->pq))); + + if( p && p->ph && p->pq ) + { + const QMetaObject * m = ( ( QObject * ) p->ph )->metaObject(); + if( ( QString ) m->className() != ( QString ) "QObject" ) + { + switch( hbqt_get_object_release_method() ) + { + case HBQT_RELEASE_WITH_DELETE: + delete ( ( HBEvents * ) p->ph ); + break; + case HBQT_RELEASE_WITH_DESTRUTOR: + ( ( HBEvents * ) p->ph )->~HBEvents(); + break; + case HBQT_RELEASE_WITH_DELETE_LATER: + ( ( HBEvents * ) p->ph )->deleteLater(); + break; + } + p->ph = NULL; + HB_TRACE( HB_TR_DEBUG, ( "release_HBEvents Object deleted! %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); + } + else + { + HB_TRACE( HB_TR_DEBUG, ( "NO release_HBEvents Object Name Missing!" ) ); + } + } + else + { + HB_TRACE( HB_TR_DEBUG, ( "DEL release_HBEvents Object Already deleted!" ) ); + } +} + +static void * hbqt_gcAllocate_HBEvents( void * pObj ) +{ + QGC_POINTER_HBEvents * p = ( QGC_POINTER_HBEvents * ) hb_gcAllocate( sizeof( QGC_POINTER_HBEvents ), hbqt_gcFuncs() ); + + p->ph = pObj; + p->func = hbqt_release_HBEvents; + new( & p->pq ) QPointer< HBEvents >( ( HBEvents * ) pObj ); + HB_TRACE( HB_TR_DEBUG, ( " new_HBEvents %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); + return( p ); +} + +/*----------------------------------------------------------------------*/ + +/* TOFIX: Possible GPF is below pointer is used by .prg after release. */ +HB_FUNC( QT_EVENTS_PTR ) +{ + hb_retptr( hbqt_par_HBEvents( 1 ) ); +} + +/*----------------------------------------------------------------------*/ + +HBEvents::HBEvents( QObject * parent ) : QObject( parent ) +{ +} + +/* QUESTION: Shouldn't all events be disconnected at this point? */ +HBEvents::~HBEvents() +{ + HB_TRACE( HB_TR_DEBUG, ( " HBEvents::~HBEvents()" ) ); + int i; + + for( i = 0; i < listBlock.size(); i++ ) + { + if( listBlock[ i ] != NULL ) + { + hb_itemRelease( listBlock.at( i ) ); + listBlock[ i ] = NULL; + listObj[ i ] = NULL; + } + } + + listBlock.clear(); +} + +bool HBEvents::eventFilter( QObject * object, QEvent * event ) +{ + QEvent::Type eventtype = event->type(); + + if( ( int ) eventtype == 0 ) + return false; + + char prop[ 20 ]; + hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", eventtype, "P" ); + + int found = object->property( prop ).toInt(); + + if( found == 0 ) + return false; + + bool ret = true; + + if( found <= listBlock.size() && listObj.at( found - 1 ) == object && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pEvent = hb_itemPutPtr( NULL, event ); + ret = hb_itemGetL( hb_vmEvalBlockV( ( PHB_ITEM ) listBlock.at( found - 1 ), 2, pObject, pEvent ) ); + hb_itemRelease( pObject ); + hb_itemRelease( pEvent ); + + hb_vmRequestRestore(); + + if( eventtype == QEvent::Close ) + event->ignore(); + } + + return ret; +} + +HB_FUNC( QT_EVENTS_CONNECT ) +{ + HB_BOOL bRet = HB_FALSE; + HBEvents * t_events = hbqt_par_HBEvents( 1 ); + + if( t_events ) + { + QObject * object = ( QObject* ) hbqt_pPtrFromObj( 2 ); /* get sender */ + + if( object ) + { + int type = hb_parni( 3 ); + PHB_ITEM codeblock = hb_itemNew( hb_param( 4, HB_IT_BLOCK | HB_IT_BYREF ) ); + + char prop[ 20 ]; + hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", type, "P" ); /* Make it a unique identifier */ + + t_events->listBlock << codeblock; + /* TOFIX: Reference to GC collected pointer is stored. */ + t_events->listObj << object; + + object->setProperty( prop, ( int ) t_events->listBlock.size() ); + + bRet = HB_TRUE; + } + } + + hb_retl( bRet ); +} + +HB_FUNC( QT_EVENTS_DISCONNECT ) +{ + HB_BOOL bRet = HB_FALSE; + HBEvents * t_events = hbqt_par_HBEvents( 1 ); + + if( t_events ) + { + QObject * object = ( QObject* ) hbqt_pPtrFromObj( 2 ); + + if( object ) + { + int type = hb_parni( 3 ); + + char prop[ 20 ]; + hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", type, "P" ); /* Make it a unique identifier */ + + int i = object->property( prop ).toInt(); + if( i > 0 && i <= t_events->listBlock.size() ) + { + hb_itemRelease( t_events->listBlock.at( i - 1 ) ); + t_events->listBlock[ i - 1 ] = NULL; + t_events->listObj[ i - 1 ] = NULL; + object->setProperty( prop, QVariant() ); + bRet = HB_TRUE; + + HB_TRACE( HB_TR_DEBUG, ( " QT_EVENTS_DISCONNECT: %i", type ) ); + } + } + } + + hb_retl( bRet ); +} + +HB_FUNC( QT_EVENTS_NEW ) +{ + void * pObj = NULL; + + pObj = ( HBEvents * ) new HBEvents(); + + hb_retptrGC( hbqt_gcAllocate_HBEvents( pObj ) ); +} + #endif diff --git a/harbour/contrib/hbqt/hbqt_hbevents2.cpp b/harbour/contrib/hbqt/hbqt_hbevents2.cpp deleted file mode 100644 index b1dfb019e3..0000000000 --- a/harbour/contrib/hbqt/hbqt_hbevents2.cpp +++ /dev/null @@ -1,267 +0,0 @@ -/* - * $Id$ - */ - -/* - * Harbour Project source code: - * QT wrapper main header - * - * Copyright 2009 Marcos Antonio Gambeta - * Copyright 2009 Pritpal Bedi - * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) - * www - http://www.harbour-project.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). - * - * As a special exception, the Harbour Project gives permission for - * additional uses of the text contained in its release of Harbour. - * - * The exception is that, if you link the Harbour libraries with other - * files to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the Harbour library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the Harbour - * Project under the name Harbour. If you copy code from other - * Harbour Project or Free Software Foundation releases into a copy of - * Harbour, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for Harbour, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. - * - */ -/*----------------------------------------------------------------------*/ - -#include "hbapi.h" -#include "hbapiitm.h" -#include "hbstack.h" -#include "hbvm.h" - -#include "hbqt.h" - -#if QT_VERSION >= 0x040500 - -#include "hbqt_hbevents.h" - -#include -#include - -typedef struct -{ - void * ph; - QT_G_FUNC_PTR func; - QPointer< HBEvents > pq; -} QGC_POINTER_HBEvents; - -static QT_G_FUNC( hbqt_release_HBEvents ) -{ - QGC_POINTER_HBEvents * p = ( QGC_POINTER_HBEvents * ) Cargo; - - HB_TRACE( HB_TR_DEBUG, ( "release_HBEvents p=%p", p)); - HB_TRACE( HB_TR_DEBUG, ( "release_HBEvents ph=%p pq=%p", p->ph, (void *)(p->pq))); - - if( p && p->ph && p->pq ) - { - const QMetaObject * m = ( ( QObject * ) p->ph )->metaObject(); - if( ( QString ) m->className() != ( QString ) "QObject" ) - { - switch( hbqt_get_object_release_method() ) - { - case HBQT_RELEASE_WITH_DELETE: - delete ( ( HBEvents * ) p->ph ); - break; - case HBQT_RELEASE_WITH_DESTRUTOR: - ( ( HBEvents * ) p->ph )->~HBEvents(); - break; - case HBQT_RELEASE_WITH_DELETE_LATER: - ( ( HBEvents * ) p->ph )->deleteLater(); - break; - } - p->ph = NULL; - HB_TRACE( HB_TR_DEBUG, ( "release_HBEvents Object deleted! %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); - } - else - { - HB_TRACE( HB_TR_DEBUG, ( "NO release_HBEvents Object Name Missing!" ) ); - } - } - else - { - HB_TRACE( HB_TR_DEBUG, ( "DEL release_HBEvents Object Already deleted!" ) ); - } -} - -static void * hbqt_gcAllocate_HBEvents( void * pObj ) -{ - QGC_POINTER_HBEvents * p = ( QGC_POINTER_HBEvents * ) hb_gcAllocate( sizeof( QGC_POINTER_HBEvents ), hbqt_gcFuncs() ); - - p->ph = pObj; - p->func = hbqt_release_HBEvents; - new( & p->pq ) QPointer< HBEvents >( ( HBEvents * ) pObj ); - HB_TRACE( HB_TR_DEBUG, ( " new_HBEvents %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); - return( p ); -} - -/*----------------------------------------------------------------------*/ - -/* TOFIX: Possible GPF is below pointer is used by .prg after release. */ -HB_FUNC( QT_EVENTS_PTR ) -{ - hb_retptr( hbqt_par_HBEvents( 1 ) ); -} - -/*----------------------------------------------------------------------*/ - -HBEvents::HBEvents( QObject * parent ) : QObject( parent ) -{ -} - -/* QUESTION: Shouldn't all events be disconnected at this point? */ -HBEvents::~HBEvents() -{ - HB_TRACE( HB_TR_DEBUG, ( " HBEvents::~HBEvents()" ) ); - int i; - - for( i = 0; i < listBlock.size(); i++ ) - { - if( listBlock[ i ] != NULL ) - { - hb_itemRelease( listBlock.at( i ) ); - listBlock[ i ] = NULL; - listObj[ i ] = NULL; - } - } - - listBlock.clear(); -} - -bool HBEvents::eventFilter( QObject * object, QEvent * event ) -{ - QEvent::Type eventtype = event->type(); - - if( ( int ) eventtype == 0 ) - return false; - - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", eventtype, "P" ); - - int found = object->property( prop ).toInt(); - - if( found == 0 ) - return false; - - bool ret = true; - - if( found <= listBlock.size() && listObj.at( found - 1 ) == object && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pEvent = hb_itemPutPtr( NULL, event ); - ret = hb_itemGetL( hb_vmEvalBlockV( ( PHB_ITEM ) listBlock.at( found - 1 ), 2, pObject, pEvent ) ); - hb_itemRelease( pObject ); - hb_itemRelease( pEvent ); - - hb_vmRequestRestore(); - - if( eventtype == QEvent::Close ) - event->ignore(); - } - - return ret; -} - -HB_FUNC( QT_EVENTS_CONNECT ) -{ - HB_BOOL bRet = HB_FALSE; - HBEvents * t_events = hbqt_par_HBEvents( 1 ); - - if( t_events ) - { - QObject * object = ( QObject* ) hbqt_pPtrFromObj( 2 ); /* get sender */ - - if( object ) - { - int type = hb_parni( 3 ); - PHB_ITEM codeblock = hb_itemNew( hb_param( 4, HB_IT_BLOCK | HB_IT_BYREF ) ); - - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", type, "P" ); /* Make it a unique identifier */ - - t_events->listBlock << codeblock; - /* TOFIX: Reference to GC collected pointer is stored. */ - t_events->listObj << object; - - object->setProperty( prop, ( int ) t_events->listBlock.size() ); - - bRet = HB_TRUE; - } - } - - hb_retl( bRet ); -} - -HB_FUNC( QT_EVENTS_DISCONNECT ) -{ - HB_BOOL bRet = HB_FALSE; - HBEvents * t_events = hbqt_par_HBEvents( 1 ); - - if( t_events ) - { - QObject * object = ( QObject* ) hbqt_pPtrFromObj( 2 ); - - if( object ) - { - int type = hb_parni( 3 ); - - char prop[ 20 ]; - hb_snprintf( prop, sizeof( prop ), "%s%i%s", "P", type, "P" ); /* Make it a unique identifier */ - - int i = object->property( prop ).toInt(); - if( i > 0 && i <= t_events->listBlock.size() ) - { - hb_itemRelease( t_events->listBlock.at( i - 1 ) ); - t_events->listBlock[ i - 1 ] = NULL; - t_events->listObj[ i - 1 ] = NULL; - object->setProperty( prop, QVariant() ); - bRet = HB_TRUE; - - HB_TRACE( HB_TR_DEBUG, ( " QT_EVENTS_DISCONNECT: %i", type ) ); - } - } - } - - hb_retl( bRet ); -} - -HB_FUNC( QT_EVENTS_NEW ) -{ - void * pObj = NULL; - - pObj = ( HBEvents * ) new HBEvents(); - - hb_retptrGC( hbqt_gcAllocate_HBEvents( pObj ) ); -} - -/*----------------------------------------------------------------------*/ - -#endif diff --git a/harbour/contrib/hbqt/hbqt_hbslots.cpp b/harbour/contrib/hbqt/hbqt_hbslots.cpp index b16335d8ba..fe285d2f66 100644 --- a/harbour/contrib/hbqt/hbqt_hbslots.cpp +++ b/harbour/contrib/hbqt/hbqt_hbslots.cpp @@ -99,461 +99,9 @@ HB_FUNC( QT_SLOTS_DESTROY ) } } -/*----------------------------------------------------------------------*/ - -HBSlots::HBSlots( QObject* parent ) : QObject( parent ) +static bool connect_signal( QString signal, QObject * object, HBSlots * t_slots ) { -} - -HBSlots::~HBSlots() -{ - int i; - - for( i = 0; i < listBlock.size(); i++ ) - { - if( listBlock[ i ] != NULL ) - { - hb_itemRelease( listBlock.at( i ) ); - listBlock[ i ] = NULL; - } - } - /* QUESTION: Should there be all remaining active slots disconnected at this point? */ - - /* Should be disconnected, but this is a responsibility of programmer as object is only known to the application */ - listBlock.clear(); -} - -static void hbqt_SlotsExec( QObject * object, const char * pszEvent ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 1, pObject ); - hb_itemRelease( pObject ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecBool( QObject * object, const char * pszEvent, bool bBool ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pBool = hb_itemPutL( NULL, bBool ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pBool ); - hb_itemRelease( pObject ); - hb_itemRelease( pBool ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecInt( QObject * object, const char * pszEvent, int iValue ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pState = hb_itemPutNI( NULL, iValue ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pState ); - hb_itemRelease( pObject ); - hb_itemRelease( pState ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecIntInt( QObject * object, const char * pszEvent, int iValue1, int iValue2 ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); - PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pValue1, pValue2 ); - hb_itemRelease( pObject ); - hb_itemRelease( pValue1 ); - hb_itemRelease( pValue2 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecIntIntInt( QObject * object, const char * pszEvent, int iValue1, int iValue2, int iValue3 ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); - PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); - PHB_ITEM pValue3 = hb_itemPutNI( NULL, iValue3 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 4, pObject, pValue1, pValue2, pValue3 ); - hb_itemRelease( pObject ); - hb_itemRelease( pValue1 ); - hb_itemRelease( pValue2 ); - hb_itemRelease( pValue3 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecIntIntIntInt( QObject * object, const char * pszEvent, int iValue1, int iValue2, int iValue3, int iValue4 ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); - PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); - PHB_ITEM pValue3 = hb_itemPutNI( NULL, iValue3 ); - PHB_ITEM pValue4 = hb_itemPutNI( NULL, iValue4 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 5, pObject, pValue1, pValue2, pValue3, pValue4 ); - hb_itemRelease( pObject ); - hb_itemRelease( pValue1 ); - hb_itemRelease( pValue2 ); - hb_itemRelease( pValue3 ); - hb_itemRelease( pValue4 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecString( QObject * object, const char * pszEvent, const QString & string ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pString = hb_itemPutC( NULL, string.toAscii().data() ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pString ); - hb_itemRelease( pObject ); - hb_itemRelease( pString ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecModel( QObject * object, const char * pszEvent, const QModelIndex & index ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pState = hb_itemPutPtr( NULL, ( QModelIndex * ) new QModelIndex( index ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pState ); - hb_itemRelease( pObject ); - delete ( ( QModelIndex * ) hb_itemGetPtr( pState ) ); - hb_itemRelease( pState ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecTextCharFormat( QObject * object, const char * pszEvent, const QTextCharFormat & f ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QTextCharFormat( f ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QTextCharFormat * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecFont( QObject * object, const char * pszEvent, const QFont & font ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QFont( font ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QFont * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecQTextCursor( QObject * object, const char * pszEvent, const QTextCursor & cursor ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QTextCursor( cursor ) ); - //PHB_ITEM p1 = hb_itemPutPtr( NULL, *cursor ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QTextCursor * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecStringList( QObject * object, const char * pszEvent, const QStringList & stringList ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QStringList( stringList ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QStringList * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecPointer( QObject * object, const char * pszEvent, void * p1 ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pP1 ); - hb_itemRelease( pObject ); - hb_itemRelease( pP1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecPointerInt( QObject * object, const char * pszEvent, void * p1, int iInt ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); - PHB_ITEM pI1 = hb_itemPutNI( NULL, iInt ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pP1, pI1 ); - hb_itemRelease( pObject ); - hb_itemRelease( pP1 ); - hb_itemRelease( pI1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecPointerPointer( QObject * object, const char * pszEvent, void * p1, void * p2 ) -{ - if( object ) - { - HBSlots * t_slots = qt_getEventSlots(); - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); - PHB_ITEM pP2 = hb_itemPutPtr( NULL, p2 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pP1, pP2 ); - hb_itemRelease( pObject ); - hb_itemRelease( pP1 ); - hb_itemRelease( pP2 ); - hb_vmRequestRestore(); - } - } -} - -/* Generic Key and Mouse Events emitted by subclass objects */ -void HBSlots::keyPressEvent( QKeyEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "keyPressEvent()", event ); } -void HBSlots::keyReleaseEvent( QKeyEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "keyReleaseEvent()", event ); } -void HBSlots::mouseMoveEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "mouseMoveEvent()", event ); } -void HBSlots::mouseDoubleClickEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "mouseDoubleClickEvent()", event ); } -void HBSlots::mousePressEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "mousePressEvent()", event ); } -void HBSlots::mouseReleaseEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "mouseReleaseEvent()", event ); } -void HBSlots::wheelEvent( QWheelEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "wheelEvent()", event ); } -void HBSlots::resizeEvent( QResizeEvent * event ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "resizeEvent()", event ); } -void HBSlots::triggered( bool checked ) { hbqt_SlotsExecBool( qobject_cast( sender() ), "triggered(bool)", checked ); } -void HBSlots::hovered( QAction * action ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "hovered(action)", action ); } -void HBSlots::clicked() { hbqt_SlotsExec( qobject_cast( sender() ), "clicked()" ); } -void HBSlots::returnPressed() { hbqt_SlotsExec( qobject_cast( sender() ), "returnPressed()" ); } -void HBSlots::viewportEntered() { hbqt_SlotsExec( qobject_cast( sender() ), "viewportEntered()" ); } -void HBSlots::pressed() { hbqt_SlotsExec( qobject_cast( sender() ), "pressed()" ); } -void HBSlots::released() { hbqt_SlotsExec( qobject_cast( sender() ), "released()" ); } -void HBSlots::triggered() { hbqt_SlotsExec( qobject_cast( sender() ), "triggered()" ); } -void HBSlots::hovered() { hbqt_SlotsExec( qobject_cast( sender() ), "hovered()" ); } -void HBSlots::stateChanged( int state ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "stateChanged(int)", state ); } -void HBSlots::activated( int index ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "activated(int)", index ); } -void HBSlots::currentIndexChanged( int index ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "currentIndexChanged(int)", index ); } -void HBSlots::currentChanged( int index ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "currentChanged(int)", index ); } -void HBSlots::highlighted( int index ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "highlighted(int)", index ); } -void HBSlots::clicked( const QModelIndex & index ) { hbqt_SlotsExecModel( qobject_cast( sender() ), "clicked(QModelIndex)", index ); } -void HBSlots::doubleClicked( const QModelIndex & index ) { hbqt_SlotsExecModel( qobject_cast( sender() ), "doubleClicked(QModelIndex)", index ); } -void HBSlots::entered( const QModelIndex & index ) { hbqt_SlotsExecModel( qobject_cast( sender() ), "entered(QModelIndex)", index ); } -void HBSlots::actionTriggered( int action ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "actionTriggered(int)", action ); } -void HBSlots::rangeChanged( int min, int max ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "rangeChanged(int)", min, max ); } -void HBSlots::sliderMoved( int value ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "sliderMoved(int)", value ); } -void HBSlots::sliderPressed() { hbqt_SlotsExec( qobject_cast( sender() ), "sliderPressed()" ); } -void HBSlots::sliderReleased() { hbqt_SlotsExec( qobject_cast( sender() ), "sliderReleased()" ); } -void HBSlots::valueChanged( int value ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "valueChanged(int)", value ); } -void HBSlots::cursorPositionChanged( int iOld, int iNew ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cursorPositionChanged(int,int)", iOld, iNew ); } -void HBSlots::editingFinished() { hbqt_SlotsExec( qobject_cast( sender() ), "editingFinished()" ); } -void HBSlots::selectionChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "selectionChanged()" ); } -void HBSlots::textChanged( const QString & text ) { hbqt_SlotsExecString( qobject_cast( sender() ), "textChanged(QString)", text ); } -void HBSlots::textEdited( const QString & text ) { hbqt_SlotsExecString( qobject_cast( sender() ), "textEdited(QString)", text ); } -/* TreeViewobject */ -void HBSlots::currentItemChanged( QTreeWidgetItem * current, QTreeWidgetItem * previous ) { hbqt_SlotsExecPointerPointer( qobject_cast( sender() ), "currentItemChanged(QTWItem)", current, previous ); } -void HBSlots::itemActivated( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( qobject_cast( sender() ), "itemActivated(QTWItem)", item, column ); } -void HBSlots::itemChanged( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( qobject_cast( sender() ), "itemChanged(QTWItem)", item, column ); } -void HBSlots::itemClicked( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( qobject_cast( sender() ), "itemClicked(QTWItem)", item, column ); } -void HBSlots::itemDoubleClicked( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( qobject_cast( sender() ), "itemDoubleClicked(QTWItem)", item, column ); } -void HBSlots::itemEntered( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( qobject_cast( sender() ), "itemEntered(QTWItem)", item, column ); } -void HBSlots::itemPressed( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( qobject_cast( sender() ), "itemPressed(QTWItem)", item, column ); } -void HBSlots::itemExpanded( QTreeWidgetItem * item ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "itemExpanded(QTWItem)", item ); } -void HBSlots::itemCollapsed( QTreeWidgetItem * item ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "itemCollapsed(QTWItem)", item ); } -void HBSlots::itemSelectionChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "itemSelectionChanged()" ); } -/* QDialog (s)*/ -void HBSlots::currentFontChanged( const QFont & font ) { hbqt_SlotsExecFont( qobject_cast( sender() ), "currentFontChanged(QFont)", font ); } -void HBSlots::fontSelected( const QFont & font ) { hbqt_SlotsExecFont( qobject_cast( sender() ), "fontSelected(QFont)", font ); } -void HBSlots::accepted() { hbqt_SlotsExec( qobject_cast( sender() ), "accepted()" ); } -void HBSlots::finished( int result ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "finished(int)", result ); } -void HBSlots::rejected() { hbqt_SlotsExec( qobject_cast( sender() ), "rejected()" ); } -void HBSlots::currentChanged( const QString & path ) { hbqt_SlotsExecString( qobject_cast( sender() ), "currentChanged(QString)", path ); } -void HBSlots::directoryEntered( const QString & directory ) { hbqt_SlotsExecString( qobject_cast( sender() ), "directoryEntered(QString)", directory ); } -void HBSlots::fileSelected( const QString & file ) { hbqt_SlotsExecString( qobject_cast( sender() ), "fileSelected(QString)", file ); } -void HBSlots::filesSelected( const QStringList & selected ) { hbqt_SlotsExecStringList( qobject_cast( sender() ), "filesSelected(QStringList)", selected ); } -void HBSlots::filterSelected( const QString & filter ) { hbqt_SlotsExecString( qobject_cast( sender() ), "filterSelected(QString)", filter ); } -/* QPrintDialog */ -void HBSlots::accepted( QPrinter * printer ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "accepted(QPrinter)", printer ); } -/* QTextEdit */ -void HBSlots::copyAvailable( bool yes ) { hbqt_SlotsExecBool( qobject_cast( sender() ), "copyAvailable(bool)", yes ); } -void HBSlots::currentCharFormatChanged( const QTextCharFormat & f ) { hbqt_SlotsExecTextCharFormat( qobject_cast( sender() ), "currentCharFormatChanged(QTextCharFormat)", f ); } -void HBSlots::cursorPositionChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "cursorPositionChanged()" ); } -void HBSlots::redoAvailable( bool available ) { hbqt_SlotsExecBool( qobject_cast( sender() ), "redoAvailable(bool)", available ); } -void HBSlots::textChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "textChanged()" ); } -void HBSlots::undoAvailable( bool available ) { hbqt_SlotsExecBool( qobject_cast( sender() ), "undoAvailable(available)", available ); } -void HBSlots::timeout() { hbqt_SlotsExec( qobject_cast( sender() ), "timeout()" ); } -void HBSlots::scrollContentsBy( int x, int y ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "scrollContentsBy(int,int)", x, y ); } -void HBSlots::geometriesChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "geometriesChanged()" ); } -void HBSlots::sectionAutoResize( int logicalIndex, QHeaderView::ResizeMode mode ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "sectionAutoResize(int,int)", logicalIndex, mode ); } -void HBSlots::sectionClicked( int logicalIndex ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "sectionClicked(int)", logicalIndex ); } -void HBSlots::sectionCountChanged( int oldCount, int newCount ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "sectionCountChanged(int,int)", oldCount, newCount ); } -void HBSlots::sectionDoubleClicked( int logicalIndex ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "sectionDoubleClicked(int)", logicalIndex ); } -void HBSlots::sectionEntered( int logicalIndex ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "sectionEntered(int)", logicalIndex ); } -void HBSlots::sectionHandleDoubleClicked( int logicalIndex ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "sectionHandleDoubleClicked(int)", logicalIndex ); } -void HBSlots::sectionMoved( int logicalIndex, int oldVisualIndex, int newVisualIndex ) { hbqt_SlotsExecIntIntInt( qobject_cast( sender() ), "sectionMoved(int,int,int)", logicalIndex, oldVisualIndex, newVisualIndex ); } -void HBSlots::sectionPressed( int logicalIndex ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "sectionPressed(int)", logicalIndex ); } -void HBSlots::sectionResized( int logicalIndex, int oldSize, int newSize ) { hbqt_SlotsExecIntIntInt( qobject_cast( sender() ), "sectionResized(int,int,int)", logicalIndex, oldSize, newSize ); } -void HBSlots::sortIndicatorChanged( int logicalIndex, Qt::SortOrder order ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "sortIndicatorChanged(int,int)", logicalIndex, order ); } -void HBSlots::buttonClicked( int id ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "buttonClicked(int)", id ); } -void HBSlots::buttonPressed( int id ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "buttonPressed(int)", id ); } -void HBSlots::buttonReleased( int id ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "buttonReleased(int)", id ); } -void HBSlots::linkActivated( const QString & link ) { hbqt_SlotsExecString( qobject_cast( sender() ), "linkActivated(QString)", link ); } -void HBSlots::linkHovered( const QString & link ) { hbqt_SlotsExecString( qobject_cast( sender() ), "linkHovered(QString)", link ); } -void HBSlots::cellActivated( int row, int column ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cellActivated(int,int)", row, column ); } -void HBSlots::cellChanged( int row, int column ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cellChanged(int,int)", row, column ); } -void HBSlots::cellClicked( int row, int column ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cellClicked(int,int)", row, column ); } -void HBSlots::cellDoubleClicked( int row, int column ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cellDoubleClicked(int,int)", row, column ); } -void HBSlots::cellEntered( int row, int column ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cellEntered(int,int)", row, column ); } -void HBSlots::cellPressed( int row, int column ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "cellEntered(int,int)", row, column ); } -void HBSlots::currentCellChanged( int currentRow, int currentColumn, int previousRow, int previousColumn ) { hbqt_SlotsExecIntIntIntInt( qobject_cast( sender() ), "currentCellChanged(int,int,int,int)", currentRow, currentColumn, previousRow, previousColumn ); } -void HBSlots::tabCloseRequested( int index ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "tabCloseRequested(int)", index ); } -void HBSlots::paintRequested( QPrinter * printer ) { hbqt_SlotsExecPointer( qobject_cast( sender() ), "paintRequested(QPrinter)", printer ); } -/* QIODevice */ -void HBSlots::aboutToClose() { hbqt_SlotsExec( qobject_cast( sender() ), "aboutToClose()" ); } -void HBSlots::bytesWritten( qint64 bytes ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "bytesWritten(int)", bytes ); } -void HBSlots::readChannelFinished() { hbqt_SlotsExec( qobject_cast( sender() ), "readChannelFinished()" ); } -void HBSlots::readyRead() { hbqt_SlotsExec( qobject_cast( sender() ), "readyRead()" ); } -/* QProcess */ -void HBSlots::error( QProcess::ProcessError error ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "error(error)", error ); } -void HBSlots::finished( int exitCode, QProcess::ExitStatus exitStatus ) { hbqt_SlotsExecIntInt( qobject_cast( sender() ), "finished(int,int)", exitCode, exitStatus ); } -void HBSlots::readyReadStandardError() { hbqt_SlotsExec( qobject_cast( sender() ), "readyReadStandardError()" ); } -void HBSlots::readyReadStandardOutput() { hbqt_SlotsExec( qobject_cast( sender() ), "readyReadStandardOutput()" ); } -void HBSlots::started() { hbqt_SlotsExec( qobject_cast( sender() ), "started()" ); } -void HBSlots::stateChanged( QProcess::ProcessState newState ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "stateChanged(int)", newState ); } -/* QComboBox */ -void HBSlots::activated( const QString & text ) { hbqt_SlotsExecString( qobject_cast( sender() ), "activated(text)", text ); } -void HBSlots::currentIndexChanged( const QString & text ) { hbqt_SlotsExecString( qobject_cast( sender() ), "currentIndexChanged(text)", text ); } -void HBSlots::editTextChanged( const QString & text ) { hbqt_SlotsExecString( qobject_cast( sender() ), "editTextChanged(text)", text ); } -void HBSlots::highlighted( const QString & text ) { hbqt_SlotsExecString( qobject_cast( sender() ), "highlighted(text)", text ); } -/* QTextDocument */ -void HBSlots::blockCountChanged( int newBlockCount ) { hbqt_SlotsExecInt( qobject_cast( sender() ), "blockCountChanged(int)", newBlockCount ); } -void HBSlots::contentsChange( int position, int charsRemoved, int charsAdded ) { hbqt_SlotsExecIntIntInt( qobject_cast( sender() ), "contentsChange(int,int,int)", position, charsRemoved, charsAdded ); } -void HBSlots::contentsChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "contentsChanged()" ); } -void HBSlots::cursorPositionChanged( const QTextCursor & cursor ) { hbqt_SlotsExecQTextCursor( qobject_cast( sender() ), "cursorPositionChanged(QTextCursor)", cursor ); } -void HBSlots::documentLayoutChanged() { hbqt_SlotsExec( qobject_cast( sender() ), "documentLayoutChanged()" ); } -void HBSlots::modificationChanged( bool changed ) { hbqt_SlotsExecBool( qobject_cast( sender() ), "modificationChanged(bool)", changed ); } -void HBSlots::undoCommandAdded() { hbqt_SlotsExec( qobject_cast( sender() ), "undoCommandAdded()" ); } -/**/ - -/*----------------------------------------------------------------------*/ -/* - * Harbour function to connect signals with slots - */ -HB_FUNC( QT_CONNECT_SIGNAL ) -{ - QObject * object = ( QObject * ) hbqt_pPtrFromObj( 1 ); /* get sender */ - - if( object == NULL ) - { - hb_retl( HB_FALSE ); - return; - } - - QString signal = hb_parcx( 2 ); /* get signal */ - PHB_ITEM pBlock = hb_itemNew( hb_param( 3, HB_IT_BLOCK ) ); /* get codeblock */ - bool ret; - - HBSlots * t_slots = qt_getEventSlots(); + bool ret; if( signal == ( QString ) "clicked()" ) ret = object->connect( object, SIGNAL( clicked() ), t_slots, SLOT( clicked() ), Qt::AutoConnection ); else if( signal == ( QString ) "returnPressed()" ) ret = object->connect( object, SIGNAL( returnPressed() ), t_slots, SLOT( returnPressed() ), Qt::AutoConnection ); @@ -675,13 +223,7 @@ HB_FUNC( QT_CONNECT_SIGNAL ) else if( signal == ( QString ) "undoCommandAdded()" ) ret = object->connect( object, SIGNAL( undoCommandAdded() ), t_slots, SLOT( undoCommandAdded() ), Qt::AutoConnection ); else ret = false; - if( ret == true ) - { - t_slots->listBlock << pBlock; - object->setProperty( hb_parcx( 2 ), ( int ) t_slots->listBlock.size() ); - } - - hb_retl( ret == true ); + return ret; } static bool disconnect_signal( QObject * object, const char * signal ) @@ -808,6 +350,33 @@ static bool disconnect_signal( QObject * object, const char * signal ) return false; } +/*----------------------------------------------------------------------*/ +/* + * Harbour function to connect signals with slots + */ +HB_FUNC( QT_CONNECT_SIGNAL ) +{ + QObject * object = ( QObject * ) hbqt_pPtrFromObj( 1 ); /* get sender */ + + if( object ) + { + QString signal = hb_parcx( 2 ); /* get signal */ + HBSlots * t_slots = qt_getEventSlots(); + + if( connect_signal( signal, object, t_slots ) ) + { + PHB_ITEM pBlock = hb_itemNew( hb_param( 3, HB_IT_BLOCK ) ); /* get codeblock */ + t_slots->listBlock << pBlock; + object->setProperty( hb_parcx( 2 ), ( int ) t_slots->listBlock.size() ); + hb_retl( HB_TRUE ); + } + else + hb_retl( HB_FALSE ); + } + else + hb_retl( HB_FALSE ); +} + /* * harbour function to disconnect signals */ @@ -837,4 +406,554 @@ HB_FUNC( QT_DISCONNECT_SIGNAL ) /*----------------------------------------------------------------------*/ +#include + +typedef struct +{ + void * ph; + QT_G_FUNC_PTR func; + QPointer< HBSlots > pq; +} QGC_POINTER_HBSlots; + +static QT_G_FUNC( hbqt_release_HBSlots ) +{ + QGC_POINTER_HBSlots * p = ( QGC_POINTER_HBSlots * ) Cargo; + + HB_TRACE( HB_TR_DEBUG, ( "release_HBSlots p=%p", p)); + HB_TRACE( HB_TR_DEBUG, ( "release_HBSlots ph=%p pq=%p", p->ph, (void *)(p->pq))); + + if( p && p->ph && p->pq ) + { + const QMetaObject * m = ( ( QObject * ) p->ph )->metaObject(); + if( ( QString ) m->className() != ( QString ) "QObject" ) + { + switch( hbqt_get_object_release_method() ) + { + case HBQT_RELEASE_WITH_DELETE: + delete ( ( HBSlots * ) p->ph ); + break; + case HBQT_RELEASE_WITH_DESTRUTOR: + ( ( HBSlots * ) p->ph )->~HBSlots(); + break; + case HBQT_RELEASE_WITH_DELETE_LATER: + ( ( HBSlots * ) p->ph )->deleteLater(); + break; + } + p->ph = NULL; + HB_TRACE( HB_TR_DEBUG, ( "release_HBSlots Object deleted! %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); + } + else + { + HB_TRACE( HB_TR_DEBUG, ( "NO release_HBSlots Object Name Missing!" ) ); + } + } + else + { + HB_TRACE( HB_TR_DEBUG, ( "DEL release_HBSlots Object Already deleted!" ) ); + } +} + +static void * hbqt_gcAllocate_HBSlots( void * pObj ) +{ + QGC_POINTER_HBSlots * p = ( QGC_POINTER_HBSlots * ) hb_gcAllocate( sizeof( QGC_POINTER_HBSlots ), hbqt_gcFuncs() ); + + p->ph = pObj; + p->func = hbqt_release_HBSlots; + new( & p->pq ) QPointer< HBSlots >( ( HBSlots * ) pObj ); + HB_TRACE( HB_TR_DEBUG, ( " new_HBSlots %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); + return( p ); +} + +/*----------------------------------------------------------------------*/ + +static void hbqt_SlotsExec( HBSlots * t_slots, QObject * object, const char * pszEvent ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 1, pObject ); + hb_itemRelease( pObject ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecBool( HBSlots * t_slots, QObject * object, const char * pszEvent, bool bBool ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pBool = hb_itemPutL( NULL, bBool ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pBool ); + hb_itemRelease( pObject ); + hb_itemRelease( pBool ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pState = hb_itemPutNI( NULL, iValue ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pState ); + hb_itemRelease( pObject ); + hb_itemRelease( pState ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecIntInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue1, int iValue2 ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); + PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pValue1, pValue2 ); + hb_itemRelease( pObject ); + hb_itemRelease( pValue1 ); + hb_itemRelease( pValue2 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecIntIntInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue1, int iValue2, int iValue3 ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); + PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); + PHB_ITEM pValue3 = hb_itemPutNI( NULL, iValue3 ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 4, pObject, pValue1, pValue2, pValue3 ); + hb_itemRelease( pObject ); + hb_itemRelease( pValue1 ); + hb_itemRelease( pValue2 ); + hb_itemRelease( pValue3 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecIntIntIntInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue1, int iValue2, int iValue3, int iValue4 ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); + PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); + PHB_ITEM pValue3 = hb_itemPutNI( NULL, iValue3 ); + PHB_ITEM pValue4 = hb_itemPutNI( NULL, iValue4 ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 5, pObject, pValue1, pValue2, pValue3, pValue4 ); + hb_itemRelease( pObject ); + hb_itemRelease( pValue1 ); + hb_itemRelease( pValue2 ); + hb_itemRelease( pValue3 ); + hb_itemRelease( pValue4 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecString( HBSlots * t_slots, QObject * object, const char * pszEvent, const QString & string ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pString = hb_itemPutC( NULL, string.toAscii().data() ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pString ); + hb_itemRelease( pObject ); + hb_itemRelease( pString ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecModel( HBSlots * t_slots, QObject * object, const char * pszEvent, const QModelIndex & index ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pState = hb_itemPutPtr( NULL, ( QModelIndex * ) new QModelIndex( index ) ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pState ); + hb_itemRelease( pObject ); + delete ( ( QModelIndex * ) hb_itemGetPtr( pState ) ); + hb_itemRelease( pState ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecTextCharFormat( HBSlots * t_slots, QObject * object, const char * pszEvent, const QTextCharFormat & f ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM p1 = hb_itemPutPtr( NULL, new QTextCharFormat( f ) ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); + hb_itemRelease( pObject ); + delete ( ( QTextCharFormat * ) hb_itemGetPtr( p1 ) ); + hb_itemRelease( p1 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecFont( HBSlots * t_slots, QObject * object, const char * pszEvent, const QFont & font ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM p1 = hb_itemPutPtr( NULL, new QFont( font ) ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); + hb_itemRelease( pObject ); + delete ( ( QFont * ) hb_itemGetPtr( p1 ) ); + hb_itemRelease( p1 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecQTextCursor( HBSlots * t_slots, QObject * object, const char * pszEvent, const QTextCursor & cursor ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM p1 = hb_itemPutPtr( NULL, new QTextCursor( cursor ) ); + //PHB_ITEM p1 = hb_itemPutPtr( NULL, *cursor ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); + hb_itemRelease( pObject ); + delete ( ( QTextCursor * ) hb_itemGetPtr( p1 ) ); + hb_itemRelease( p1 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecStringList( HBSlots * t_slots, QObject * object, const char * pszEvent, const QStringList & stringList ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM p1 = hb_itemPutPtr( NULL, new QStringList( stringList ) ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); + hb_itemRelease( pObject ); + delete ( ( QStringList * ) hb_itemGetPtr( p1 ) ); + hb_itemRelease( p1 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecPointer( HBSlots * t_slots, QObject * object, const char * pszEvent, void * p1 ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pP1 ); + hb_itemRelease( pObject ); + hb_itemRelease( pP1 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecPointerInt( HBSlots * t_slots, QObject * object, const char * pszEvent, void * p1, int iInt ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); + PHB_ITEM pI1 = hb_itemPutNI( NULL, iInt ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pP1, pI1 ); + hb_itemRelease( pObject ); + hb_itemRelease( pP1 ); + hb_itemRelease( pI1 ); + hb_vmRequestRestore(); + } + } +} + +static void hbqt_SlotsExecPointerPointer( HBSlots * t_slots, QObject * object, const char * pszEvent, void * p1, void * p2 ) +{ + if( object ) + { + int i = object->property( pszEvent ).toInt(); + if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) + { + PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); + PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); + PHB_ITEM pP2 = hb_itemPutPtr( NULL, p2 ); + hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pP1, pP2 ); + hb_itemRelease( pObject ); + hb_itemRelease( pP1 ); + hb_itemRelease( pP2 ); + hb_vmRequestRestore(); + } + } +} + +HBSlots::HBSlots( QObject* parent ) : QObject( parent ) +{ +} + +HBSlots::~HBSlots() +{ + int i; + + for( i = 0; i < listBlock.size(); i++ ) + { + if( listBlock[ i ] != NULL ) + { + hb_itemRelease( listBlock.at( i ) ); + listBlock[ i ] = NULL; + } + } + /* QUESTION: Should there be all remaining active slots disconnected at this point? */ + + /* Should be disconnected, but this is a responsibility of programmer as object is only known to the application */ + listBlock.clear(); +} + +/* Generic Key and Mouse Events emitted by subclass objects */ +void HBSlots::keyPressEvent( QKeyEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "keyPressEvent()", event ); } +void HBSlots::keyReleaseEvent( QKeyEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "keyReleaseEvent()", event ); } +void HBSlots::mouseMoveEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mouseMoveEvent()", event ); } +void HBSlots::mouseDoubleClickEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mouseDoubleClickEvent()", event ); } +void HBSlots::mousePressEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mousePressEvent()", event ); } +void HBSlots::mouseReleaseEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mouseReleaseEvent()", event ); } +void HBSlots::wheelEvent( QWheelEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "wheelEvent()", event ); } +void HBSlots::resizeEvent( QResizeEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "resizeEvent()", event ); } +void HBSlots::triggered( bool checked ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "triggered(bool)", checked ); } +void HBSlots::hovered( QAction * action ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "hovered(action)", action ); } +void HBSlots::clicked() { hbqt_SlotsExec( this, qobject_cast( sender() ), "clicked()" ); } +void HBSlots::returnPressed() { hbqt_SlotsExec( this, qobject_cast( sender() ), "returnPressed()" ); } +void HBSlots::viewportEntered() { hbqt_SlotsExec( this, qobject_cast( sender() ), "viewportEntered()" ); } +void HBSlots::pressed() { hbqt_SlotsExec( this, qobject_cast( sender() ), "pressed()" ); } +void HBSlots::released() { hbqt_SlotsExec( this, qobject_cast( sender() ), "released()" ); } +void HBSlots::triggered() { hbqt_SlotsExec( this, qobject_cast( sender() ), "triggered()" ); } +void HBSlots::hovered() { hbqt_SlotsExec( this, qobject_cast( sender() ), "hovered()" ); } +void HBSlots::stateChanged( int state ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "stateChanged(int)", state ); } +void HBSlots::activated( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "activated(int)", index ); } +void HBSlots::currentIndexChanged( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "currentIndexChanged(int)", index ); } +void HBSlots::currentChanged( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "currentChanged(int)", index ); } +void HBSlots::highlighted( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "highlighted(int)", index ); } +void HBSlots::clicked( const QModelIndex & index ) { hbqt_SlotsExecModel( this, qobject_cast( sender() ), "clicked(QModelIndex)", index ); } +void HBSlots::doubleClicked( const QModelIndex & index ) { hbqt_SlotsExecModel( this, qobject_cast( sender() ), "doubleClicked(QModelIndex)", index ); } +void HBSlots::entered( const QModelIndex & index ) { hbqt_SlotsExecModel( this, qobject_cast( sender() ), "entered(QModelIndex)", index ); } +void HBSlots::actionTriggered( int action ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "actionTriggered(int)", action ); } +void HBSlots::rangeChanged( int min, int max ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "rangeChanged(int)", min, max ); } +void HBSlots::sliderMoved( int value ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sliderMoved(int)", value ); } +void HBSlots::sliderPressed() { hbqt_SlotsExec( this, qobject_cast( sender() ), "sliderPressed()" ); } +void HBSlots::sliderReleased() { hbqt_SlotsExec( this, qobject_cast( sender() ), "sliderReleased()" ); } +void HBSlots::valueChanged( int value ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "valueChanged(int)", value ); } +void HBSlots::cursorPositionChanged( int iOld, int iNew ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cursorPositionChanged(int,int)", iOld, iNew ); } +void HBSlots::editingFinished() { hbqt_SlotsExec( this, qobject_cast( sender() ), "editingFinished()" ); } +void HBSlots::selectionChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "selectionChanged()" ); } +void HBSlots::textChanged( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "textChanged(QString)", text ); } +void HBSlots::textEdited( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "textEdited(QString)", text ); } +/* TreeViewobject */ +void HBSlots::currentItemChanged( QTreeWidgetItem * current, QTreeWidgetItem * previous ) { hbqt_SlotsExecPointerPointer( this, qobject_cast( sender() ), "currentItemChanged(QTWItem)", current, previous ); } +void HBSlots::itemActivated( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemActivated(QTWItem)", item, column ); } +void HBSlots::itemChanged( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemChanged(QTWItem)", item, column ); } +void HBSlots::itemClicked( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemClicked(QTWItem)", item, column ); } +void HBSlots::itemDoubleClicked( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemDoubleClicked(QTWItem)", item, column ); } +void HBSlots::itemEntered( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemEntered(QTWItem)", item, column ); } +void HBSlots::itemPressed( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemPressed(QTWItem)", item, column ); } +void HBSlots::itemExpanded( QTreeWidgetItem * item ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "itemExpanded(QTWItem)", item ); } +void HBSlots::itemCollapsed( QTreeWidgetItem * item ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "itemCollapsed(QTWItem)", item ); } +void HBSlots::itemSelectionChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "itemSelectionChanged()" ); } +/* QDialog (s)*/ +void HBSlots::currentFontChanged( const QFont & font ) { hbqt_SlotsExecFont( this, qobject_cast( sender() ), "currentFontChanged(QFont)", font ); } +void HBSlots::fontSelected( const QFont & font ) { hbqt_SlotsExecFont( this, qobject_cast( sender() ), "fontSelected(QFont)", font ); } +void HBSlots::accepted() { hbqt_SlotsExec( this, qobject_cast( sender() ), "accepted()" ); } +void HBSlots::finished( int result ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "finished(int)", result ); } +void HBSlots::rejected() { hbqt_SlotsExec( this, qobject_cast( sender() ), "rejected()" ); } +void HBSlots::currentChanged( const QString & path ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "currentChanged(QString)", path ); } +void HBSlots::directoryEntered( const QString & directory ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "directoryEntered(QString)", directory ); } +void HBSlots::fileSelected( const QString & file ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "fileSelected(QString)", file ); } +void HBSlots::filesSelected( const QStringList & selected ) { hbqt_SlotsExecStringList( this, qobject_cast( sender() ), "filesSelected(QStringList)", selected ); } +void HBSlots::filterSelected( const QString & filter ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "filterSelected(QString)", filter ); } +/* QPrintDialog */ +void HBSlots::accepted( QPrinter * printer ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "accepted(QPrinter)", printer ); } +/* QTextEdit */ +void HBSlots::copyAvailable( bool yes ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "copyAvailable(bool)", yes ); } +void HBSlots::currentCharFormatChanged( const QTextCharFormat & f ) { hbqt_SlotsExecTextCharFormat( this, qobject_cast( sender() ), "currentCharFormatChanged(QTextCharFormat)", f ); } +void HBSlots::cursorPositionChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "cursorPositionChanged()" ); } +void HBSlots::redoAvailable( bool available ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "redoAvailable(bool)", available ); } +void HBSlots::textChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "textChanged()" ); } +void HBSlots::undoAvailable( bool available ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "undoAvailable(available)", available ); } +void HBSlots::timeout() { hbqt_SlotsExec( this, qobject_cast( sender() ), "timeout()" ); } +void HBSlots::scrollContentsBy( int x, int y ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "scrollContentsBy(int,int)", x, y ); } +void HBSlots::geometriesChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "geometriesChanged()" ); } +void HBSlots::sectionAutoResize( int logicalIndex, QHeaderView::ResizeMode mode ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "sectionAutoResize(int,int)", logicalIndex, mode ); } +void HBSlots::sectionClicked( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionClicked(int)", logicalIndex ); } +void HBSlots::sectionCountChanged( int oldCount, int newCount ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "sectionCountChanged(int,int)", oldCount, newCount ); } +void HBSlots::sectionDoubleClicked( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionDoubleClicked(int)", logicalIndex ); } +void HBSlots::sectionEntered( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionEntered(int)", logicalIndex ); } +void HBSlots::sectionHandleDoubleClicked( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionHandleDoubleClicked(int)", logicalIndex ); } +void HBSlots::sectionMoved( int logicalIndex, int oldVisualIndex, int newVisualIndex ) { hbqt_SlotsExecIntIntInt( this, qobject_cast( sender() ), "sectionMoved(int,int,int)", logicalIndex, oldVisualIndex, newVisualIndex ); } +void HBSlots::sectionPressed( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionPressed(int)", logicalIndex ); } +void HBSlots::sectionResized( int logicalIndex, int oldSize, int newSize ) { hbqt_SlotsExecIntIntInt( this, qobject_cast( sender() ), "sectionResized(int,int,int)", logicalIndex, oldSize, newSize ); } +void HBSlots::sortIndicatorChanged( int logicalIndex, Qt::SortOrder order ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "sortIndicatorChanged(int,int)", logicalIndex, order ); } +void HBSlots::buttonClicked( int id ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "buttonClicked(int)", id ); } +void HBSlots::buttonPressed( int id ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "buttonPressed(int)", id ); } +void HBSlots::buttonReleased( int id ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "buttonReleased(int)", id ); } +void HBSlots::linkActivated( const QString & link ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "linkActivated(QString)", link ); } +void HBSlots::linkHovered( const QString & link ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "linkHovered(QString)", link ); } +void HBSlots::cellActivated( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellActivated(int,int)", row, column ); } +void HBSlots::cellChanged( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellChanged(int,int)", row, column ); } +void HBSlots::cellClicked( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellClicked(int,int)", row, column ); } +void HBSlots::cellDoubleClicked( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellDoubleClicked(int,int)", row, column ); } +void HBSlots::cellEntered( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellEntered(int,int)", row, column ); } +void HBSlots::cellPressed( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellEntered(int,int)", row, column ); } +void HBSlots::currentCellChanged( int currentRow, int currentColumn, int previousRow, int previousColumn ) { hbqt_SlotsExecIntIntIntInt( this, qobject_cast( sender() ), "currentCellChanged(int,int,int,int)", currentRow, currentColumn, previousRow, previousColumn ); } +void HBSlots::tabCloseRequested( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "tabCloseRequested(int)", index ); } +void HBSlots::paintRequested( QPrinter * printer ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "paintRequested(QPrinter)", printer ); } +/* QIODevice */ +void HBSlots::aboutToClose() { hbqt_SlotsExec( this, qobject_cast( sender() ), "aboutToClose()" ); } +void HBSlots::bytesWritten( qint64 bytes ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "bytesWritten(int)", bytes ); } +void HBSlots::readChannelFinished() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readChannelFinished()" ); } +void HBSlots::readyRead() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readyRead()" ); } +/* QProcess */ +void HBSlots::error( QProcess::ProcessError error ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "error(error)", error ); } +void HBSlots::finished( int exitCode, QProcess::ExitStatus exitStatus ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "finished(int,int)", exitCode, exitStatus ); } +void HBSlots::readyReadStandardError() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readyReadStandardError()" ); } +void HBSlots::readyReadStandardOutput() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readyReadStandardOutput()" ); } +void HBSlots::started() { hbqt_SlotsExec( this, qobject_cast( sender() ), "started()" ); } +void HBSlots::stateChanged( QProcess::ProcessState newState ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "stateChanged(int)", newState ); } +/* QComboBox */ +void HBSlots::activated( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "activated(text)", text ); } +void HBSlots::currentIndexChanged( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "currentIndexChanged(text)", text ); } +void HBSlots::editTextChanged( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "editTextChanged(text)", text ); } +void HBSlots::highlighted( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "highlighted(text)", text ); } +/* QTextDocument */ +void HBSlots::blockCountChanged( int newBlockCount ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "blockCountChanged(int)", newBlockCount ); } +void HBSlots::contentsChange( int position, int charsRemoved, int charsAdded ) { hbqt_SlotsExecIntIntInt( this, qobject_cast( sender() ), "contentsChange(int,int,int)", position, charsRemoved, charsAdded ); } +void HBSlots::contentsChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "contentsChanged()" ); } +void HBSlots::cursorPositionChanged( const QTextCursor & cursor ) { hbqt_SlotsExecQTextCursor( this, qobject_cast( sender() ), "cursorPositionChanged(QTextCursor)", cursor ); } +void HBSlots::documentLayoutChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "documentLayoutChanged()" ); } +void HBSlots::modificationChanged( bool changed ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "modificationChanged(bool)", changed ); } +void HBSlots::undoCommandAdded() { hbqt_SlotsExec( this, qobject_cast( sender() ), "undoCommandAdded()" ); } +/**/ + +/*----------------------------------------------------------------------*/ +/* + * Harbour function to connect signals with slots + */ +HB_FUNC( QT_SLOTS_CONNECT ) +{ + HB_BOOL bRet = HB_FALSE; + HBSlots * t_slots = hbqt_par_HBSlots( 1 ); + + if( t_slots ) + { + QObject * object = ( QObject * ) hbqt_pPtrFromObj( 2 ); /* get sender */ + + if( object ) + { + QString signal = hb_parcx( 3 ); /* get signal */ + + if( connect_signal( signal, object, t_slots ) ) + { + PHB_ITEM pBlock = hb_itemNew( hb_param( 4, HB_IT_BLOCK ) ); /* get codeblock */ + t_slots->listBlock << pBlock; + object->setProperty( hb_parcx( 3 ), ( int ) t_slots->listBlock.size() ); + bRet = HB_TRUE; + } + } + } + + hb_retl( bRet ); +} + +/* + * Harbour function to disconnect signals + */ +HB_FUNC( QT_SLOTS_DISCONNECT ) +{ + HB_BOOL bRet = HB_FALSE; + HBSlots * t_slots = hbqt_par_HBSlots( 1 ); + + if( t_slots ) + { + QObject * object = ( QObject* ) hbqt_pPtrFromObj( 2 ); + + if( object ) + { + const char * signal = hb_parcx( 3 ); + int i = object->property( signal ).toInt(); + + if( i > 0 && i <= t_slots->listBlock.size() ) + { + hb_itemRelease( t_slots->listBlock.at( i - 1 ) ); + t_slots->listBlock[ i - 1 ] = NULL; + + bRet = ( disconnect_signal( object, signal ) == true ); + + //HB_TRACE( HB_TR_DEBUG, ( " QT_SLOTS_DISCONNECT: %s %s", bRet ? "YES" : "NO", signal ) ); + } + } + } + + hb_retl( bRet ); +} + +HB_FUNC( QT_SLOTS_NEW ) +{ + void * pObj = NULL; + + pObj = ( HBSlots * ) new HBSlots(); + + hb_retptrGC( hbqt_gcAllocate_HBSlots( pObj ) ); +} + #endif diff --git a/harbour/contrib/hbqt/hbqt_hbslots2.cpp b/harbour/contrib/hbqt/hbqt_hbslots2.cpp deleted file mode 100644 index a55fbddbcb..0000000000 --- a/harbour/contrib/hbqt/hbqt_hbslots2.cpp +++ /dev/null @@ -1,864 +0,0 @@ -/* - * $Id$ - */ - -/* - * Harbour Project source code: - * QT wrapper main header - * - * Copyright 2009 Marcos Antonio Gambeta - * Copyright 2009 Pritpal Bedi - * Copyright 2010 Viktor Szakats (harbour.01 syenar.hu) - * www - http://www.harbour-project.org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2, or (at your option) - * any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this software; see the file COPYING. If not, write to - * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, - * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). - * - * As a special exception, the Harbour Project gives permission for - * additional uses of the text contained in its release of Harbour. - * - * The exception is that, if you link the Harbour libraries with other - * files to produce an executable, this does not by itself cause the - * resulting executable to be covered by the GNU General Public License. - * Your use of that executable is in no way restricted on account of - * linking the Harbour library code into it. - * - * This exception does not however invalidate any other reasons why - * the executable file might be covered by the GNU General Public License. - * - * This exception applies only to the code released by the Harbour - * Project under the name Harbour. If you copy code from other - * Harbour Project or Free Software Foundation releases into a copy of - * Harbour, as the General Public License permits, the exception does - * not apply to the code that you add in this way. To avoid misleading - * anyone as to the status of such modified files, you must delete - * this exception notice from them. - * - * If you write modifications of your own for Harbour, it is your choice - * whether to permit this exception to apply to your modifications. - * If you do not wish that, delete this exception notice. - * - */ -/*----------------------------------------------------------------------*/ - -#include "hbapi.h" -#include "hbapiitm.h" -#include "hbstack.h" -#include "hbvm.h" - -#include "hbqt.h" - -#if QT_VERSION >= 0x040500 - -#include "hbqt_hbslots.h" - -#include - -typedef struct -{ - void * ph; - QT_G_FUNC_PTR func; - QPointer< HBSlots > pq; -} QGC_POINTER_HBSlots; - -static QT_G_FUNC( hbqt_release_HBSlots ) -{ - QGC_POINTER_HBSlots * p = ( QGC_POINTER_HBSlots * ) Cargo; - - HB_TRACE( HB_TR_DEBUG, ( "release_HBSlots p=%p", p)); - HB_TRACE( HB_TR_DEBUG, ( "release_HBSlots ph=%p pq=%p", p->ph, (void *)(p->pq))); - - if( p && p->ph && p->pq ) - { - const QMetaObject * m = ( ( QObject * ) p->ph )->metaObject(); - if( ( QString ) m->className() != ( QString ) "QObject" ) - { - switch( hbqt_get_object_release_method() ) - { - case HBQT_RELEASE_WITH_DELETE: - delete ( ( HBSlots * ) p->ph ); - break; - case HBQT_RELEASE_WITH_DESTRUTOR: - ( ( HBSlots * ) p->ph )->~HBSlots(); - break; - case HBQT_RELEASE_WITH_DELETE_LATER: - ( ( HBSlots * ) p->ph )->deleteLater(); - break; - } - p->ph = NULL; - HB_TRACE( HB_TR_DEBUG, ( "release_HBSlots Object deleted! %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); - } - else - { - HB_TRACE( HB_TR_DEBUG, ( "NO release_HBSlots Object Name Missing!" ) ); - } - } - else - { - HB_TRACE( HB_TR_DEBUG, ( "DEL release_HBSlots Object Already deleted!" ) ); - } -} - -static void * hbqt_gcAllocate_HBSlots( void * pObj ) -{ - QGC_POINTER_HBSlots * p = ( QGC_POINTER_HBSlots * ) hb_gcAllocate( sizeof( QGC_POINTER_HBSlots ), hbqt_gcFuncs() ); - - p->ph = pObj; - p->func = hbqt_release_HBSlots; - new( & p->pq ) QPointer< HBSlots >( ( HBSlots * ) pObj ); - HB_TRACE( HB_TR_DEBUG, ( " new_HBSlots %i B %i KB", ( int ) hb_xquery( 1001 ), hbqt_getmemused() ) ); - return( p ); -} - -/*----------------------------------------------------------------------*/ - -HBSlots::HBSlots( QObject* parent ) : QObject( parent ) -{ -} - -HBSlots::~HBSlots() -{ - int i; - - for( i = 0; i < listBlock.size(); i++ ) - { - if( listBlock[ i ] != NULL ) - { - hb_itemRelease( listBlock.at( i ) ); - listBlock[ i ] = NULL; - } - } - /* QUESTION: Should there be all remaining active slots disconnected at this point? */ - - /* Should be disconnected, but this is a responsibility of programmer as object is only known to the application */ - listBlock.clear(); -} - -static void hbqt_SlotsExec( HBSlots * t_slots, QObject * object, const char * pszEvent ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 1, pObject ); - hb_itemRelease( pObject ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecBool( HBSlots * t_slots, QObject * object, const char * pszEvent, bool bBool ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pBool = hb_itemPutL( NULL, bBool ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pBool ); - hb_itemRelease( pObject ); - hb_itemRelease( pBool ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pState = hb_itemPutNI( NULL, iValue ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pState ); - hb_itemRelease( pObject ); - hb_itemRelease( pState ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecIntInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue1, int iValue2 ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); - PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pValue1, pValue2 ); - hb_itemRelease( pObject ); - hb_itemRelease( pValue1 ); - hb_itemRelease( pValue2 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecIntIntInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue1, int iValue2, int iValue3 ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); - PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); - PHB_ITEM pValue3 = hb_itemPutNI( NULL, iValue3 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 4, pObject, pValue1, pValue2, pValue3 ); - hb_itemRelease( pObject ); - hb_itemRelease( pValue1 ); - hb_itemRelease( pValue2 ); - hb_itemRelease( pValue3 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecIntIntIntInt( HBSlots * t_slots, QObject * object, const char * pszEvent, int iValue1, int iValue2, int iValue3, int iValue4 ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pValue1 = hb_itemPutNI( NULL, iValue1 ); - PHB_ITEM pValue2 = hb_itemPutNI( NULL, iValue2 ); - PHB_ITEM pValue3 = hb_itemPutNI( NULL, iValue3 ); - PHB_ITEM pValue4 = hb_itemPutNI( NULL, iValue4 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 5, pObject, pValue1, pValue2, pValue3, pValue4 ); - hb_itemRelease( pObject ); - hb_itemRelease( pValue1 ); - hb_itemRelease( pValue2 ); - hb_itemRelease( pValue3 ); - hb_itemRelease( pValue4 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecString( HBSlots * t_slots, QObject * object, const char * pszEvent, const QString & string ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pString = hb_itemPutC( NULL, string.toAscii().data() ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pString ); - hb_itemRelease( pObject ); - hb_itemRelease( pString ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecModel( HBSlots * t_slots, QObject * object, const char * pszEvent, const QModelIndex & index ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pState = hb_itemPutPtr( NULL, ( QModelIndex * ) new QModelIndex( index ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pState ); - hb_itemRelease( pObject ); - delete ( ( QModelIndex * ) hb_itemGetPtr( pState ) ); - hb_itemRelease( pState ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecTextCharFormat( HBSlots * t_slots, QObject * object, const char * pszEvent, const QTextCharFormat & f ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QTextCharFormat( f ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QTextCharFormat * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecFont( HBSlots * t_slots, QObject * object, const char * pszEvent, const QFont & font ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QFont( font ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QFont * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecQTextCursor( HBSlots * t_slots, QObject * object, const char * pszEvent, const QTextCursor & cursor ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QTextCursor( cursor ) ); - //PHB_ITEM p1 = hb_itemPutPtr( NULL, *cursor ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QTextCursor * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecStringList( HBSlots * t_slots, QObject * object, const char * pszEvent, const QStringList & stringList ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM p1 = hb_itemPutPtr( NULL, new QStringList( stringList ) ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, p1 ); - hb_itemRelease( pObject ); - delete ( ( QStringList * ) hb_itemGetPtr( p1 ) ); - hb_itemRelease( p1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecPointer( HBSlots * t_slots, QObject * object, const char * pszEvent, void * p1 ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 2, pObject, pP1 ); - hb_itemRelease( pObject ); - hb_itemRelease( pP1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecPointerInt( HBSlots * t_slots, QObject * object, const char * pszEvent, void * p1, int iInt ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); - PHB_ITEM pI1 = hb_itemPutNI( NULL, iInt ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pP1, pI1 ); - hb_itemRelease( pObject ); - hb_itemRelease( pP1 ); - hb_itemRelease( pI1 ); - hb_vmRequestRestore(); - } - } -} - -static void hbqt_SlotsExecPointerPointer( HBSlots * t_slots, QObject * object, const char * pszEvent, void * p1, void * p2 ) -{ - if( object ) - { - int i = object->property( pszEvent ).toInt(); - if( i > 0 && i <= t_slots->listBlock.size() && hb_vmRequestReenter() ) - { - PHB_ITEM pObject = hb_itemPutPtr( NULL, object ); - PHB_ITEM pP1 = hb_itemPutPtr( NULL, p1 ); - PHB_ITEM pP2 = hb_itemPutPtr( NULL, p2 ); - hb_vmEvalBlockV( t_slots->listBlock.at( i - 1 ), 3, pObject, pP1, pP2 ); - hb_itemRelease( pObject ); - hb_itemRelease( pP1 ); - hb_itemRelease( pP2 ); - hb_vmRequestRestore(); - } - } -} - -/* Generic Key and Mouse Events emitted by subclass objects */ -void HBSlots::keyPressEvent( QKeyEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "keyPressEvent()", event ); } -void HBSlots::keyReleaseEvent( QKeyEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "keyReleaseEvent()", event ); } -void HBSlots::mouseMoveEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mouseMoveEvent()", event ); } -void HBSlots::mouseDoubleClickEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mouseDoubleClickEvent()", event ); } -void HBSlots::mousePressEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mousePressEvent()", event ); } -void HBSlots::mouseReleaseEvent( QMouseEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "mouseReleaseEvent()", event ); } -void HBSlots::wheelEvent( QWheelEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "wheelEvent()", event ); } -void HBSlots::resizeEvent( QResizeEvent * event ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "resizeEvent()", event ); } -void HBSlots::triggered( bool checked ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "triggered(bool)", checked ); } -void HBSlots::hovered( QAction * action ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "hovered(action)", action ); } -void HBSlots::clicked() { hbqt_SlotsExec( this, qobject_cast( sender() ), "clicked()" ); } -void HBSlots::returnPressed() { hbqt_SlotsExec( this, qobject_cast( sender() ), "returnPressed()" ); } -void HBSlots::viewportEntered() { hbqt_SlotsExec( this, qobject_cast( sender() ), "viewportEntered()" ); } -void HBSlots::pressed() { hbqt_SlotsExec( this, qobject_cast( sender() ), "pressed()" ); } -void HBSlots::released() { hbqt_SlotsExec( this, qobject_cast( sender() ), "released()" ); } -void HBSlots::triggered() { hbqt_SlotsExec( this, qobject_cast( sender() ), "triggered()" ); } -void HBSlots::hovered() { hbqt_SlotsExec( this, qobject_cast( sender() ), "hovered()" ); } -void HBSlots::stateChanged( int state ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "stateChanged(int)", state ); } -void HBSlots::activated( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "activated(int)", index ); } -void HBSlots::currentIndexChanged( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "currentIndexChanged(int)", index ); } -void HBSlots::currentChanged( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "currentChanged(int)", index ); } -void HBSlots::highlighted( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "highlighted(int)", index ); } -void HBSlots::clicked( const QModelIndex & index ) { hbqt_SlotsExecModel( this, qobject_cast( sender() ), "clicked(QModelIndex)", index ); } -void HBSlots::doubleClicked( const QModelIndex & index ) { hbqt_SlotsExecModel( this, qobject_cast( sender() ), "doubleClicked(QModelIndex)", index ); } -void HBSlots::entered( const QModelIndex & index ) { hbqt_SlotsExecModel( this, qobject_cast( sender() ), "entered(QModelIndex)", index ); } -void HBSlots::actionTriggered( int action ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "actionTriggered(int)", action ); } -void HBSlots::rangeChanged( int min, int max ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "rangeChanged(int)", min, max ); } -void HBSlots::sliderMoved( int value ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sliderMoved(int)", value ); } -void HBSlots::sliderPressed() { hbqt_SlotsExec( this, qobject_cast( sender() ), "sliderPressed()" ); } -void HBSlots::sliderReleased() { hbqt_SlotsExec( this, qobject_cast( sender() ), "sliderReleased()" ); } -void HBSlots::valueChanged( int value ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "valueChanged(int)", value ); } -void HBSlots::cursorPositionChanged( int iOld, int iNew ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cursorPositionChanged(int,int)", iOld, iNew ); } -void HBSlots::editingFinished() { hbqt_SlotsExec( this, qobject_cast( sender() ), "editingFinished()" ); } -void HBSlots::selectionChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "selectionChanged()" ); } -void HBSlots::textChanged( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "textChanged(QString)", text ); } -void HBSlots::textEdited( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "textEdited(QString)", text ); } -/* TreeViewobject */ -void HBSlots::currentItemChanged( QTreeWidgetItem * current, QTreeWidgetItem * previous ) { hbqt_SlotsExecPointerPointer( this, qobject_cast( sender() ), "currentItemChanged(QTWItem)", current, previous ); } -void HBSlots::itemActivated( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemActivated(QTWItem)", item, column ); } -void HBSlots::itemChanged( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemChanged(QTWItem)", item, column ); } -void HBSlots::itemClicked( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemClicked(QTWItem)", item, column ); } -void HBSlots::itemDoubleClicked( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemDoubleClicked(QTWItem)", item, column ); } -void HBSlots::itemEntered( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemEntered(QTWItem)", item, column ); } -void HBSlots::itemPressed( QTreeWidgetItem * item, int column ) { hbqt_SlotsExecPointerInt( this, qobject_cast( sender() ), "itemPressed(QTWItem)", item, column ); } -void HBSlots::itemExpanded( QTreeWidgetItem * item ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "itemExpanded(QTWItem)", item ); } -void HBSlots::itemCollapsed( QTreeWidgetItem * item ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "itemCollapsed(QTWItem)", item ); } -void HBSlots::itemSelectionChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "itemSelectionChanged()" ); } -/* QDialog (s)*/ -void HBSlots::currentFontChanged( const QFont & font ) { hbqt_SlotsExecFont( this, qobject_cast( sender() ), "currentFontChanged(QFont)", font ); } -void HBSlots::fontSelected( const QFont & font ) { hbqt_SlotsExecFont( this, qobject_cast( sender() ), "fontSelected(QFont)", font ); } -void HBSlots::accepted() { hbqt_SlotsExec( this, qobject_cast( sender() ), "accepted()" ); } -void HBSlots::finished( int result ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "finished(int)", result ); } -void HBSlots::rejected() { hbqt_SlotsExec( this, qobject_cast( sender() ), "rejected()" ); } -void HBSlots::currentChanged( const QString & path ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "currentChanged(QString)", path ); } -void HBSlots::directoryEntered( const QString & directory ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "directoryEntered(QString)", directory ); } -void HBSlots::fileSelected( const QString & file ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "fileSelected(QString)", file ); } -void HBSlots::filesSelected( const QStringList & selected ) { hbqt_SlotsExecStringList( this, qobject_cast( sender() ), "filesSelected(QStringList)", selected ); } -void HBSlots::filterSelected( const QString & filter ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "filterSelected(QString)", filter ); } -/* QPrintDialog */ -void HBSlots::accepted( QPrinter * printer ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "accepted(QPrinter)", printer ); } -/* QTextEdit */ -void HBSlots::copyAvailable( bool yes ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "copyAvailable(bool)", yes ); } -void HBSlots::currentCharFormatChanged( const QTextCharFormat & f ) { hbqt_SlotsExecTextCharFormat( this, qobject_cast( sender() ), "currentCharFormatChanged(QTextCharFormat)", f ); } -void HBSlots::cursorPositionChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "cursorPositionChanged()" ); } -void HBSlots::redoAvailable( bool available ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "redoAvailable(bool)", available ); } -void HBSlots::textChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "textChanged()" ); } -void HBSlots::undoAvailable( bool available ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "undoAvailable(available)", available ); } -void HBSlots::timeout() { hbqt_SlotsExec( this, qobject_cast( sender() ), "timeout()" ); } -void HBSlots::scrollContentsBy( int x, int y ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "scrollContentsBy(int,int)", x, y ); } -void HBSlots::geometriesChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "geometriesChanged()" ); } -void HBSlots::sectionAutoResize( int logicalIndex, QHeaderView::ResizeMode mode ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "sectionAutoResize(int,int)", logicalIndex, mode ); } -void HBSlots::sectionClicked( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionClicked(int)", logicalIndex ); } -void HBSlots::sectionCountChanged( int oldCount, int newCount ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "sectionCountChanged(int,int)", oldCount, newCount ); } -void HBSlots::sectionDoubleClicked( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionDoubleClicked(int)", logicalIndex ); } -void HBSlots::sectionEntered( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionEntered(int)", logicalIndex ); } -void HBSlots::sectionHandleDoubleClicked( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionHandleDoubleClicked(int)", logicalIndex ); } -void HBSlots::sectionMoved( int logicalIndex, int oldVisualIndex, int newVisualIndex ) { hbqt_SlotsExecIntIntInt( this, qobject_cast( sender() ), "sectionMoved(int,int,int)", logicalIndex, oldVisualIndex, newVisualIndex ); } -void HBSlots::sectionPressed( int logicalIndex ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "sectionPressed(int)", logicalIndex ); } -void HBSlots::sectionResized( int logicalIndex, int oldSize, int newSize ) { hbqt_SlotsExecIntIntInt( this, qobject_cast( sender() ), "sectionResized(int,int,int)", logicalIndex, oldSize, newSize ); } -void HBSlots::sortIndicatorChanged( int logicalIndex, Qt::SortOrder order ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "sortIndicatorChanged(int,int)", logicalIndex, order ); } -void HBSlots::buttonClicked( int id ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "buttonClicked(int)", id ); } -void HBSlots::buttonPressed( int id ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "buttonPressed(int)", id ); } -void HBSlots::buttonReleased( int id ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "buttonReleased(int)", id ); } -void HBSlots::linkActivated( const QString & link ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "linkActivated(QString)", link ); } -void HBSlots::linkHovered( const QString & link ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "linkHovered(QString)", link ); } -void HBSlots::cellActivated( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellActivated(int,int)", row, column ); } -void HBSlots::cellChanged( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellChanged(int,int)", row, column ); } -void HBSlots::cellClicked( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellClicked(int,int)", row, column ); } -void HBSlots::cellDoubleClicked( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellDoubleClicked(int,int)", row, column ); } -void HBSlots::cellEntered( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellEntered(int,int)", row, column ); } -void HBSlots::cellPressed( int row, int column ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "cellEntered(int,int)", row, column ); } -void HBSlots::currentCellChanged( int currentRow, int currentColumn, int previousRow, int previousColumn ) { hbqt_SlotsExecIntIntIntInt( this, qobject_cast( sender() ), "currentCellChanged(int,int,int,int)", currentRow, currentColumn, previousRow, previousColumn ); } -void HBSlots::tabCloseRequested( int index ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "tabCloseRequested(int)", index ); } -void HBSlots::paintRequested( QPrinter * printer ) { hbqt_SlotsExecPointer( this, qobject_cast( sender() ), "paintRequested(QPrinter)", printer ); } -/* QIODevice */ -void HBSlots::aboutToClose() { hbqt_SlotsExec( this, qobject_cast( sender() ), "aboutToClose()" ); } -void HBSlots::bytesWritten( qint64 bytes ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "bytesWritten(int)", bytes ); } -void HBSlots::readChannelFinished() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readChannelFinished()" ); } -void HBSlots::readyRead() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readyRead()" ); } -/* QProcess */ -void HBSlots::error( QProcess::ProcessError error ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "error(error)", error ); } -void HBSlots::finished( int exitCode, QProcess::ExitStatus exitStatus ) { hbqt_SlotsExecIntInt( this, qobject_cast( sender() ), "finished(int,int)", exitCode, exitStatus ); } -void HBSlots::readyReadStandardError() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readyReadStandardError()" ); } -void HBSlots::readyReadStandardOutput() { hbqt_SlotsExec( this, qobject_cast( sender() ), "readyReadStandardOutput()" ); } -void HBSlots::started() { hbqt_SlotsExec( this, qobject_cast( sender() ), "started()" ); } -void HBSlots::stateChanged( QProcess::ProcessState newState ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "stateChanged(int)", newState ); } -/* QComboBox */ -void HBSlots::activated( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "activated(text)", text ); } -void HBSlots::currentIndexChanged( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "currentIndexChanged(text)", text ); } -void HBSlots::editTextChanged( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "editTextChanged(text)", text ); } -void HBSlots::highlighted( const QString & text ) { hbqt_SlotsExecString( this, qobject_cast( sender() ), "highlighted(text)", text ); } -/* QTextDocument */ -void HBSlots::blockCountChanged( int newBlockCount ) { hbqt_SlotsExecInt( this, qobject_cast( sender() ), "blockCountChanged(int)", newBlockCount ); } -void HBSlots::contentsChange( int position, int charsRemoved, int charsAdded ) { hbqt_SlotsExecIntIntInt( this, qobject_cast( sender() ), "contentsChange(int,int,int)", position, charsRemoved, charsAdded ); } -void HBSlots::contentsChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "contentsChanged()" ); } -void HBSlots::cursorPositionChanged( const QTextCursor & cursor ) { hbqt_SlotsExecQTextCursor( this, qobject_cast( sender() ), "cursorPositionChanged(QTextCursor)", cursor ); } -void HBSlots::documentLayoutChanged() { hbqt_SlotsExec( this, qobject_cast( sender() ), "documentLayoutChanged()" ); } -void HBSlots::modificationChanged( bool changed ) { hbqt_SlotsExecBool( this, qobject_cast( sender() ), "modificationChanged(bool)", changed ); } -void HBSlots::undoCommandAdded() { hbqt_SlotsExec( this, qobject_cast( sender() ), "undoCommandAdded()" ); } -/**/ - -/*----------------------------------------------------------------------*/ -/* - * Harbour function to connect signals with slots - */ -HB_FUNC( QT_SLOTS_CONNECT ) -{ - HB_BOOL bRet = HB_FALSE; - HBSlots * t_slots = hbqt_par_HBSlots( 1 ); - - if( t_slots ) - { - QObject * object = ( QObject * ) hbqt_pPtrFromObj( 2 ); /* get sender */ - - if( object ) - { - QString signal = hb_parcx( 3 ); /* get signal */ - PHB_ITEM pBlock = hb_itemNew( hb_param( 4, HB_IT_BLOCK ) ); /* get codeblock */ - bool ret; - - if( signal == ( QString ) "clicked()" ) ret = object->connect( object, SIGNAL( clicked() ), t_slots, SLOT( clicked() ), Qt::AutoConnection ); - else if( signal == ( QString ) "returnPressed()" ) ret = object->connect( object, SIGNAL( returnPressed() ), t_slots, SLOT( returnPressed() ), Qt::AutoConnection ); - else if( signal == ( QString ) "triggered()" ) ret = object->connect( object, SIGNAL( triggered() ), t_slots, SLOT( triggered() ), Qt::AutoConnection ); - else if( signal == ( QString ) "hovered()" ) ret = object->connect( object, SIGNAL( hovered() ), t_slots, SLOT( hovered() ), Qt::AutoConnection ); - else if( signal == ( QString ) "viewportEntered()" ) ret = object->connect( object, SIGNAL( viewportEntered() ), t_slots, SLOT( viewportEntered() ), Qt::AutoConnection ); - else if( signal == ( QString ) "pressed()" ) ret = object->connect( object, SIGNAL( pressed() ), t_slots, SLOT( pressed() ), Qt::AutoConnection ); - else if( signal == ( QString ) "released()" ) ret = object->connect( object, SIGNAL( released() ), t_slots, SLOT( released() ), Qt::AutoConnection ); - else if( signal == ( QString ) "stateChanged(int)" ) ret = object->connect( object, SIGNAL( stateChanged( int ) ), t_slots, SLOT( stateChanged( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "activated(int)" ) ret = object->connect( object, SIGNAL( activated( int ) ), t_slots, SLOT( activated( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "currentIndexChanged(int)" ) ret = object->connect( object, SIGNAL( currentIndexChanged( int ) ), t_slots, SLOT( currentIndexChanged( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "highlighted(int)" ) ret = object->connect( object, SIGNAL( highlighted( int ) ), t_slots, SLOT( highlighted( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "triggered(bool)" ) ret = object->connect( object, SIGNAL( triggered( bool ) ), t_slots, SLOT( triggered( bool ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "clicked(QModelIndex)" ) ret = object->connect( object, SIGNAL( clicked( const QModelIndex & ) ), t_slots, SLOT( clicked( const QModelIndex & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "doubleClicked(QModelIndex)" ) ret = object->connect( object, SIGNAL( doubleClicked( const QModelIndex & ) ), t_slots, SLOT( doubleClicked( const QModelIndex & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "entered(QModelIndex)" ) ret = object->connect( object, SIGNAL( entered( const QModelIndex & ) ), t_slots, SLOT( entered( const QModelIndex & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "hovered(action)" ) ret = object->connect( object, SIGNAL( hovered( QAction * ) ), t_slots, SLOT( hovered( QAction * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "currentChanged(int)" ) ret = object->connect( object, SIGNAL( currentChanged( int ) ), t_slots, SLOT( currentChanged( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "actionTriggered(int)" ) ret = object->connect( object, SIGNAL( actionTriggered(int) ), t_slots, SLOT( actionTriggered(int) ), Qt::AutoConnection ); - else if( signal == ( QString ) "rangeChanged(int,int)" ) ret = object->connect( object, SIGNAL( rangeChanged(int,int) ), t_slots, SLOT( rangeChanged(int,int) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sliderMoved(int)" ) ret = object->connect( object, SIGNAL( sliderMoved(int) ), t_slots, SLOT( sliderMoved(int) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sliderPressed()" ) ret = object->connect( object, SIGNAL( sliderPressed() ), t_slots, SLOT( sliderPressed() ), Qt::AutoConnection ); - else if( signal == ( QString ) "sliderReleased()" ) ret = object->connect( object, SIGNAL( sliderReleased() ), t_slots, SLOT( sliderReleased() ), Qt::AutoConnection ); - else if( signal == ( QString ) "valueChanged(int)" ) ret = object->connect( object, SIGNAL( valueChanged(int) ), t_slots, SLOT( valueChanged(int) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cursorPositionChanged(int,int)" ) ret = object->connect( object, SIGNAL( cursorPositionChanged(int,int) ), t_slots, SLOT( cursorPositionChanged(int,int) ), Qt::AutoConnection ); - else if( signal == ( QString ) "editingFinished()" ) ret = object->connect( object, SIGNAL( editingFinished() ), t_slots, SLOT( editingFinished() ), Qt::AutoConnection ); - else if( signal == ( QString ) "returnPressed()" ) ret = object->connect( object, SIGNAL( returnPressed() ), t_slots, SLOT( returnPressed() ), Qt::AutoConnection ); - else if( signal == ( QString ) "selectionChanged()" ) ret = object->connect( object, SIGNAL( selectionChanged() ), t_slots, SLOT( selectionChanged() ), Qt::AutoConnection ); - else if( signal == ( QString ) "textChanged(QString)" ) ret = object->connect( object, SIGNAL( textChanged( const QString & ) ), t_slots, SLOT( textChanged( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "textEdited(QString)" ) ret = object->connect( object, SIGNAL( textEdited( const QString & ) ), t_slots, SLOT( textEdited( const QString & ) ), Qt::AutoConnection ); - /* QTreeViewWidget */ - else if( signal == ( QString ) "currentItemChanged(QTWItem)" ) ret = object->connect( object, SIGNAL( currentItemChanged( QTreeWidgetItem *, QTreeWidgetItem * ) ), t_slots, SLOT( currentItemChanged( QTreeWidgetItem *, QTreeWidgetItem * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemActivated(QTWItem)" ) ret = object->connect( object, SIGNAL( itemActivated( QTreeWidgetItem *, int ) ), t_slots, SLOT( itemActivated( QTreeWidgetItem *, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemChanged(QTWItem)" ) ret = object->connect( object, SIGNAL( itemChanged( QTreeWidgetItem *, int ) ), t_slots, SLOT( itemChanged( QTreeWidgetItem *, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemClicked(QTWItem)" ) ret = object->connect( object, SIGNAL( itemClicked( QTreeWidgetItem *, int ) ), t_slots, SLOT( itemClicked( QTreeWidgetItem *, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemCollapsed(QTWItem)" ) ret = object->connect( object, SIGNAL( itemCollapsed( QTreeWidgetItem * ) ), t_slots, SLOT( itemCollapsed( QTreeWidgetItem * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemDoubleClicked(QTWItem)" ) ret = object->connect( object, SIGNAL( itemDoubleClicked( QTreeWidgetItem *, int ) ), t_slots, SLOT( itemDoubleClicked( QTreeWidgetItem *, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemEntered(QTWItem)" ) ret = object->connect( object, SIGNAL( itemEntered( QTreeWidgetItem *, int ) ), t_slots, SLOT( itemEntered( QTreeWidgetItem *, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemExpanded(QTWItem)" ) ret = object->connect( object, SIGNAL( itemExpanded( QTreeWidgetItem * ) ), t_slots, SLOT( itemExpanded( QTreeWidgetItem * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemPressed(QTWItem)" ) ret = object->connect( object, SIGNAL( itemPressed( QTreeWidgetItem *, int ) ), t_slots, SLOT( itemPressed( QTreeWidgetItem *, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "itemSelectionChanged()" ) ret = object->connect( object, SIGNAL( itemSelectionChanged() ), t_slots, SLOT( itemSelectionChanged() ), Qt::AutoConnection ); - /* QDialog (s) QFontDialog, QFileDialog */ - else if( signal == ( QString ) "currentFontChanged(QFont)" ) ret = object->connect( object, SIGNAL( currentFontChanged( const QFont & ) ), t_slots, SLOT( currentFontChanged( const QFont & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "fontSelected(QFont)" ) ret = object->connect( object, SIGNAL( fontSelected( const QFont & ) ), t_slots, SLOT( fontSelected( const QFont & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "accepted()" ) ret = object->connect( object, SIGNAL( accepted() ), t_slots, SLOT( accepted() ), Qt::AutoConnection ); - else if( signal == ( QString ) "finished(int)" ) ret = object->connect( object, SIGNAL( finished( int ) ), t_slots, SLOT( finished( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "rejected()" ) ret = object->connect( object, SIGNAL( rejected() ), t_slots, SLOT( rejected() ), Qt::AutoConnection ); - else if( signal == ( QString ) "currentChanged(QString)" ) ret = object->connect( object, SIGNAL( currentChanged( const QString & ) ), t_slots, SLOT( currentChanged( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "directoryEntered(QString)" ) ret = object->connect( object, SIGNAL( directoryEntered( const QString & ) ), t_slots, SLOT( directoryEntered( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "fileSelected(QString)" ) ret = object->connect( object, SIGNAL( fileSelected( const QString & ) ), t_slots, SLOT( fileSelected( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "filesSelected(QStringList)" ) ret = object->connect( object, SIGNAL( filesSelected( const QStringList & ) ), t_slots, SLOT( filesSelected( const QStringList & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "filterSelected(QString)" ) ret = object->connect( object, SIGNAL( filterSelected( const QString & ) ), t_slots, SLOT( filterSelected( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "accepted(QPrinter)" ) ret = object->connect( object, SIGNAL( accepted( QPrinter * ) ), t_slots, SLOT( accepted( QPrinter * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "copyAvailable(bool)" ) ret = object->connect( object, SIGNAL( copyAvailable( bool ) ), t_slots, SLOT( copyAvailable( bool ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "currentCharFormatChanged(QTextCharFormat)" ) ret = object->connect( object, SIGNAL( currentCharFormatChanged( const QTextCharFormat & ) ), t_slots, SLOT( currentCharFormatChanged( const QTextCharFormat & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cursorPositionChanged()" ) ret = object->connect( object, SIGNAL( cursorPositionChanged() ), t_slots, SLOT( cursorPositionChanged() ), Qt::AutoConnection ); - else if( signal == ( QString ) "redoAvailable(bool)" ) ret = object->connect( object, SIGNAL( redoAvailable( bool ) ), t_slots, SLOT( redoAvailable( bool ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "textChanged()" ) ret = object->connect( object, SIGNAL( textChanged() ), t_slots, SLOT( textChanged() ), Qt::AutoConnection ); - else if( signal == ( QString ) "undoAvailable(available)" ) ret = object->connect( object, SIGNAL( undoAvailable( bool ) ), t_slots, SLOT( undoAvailable( bool ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "timeout()" ) ret = object->connect( object, SIGNAL( timeout() ), t_slots, SLOT( timeout() ), Qt::AutoConnection ); - /* Generic purpose mechanism to receive key and mouse events off subclasses */ - else if( signal == ( QString ) "keyPressEvent()" ) ret = object->connect( object, SIGNAL( sg_keyPressEvent( QKeyEvent * ) ), t_slots, SLOT( keyPressEvent( QKeyEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "keyReleaseEvent()" ) ret = object->connect( object, SIGNAL( sg_keyReleaseEvent( QKeyEvent * ) ), t_slots, SLOT( keyReleaseEvent( QKeyEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "mouseMoveEvent()" ) ret = object->connect( object, SIGNAL( sg_mouseMoveEvent( QMouseEvent * ) ), t_slots, SLOT( mouseMoveEvent( QMouseEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "mouseDoubleClickEvent()" ) ret = object->connect( object, SIGNAL( sg_mouseDoubleClickEvent( QMouseEvent * ) ), t_slots, SLOT( mouseDoubleClickEvent( QMouseEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "mousePressEvent()" ) ret = object->connect( object, SIGNAL( sg_mousePressEvent( QMouseEvent * ) ), t_slots, SLOT( mousePressEvent( QMouseEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "mouseReleaseEvent()" ) ret = object->connect( object, SIGNAL( sg_mouseReleaseEvent( QMouseEvent * ) ), t_slots, SLOT( mouseReleaseEvent( QMouseEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "wheelEvent()" ) ret = object->connect( object, SIGNAL( sg_wheelEvent( QWheelEvent * ) ), t_slots, SLOT( wheelEvent( QWheelEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "resizeEvent()" ) ret = object->connect( object, SIGNAL( sg_resizeEvent( QResizeEvent * ) ), t_slots, SLOT( resizeEvent( QResizeEvent * ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "scrollContentsBy(int,int)" ) ret = object->connect( object, SIGNAL( sg_scrollContentsBy( int, int ) ), t_slots, SLOT( scrollContentsBy( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "geometriesChanged()" ) ret = object->connect( object, SIGNAL( geometriesChanged() ), t_slots, SLOT( geometriesChanged() ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionAutoResize(int,int)" ) ret = object->connect( object, SIGNAL( sectionAutoResize( int, QHeaderView::ResizeMode ) ), t_slots, SLOT( sectionAutoResize( int, QHeaderView::ResizeMode ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionClicked(int)" ) ret = object->connect( object, SIGNAL( sectionClicked( int ) ), t_slots, SLOT( sectionClicked( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionCountChanged(int,int)" ) ret = object->connect( object, SIGNAL( sectionCountChanged( int, int ) ), t_slots, SLOT( sectionCountChanged( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionDoubleClicked(int)" ) ret = object->connect( object, SIGNAL( sectionDoubleClicked( int ) ), t_slots, SLOT( sectionDoubleClicked( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionEntered(int)" ) ret = object->connect( object, SIGNAL( sectionEntered( int ) ), t_slots, SLOT( sectionEntered( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionHandleDoubleClicked(int)" ) ret = object->connect( object, SIGNAL( sectionHandleDoubleClicked( int ) ), t_slots, SLOT( sectionHandleDoubleClicked( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionMoved(int,int,int)" ) ret = object->connect( object, SIGNAL( sectionMoved( int, int, int ) ), t_slots, SLOT( sectionMoved( int, int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionPressed(int)" ) ret = object->connect( object, SIGNAL( sectionPressed( int ) ), t_slots, SLOT( sectionPressed( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sectionResized(int,int,int)" ) ret = object->connect( object, SIGNAL( sectionResized( int, int, int ) ), t_slots, SLOT( sectionResized( int, int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "sortIndicatorChanged(int,int)" ) ret = object->connect( object, SIGNAL( sortIndicatorChanged( int, Qt::SortOrder ) ), t_slots, SLOT( sortIndicatorChanged( int, Qt::SortOrder ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "buttonClicked(int)" ) ret = object->connect( object, SIGNAL( buttonClicked( int ) ), t_slots, SLOT( buttonClicked( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "buttonPressed(int)" ) ret = object->connect( object, SIGNAL( buttonPressed( int ) ), t_slots, SLOT( buttonPressed( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "buttonReleased(int)" ) ret = object->connect( object, SIGNAL( buttonReleased( int ) ), t_slots, SLOT( buttonReleased( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "linkActivated(QString)" ) ret = object->connect( object, SIGNAL( linkActivated( const QString & ) ), t_slots, SLOT( linkActivated( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "linkHovered(QString)" ) ret = object->connect( object, SIGNAL( linkHovered( const QString & ) ), t_slots, SLOT( linkHovered( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cellActivated(int,int)" ) ret = object->connect( object, SIGNAL( cellActivated( int, int ) ), t_slots, SLOT( cellActivated( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cellChanged(int,int)" ) ret = object->connect( object, SIGNAL( cellChanged( int, int ) ), t_slots, SLOT( cellChanged( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cellClicked(int,int)" ) ret = object->connect( object, SIGNAL( cellClicked( int, int ) ), t_slots, SLOT( cellClicked( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cellDoubleClicked(int,int)" ) ret = object->connect( object, SIGNAL( cellDoubleClicked( int, int ) ), t_slots, SLOT( cellDoubleClicked( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cellEntered(int,int)" ) ret = object->connect( object, SIGNAL( cellEntered( int, int ) ), t_slots, SLOT( cellEntered( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "cellPressed(int,int)" ) ret = object->connect( object, SIGNAL( cellPressed( int, int ) ), t_slots, SLOT( cellPressed( int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "currentCellChanged(int,int,int,int)" ) ret = object->connect( object, SIGNAL( currentCellChanged( int, int, int, int ) ), t_slots, SLOT( currentCellChanged( int, int, int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "tabCloseRequested(int)" ) ret = object->connect( object, SIGNAL( tabCloseRequested( int ) ), t_slots, SLOT( tabCloseRequested( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "paintRequested(QPrinter)" ) ret = object->connect( object, SIGNAL( paintRequested( QPrinter * ) ), t_slots, SLOT( paintRequested( QPrinter * ) ), Qt::AutoConnection ); - /* QIODevice & QProcess */ - else if( signal == ( QString ) "aboutToClose()" ) ret = object->connect( object, SIGNAL( aboutToClose() ), t_slots, SLOT( aboutToClose() ), Qt::AutoConnection ); - else if( signal == ( QString ) "bytesWritten(int)" ) ret = object->connect( object, SIGNAL( bytesWritten( qint64 ) ), t_slots, SLOT( bytesWritten( qint64 ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "readChannelFinished()" ) ret = object->connect( object, SIGNAL( readChannelFinished() ), t_slots, SLOT( readChannelFinished() ), Qt::AutoConnection ); - else if( signal == ( QString ) "readyRead()" ) ret = object->connect( object, SIGNAL( readyRead() ), t_slots, SLOT( readyRead() ), Qt::AutoConnection ); - else if( signal == ( QString ) "error(int)" ) ret = object->connect( object, SIGNAL( error( int ) ), t_slots, SLOT( error( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "finished(int,int)" ) ret = object->connect( object, SIGNAL( finished( int, QProcess::ExitStatus ) ), t_slots, SLOT( finished( int, QProcess::ExitStatus ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "readyReadStandardError()" ) ret = object->connect( object, SIGNAL( readyReadStandardError() ), t_slots, SLOT( readyReadStandardError() ), Qt::AutoConnection ); - else if( signal == ( QString ) "readyReadStandardOutput()" ) ret = object->connect( object, SIGNAL( readyReadStandardOutput() ), t_slots, SLOT( readyReadStandardOutput() ), Qt::AutoConnection ); - else if( signal == ( QString ) "started()" ) ret = object->connect( object, SIGNAL( started() ), t_slots, SLOT( started() ), Qt::AutoConnection ); - else if( signal == ( QString ) "stateChanged(int)" ) ret = object->connect( object, SIGNAL( stateChanged( int ) ), t_slots, SLOT( stateChanged( int ) ), Qt::AutoConnection ); - /* QComboBox */ - else if( signal == ( QString ) "activated(text)" ) ret = object->connect( object, SIGNAL( activated( const QString & ) ), t_slots, SLOT( activated( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "currentIndexChanged(text)" ) ret = object->connect( object, SIGNAL( currentIndexChanged( const QString & ) ), t_slots, SLOT( currentIndexChanged( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "editTextChanged(text)" ) ret = object->connect( object, SIGNAL( editTextChanged( const QString & ) ), t_slots, SLOT( editTextChanged( const QString & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "highlighted(text)" ) ret = object->connect( object, SIGNAL( highlighted( const QString & ) ), t_slots, SLOT( highlighted( const QString & ) ), Qt::AutoConnection ); - /* QTextDocument */ - else if( signal == ( QString ) "blockCountChanged(int)" ) ret = object->connect( object, SIGNAL( blockCountChanged( int ) ), t_slots, SLOT( blockCountChanged( int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "contentsChange(int,int,int)" ) ret = object->connect( object, SIGNAL( contentsChange( int, int, int ) ), t_slots, SLOT( contentsChange( int, int, int ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "contentsChanged()" ) ret = object->connect( object, SIGNAL( contentsChanged() ), t_slots, SLOT( contentsChanged() ), Qt::AutoConnection ); - else if( signal == ( QString ) "cursorPositionChanged(QTextCursor)" ) ret = object->connect( object, SIGNAL( cursorPositionChanged( const QTextCursor & ) ), t_slots, SLOT( cursorPositionChanged( const QTextCursor & ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "documentLayoutChanged()" ) ret = object->connect( object, SIGNAL( documentLayoutChanged() ), t_slots, SLOT( documentLayoutChanged() ), Qt::AutoConnection ); - else if( signal == ( QString ) "modificationChanged(bool)" ) ret = object->connect( object, SIGNAL( modificationChanged( bool ) ), t_slots, SLOT( modificationChanged( bool ) ), Qt::AutoConnection ); - else if( signal == ( QString ) "undoCommandAdded()" ) ret = object->connect( object, SIGNAL( undoCommandAdded() ), t_slots, SLOT( undoCommandAdded() ), Qt::AutoConnection ); - else ret = false; - - if( ret == true ) - { - t_slots->listBlock << pBlock; - object->setProperty( hb_parcx( 3 ), ( int ) t_slots->listBlock.size() ); - bRet = HB_TRUE; - } - } - } - - hb_retl( bRet ); -} - -static bool disconnect_signal( QObject * object, const char * signal ) -{ - if( signal == ( QString ) "clicked()" ) return object->disconnect( SIGNAL( clicked() ) ); - else if( signal == ( QString ) "returnPressed()" ) return object->disconnect( SIGNAL( returnPressed() ) ); - else if( signal == ( QString ) "triggered()" ) return object->disconnect( SIGNAL( triggered() ) ); - else if( signal == ( QString ) "hovered()" ) return object->disconnect( SIGNAL( hovered() ) ); - else if( signal == ( QString ) "viewportEntered()" ) return object->disconnect( SIGNAL( viewportEntered() ) ); - else if( signal == ( QString ) "pressed()" ) return object->disconnect( SIGNAL( pressed() ) ); - else if( signal == ( QString ) "released()" ) return object->disconnect( SIGNAL( released() ) ); - else if( signal == ( QString ) "stateChanged(int)" ) return object->disconnect( SIGNAL( stateChanged( int ) ) ); - else if( signal == ( QString ) "activated(int)" ) return object->disconnect( SIGNAL( activated( int ) ) ); - else if( signal == ( QString ) "currentIndexChanged(int)" ) return object->disconnect( SIGNAL( currentIndexChanged( int ) ) ); - else if( signal == ( QString ) "highlighted(int)" ) return object->disconnect( SIGNAL( highlighted( int ) ) ); - else if( signal == ( QString ) "triggered(bool)" ) return object->disconnect( SIGNAL( triggered( bool ) ) ); - else if( signal == ( QString ) "clicked(QModelIndex)" ) return object->disconnect( SIGNAL( clicked( const QModelIndex & ) ) ); - else if( signal == ( QString ) "doubleClicked(QModelIndex)" ) return object->disconnect( SIGNAL( doubleClicked( const QModelIndex & ) ) ); - else if( signal == ( QString ) "entered(QModelIndex)" ) return object->disconnect( SIGNAL( entered( const QModelIndex & ) ) ); - else if( signal == ( QString ) "hovered(action)" ) return object->disconnect( SIGNAL( hovered( QAction * ) ) ); - else if( signal == ( QString ) "currentChanged(int)" ) return object->disconnect( SIGNAL( currentChanged( int ) ) ); - else if( signal == ( QString ) "actionTriggered(int)" ) return object->disconnect( SIGNAL( actionTriggered(int) ) ); - else if( signal == ( QString ) "rangeChanged(int,int)" ) return object->disconnect( SIGNAL( rangeChanged(int,int) ) ); - else if( signal == ( QString ) "sliderMoved(int)" ) return object->disconnect( SIGNAL( sliderMoved(int) ) ); - else if( signal == ( QString ) "sliderPressed()" ) return object->disconnect( SIGNAL( sliderPressed() ) ); - else if( signal == ( QString ) "sliderReleased()" ) return object->disconnect( SIGNAL( sliderReleased() ) ); - else if( signal == ( QString ) "valueChanged(int)" ) return object->disconnect( SIGNAL( valueChanged(int) ) ); - else if( signal == ( QString ) "cursorPositionChanged(int,int)" ) return object->disconnect( SIGNAL( cursorPositionChanged(int,int) ) ); - else if( signal == ( QString ) "editingFinished()" ) return object->disconnect( SIGNAL( editingFinished() ) ); - else if( signal == ( QString ) "returnPressed()" ) return object->disconnect( SIGNAL( returnPressed() ) ); - else if( signal == ( QString ) "selectionChanged()" ) return object->disconnect( SIGNAL( selectionChanged() ) ); - else if( signal == ( QString ) "textChanged(QString)" ) return object->disconnect( SIGNAL( textChanged( const QString &) ) ); - else if( signal == ( QString ) "textEdited(QString)" ) return object->disconnect( SIGNAL( textEdited( const QString &) ) ); - else if( signal == ( QString ) "currentItemChanged(QTWItem)" ) return object->disconnect( SIGNAL( currentItemChanged( QTreeWidgetItem *, QTreeWidgetItem * ) ) ); - else if( signal == ( QString ) "itemActivated(QTWItem)" ) return object->disconnect( SIGNAL( itemActivated( QTreeWidgetItem *, int ) ) ); - else if( signal == ( QString ) "itemChanged(QTWItem)" ) return object->disconnect( SIGNAL( itemChanged( QTreeWidgetItem *, int ) ) ); - else if( signal == ( QString ) "itemClicked(QTWItem)" ) return object->disconnect( SIGNAL( itemClicked( QTreeWidgetItem *, int ) ) ); - else if( signal == ( QString ) "itemCollapsed(QTWItem)" ) return object->disconnect( SIGNAL( itemCollapsed( QTreeWidgetItem * ) ) ); - else if( signal == ( QString ) "itemDoubleClicked(QTWItem)" ) return object->disconnect( SIGNAL( itemDoubleClicked( QTreeWidgetItem *, int ) ) ); - else if( signal == ( QString ) "itemEntered(QTWItem)" ) return object->disconnect( SIGNAL( itemEntered( QTreeWidgetItem *, int ) ) ); - else if( signal == ( QString ) "itemExpanded(QTWItem)" ) return object->disconnect( SIGNAL( itemExpanded( QTreeWidgetItem * ) ) ); - else if( signal == ( QString ) "itemPressed(QTWItem)" ) return object->disconnect( SIGNAL( itemPressed( QTreeWidgetItem *, int ) ) ); - else if( signal == ( QString ) "itemSelectionChanged()" ) return object->disconnect( SIGNAL( itemSelectionChanged() ) ); - else if( signal == ( QString ) "iconChanged()" ) return object->disconnect( SIGNAL( iconChanged() ) ); - else if( signal == ( QString ) "titleChanged(QString)" ) return object->disconnect( SIGNAL( titleChanged( const QString & ) ) ); - else if( signal == ( QString ) "urlChanged(QUrl)" ) return object->disconnect( SIGNAL( urlChanged( const QUrl & ) ) ); - else if( signal == ( QString ) "currentFontChanged(QFont)" ) return object->disconnect( SIGNAL( currentFontChanged( const QFont & ) ) ); - else if( signal == ( QString ) "fontSelected(QFont)" ) return object->disconnect( SIGNAL( fontSelected( const QFont & ) ) ); - else if( signal == ( QString ) "accepted()" ) return object->disconnect( SIGNAL( accepted() ) ); - else if( signal == ( QString ) "finished(int)" ) return object->disconnect( SIGNAL( finished( int ) ) ); - else if( signal == ( QString ) "rejected()" ) return object->disconnect( SIGNAL( rejected() ) ); - else if( signal == ( QString ) "currentChanged(QString)" ) return object->disconnect( SIGNAL( currentChanged( const QString & ) ) ); - else if( signal == ( QString ) "directoryEntered(QString)" ) return object->disconnect( SIGNAL( directoryEntered( const QString & ) ) ); - else if( signal == ( QString ) "fileSelected(QString)" ) return object->disconnect( SIGNAL( fileSelected( const QString & ) ) ); - else if( signal == ( QString ) "filesSelected(QStringList)" ) return object->disconnect( SIGNAL( filesSelected( const QStringList & ) ) ); - else if( signal == ( QString ) "filterSelected(QString)" ) return object->disconnect( SIGNAL( filterSelected( const QString & ) ) ); - else if( signal == ( QString ) "accepted(QPrinter)" ) return object->disconnect( SIGNAL( accepted( QPrinter * ) ) ); - else if( signal == ( QString ) "copyAvailable(bool)" ) return object->disconnect( SIGNAL( copyAvailable( bool ) ) ); - else if( signal == ( QString ) "currentCharFormatChanged(QTextCharFormat)" ) return object->disconnect( SIGNAL( currentCharFormatChanged( const QTextCharFormat & ) ) ); - else if( signal == ( QString ) "cursorPositionChanged()" ) return object->disconnect( SIGNAL( cursorPositionChanged() ) ); - else if( signal == ( QString ) "redoAvailable(bool)" ) return object->disconnect( SIGNAL( redoAvailable( bool ) ) ); - else if( signal == ( QString ) "textChanged()" ) return object->disconnect( SIGNAL( textChanged() ) ); - else if( signal == ( QString ) "undoAvailable(available)" ) return object->disconnect( SIGNAL( undoAvailable( bool ) ) ); - else if( signal == ( QString ) "timeout()" ) return object->disconnect( SIGNAL( timeout() ) ); - else if( signal == ( QString ) "keyPressEvent()" ) return object->disconnect( SIGNAL( sg_keyPressEvent( QKeyEvent * ) ) ); - else if( signal == ( QString ) "keyReleaseEvent()" ) return object->disconnect( SIGNAL( sg_keyReleaseEvent( QKeyEvent * ) ) ); - else if( signal == ( QString ) "mouseMoveEvent()" ) return object->disconnect( SIGNAL( sg_mouseMoveEvent( QMouseEvent * ) ) ); - else if( signal == ( QString ) "mouseDoubleClickEvent()" ) return object->disconnect( SIGNAL( sg_mouseDoubleClickEvent( QMouseEvent * ) ) ); - else if( signal == ( QString ) "mousePressEvent()" ) return object->disconnect( SIGNAL( sg_mousePressEvent( QMouseEvent * ) ) ); - else if( signal == ( QString ) "mouseReleaseEvent()" ) return object->disconnect( SIGNAL( sg_mouseReleaseEvent( QMouseEvent * ) ) ); - else if( signal == ( QString ) "wheelEvent()" ) return object->disconnect( SIGNAL( sg_wheelEvent( QWheelEvent * ) ) ); - else if( signal == ( QString ) "resizeEvent()" ) return object->disconnect( SIGNAL( sg_resizeEvent( QResizeEvent * ) ) ); - else if( signal == ( QString ) "scrollContentsBy(int,int)" ) return object->disconnect( SIGNAL( sg_scrollContentsBy( int, int ) ) ); - else if( signal == ( QString ) "geometriesChanged()" ) return object->disconnect( SIGNAL( geometriesChanged() ) ); - else if( signal == ( QString ) "sectionAutoResize(int,int)" ) return object->disconnect( SIGNAL( sectionAutoResize( int, QHeaderView::ResizeMode ) ) ); - else if( signal == ( QString ) "sectionClicked(int)" ) return object->disconnect( SIGNAL( sectionClicked( int ) ) ); - else if( signal == ( QString ) "sectionCountChanged(int,int)" ) return object->disconnect( SIGNAL( sectionCountChanged( int, int ) ) ); - else if( signal == ( QString ) "sectionDoubleClicked(int)" ) return object->disconnect( SIGNAL( sectionDoubleClicked( int ) ) ); - else if( signal == ( QString ) "sectionEntered(int)" ) return object->disconnect( SIGNAL( sectionEntered( int ) ) ); - else if( signal == ( QString ) "sectionHandleDoubleClicked(int)" ) return object->disconnect( SIGNAL( sectionHandleDoubleClicked( int ) ) ); - else if( signal == ( QString ) "sectionMoved(int,int,int)" ) return object->disconnect( SIGNAL( sectionMoved( int, int, int ) ) ); - else if( signal == ( QString ) "sectionPressed(int)" ) return object->disconnect( SIGNAL( sectionPressed( int ) ) ); - else if( signal == ( QString ) "sectionResized(int,int,int)" ) return object->disconnect( SIGNAL( sectionResized( int, int, int ) ) ); - else if( signal == ( QString ) "sortIndicatorChanged(int,int)" ) return object->disconnect( SIGNAL( sortIndicatorChanged( int, Qt::SortOrder ) ) ); - else if( signal == ( QString ) "buttonClicked(int)" ) return object->disconnect( SIGNAL( buttonClicked( int ) ) ); - else if( signal == ( QString ) "buttonPressed(int)" ) return object->disconnect( SIGNAL( buttonPressed( int ) ) ); - else if( signal == ( QString ) "buttonReleased(int)" ) return object->disconnect( SIGNAL( buttonReleased( int ) ) ); - else if( signal == ( QString ) "linkActivated(QString)" ) return object->disconnect( SIGNAL( linkActivated( const QString & ) ) ); - else if( signal == ( QString ) "linkHovered(QString)" ) return object->disconnect( SIGNAL( linkHovered( const QString & ) ) ); - else if( signal == ( QString ) "cellActivated(int,int)" ) return object->disconnect( SIGNAL( cellActivated( int, int ) ) ); - else if( signal == ( QString ) "cellChanged(int,int)" ) return object->disconnect( SIGNAL( cellChanged( int, int ) ) ); - else if( signal == ( QString ) "cellClicked(int,int)" ) return object->disconnect( SIGNAL( cellClicked( int, int ) ) ); - else if( signal == ( QString ) "cellDoubleClicked(int,int)" ) return object->disconnect( SIGNAL( cellDoubleClicked( int, int ) ) ); - else if( signal == ( QString ) "cellEntered(int,int)" ) return object->disconnect( SIGNAL( cellEntered( int, int ) ) ); - else if( signal == ( QString ) "cellPressed(int,int)" ) return object->disconnect( SIGNAL( cellPressed( int, int ) ) ); - else if( signal == ( QString ) "currentCellChanged(int,int,int,int)" ) return object->disconnect( SIGNAL( currentCellChanged( int, int, int, int ) ) ); - else if( signal == ( QString ) "tabCloseRequested(int)" ) return object->disconnect( SIGNAL( tabCloseRequested( int ) ) ); - else if( signal == ( QString ) "paintRequested(QPrinter)" ) return object->disconnect( SIGNAL( paintRequested( QPrinter * ) ) ); - /* QIODevice & QProcess */ - else if( signal == ( QString ) "aboutToClose()" ) return object->disconnect( SIGNAL( aboutToClose() ) ); - else if( signal == ( QString ) "bytesWritten(int)" ) return object->disconnect( SIGNAL( bytesWritten( qint64 ) ) ); - else if( signal == ( QString ) "readChannelFinished()" ) return object->disconnect( SIGNAL( readChannelFinished() ) ); - else if( signal == ( QString ) "readyRead()" ) return object->disconnect( SIGNAL( readyRead() ) ); - else if( signal == ( QString ) "error(int)" ) return object->disconnect( SIGNAL( error( int ) ) ); - else if( signal == ( QString ) "finished(int,int)" ) return object->disconnect( SIGNAL( finished( int, QProcess::ExitStatus ) ) ); - else if( signal == ( QString ) "readyReadStandardError()" ) return object->disconnect( SIGNAL( readyReadStandardError() ) ); - else if( signal == ( QString ) "readyReadStandardOutput()" ) return object->disconnect( SIGNAL( readyReadStandardOutput() ) ); - else if( signal == ( QString ) "started()" ) return object->disconnect( SIGNAL( started() ) ); - else if( signal == ( QString ) "stateChanged(int)" ) return object->disconnect( SIGNAL( stateChanged( int ) ) ); - /* QComboBox */ - else if( signal == ( QString ) "activated(text)" ) return object->disconnect( SIGNAL( activated( const QString & ) ) ); - else if( signal == ( QString ) "currentIndexChanged(text)" ) return object->disconnect( SIGNAL( currentIndexChanged( const QString & ) ) ); - else if( signal == ( QString ) "editTextChanged(text)" ) return object->disconnect( SIGNAL( editTextChanged( const QString & ) ) ); - else if( signal == ( QString ) "highlighted(text)" ) return object->disconnect( SIGNAL( highlighted( const QString & ) ) ); - /* QTextDocument */ - else if( signal == ( QString ) "blockCountChanged(int)" ) return object->disconnect( SIGNAL( blockCountChanged( int ) ) ); - else if( signal == ( QString ) "contentsChange(int,int,int)" ) return object->disconnect( SIGNAL( contentsChange( int, int, int ) ) ); - else if( signal == ( QString ) "contentsChanged()" ) return object->disconnect( SIGNAL( contentsChanged() ) ); - else if( signal == ( QString ) "cursorPositionChanged(QTextCursor)" ) return object->disconnect( SIGNAL( cursorPositionChanged( const QTextCursor & ) ) ); - else if( signal == ( QString ) "documentLayoutChanged()" ) return object->disconnect( SIGNAL( documentLayoutChanged() ) ); - else if( signal == ( QString ) "modificationChanged(bool)" ) return object->disconnect( SIGNAL( modificationChanged( bool ) ) ); - else if( signal == ( QString ) "undoCommandAdded()" ) return object->disconnect( SIGNAL( undoCommandAdded() ) ); - - return false; -} - -/* - * harbour function to disconnect signals - */ -HB_FUNC( QT_SLOTS_DISCONNECT ) -{ - HB_BOOL bRet = HB_FALSE; - HBSlots * t_slots = hbqt_par_HBSlots( 1 ); - - if( t_slots ) - { - QObject * object = ( QObject* ) hbqt_pPtrFromObj( 2 ); - - if( object ) - { - const char * signal = hb_parcx( 3 ); - int i = object->property( signal ).toInt(); - - if( i > 0 && i <= t_slots->listBlock.size() ) - { - hb_itemRelease( t_slots->listBlock.at( i - 1 ) ); - t_slots->listBlock[ i - 1 ] = NULL; - - bRet = ( disconnect_signal( object, signal ) == true ); - - //HB_TRACE( HB_TR_DEBUG, ( " QT_SLOTS_DISCONNECT: %s %s", bRet ? "YES" : "NO", signal ) ); - } - } - } - - hb_retl( bRet ); -} - -HB_FUNC( QT_SLOTS_NEW ) -{ - void * pObj = NULL; - - pObj = ( HBSlots * ) new HBSlots(); - - hb_retptrGC( hbqt_gcAllocate_HBSlots( pObj ) ); -} - -/*----------------------------------------------------------------------*/ - -#endif diff --git a/harbour/harbour.spec b/harbour/harbour.spec index 73a7f1f8b6..56514b7250 100644 --- a/harbour/harbour.spec +++ b/harbour/harbour.spec @@ -88,7 +88,7 @@ Source: %{name}-%{version}.src.tar.gz Packager: Przemys³aw Czerpak Luiz Rafael Culik Guimaraes BuildPrereq: gcc binutils bash %{!?_without_curses: ncurses-devel} %{!?_without_gpm: gpm-devel} Requires: gcc binutils bash sh-utils %{name}-lib = %{?epoch:%{epoch}:}%{version}-%{release} -Provides: %{name} harbour +Provides: %{name} harbour lib%{name}.so lib%{name}mt.so BuildRoot: /tmp/%{name}-%{version}-root %define _noautoreq 'libharbour.*' @@ -122,80 +122,9 @@ ford állományok, a virtuális gép és függvénykönyvtárak, valamint a dokumentáció. ###################################################################### -## main shared lib +## contrib libs (without package requirements) ###################################################################### -%package lib -Summary: Shared runtime libaries for %{dname} compiler -Summary(pl): Dzielone bilioteki dla kompilatora %{dname} -Summary(ru): óÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ËÏÍÐÉÌÑÔÏÒÁ %{dname} -Summary(hu): Megosztott könyvtárak a(z) %{dname} fordítóhoz -Group: Development/Languages -Provides: lib%{name}.so lib%{name}mt.so - -%description lib -%{dname} is a Clipper compatible compiler. -This package provides %{dname} runtime shared libraries for programs -linked dynamically. - -%description -l pl lib -%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator. -Ten pakiet udostêpnia dzielone bilioteki kompilatora %{dname} -dla programów konsolidowanych dynamicznie. - -%description -l pt_BR lib -%{dname} é um compilador compativel com o Clipper. -Esse pacote %{dname} provem as bibliotecas compartilhadas para programas -linkados dinamicamente. - -%description -l ru lib -%{dname} - ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. -üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÏ×ÍÅÓÔÎÏ ÉÓÐÏÌØÚÕÅÍÙÅ ÂÉÂÌÉÏÔÅËÉ %{dname}, -ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÒÁÂÏÔÙ ÄÉÎÁÍÉÞÅÓËÉ ÓËÏÍÐÏÎÏ×ÁÎÎÙÈ ÐÒÏÇÒÁÍÍ. - -%description -l hu lib -A(z) %{dname} egy Clipper kompatibilis fordítóprogram. -Ez a csomag biztosítja a dinamikusan szerkesztett %{dname} -programokhoz szükséges megosztott (dinamikus) futtatókönyvtárakat. - -###################################################################### -## static libs -###################################################################### - -%package static -Summary: Static runtime libaries for %{dname} compiler -Summary(pl): Statyczne bilioteki dla kompilatora %{dname} -Summary(ru): óÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ÄÌÑ ËÏÍÐÉÌÑÔÏÒÁ %{dname} -Summary(hu): Statikus könyvtárak a(z) %{dname} fordítóhoz -Group: Development/Languages -Requires: %{name} = %{?epoch:%{epoch}:}%{version}-%{release} - -%description static -%{dname} is a Clipper compatible compiler. -This package provides %{dname} static runtime libraries for static -program linking. - -%description -l pl static -%{dname} to kompatybilny z jêzykiem CA-Cl*pper kompilator. -Ten pakiet udostêpnia statyczne bilioteki dla kompilatora %{dname} -niezbêdne do statycznej konsolidacji programów. - -%description -l pt_BR static -%{dname} é um compilador compativel com o clippe. -Esse pacote %{dname} provem as bibliotecas de run time staticas para linkagem -dos os programas - -%description -l ru static -%{dname} - ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. -üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ ËÏÍÐÉÌÑÔÏÒÁ %{dname}, -ÎÅÏÂÈÏÄÉÍÙÅ ÄÌÑ ÓÔÁÔÉÞÅÓËÏÊ ËÏÍÐÏÎÏ×ËÉ ÐÒÏÇÒÁÍÍ. - -%description -l hu lib -A(z) %{dname} egy Clipper kompatibilis fordítóprogram. -Ez a csomag biztosítja a statikusan szerkesztett %{dname} -programokhoz szükséges statikus futtatókönyvtárakat. - - %package contrib Summary: Contrib runtime libaries for %{dname} compiler Summary(pl): Bilioteki z drzewa contrib dla kompilatora %{dname} @@ -223,11 +152,15 @@ dos programas. %{dname} - ËÏÍÐÉÌÑÔÏÒ, ÓÏ×ÍÅÓÔÉÍÙÊ Ó ÑÚÙËÏÍ CA-Cl*pper. üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ ÓÔÁÔÉÞÅÓËÉÅ ÂÉÂÌÉÏÔÅËÉ %{dname} ÉÚ ÄÅÒÅ×Á contrib. -%description -l hu lib +%description -l hu contrib A(z) %{dname} egy Clipper kompatibilis fordítóprogram. Ez a csomag kiegészítõ (contrib) könyvtárakat biztosít statikus szerkesztéshez. +###################################################################### +## contrib libs (with package requirements) +###################################################################### + ## ADS RDD %{?_with_ads:%package ads} %{?_with_ads:Summary: ADS RDDs for %{dname} compiler} @@ -559,13 +492,13 @@ EOF ###################################################################### ## Post install ###################################################################### -#%post lib +#%post #/sbin/ldconfig ###################################################################### ## Post uninstall ###################################################################### -#%postun lib +#%postun #/sbin/ldconfig ###################################################################### @@ -607,7 +540,6 @@ rm -rf $RPM_BUILD_ROOT %dir %{_includedir}/%{name} %attr(644,root,root) %{_includedir}/%{name}/* -%files static %defattr(644,root,root,755) %dir %{_libdir}/%{name} %{_libdir}/%{name}/libhbcpage.a @@ -636,6 +568,12 @@ rm -rf $RPM_BUILD_ROOT %{?_with_localzlib:%{_libdir}/%{name}/libhbzlib.a} %{?_with_localpcre:%{_libdir}/%{name}/libhbpcre.a} +%defattr(755,root,root,755) +%dir %{_libdir}/%{name} +%{_libdir}/%{name}/*.so +%{_libdir}/*.so +%{?hb_ldconf:%{hb_ldconf}/%{name}.conf} + %files contrib %defattr(644,root,root,755) %dir %{_libdir}/%{name} @@ -656,13 +594,6 @@ rm -rf $RPM_BUILD_ROOT %{_libdir}/%{name}/libhbtpathy.a %{_libdir}/%{name}/libhbziparc.a -%files lib -%defattr(755,root,root,755) -%dir %{_libdir}/%{name} -%{_libdir}/%{name}/*.so -%{_libdir}/*.so -%{?hb_ldconf:%{hb_ldconf}/%{name}.conf} - %{?_with_ads:%files ads} %{?_with_ads:%defattr(644,root,root,755)} %{?_with_ads:%dir %{_libdir}/%{name}}