/* * $Id$ */ /* Use this format for the entry headers: YYYY-MM-DD HH:MM UTC[-|+]hhmm Your Full Name For example: 2002-12-01 13:30 UTC+0100 Foo Bar */ 2006-02-15 11:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * do not line striping optimization when -l compiler switch (suppress line number information) is set - in such case it's only waste of time * harbour/include/hbapifs.h * harbour/source/common/hbfsapi.c * harbour/source/compiler/cmdcheck.c * harbour/source/pp/pplib.c * harbour/source/rtl/filesys.c * harbour/source/rtl/set.c * cleaned the usage of hb_fsAddSearchPath()/hb_fsFreeSearchPath() It fixes few possible memory leaks and GPF traps. 2006-02-14 18:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * enabled FM statistic by default when compiled without: -DHB_FM_STATISTICS_OFF after last Ryszard modification there is no memory leak in valid .prg code so this may help us to find some unknown problems. * harbour/include/hbcomp.h * harbour/source/compiler/hbpcode.c * formatting * harbour/source/rdd/dbcmd.c * fixed GPF in DBF2TEXT when work are is not in use. * harbour/source/rdd/dbfntx/dbfntx1.c * disabled validation of unused index pages - Clipper left them dirty so xHarbour reported that index is corrupted * harbour/source/rtl/dbdelim.prg * generate 2001 RT error when work area is not in used() state before export file is created. * harbour/source/rtl/errorapi.c * set DOSERROR() to oError:OSCODE when RT error is generated It's documented Clipper behavior. * harbour/source/vm/hvm.c * some fixes in new operators and removed unnecessary long->double->long conventions 2006-02-14 16:10 UTC+0100 Ryszard Glab * include/hbapiitm.h * include/hbexpra.c * include/hbexprc.c * include/hbexprop.h * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * source/vm/hvm.c * source/vm/itemapi.c * fixed code for adding date and numeric values (introduced in my last commits) * removed hb_itemPutBHLong (use hb_itemPutNInt instead) * added more optimization for localvar+=integer using HB_P_LOCALNEARADDINT pcode (borrowed from xHarbour) 2006-02-14 14:40 UTC+0100 Ryszard Glab * include/hbexprc.c * source/compiler/exproptc.c * source/macro/macroc.c * disabled optimalization of compound assignment in macro compiler 2006-02-14 13:40 UTC+0100 Ryszard Glab * include/hbexprc.c * source/compiler/exproptc.c * source/macro/macroc.c * disabled optimalization of compound assignment for fields 2006-02-14 11:40 UTC+0100 Ryszard Glab * include/hbapiitm.h * include/hbcomp.h * include/hbexpra.c * include/hbexprb.c * include/hbexprc.c * include/hbexprop.h * include/hbpcode.h * source/common/expropt1.c * source/common/hbfsapi.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/exproptc.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbdead.c * source/compiler/hbfix.c * source/compiler/hbpcode.c * source/compiler/hbstripl.c * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/macro/macroc.c * source/pp/ppcore.c * source/vm/hvm.c * source/vm/itemapi.c * fixed many more memory leaks in the compiler (the Harbour code compiles itself with no memory leaks). However there are still leaks when the compiler aborts compilation due to errors. + added optimalization of '+=' '-=' '*=' '/=' operators + added hb_itemGetNDDec(), hb_itemPutHBLong(), hb_itemPutNumType() borrowed from xHarbour NOTE: new pcodes: HB_[PLUS|MINUS|MULT|DIV]EQ HB_[PLUS|MINUS|MULT|DIV]EQPOP recompile all sources. 2006-02-12 14:33 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbdefs.h * cleaned BOOL usage * harbour/include/hbcomp.h * harbour/include/hbpp.h * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y * harbour/source/pp/ppcomp.c * harbour/source/pp/ppcore.c * harbour/source/pp/pplib.c * harbour/source/pp/pragma.c * keep functions and public variables definitions in header files. Do not use any extern ... in source code to aviod possible mistakes ! fixed some mistakes in BOOL/int declarations * use hb_fsFreeSearchPath() to free allocated path list * harbour/source/compiler/harbour.c * keep functions and public variables definitions in header files. + added memory statistic module - it's disabled now because too much errors is reported. Ryszard I hope it will help in locating memory leaks in compiler. * begun of cleaning static variables to make compiler code ready for reentrance. * harbour/source/rtl/gtstd/gtstd.c ! fixed cursor positioning * harbour/config/os2/gcc.cf + added socket library + harbour/tests/ctwtest.prg + added CTWIN test program + harbour/contrib/dot/Makefile + added GNU Makefile 2006-02-12 11:15 UTC+0100 Antonio Linares * harbour/include/hbdefs.h * minor fix to avoid conflict with Darwin and Cocoa BOOL use 2006-02-11 16:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/harbour.c * do not strip redundant line information when compiled for debug (-b) * harbour/source/compiler/harbour.y ! fixed typo in hb_compSequenceFinish() call - Ryszard please check me. using iNumber instead of lNumber caused that on big endian machines begin sequence / endsequence block was stripped * harbour/source/compiler/hbdead.c ! fixed stupid typo in counting length of debug variable/module names 2006-02-11 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/Makefile * added missing header files * harbour/source/compiler/harbour.c * added support for @filelst[.clp] - partially borrowed from xHarbour It's not exactly the same as in Clipper because Clipper creates one final file when [x]Harbour series of files. To make it like in Clipper we will have to add support from more then one symbol table in the final file. It will be also useful for proper implementation of: DO Now in [x]Harbour it works like #include .prg when in Clipper also new symbol table is created for included files. The difference can be easy sync when current file has static functions with exactly the same names as the one included by DO - compilation fails. * add HB_P_ENDBLOCK to PCODE with codeblock body before run any optimization - it fixes pcode tracing in jump optimization and also allow to make some validation of generated PCODE * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/dbtotal.prg * removed not longer necessary temporary alias creation. Harbour support empty aliases ("") like Clipper. * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rtl/hbgtcore.c * casting * harbour/source/rtl/gtos2/gtos2.c ! fixed hb_gt_os2_GetScreenContents() 2006-02-11 12:40 UTC+0100 Ryszard Glab * source/compiler/harbour.c * source/compiler/harbour.y * source/pp/ppcore.c * added tracing code * fixed one more memory leak 2006-02-09 15:25 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed to release memory allocated with the proeprocessor * tests/mousetst.prg * minor fix after latest Przemek changes * source/pp/ppcore.c * fixed bug in processing the list of optional repeatable code reported by Lorenzo 2006-02-09 12:52 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/bld.cmd + added -ldbffpt, -lhbsix, -lhsx libraries for GCC OS2 linking * harbour/config/os2/gcc.cf * harbour/contrib/libct/files.c + some cleanups for OS2 - please check me. * harbour/source/rtl/gtos2/gtos2.c + implemented hb_gt_os2_GetScreenContents() - please check me * harbour/include/Makefile + added missing hbfixdj.h * harbour/source/rtl/gtdos/gtdos.c ! for screen synchronization after PostExt() 2006-02-09 03:08 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtapi.c * minor modifications for GTs which may no flush data in PreExt() * harbour/source/rtl/gtwin/gtwin.c ! fixed Init() code by adding missing SUPER_INIT() * modified a little bit PreExt() and PostExt() methods 2006-02-08 20:23 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt * updated with recent changes 2006-02-08 18:02 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtwin/gtwin.c + added PreExt() and PostExt() methods 2006-02-08 15:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbcmd.c ! warning I introduced in last commit cleanup 2006-02-08 14:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/gtdos/gtdos.c * updated copyright message with authors from removed mousedos.c * harbour/include/hbgtcore.h * harbour/source/rtl/hbgtcore.c * harbour/source/compiler/harbour.c ! fixed BOLL / int typos * harbour/source/vm/eval.c * minor modification * harbour/source/rdd/dbf1.c * enable 'Y' (currency) fields - translated to HB_IT_DOUBLE * harbour/source/rdd/dbcmd.c ! fixed some wrong behavior in SORT parameters setting in __dbArrange() * harbour/source/rdd/dbsort.prg ! removed hack with COPY TO ... when lastrec()==1 which introduced new bugs * harbour/source/rdd/hbdbsort.c ! fixed sort output when only one record is sorted There are still some problems with sort like sorting numeric fields as ASCII strings or using strcmp what will not work with binary fields but all all this code should be rewritten due to unacceptable performance so I left it as is to some spare time in the future. * harbour/source/rtl/gtwin/gtwin.c ! save cursor position at startup * harbour/source/rtl/net.c * harbour/source/rtl/gtos2/gtos2.c * harbour/contrib/hgf/os2pm/os2pm.c * some warnings cleaned and updates for new API in OS2 build 2006-02-07 20:03 UTC+0100 Antonio Linares * source/vm/mainwin.c * minor fix 2006-02-07 18:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/vm/mainwin.c ! Fixed previous commit. 2006-02-07 12:20 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * makefile.bc + Updated for latest changes. * bin/bld.bat + Added codepage lib. * source/codepage/cdpbg866.c * source/codepage/cdpbgiso.c * source/codepage/cdpbgwin.c + Added two missing chars to BG alphabet. * source/vm/arrays.c * source/vm/mainwin.c * source/rtl/hbgtcore.c * include/hbapigt.h * source/rtl/gtpca/gtpca.c * source/rtl/gtstd/gtstd.c ! Fixed recent compiler warnings. 2006-02-05 09:47 UTC+0200 Chen Kedem * source/rtl/gtos2/gtos2.c * Restore my copyright notice for functions used to be in mouseos2.c 2006-02-04 17:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/make_bsd.sh * harbour/make_drw.sh * harbour/make_gnu.sh * harbour/make_rpm.sh * harbour/make_tgz.sh * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh * harbour/config/c.cf * harbour/config/global.cf * harbour/config/rules.cf * harbour/config/darwin/gcc.cf * harbour/config/darwin/global.cf * harbour/config/dos/djgpp.cf * harbour/config/dos/global.cf * harbour/config/dos/install.cf * harbour/config/dos/owatcom.cf * harbour/config/hpux/gcc.cf * harbour/config/hpux/global.cf * harbour/config/linux/gcc.cf * harbour/config/linux/global.cf * harbour/config/linux/owatcom.cf * harbour/config/sunos/gcc.cf * harbour/config/w32/watcom.cf * include ADSRDD by default in RPMs * updated for new RPM which does not accept some old tags * set -fPIC on 64bit platforms + added /etc/harbour/hb-charmap.def * updated for new GT system and drivers * harbour/contrib/dot/pp.prg * harbour/contrib/dot/pp_harb.ch * use _APMAIN as startup function * cleaned direct access to item internals * harbour/contrib/libct/Makefile + harbour/contrib/libct/ctwfunc.c + harbour/contrib/libct/ctwin.c + harbour/contrib/libct/ctwin.h * added CT3 like Window System - it's a GT driver which inherits from the existing one and adds CTW functionality * harbour/contrib/libct/screen1.c * updated for GTAPI modifications * harbour/contrib/libnf/Makefile * harbour/contrib/libnf/chdir.c * harbour/contrib/libnf/mkdir.c * harbour/contrib/libnf/rmdir.c * use hb_fs*() API functions instead of calling DOS interrupts Now NF dir functions works on all platforms - it will be nice to update other functions too. * harbour/contrib/libnf/dispc.c * harbour/contrib/libnf/ftattr.c * updated for GT API modifications, some of this code still depends on EGA/VGA video buffer so will work only if user will force in GT using it - it will be nice to rewrite them * harbour/contrib/odbc/odbc.c * harbour/contrib/ole/ole2.c * casting and cleaning direct access to item internals * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/rdd_ads/adsmgmnt.c * synced with xHarbour * harbour/include/Makefile * added new header files + harbour/include/hbgtinfo.ch + added GTI_* defintions for hb_gtInfo() function. This function works in similar way to dbInfo() in RDD. The GTI_* definitions are taken from xHarbour "as is" and they should be cleaned - not all functionality are supported in Harbour and some others should be implemented in differ way then in xHarbour. + harbour/include/hbgtcore.h * harbour/include/hbapigt.h * new GTAPI hbgtcore.h file should not be included by user code it's only for internal use in GT drivers * HB_inkey_enum changed to int - this is bit field not enumerated type. Many of C/C++ compilers forbid bit operations on enum types and forcing it by casting which finally exceeds the enum range is defined as bug because it may badly interacts with some compiler optimizations * harbour/include/hbapi.h * harbour/include/hbapicdp.h * harbour/include/hbapierr.h * harbour/include/hbapifs.h * harbour/include/hbapiitm.h * harbour/include/hbapilng.h * harbour/include/hbapirdd.h * harbour/include/hbdate.h * harbour/include/hbdefs.h * harbour/include/hbinit.h * harbour/include/hbpcode.h * harbour/include/hbrdddbf.h * harbour/include/hbset.h * harbour/include/hbstack.h * harbour/include/hbvm.h * harbour/include/hbvmopt.h * harbour/include/hbvmpub.h * separated internal and external API. Now the definitions for internal HVM structures and functions are excluded by default they could be enabled if user include hbvmopt.h before other header files. Such operation should be done _ONLY_ by core code - if 3-rd party developers make sth like that then it's for their own risk and such code may stop to work with next Harbour versions. Without hbvmopt.h the internal structures like HB_ITEM, HB_DYNS, ... are mapped to 'void' so there is no way to access their members so we can modify them in the future without afford for 3-rd party code. There is one small exception 'type' should be the first member for HB_ITEM structure because I used a small ugly hack in HB_IS_*() macros with castin PHB_ITEM to HB_TYPE* - it works without speed overhead but if you think that it will be better/cleaner to not use such tricks then it's enough to change HB_ITEM_TYPE() definitions in hbvmpub.h - see note. * cleared the usage of HB_EXPORT - to avoid problems with some C/C++ compilers we agreed that the only one common way of using HB_EXPORT is adding it ad begining of declaration - please keep this convention in the future. + added new functions: hb_extIsObject(), hb_codeblockId(), hb_idleSleep(), hb_fsGetOsHandle(), hb_dynsymFindSymbol(), hb_dynsymGetSymbol(), hb_dynsymSymbol(), hb_dynsymName(), hb_dynsymMemvarHandle(), hb_dynsymAreaHandle(), hb_dynsymSetAreaHandle() * changed hb_arrayClone() declaration to: PHB_ITEM hb_arrayClone( PHB_ITEM pArray ) * changed hb_arrayFromParams() declaration to: PHB_ITEM hb_arrayFromParams( int iLevel ) The previous version needed a pointer to stack relocatable area so any stack resizing could cause GPF. * harbour/include/inkey.ch * added definitions for extended mouse keys/events and some key combinations * harbour/source/codepage/uc1250.c * harbour/source/codepage/uc1251.c * harbour/source/codepage/uc1253.c * harbour/source/codepage/uc1257.c * harbour/source/codepage/uc737.c * harbour/source/codepage/uc850.c * harbour/source/codepage/uc852.c * harbour/source/codepage/uc866.c * harbour/source/codepage/uc88591b.c * harbour/source/codepage/uc8859_1.c * harbour/source/codepage/uc8859_2.c * harbour/source/codepage/uc8859_5.c * harbour/source/codepage/uckoi8.c * harbour/source/codepage/uckoi8u.c * harbour/source/codepage/ucmaz.c * updated unicode values for characters in rabge 1-31 to keep DOS compatibility * harbour/source/common/expropt1.c * harbour/source/common/hbarch.c * harbour/source/common/hbdate.c * harbour/source/common/hbstr.c * harbour/source/common/hbver.c * keep HB_EXPORT at the beginning of function declaration * harbour/include/hbpcode.h * harbour/include/hbcomp.h * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.y * harbour/source/compiler/hbfix.c + harbour/source/compiler/hbdead.c * harbour/source/compiler/hbpcode.c + harbour/source/compiler/hbstripl.c % rewritten jump optimization ! fixed some minor problems * do not optimize jumps and local variable access by shorter PCODE version and HB_P_NOOP when jump optimization is disabled, this is a note I left in source code in few places: /* * optimizing jumps here by shorting them and setting HB_P_NOOPs * only slow down the compilation process for three reasons: * 1. When it's dummy jump to next instruction we need two passes * in hb_compOptimizeJumps() to fully remove it * 2. hb_compOptimizeJumps() also make jump shortcutting in each pass * 3. When Jump Optimization is disabled (-kJ) then it cause slowness * at runtime because we will have more HVM loops: first for the * shorter jump and next for the HB_P_NOOP PCODE(s) * [druzuz] */ + added support for multi passes in jump/dead code elimination (hb_compOptimizeJumps()) By default is set upto three passes. Now hb_compOptimizeJumps() keeps all compiler internal data clean on exist and can be called any times and does not change other compiler's functions behaviors + added dummy jumps elimination + added optimization for: IF .T. IF .F. WHILE .T. WHILE .F. etc. * restored empty BEGIN/RECOVER sequence block elimination if Jump Optimization is enabled then it marks the block with HB_P_NOOPS else it cut the generated PCODE + added dead code eliminator (new functions hb_compCodeTraceMarkDead()/ hb_compPCodeTrace() - it works only when Jump Optimization is not disabled) As a result of the above we have smaller and faster PCODE. I do not think that we will have meta code support in the reasonable time and because I need some valid compiler data/structures like updated table of all jumps for real C code (not PCODE in .c files) generation then I decide to make some modifications and the above is in practice a side effect of this work. * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/rddord.prg * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/nulsys/nulsys.c * synced with my modifications in xHarbour * updated for API modifications * harbour/source/rtl/Makefile + added gtsys.c, gtfunc.c, hbgtcore.c * harbour/source/rtl/accept.c * harbour/source/rtl/alert.prg * harbour/source/rtl/cdpapi.c * harbour/source/rtl/console.c * harbour/source/rtl/dates.c * harbour/source/rtl/do.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/errorsys.prg * harbour/source/rtl/file.c * harbour/source/rtl/fserror.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/idle.c * harbour/source/rtl/math.c * harbour/source/rtl/oldclear.c * harbour/source/rtl/strmatch.c * harbour/source/rtl/strpeek.c * harbour/source/rtl/valtype.c * harbour/source/rtl/xsavescr.c * updated for API modifications * cleaned some compiler warnings * harbour/source/rtl/filesys.c + added hb_fsGetOsHandle() * updated for API modifications * harbour/source/rtl/gt.c * harbour/source/rtl/gtapi.c * harbour/source/rtl/gtapiu.c + harbour/source/rtl/gtfunc.c + harbour/source/rtl/gtsys.c + harbour/source/rtl/hbgtcore.c * harbour/source/rtl/inkey.c * harbour/source/rtl/maxrow.c * harbour/source/rtl/mouseapi.c * harbour/source/rtl/setcolor.c * harbour/source/rtl/setposbs.c * harbour/source/rtl/shadow.c * new GT API code * harbour/source/rtl/saverest.c * changed default behavior in SEVESCREEN/RESTSCREEN with parameters out of screen range to be Clipper compatible. Added last logical parameter to keep previous behavior for programs which begins to use it. * harbour/source/rtl/seconds.c * include missing header file to fix C++ compilation * make hb_secondsCPU global function * harbour/source/rtl/set.c * make HB_SET_TYPEAHEAD Clipper compatible * harbour/source/rtl/gtcgi/Makefile * harbour/source/rtl/gtcgi/gtcgi.c - harbour/source/rtl/gtcgi/mousecgi.c * rewritten for new GT API some detail behaviors has been changed but I think the current implementation is better for CGI programs output - please check and fix me if necessary * harbour/source/rtl/gtcrs/Makefile - harbour/source/rtl/gtcrs/charmap.prg + harbour/source/rtl/gtcrs/chrmap.c - harbour/source/rtl/gtcrs/debug.map - harbour/source/rtl/gtcrs/eterm.map * harbour/source/rtl/gtcrs/gtcrs.c + harbour/source/rtl/gtcrs/gtcrs.h + harbour/source/rtl/gtcrs/hb-charmap.def - harbour/source/rtl/gtcrs/kbdcrs.c - harbour/source/rtl/gtcrs/keymap.prg - harbour/source/rtl/gtcrs/linux.map - harbour/source/rtl/gtcrs/mousecrs.c * new GTCRS based on my xHarbour and Flagship curses code Please not that at runtime it looks for a file /etc/harbour/hb-charmap.def where user can fully tune output for his terminal. This file is included with proper path in binaries created by make_rpm.sh and make_tgz.sh Ryszard I've removed some of your extensions which are no longer necessary and some other (keyboard sequence redefinition) should be done in a little bit differ way. I would like to talk about it when you test current code. Added support for extended mouse keys (middle button and wheel). * harbour/source/rtl/gtdos/Makefile * harbour/source/rtl/gtdos/gtdos.c - harbour/source/rtl/gtdos/mousedos.c * rewritten for new GT API Fixed some small problems, finished mouse code which for DJGPP is fully Clipper compatible with real mouse SAVE/RESTORE code. For other compilers it should be updated depending on memory model and used DPMI driver (if any). * harbour/source/rtl/gtos2/Makefile * harbour/source/rtl/gtos2/gtos2.c - harbour/source/rtl/gtos2/mouseos2.c * rewritten for new GT API Fixed some problems and finished the mouse code. Please test it - I made all modifications without OS2 and I was not able to make any test. I'm interesting in information if it works and the speed difference - f.e. results from tests/vidtest.prg run with previous and current version. * harbour/source/rtl/gtpca/Makefile * harbour/source/rtl/gtpca/gtpca.c - harbour/source/rtl/gtpca/kbdos2.gcc - harbour/source/rtl/gtpca/mousepca.c * rewritten for new GT API and finished so now it's full functional GT driver I'm interesting in keyboard sequences used by PC-ANSI drivers in DOS so it will be possible to implement also support for extended keys input. * harbour/source/rtl/gtsln/Makefile * harbour/source/rtl/gtsln/gtsln.c + harbour/source/rtl/gtsln/gtsln.h * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtsln/keytrans.c * harbour/source/rtl/gtsln/mousesln.c * rewritten for new GT API basing on current xHarbour code added support for slang 1.4x patched for UNICODE (Debian patches used by most of current Linux distributions) and slang 2.x - It's unicode ready, tries to detect terminal mode (utf-8/iso) at startup and switch the internal logic to iso/unicode mode. When compiled with slang 1.4x or 2.x and terminal is in UTF-8 it can display all characters like in DOS if only used font have them or good fall-back table is loaded (f.e. the one created by QRCZAK) Added support for extended mouse keys (middle button and wheel). * harbour/source/rtl/gtstd/Makefile * harbour/source/rtl/gtstd/gtstd.c - harbour/source/rtl/gtstd/mousestd.c * rewritten for new GT API Now it can work as full screen GT driver redrawing the previous screen contents from internal GT core buffers. I run with this GT some of my programs and they work quite well ;-) of course without colors. * harbour/source/rtl/gtwin/Makefile * harbour/source/rtl/gtwin/gtwin.c - harbour/source/rtl/gtwin/mousewin.c * updated for new GT API + harbour/source/rtl/gtxwc/Makefile + harbour/source/rtl/gtxwc/gtxwc.c + harbour/source/rtl/gtxwc/gtxwc.h * new XWindow Console GT driver based on my and Giancarlo Niccolai code form xHarbour - this GT can work in XWindow environment only and create its own window for console output. It delays the initialization to the moment when user try to display anything on the screen so even without X Window system programs which uses this GT can work as long as use only outstd/outerr output. * harbour/source/vm/arrays.c * updated for API modifications + added hb_arrayId(), * changed hb_arrayClone() declaration to: HB_EXPORT PHB_ITEM hb_arrayClone( PHB_ITEM pSrcArray ) * changed hb_arrayFromParams() declaration to: PHB_ITEM hb_arrayFromParams( int iLevel ) * harbour/source/vm/arrayshb.c * updated for API modifications + added new parameter iLevel to function HB_APARAMS() * harbour/source/vm/classes.c * harbour/source/vm/cmdarg.c * harbour/source/vm/dynlibhb.c * harbour/source/vm/estack.c * harbour/source/vm/fm.c * harbour/source/vm/garbage.c * harbour/source/vm/maindll.c * harbour/source/vm/maindllh.c * harbour/source/vm/maindllp.c * harbour/source/vm/mainstd.c * harbour/source/vm/mainwin.c * harbour/source/vm/memvars.c * harbour/source/vm/pcount.c * harbour/source/vm/proc.c * updated for API modifications * harbour/source/vm/codebloc.c * updated for API modifications + added hb_codeblockId() * harbour/source/vm/dynsym.c * updated for API modifications + added new functions: hb_dynsymFindSymbol(), hb_dynsymGetSymbol(), hb_dynsymSymbol(), hb_dynsymName(), hb_dynsymMemvarHandle(), hb_dynsymAreaHandle(), hb_dynsymSetAreaHandle() * harbour/source/vm/eval.c * updated for API modifications * call hb_vmPushState()/hb_vmPopState() in hb_itemDo()/hb_itemDoC() functions - it's necessary to make HVM reentrant safe. * harbour/source/vm/extend.c * updated for API modifications + added hb_extIsObject() similar to existing hb_extIsArray() * harbour/source/vm/hvm.c * updated for API modifications + added new functions: hb_vmPushState(), hb_vmPopState() which save/restore HVM state (the top stack value which can be processed and return item and maybe sth else in the future) making HVM ready for reentrant. * harbour/source/vm/itemapi.c * updated for API modifications + added new function: HB_EXPORT PHB_SYMB hb_itemGetSymbol( PHB_ITEM pItem ); ! fixed bug in hb_itemPutNInt() * harbour/tests/Makefile * harbour/utils/hbdoc/Makefile * harbour/utils/hbextern/Makefile * harbour/utils/hbmake/Makefile * harbour/utils/hbrun/Makefile * harbour/utils/hbtest/Makefile - removed badly added: dbfntx, dbfcdx, dbffpt, hbsix libraries. what broke GNU make compilation for some compilers This libraries should be included automatically when RDD lib is included by *.cf files Summary: The whole patch (cvs diff -uN) is ~1.5MB length and I cannot describe everything in details - sorry but it was too much modifications in one commit so now just some of general notes. The header files included as is does not have any information about internal HVM structures and some functions. In practice only HB_SYMB is public and it has to be public for .c files generated from .prg so I force the fixed size of this structure (alignment independent) by redefining some members to union with void * - it's a little bit ugly trick but it effectively eliminates the problem of linking binaries compiled with differ alignment C compiler switches. The structures like HB_ITEM, HB_CODEBLOCK, HB_STACK, HB_DYNS are not longer defined and pointers to the defined as void * - like in Clipper the ITEM structure. It caused that I had to add some new functions to make some operation still possible to implement. If I missed sth and any of you will have a problem with your code then please inform me about it and after a small discussion on Harbour developers list we can decide if other functions should be added. The internal API is still accessible. It's enough to include "hbvmopt.h" file before other header files to enable it. Now only files in source/vm directory include it. The 3-rd party code which does not include hbvmopt.h (or tries to set some internals macros) should be safe for future HVM modifications and will work also with new binaries so 3-rd party library developers should remember about it. If they won't then it's only their and their clients problem not Harbour developers. With this modifications I also create new GT model which is similar to the one used by RDD with multi inheritance. It can be quite easy extended to simultaneously load more then one GT subsystem (sth like work areas in RDD) but I left it for the future when someone may need it. hbapigt.h file now contains only information about public functions and does not have any code which depends on current internal implementation - it should be backword compatible as long as somone did not try to use internal GT functions. The internal GT system use hbgtcore.h file which should not be included by 3-rd party code as long as someone will not make new GT driver. The internal GT code is new so I expect that it will be changed yet in the nearest future (I'm waiting for other developers feedback) and in such case any 3-rd party GTs will have to be updated. How it works: The base GT driver (GTNUL) is fully functional GT driver which makes all operations on memory buffer. After each screen write Flush() method is called which check for dispcount() and if it's 0 then call Refresh() method to update modified area by Redraw() method. This method is dummy in GTNUL and external output with this GT can be reached by outstd()/outerr() which are now redirected to GT methods. A simple GT driver may overload only Refresh() method to give full screen output. Application can use only this GT driver and it seems to be very good choice for GUI and background daemon/service programs. This GT is loaded at startup then all other GTs can be loaded later and inherit from the previously loaded GT drivers. The new GT driver can overload as much method as wants/needs. Now all GT operations are implemented as GT method so GT driver can easy change their default behavior, f.e. it may fully overload color parsing methods and use differ or extended to Clipper color definitions. I rewrote all existing GTs to work with new GT model. OS2 users - please test GTOS2 which I was not able to test and see the note in Redraw() method. If possible please make some speed tests. In fact now there is much more internal operations then it was before but because they are done on memory only then current code is much faster in this GT drivers which so far makes all operations on real video area. I made some tests with GTNUL and tests/vidtest.prg and the total overhead is minimal. Now dipbegin()/dispend() in practice does not cost anything so it gives additional speed improvement in application which extensively use it. More then one GT driver can be linked with final binaries and chose on application startup by //GT switch and/or environment variable HB_GT= In the RTL is new GT function GTSYS() which works in similar way to RDDSYS() in RDD subsystem and for linking default GT driver for given platform. When RTL is compiled the default GT driver is set to HB_GT_DEFAULT envvar and if not exist to HB_GT_LIB envvar and if it also does not exist to hard coded platfom GTs (see source/rtl/gtsys.c and source/rtl/Makefile for rules) Adding to source code: ANNOUNCE GTSYS disable linking the default GT driver and: REQUEST HB_GT_ for linking given () GT driver, f.e.: REQUEST HB_GT_WIN If you are working in SH environment (Linux and other *nixes users, DJGPP bash, MinGW shell then it's possible to use -gt switch in hblnk / hbmk scripts to force linking GT drivers (it could be repeated with different ) and the first one becomes the default one. F.e.: xhbmk -m -n -w -es2 -gtcrs -gtsln -gtstd -gtpca vidtest.prg Usually the GT driver are loaded at HVM startup but it's possible to load it later. I created new GT driver CTW which gives full CT3 like Window system. The CT3 extended driver change the behavior of some function in Clipper extended driver, f.e WRITECON() or SETPOS() with parameters out of screen range. So I implemented it CTW as RT GTs which is loaded when some of CTWIN function is used (f.e. WOPEN()/WBOARD()) and inherits from any existing GT driver. This is full CT3 WIN implementation with all detail behaviors I found (with some CT3 bug fixes). It does not have any CT3 limitations and can be used for any virtual screen/window size though I hardcoded CT3 limitation for backword compatibility. If somone will want to remove it then it will be enough to delete few lines from ctwin.c file. I'm not CTWIN Clipper user so maybe I missed some side effects in this driver and was not able to well test it so if you will find any incompatibilities then please inform me. THe default GT buffer uses 32bit character cell internally but in savescreen/restscreen it uses VGA compatible two bytes character cell. Some GT drivers may want to use differ character cell. Now GTCRS and GTSLN use 32bit character cell by default. They need additional information about character set (box/normal) to properly display box characters. It is possible to force in this GT drivers using Clipper compatible character cell by calling: hb_gtInfo( GTI_COMPATBUFFER, ) -> but in may cause that box drawing characters will be lost in some countries after RESTSCREEN(). It will depend on used code page. HB_GTINFO() is new function which works in similar way to DBINFO() in RDD. It allows to retrieve/change some of GT driver settings. GTI_* actions are defined in hbgtinfo.ch - it has all GTI_* definitions used in xHarbour. Now in Harbour only few of them are implemented. The new three .prg functions: HB_SETKEYCP( [,] ) HB_SETDISPCP( [,] [,] ) HB_SETTERMCP( [,] [,] ) have been added. They set automatic input (HB_SETKEYCP) and output (HB_SETDISPCP) (or both: HB_SETTERMCP) character translation. They are also important for some GTs which informing them about used internal code page for unicode translation (GTXWC, GTSLN) and/or chosing proper character set (standard/alternate) for letters and other (f.e. box drawing characters) (GTCRS, GTSLN), is encoding used on external (terminal) side is encoding used internally, if not given then current code page set HB_SETCODEPAGE() is used. some of GTs which uses unicode output may ignore is optional parameter which interacts with dispbox() output disabling switching to alternate character set in some GTs. It effectively causes that if internal (host) code page contains some letters on the box char positions then they will be shown also by box drawing functions like dispbox() instead of CP437 characters. In some cases it could be useful. By default lBoxChar is not set and GTs which can switch between standard and alternate character set (GTCRS, GTSLN) will try to use alternate character set for box drawing functions. Victor: I removed some of your functions. They can be very easy implemented with hb_gt_GetChar()/hb_gt_PutChar() but I do not want to make them part of documented external API because some GT drivers may want to use absolutely differ color definitions and they will stop to work so I do not want to make this functions documented external API. Ryszard: Setting alternative debug keys does not longer work. I like such possibilities but it should be implemented in differ way to f.e. using HB_GTINFO interface to allow low level GT driver extensions, f.e. in *nixes using CTRL+[A-Z] and SIGINT, SIGQUIT, SIGTSTP signals for real asynchronous setting of debug/cancel flag without keyboard polling from main HVM loop. I would like to discus about such more general solution. *** Please updated non GNU make files *** 2006-02-03 15:56 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt + added modules strpeek and dynlibhb 2006-02-03 15:30 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * source/rtl/filesys.c * Harbour 64 bits required fix 2006-01-09 14:50 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * source/macro/macrob.c * fixed to release the memory if macro compiled code contains a variable or a function reference * source/rtl/filesys.c * added missing '(' to copile correctly on UNIX'es 2005-12-28 13:05 UTC+0100 Antonio Linares (alinares@fivetechsoft.com) * vm/maindll.c + Added new functions HBDLLENTRY1() and HBDLLENTRY2() These function allow to call a Harbour (self contained) DLL and provide it one or two Harbour items as parameters. A HBDLLENTRYN() that allows optionally N parameters would be valuable too. 2005-12-02 17:12 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * include/hbmath.h ! Fixed a few declarations to be in sync with the implementation. (Thanks Chen) 2005-11-27 11:20 UTC+0200 Chen Kedem * doc/en/math.txt * Rename HB_MATHERRMODE() --> HB_MATHERMODE(), HB_MATHERRORBLOCK() --> HB_MATHERBLOCK(), math.ch --> hbmath.ch * Some formating to 76 characters per line 2005-11-24 23:24 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * include/hbpcode.h + Comment added about adding new pcodes at the end of the list for compatibility. * source/rtl/filesys.c + Added hb_fsSetDevMode() Unix branch added (thx Przemek) * tests/mathtest.prg * source/rtl/math.c ! Fixed prev commit to comply with 10char function name rule: HB_MATHERRMODE() -> HB_MATHERMODE() HB_MATHERRORBLOCK() -> HB_MATHERBLOCK() * source/rtl/seconds.c ! hb_secondsCPU() move inside FlagShip guard instead of HB_EXTENSION. * hb_secondsCPU() made static (Harbour level function helper only with non-std name). * source/vm/dynlibhb.c * include/hbextern.ch * LIBLOAD(), LIBFREE() moved (back) to Harbour namespace: HB_LIBLOAD(), HB_LIBFREE() + Added these functions to hbextern.ch * source/rtl/symbol.prg * source/vm/dynsym.c * include/hbextern.ch * Internal function names renamed to comply and to not collide with existing ones (mistake in prev commit). + tests/symbolt.prg ; Missed from prev commit. 2005-11-22 10:31 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/symbol.prg * source/vm/dynsym.c * include/hbextern.ch ! Moved and renamed two functions from BEGINDUMP to their proper place. GETSYMBOLPOINTER() -> __DYNSGETPOINTER() GETSYMBOLNAME() -> __DYNSGETNAME() + Added the two functions to hbextern.ch + TOFIX added to symbol.prg to remove the remaining one C function inside BEGINDUMP. (Antonio, can you take a look?) 2005-11-22 10:08 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * doc/en/hb_apifs.txt ! Fixed doc for hb_fsSetDevMode() * source/rtl/filesys.c + Partially undone prev commit, so that now it gives unreferenced var warnings for the not-implemented platform branch. * tests/bldtest/bldtest.c + Added missing CVS ID. * samples/guestbk/Makefile * samples/guestbk/bld_b32.bat * samples/hscript/Makefile * samples/hscript/bld_b32.bat * samples/misc/Makefile * samples/pe/Makefile * tests/Makefile * utils/hbdoc/Makefile * utils/hbextern/Makefile * utils/hbmake/Makefile * utils/hbrun/Makefile * utils/hbtest/Makefile + Added missing dbf*, hbsix libs. Could not test GCC because MingW build is broken. 2005-11-22 02:22 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * makefile.bc * updated to compile source/rtl/strpeek.c 2005-11-22 01:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbsetup.ch * enable HB_COMPAT_FLAGSHIP by default I hope it will not be a problem - if it does then I can disable it but in *nixes for a long time FlagShip was the only one Clipper alternative and some of its functions are quite often used in Clipper/FoxPro programs ported to *nixes so I'd want to keep it enabled at least when HB_OS_LINUX/HB_OS_UNIX is defined. * harbour/include/hbvm.h + added missing extern in hb_vmAtInit() and hb_vmAtExit() declarations * harbour/include/hbvmpub.h * formatting * harbour/source/rdd/dbcmd.c ! fixed the problem with fieldput(,nil) at phantom recrod reported by Victor * do not use C level HB_ITEM * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed possible GPF when "/an/existing/path/" was used as file name. No in DOS in such case it will casue RT error that file: /an/existing/path/. cannot be created (like in Clipper) but in other systems (f.e. Linux) which allow to use such file names it will work without any problems. * harbour/source/rdd/dbffpt/dbffpt1.c * do not use C level HB_ITEM * harbour/source/rtl/Makefile + harbour/source/rtl/strpeek.c + added STRPEEK and STRPOKE FS functions covered by HB_COMPAT_FLAGSHIP macro * harbour/source/rtl/philes.c ! fixed GPF when unshareing string item buffer with embedded 0 by using hb_itemUnShare() * harbour/include/hbapiitm.h * harbour/source/vm/itemapi.c + added hb_itemUnShare() - /* un-share given string item */ and hb_itemClone() - /* clone the given item */ 2005-11-21 18:03 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) - include/math.ch + include/hbmath.ch * include/hbmath.h * tests/mathtest.prg ! math.ch -> hbmath.ch (rename) 2005-11-21 17:44 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) + tests/simplet.prg * src/rtl/symbol.prg * Embedded example code moved to the test dir. * src/rtl/math.c * include/hbextern.ch * tests/mathtest.prg * doc/en/math.txt ! HB_ prefix added for non-Clipper functions. MATHERRMODE() -> HB_MATHERRMODE() MATHERRORBLOCK() -> HB_MATHERRORBLOCK() + Above two functions added to hbextern.ch * HB_MATHERRMODE() input validation logic moved to the lower level function. This is a step to make this a simple Set() * include/math.ch + HB_ prefix added. 2005-11-21 18:29 UTC+0200 Chen Kedem * source/rtl/math.c * Standardized public function names (to make HbExtern happy): HB_FUNC (MATHERRMODE) --> HB_FUNC( MATHERRMODE ) HB_FUNC (MATHERRORBLOCK) --> HB_FUNC( MATHERRORBLOCK ) HB_FUNC (LOG) --> HB_FUNC( LOG ) * utils/hbextern/hbextern.prg * Heavily modified to produce more accurate output 2005-11-14 16:42 UTC+0100 Antonio Linares * harbour/contrib/rdd_ads/makefile.vc - removed module ads0 2005-11-19 00:30 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * include/hbapifs.c * src/rtl/filesys.c ! hb_fsSetDevMode() fixed back to return a BOOL value to be compatible with the CA-Cl*pper undocumented _tdevraw() function. (hb_fsSetDevMove() is mapped to _tdevraw() in hbundoc.api, it's the documented version of the same functionality) Also fixed warning and error for one of the dummy platform branches. Since this came from xHarbour it pbly needs to be fixed there too. * tests/Makefile + symbolt.prg added 2005-11-16 13:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/pack_src.sh * updated for nulsys.prg -> nulsys.c modification 2005-11-16 13:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbvmpub.h * changed definition of HB_SYMB structure. HB_SYMBOLSCOPE cScope replaced by: union { HB_SYMBOLSCOPE value; /* the scope of the symbol */ void * pointer; /* filler to force alignment */ } scope; This modification should only force the same alignment independently on used compiler alignment switches or executed #pragma pack* It's important to keep this structure with fixed size because it's used in .c files generated from .prg code. The code with #pragma pack* removed - it should not be longer necessary but please make a real tests with different compiler alignment switches * harbour/contrib/btree/hb_btree.c * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/runjava/runjava.c * harbour/source/compiler/genc.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/delim1.c * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/vm/dynsym.c * harbour/source/vm/hvm.c * harbour/source/vm/initsymb.c * harbour/source/vm/runner.c * updated for modified HB_SYMB structure. 2005-11-15 05:10 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * nulsys generation updated. * source/compiler/gencobj.c ! Fixed warning. * source/rdd/rddord.prg ! Fixed to include hbsetup.ch for HB_COMPAT_* guard * source/vm/hvm.c ! Fixed warning. * make_b32.bat - Removed "set BISON_SIMPLE" (was remmed) 2005-11-14 20:54 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/common/expropt2.c * casting * harbour/include/hbdate.h + added hb_dateJulianDOW() - retrieve day of week from Julian's date * harbour/source/rtl/dates.c * harbour/source/common/hbdate.c * moved hb_dateDOW(), hb_dateDecStr() and hb_dateEncStr() to hbdate.c - Ryszard I'd prefer to keep this function together It will be much easier to update them. + added HB_STR_DATE_BASE for conversion to string - Clipper compatibility though we are not 100% Clipper compatible in STOD() because we will have to reduce functionality (supported date range) to reach it. In Clipper STOD(DTOS()) is not revertible. I decided to make it revertible in [x]Harbour for the whole supported in string conversion range: 0000/01/01 : 9999/01/01 % optimized hb_dateEncode() * some minor fixes for Clipper compatibility * harbour/source/rtl/dateshb.c * use faster and Clipper compatible hb_dateJulianDOW() instead of hb_dateDOW() * harbour/source/rdd/nulsys/Makefile - harbour/source/rdd/nulsys/nulsys.prg + harbour/source/rdd/nulsys/nulsys.c * replaced .prg code with #pragma begindump/enddump by native C code rtl/symbol.prg have to be updated yet. * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbffpt/dbffpt1.c * synced with xHarbour 2005-11-14 20:50 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.vc * makefile.nt * makefile.vc * makefile64.nt * Change -o linker option to /OUT: to avoid warning with MS Visual Studio 2005 compiler tools. + Added -D_CRT_SECURE_NO_DEPRECATE to suppress the many new MS warnings about unsafe function usage. ; NOTE: MSVC 14.0 fails to compile macroy.c ; NOTE: Still tons of warnings, but other than these it compiles fine. * source/codepage/cdpsl437.c ! Fixed wrong escape char (\ -> \\). * include/hbsetup.ch * source/common/hbverdsp.c + Added CLIP compatibility switch. * include/hbextern.ch + Updated (somewhat). * source/rtl/strmatch.c * source/rdd/rddord.prg ! WILDMATCH() renamed to HB_WILDMATCH() * source/rdd/rddord.prg ! ORDWILDSEEK() guarded with HB_COMPAT_XPP * source/rtl/seconds.c ! SECONDSCPU guarded with HB_COMPAT_FLAGSHIP 2005-11-14 9:01 UTC-0800 Luis Krause Mantilla * hrbdll.bc - removed references to delim0.prg/c 2005-11-14 14:40 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/bin/bld.bat + added references to hbsix.lib - removed references to dbfdbt.lib 2005-11-14 11:40 UTC+0100 Ryszard Glab * source/compiler/harbour.y * fixed 'type clash' warning in some bison version 2005-11-14 11:10 UTC+0100 Ryszard Glab * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * updated to compile source/common/hbdate.c 2005-11-14 11:00 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hberrors.h * include/hbexpra.c * include/hbexprb.c * include/hbexprop.h * include/hbhash.h * include/hbmacro.h * include/hbpcode.h * source/common/Makefile * source/common/expropt1.c * source/common/expropt2.c * source/common/hbhash.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbgenerr.c * source/compiler/hbident.c * source/compiler/hbpcode.c * source/macro/macro.l * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/rtl/dates.c * source/vm/hvm.c * source/vm/macro.c + source/common/hbdate.c + tests/ddate.prg + tests/switch.prg +added support for DATE type constants in the following format: 0dYYYYMMDD for example (see tests/ddate.prg for more): IF( dDate > 0d20051112 ) +added support for SWITCH command (see tests/switch.prg) SWITCH CASE ... [EXIT] CASE ... [EXIT] [OTHERWISE] ... END Notice: - Integer and string expressions can be mixed in a single SWITCH command with no runtime errors; - CASE expression have to be resolved at compile time and the result has to be either an integer or string constant - if there is no EXIT statement then next CASE is executed (or OTHERWISE for the last CASE) For example: CASE 1+32+2*4 CASE CHR(64) CASE ASC('A') CASE "A"+CHR(13) Notice: The above changes apply only to FLEX version! 2005-11-13 21:21 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/contrib/ole/bldtest.bat * harbour/contrib/ole/hbtest.prg ! updated files 2005-11-13 20:50 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/contrib/rdd_ads/makefile.bc * harbour/contrib/rdd_ads/make_b32.bat ! updated - synced with xHarbour 2005-11-13 12:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/ole/ole2.c * harbour/contrib/ole/oleauto.prg ! fixed casting * harbour/contrib/rdd_ads/Makefile * harbour/contrib/rdd_ads/ace.h * harbour/contrib/rdd_ads/ads.ch - harbour/contrib/rdd_ads/ads0.prg * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/rdd_ads/adsmgmnt.c * harbour/contrib/rdd_ads/rddads.h * harbour/include/hbapirdd.h * harbour/include/hbrddcdx.h * harbour/include/hbrdddbf.h * harbour/include/hbrdddbt.h * harbour/include/hbrddfpt.h * harbour/include/hbrddntx.h * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbsort.prg * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/dbtotal.prg * harbour/source/rdd/hbdbsort.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * synced with xHarbour * harbour/include/hbcomp.h * harbour/source/compiler/harbour.c * harbour/source/compiler/hbgenerr.c * harbour/source/compiler/hbpcode.c * emit warning and error messages to stderr instead of stdout Now it's enabled only for *nix platforms. * harbour/source/vm/extend.c * allow hb_param() to return parameters accessed by HB_IT_BYREF 2005-11-08 01:56 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/garbage.c - removed unnecessary memset() * harbour/source/vm/hvm.c % use startup initialized symbols: hb_symEnumIndex, hb_symEnumBase, hb_symEnumValue instead of strcmp( pSym->szName, ... ) in hb_vmSend() % remove unnecessary temporary item in hb_vmEnumStart() and use hb_itemMove() instead of hb_itemCopy()+hb_itemClear() % changed main VM loop to eliminate one comparision done on each loop. Now HB_P_ENDBLOCK and HB_P_ENDPROC pcodes set HB_ENDPROC_REQUESTED and the main loop can be exited only from one place. It gives some small but noticeable speed improvement. Ryszard please check this modification. AFAIK it should not cause any bad side effect and IMHO the code is cleaner now. * harbour/source/vm/itemapi.c % removed two unnecessary hb_itemClear() before hb_itemRelease() 2005-11-07 14:35 UTC+0100 Ryszard Glab * include/hbapi.h * include/hbapiitm.h * include/hbcomp.h * include/hberrors.h * include/hbexpra.c * include/hbpcode.h * include/hbsetup.h * source/common/expropt1.c * source/compiler/expropta.c * source/compiler/genc.c * source/compiler/gencli.c * source/compiler/harbour.c * source/compiler/harbour.l * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbgenerr.c * source/compiler/hbpcode.c * source/macro/macroa.c * source/vm/hvm.c * source/vm/itemapi.c + tests/foreach.prg + added support for FOR EACH loop FOR EACH var1 [,var255] IN expr1 [,expr255] [DESCEND] NEXT Note: -expr can be a string or an array if it is a string then assigments to the control variable does not change the string -after the loop the controlling variable(s) store the value which they had before entering the loop -the controlling variable supports the following properties :__enumindex - the loop counter for variable :__enumbase - the value that is being traversed :__enumvalue - the value of variable -see tests/foreach.prg for examples + added warnings in cases of duplicated loop variables eg. FOR i:=1 TO 5 FOR i:=i TO i+5 -removed strong typing in the compiler (xHarbour too) (reactivate it by compiling with -DHB_COMP_STRONG_TYPES) NOTE: The new pcodes were added - rebuild everything 2005-11-04 22:19 UTC+0100 Antonio Linares * harbour/source/vm/estack.c * hb_UnhandledExceptionFilter() modified to return EXCEPTION_CONTINUE_SEARCH NOTICE: When returning EXCEPTION_CONTINUE_SEARCH then both Microsoft and Borland behave the same way, and the Windows GPF dialogbox is finally shown, which it is quite usefull to locate the GPF address (on a MAP file). 2005-11-04 12:41 UTC+0100 Antonio Linares * harbour/source/vm/mainwin.c * SetUnhandledExceptionFilter() is called if HB_INCLUDE_WINEXCHANDLER define is used * harbour/source/vm/estack.c * UnhandledExceptionFilter renamed as hb_UnhandledExceptionFilter, and WINBASEAPI removed. 2005-11-03 10:42 UTC+0100 Antonio Linares + added Microsoft initialization code harbour/source/lang/msgcs852.c harbour/source/lang/msgcsiso.c harbour/source/lang/msgcskam.c harbour/source/lang/msgcswin.c harbour/source/lang/msgde.c harbour/source/lang/msgdewin.c harbour/source/lang/msgel.c harbour/source/lang/msgelwin.c harbour/source/lang/msgen.c harbour/source/lang/msgeo.c harbour/source/lang/msges.c harbour/source/lang/msgeswin.c harbour/source/lang/msgeu.c harbour/source/lang/msgfr.c harbour/source/lang/msggl.c harbour/source/lang/msghr852.c harbour/source/lang/msghriso.c harbour/source/lang/msgid.c harbour/source/lang/msgis850.c harbour/source/lang/msgit.c harbour/source/lang/msgko.c harbour/source/lang/msgpt.c harbour/source/lang/msgro.c harbour/source/lang/msgru866.c harbour/source/lang/msgrukoi.c harbour/source/lang/msgruwin.c harbour/source/lang/msgsl437.c harbour/source/lang/msgsl852.c harbour/source/lang/msgsliso.c harbour/source/lang/msgslwin.c harbour/source/lang/msgsr852.c harbour/source/lang/msgsriso.c harbour/source/lang/msgsrwin.c harbour/source/lang/msgzhb5.c harbour/source/lang/msgzhgb.c 2005-11-02 07:32 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt + added references to new files. 2005-11-02 01:56 UTC+0100 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc + added references to harbour/source/common/hbarch.c + added references to harbour/source/rtl/fserror.c 2005-11-01 23:28 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh + harbour/make_xmingw.sh * harbour/bin/hb-mkslib.sh * harbour/bin/postinst.sh * harbour/config/w32/mingw32.cf * added support for cross compilation (Windows binaries at Linux) with MinGW - borrowed from xHarbour Phil Krylov solution * harbour/contrib/btree/hb_btree.c * casting * harbour/contrib/libct/files.c ! fixed iAttr initialization in SETFATTR() * harbour/contrib/ole/ole2.c ! fixed names of included files * harbour/contrib/rdd_ads/ace.h * cover #pragma warning( error : 4706 ) by !defined( __GNUC__ ) * harbour/include/hbapi.h * harbour/include/hbdefs.h + harbour/source/common/hbarch.c * harbour/source/common/Makefile * added functions for machine independent double and long long conversions (my code borrowed from xHarbour) * harbour/include/hbapifs.h * synced file IO with xHarbour - it fixes some problems, adds some missing functionality and long (64bit) file support for Windows. For Linux I added it some time ago. * harbour/include/hbcomp.h * changed 'char cScope' to 'HB_SYMBOLSCOPE cScope' * harbour/source/common/hbfsapi.c ! fixed some possible buffer overflow * harbour/source/common/hbstr.c * synced with xHarbour * harbour/source/common/hbver.c + added hb_iswinnt() (borrowed from xHarbour) * harbour/source/compiler/cmdcheck.c + added -undef: compiler switch (borrowed from xHarbour) * harbour/source/compiler/gencobj.c * cleanup * harbour/source/pp/ppcore.c ! fixed path delimiters in included file names * harbour/source/rtl/Makefile + harbour/source/rtl/fserror.c + added C -> OS file error trnalsations - not perfect but better then the used hacks (borrowed from xHarbour) * harbour/source/rtl/file.c * use hb_fileNameConv() instead of hb_filecase() - hb_fileNameConv() is the only one function to make file name conversions dependent on some SETs. * harbour/source/rtl/filesys.c * synced file IO with xHarbour - it fixes some problems, adds some missing functionality and long (64bit) file support for Windows. For Linux I added it some time ago. * harbour/source/rtl/fstemp.c * synced with xHarbour * harbour/source/rtl/strings.c * use ULONG instead of size_t in hb_strnicmp declaration - we have to decide what we should use. Using size_t or its Harbour version f.e. HB_SIZE_T seems to be reasonable but it has to be global - redefining single functions does not make sense and will create troubles only. 2005-10-31 14:38 UTC+0100 Antonio Linares * makefile.nt * makefile64.nt - Some files removed cause recent changes: harbour/source/rdd/dbf0.prg harbour/source/rdd/delim0.prg harbour/source/rdd/sdf0.prg harbour/source/rdd/dbfcdx/dbfcdx0.prg harbour/source/rdd/dbfcdx/sixcdx0.prg harbour/source/rdd/dbfdbt/dbfdbt0.prg 2005-10-30 14:50 UTC+0200 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: source/rdd/hbsix, source/rdd/hsx * doc/en/lang.txt + Added the following to HB_LANGSELECT() list of supported ID's: BG866, BGISO, BGWIN, HUISO + Added the following to HB_SETCODEPAGE() list of supported ID's: BG866, BGISO, BGWIN, ESMWIN, HUISO * Change the following to HB_SETCODEPAGE() list of supported ID's: PT --> PT850, RUWIN --> RU1251 * source/lang/msghe862.c * source/lang/msghewin.c * Update startup code to work with MSC 2005-10-28 10:23 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * include/hbapicdp.h * source/codepage/Makefile * source/codepage/cdphu852.c * source/lang/Makefile * source/lang/msg_tpl.c * source/lang/msghu852.c + source/codepage/cdpbg866.c + source/codepage/cdpbgiso.c + source/codepage/cdpbgwin.c + source/codepage/uc8859_5.c + source/lang/msgbg866.c + source/lang/msgbgiso.c + source/lang/msgbgwin.c + Added BG language support. * HU minor fix. * Lang template updated. 2005-10-24 15:09 UTC+0200 Jacek Kubica (kubica/at/wssk.wroc.pl) * harbour/makefile.bc - Remove references to: harbour/source/rdd/dbf0.prg harbour/source/rdd/delim0.prg harbour/source/rdd/sdf0.prg harbour/source/rdd/dbfcdx/dbfcdx0.prg harbour/source/rdd/dbfcdx/sixcdx0.prg harbour/source/rdd/dbfdbt/dbfdbt0.prg 2005-10-24 14:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * BCC make file updated by Jacek Kubica 2005-10-24 13:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapi.h * harbour/include/hbapiitm.h * harbour/include/hbapirdd.h * harbour/include/hbdefs.h * harbour/include/hbtypes.h * harbour/source/rtl/empty.c * harbour/source/vm/arrays.c * harbour/source/vm/extend.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/vm/maindllp.c + added HB_TYPE to as HB_ITEM type marker. * set HB_TYPE as UINT32 * updated to the above modifications * cleaned some ~HB_IT_BYREF which has no effect in current VM 2005-10-24 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbtypes.h * harbour/source/vm/maindllp.c ! fixed some declaration I missed in previous commit 2005-10-24 12:08 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * source/codepage/Makefile * source/codepage/cdphu852.c + source/codepage/cdphuiso.c * source/codepage/cdphuwin.c * source/lang/Makefile * source/lang/msghu852.c * source/lang/msghucwi.c + source/lang/msghuiso.c * source/lang/msghuwin.c * HU lang stuff updated. ISO cp added (same as Win cp). Minor fixes (not related to functionality) added. 2005-10-24 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/dot/pp.prg * harbour/contrib/dot/pp_harb.ch * harbour/include/hbapi.h * harbour/include/hbapirdd.h * harbour/include/hbdefs.h * harbour/include/hbextern.ch * harbour/include/hbinit.h * harbour/include/hbstack.h * harbour/include/hbsxfunc.h * harbour/include/hbvm.h + harbour/include/hbvmopt.h * harbour/include/hbvmpub.h * harbour/source/codepage/cdp_tpl.c * harbour/source/codepage/cdppl852.c * harbour/source/codepage/cdppliso.c * harbour/source/codepage/cdpplmaz.c * harbour/source/codepage/cdpplwin.c * harbour/source/compiler/genc.c * harbour/source/compiler/harbour.c * harbour/source/lang/msgca.c * harbour/source/lang/msgpl852.c * harbour/source/lang/msgpliso.c * harbour/source/lang/msgplmaz.c * harbour/source/lang/msgplwin.c * harbour/source/rdd/Makefile * harbour/source/rdd/dbcmd.c - harbour/source/rdd/dbf0.prg * harbour/source/rdd/dbf1.c - harbour/source/rdd/delim0.prg * harbour/source/rdd/delim1.c * harbour/source/rdd/rddsys.prg - harbour/source/rdd/sdf0.prg * harbour/source/rdd/sdf1.c * harbour/source/rdd/dbfcdx/Makefile - harbour/source/rdd/dbfcdx/dbfcdx0.prg * harbour/source/rdd/dbfcdx/dbfcdx1.c - harbour/source/rdd/dbfcdx/sixcdx0.prg * harbour/source/rdd/dbfdbt/Makefile - harbour/source/rdd/dbfdbt/dbfdbt0.prg * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/Makefile - harbour/source/rdd/dbffpt/dbffpt0.prg * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/Makefile * harbour/source/rdd/dbfntx/dbfntx0.prg * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/hbsix/Makefile * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hbsix/sxcrypt.c * harbour/source/rdd/hbsix/sxdate.c * harbour/source/rdd/hsx/hsx.c * harbour/source/rdd/nulsys/nulsys.prg * harbour/source/rtl/browdbx.prg * harbour/source/rtl/cdpapi.c * harbour/source/vm/arrays.c * harbour/source/vm/arrayshb.c * harbour/source/vm/asort.c * harbour/source/vm/break.c * harbour/source/vm/classes.c * harbour/source/vm/cmdarg.c * harbour/source/vm/codebloc.c * harbour/source/vm/debug.c * harbour/source/vm/dynlibhb.c * harbour/source/vm/dynsym.c * harbour/source/vm/estack.c * harbour/source/vm/eval.c * harbour/source/vm/evalhb.c * harbour/source/vm/extend.c * harbour/source/vm/fm.c * harbour/source/vm/garbage.c * harbour/source/vm/hvm.c * harbour/source/vm/initsymb.c * harbour/source/vm/itemapi.c * harbour/source/vm/macro.c * harbour/source/vm/maindllp.c * harbour/source/vm/memvars.c * harbour/source/vm/memvclip.c * harbour/source/vm/pcount.c * harbour/source/vm/proc.c * harbour/source/vm/pvalue.c * harbour/source/vm/runner.c * remove default API and stack macros. Now API/stack macros can be enabled by including hb_vmopt.h file. This file should be included _ONLY_ by core code because binary object/libraries generated after can work only with _EXACTLY_ the same HVM compiled the same C alignment switches * cleaned some HB_EXTERN_C declaration - Anotonio you should be able to build FWH now * cleaned startup initialization code - please update lang and codepage files - I only updated source/codepage/cdppl*.c and source/lang/msgpl*.c files Or other files should be updated or they will not work MSC * synced with recent xHarbour modification in RDD init code 2005-10-23 09:05 UTC+0100 Antonio Linares * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/hbsix/sxcompr.c * harbour/source/rdd/hbsix/sxcrypt.c * harbour/source/rdd/hsx/hsx.c + Minor fix to support define HB_NO_DEFAULT_API_MACROS (if used) required by Microsoft compiler IMPORTANT: Now Harbour properly builds using Microsoft compiler and define HB_NO_DEFAULT_API_MACROS, but applications fail to start, showing this error: Unrecoverable error 9004: RDD invalid or failed to load Called from DBFFPTINIT(62) Using Borland and the same define, all compiles and works ok. We need to discover why such error raises using Microsoft compiler and that define. 2005-10-21 08:40 UTC+0100 Antonio Linares * makefile.nt + minor fix. 2005-10-12 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/global.cf + added HB_DB_DRVEXT envvar support for additional RDDs * harbour/config/linux/gcc.cf + harbour/config/linux/gpp.cf + added GNU C++ support * harbour/config/linux/owatcom.cf * harbour/contrib/btree/hb_btree.c * harbour/contrib/libct/ct.h * harbour/contrib/libct/ctc.c * harbour/contrib/odbc/odbc.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/include/hbapi.h * harbour/include/hbapierr.h * harbour/include/hbapigt.h * harbour/include/hbapilng.h * harbour/source/compiler/harbour.c * harbour/source/rtl/console.c * harbour/source/rtl/datec.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/errorint.c * harbour/source/rtl/filesys.c * harbour/source/rtl/fssize.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/gtapi.c * harbour/source/rtl/isprint.c * harbour/source/rtl/natmsg.c * harbour/source/rtl/philes.c * harbour/source/rtl/setcolor.c * harbour/source/rtl/spfiles.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/vm/itemapi.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c * fixed for popper compilation with GNU C++ and OpenWatcom on Linux 2005-10-05 15:05 UTC+0100 Ryszard Glab * source/common/expropt2.c * fixed bug in ASC() optimization (when character code > 127) 2005-10-05 03:08 UTC-0500 David Arturo Macias Corona * harbour/include/hbextern.ch ! added missing declarations: DBRELATION, DBRSELECT, MENUMODAL, _PUSHBUTT_, _LISTBOX_ * harbour/contrib/mysql/tmysql.prg ! added conversion from tiny int MySQL type into numeric DBF. (an error before). Supplied by Mitja Podgornik 2005-09-28 13:05 UTC+0100 Ryszard Glab * makefile.bc * makefile.nt * makefile.vc * makefile64.nt - removed references to DBFDBT library * source/debug/dbgtmenu.prg * source/debug/dbgtmitm.prg * source/debug/dbgtwin.prg * source/debug/debugger.prg * source/rtl/alert.prg * fixed displaying of boxes under the xterm (use @ ... TO ... instead of @ ... BOX) * source/rtl/gtcrs/gtcrs.c * fixed restoring of alternate characters flag 2005-09-27 15:10 UTC-0800 Luis Krause Mantilla * harbour/contrib/rdd_ads/adsfunc.c ! added missing functions hb_oemansi & hb_ansioem required with the recent sycn by Ryzard * harbour/contrib/rdd_ads/ads.ch ! updated comment on how to use ADS_REQUIRED_VERSION manifest constant 2005-09-26 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * xharbour/source/rdd/dbcmd.c ! fixed bug I introduced in RDDLIST() 2005-09-25 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/make_tgz.sh * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh * harbour/config/global.cf * harbour/include/hbapiitm.h * harbour/include/hbdate.h * harbour/include/hbextern.ch * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rtl/dates.c * harbour/source/vm/itemapi.c * updated for proper RDD synchronization with xHarbour * harbour/source/vm/hvm.c ! fixed bug in divide by 0 substitution * harbour/contrib/rdd_ads/ads0.prg * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/rdd_ads/rddads.h * synced base of ADS RDD with xHarbour - old code cannot be compiled without it - external ADS*() functions not synced - I do not use them and I do not want to break sth - Harbour ADS developers should check it 2005-09-23 15:05 UTC+0100 Ryszard Glab * include/hbextern.ch * removed reference to SDFC and DELIMC * source/rdd/dbcmd.c * removed definition of DBSKIPPER function (it is defined already in rtl/browdbx.prg) 2005-09-23 13:45 UTC+0100 Ryszard Glab * makefile.bc * makefile.nt * makefile.vc * makefile64.nt * updated build files for non-GNU make engines 2005-09-23 15:45 UTC+0100 Ryszard Glab * config/global.cf * include/dbinfo.ch * include/hbapi.h * include/hbapierr.h * include/hbapifs.h * include/hbapirdd.h * include/hbdbf.h * include/hbdbferr.h * include/hbdefs.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrdddbt.h * include/hbrdddel.h * include/hbrddfpt.h * include/hbrddntx.h * include/hbrddsdf.h * include/hbrddwrk.h * include/hbvm.h * source/common/hbstr.c * source/rdd/Makefile * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbtotal.prg * source/rdd/delim0.prg * source/rdd/delim1.c * source/rdd/rddsys.prg * source/rdd/sdf0.prg * source/rdd/sdf1.c * source/rdd/workarea.c * source/rdd/dbfcdx/Makefile * source/rdd/dbfcdx/dbfcdx0.prg * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfdbt/Makefile * source/rdd/dbfdbt/dbfdbt1.c * source/rdd/dbffpt/Makefile * source/rdd/dbffpt/dbffpt0.prg * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/Makefile * source/rdd/dbfntx/dbfntx0.prg * source/rdd/dbfntx/dbfntx1.c * source/rdd/nulsys/nulsys.prg * source/rtl/errorapi.c * source/rtl/filesys.c * source/vm/dynsym.c * source/vm/extend.c * source/vm/itemapi.c * source/vm/hvm.c + include/hbsxfunc.h + source/rdd/dbfcdx/sixcdx0.prg + source/rdd/dbfcdx/sixcdx1.c + source/rdd/hbsix/Makefile + source/rdd/hbsix/sxcompr.c + source/rdd/hbsix/sxcrypt.c + source/rdd/hbsix/sxdate.c + source/rdd/hsx/Makefile + source/rdd/hsx/cftsfunc.c + source/rdd/hsx/hsx.c * changes to synhronize RDD code with xHarbour (state of 23.09.2005) Many, many thanks to Przemek Czerpak for his work. 2005-09-20 10:16 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/tget.prg ! One previous fix reverted because it broke numeric data entry. Solved from caller side for the meantime. TOFIX added. 2005-08-23 22:01 UTC-0400 Alejandro de Garate + doc\linux1st.txt Added Linux primer written by Scott Johnson 2005-08-23 18:45 UTC-0400 Alejandro de Garate * source\rtl\scrollbr.prg * Fixed length in Style string (more than 4 characters) - Eliminated unused LOCAL vars in Hitest() - Deleted unused method GetColor() + Added METHOD SetStyle( cStyle ) to change SB characters at runtime + Added METHOD SetColor( cColor ) to change SB colors at runtime * fixed bugs, minor optimizations 2005-08-23 18:45 UTC-0400 Alejandro de Garate + tests\sbartest.prg Added sample of scrollbar class 2005-06-14 21:11 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/disksphb.c * hb_DiskSpace() changed to not give a runtime error in case of any error, but set the FError() value instead. * config/bsd/global.cf * config/darwin/global.cf * config/dos/global.cf * config/dos/owatcom.cf * config/hpux/global.cf * config/linux/global.cf * config/linux/owatcom.cf * config/os2/dir.cf * config/os2/global.cf * config/os2/install.cf * config/sunos/global.cf * config/w32/global.cf ! Changed all line beginning spaces to Tabs. 2005-06-11 13:01 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/idle.c ! Fix to prev. commit. 2005-06-09 18:09 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/tget.prg ! :display fixed (again) to always call VarGet block to be CA-Cl*pper compatible. * config/w32/global.cf ! Fixed to properly create the obj directories when compiling using GCC under XP. This broke in the near past. * source/pp/ppcore.c ! Fixed two compiler warnings. ; Please review one of them if you made the change, since I'm not sure what the intention was, here's the code snippet: ... lenreal = IsMacroVar( *ptri, com_or_tra ); /* THIS LINE IS NOW COMMENTED OUT */ *ptri +=1; lenreal = getExpReal( expreal+2, ptri, FALSE, maxlenreal, FALSE ); ... * source/codepage/cdphu852.c ! HU sorting order fixed to be more compatible with CA-Cl*pper. (Still missing some non-852 chars though) * source/common/hbver.c ! Fixed forming NT version number (5.01.2600 -> 5.1.2600) * source/compiler/hbusage.c + Copyright year updated. * source/rtl/idle.c * Cleaned up a platform dependent code part. 2005-05-25 09:55 UTC+0300 Alexander Kresin * include/hbver.h * doc/whatsnew.txt * harbour.spec * Release info has been changed for release 45. 2005-05-15 11:04 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: config/hpux 2005-05-15 10:42 UTC+0300 Chen Kedem * doc/whatsnew.txt + Add information about the upcoming alpha build 45 written by Alejandro de Garate + Add historic information about the old OpenClipper builds 6, 7, 8 and 9 I had found on Google 2005-05-07 17:01 UTC+0100 Antonio Linares * makefile64.nt + bufferoverflowu.lib added to LDFLAGS as per new Microsoft C 64 compiler (PSDK April 2005) requirement. * hbdate.h * hbapifs.h + HB_EXPORT added to those functions that already were using it, as per new Microsoft C 64 compiler (PSDK April 2005) requirement. 2005-04-29 16:00 UTC+0100 Antonio Linares * makefile64.nt * -D__64__ removed. No longer needed. 2005-04-29 15:54 UTC+0100 Antonio Linares * include/hbinit.h * __64__ changed into Microsoft C 64 built-in _WIN64 2005-04-29 15:46 UTC+0100 Antonio Linares * include/hbdefs.h * fixed for Windows 64, using Microsoft C provided _WIN64 define Changes provided by Przemek. Thanks! :-) 2005-04-29 07:02 UTC+0100 Antonio Linares * makefile64.nt * __64__ define declared * include/hbinit.h * __64__ define use to detect building for 64 bits when using Microsoft C compiler Please notice that Microsoft C 64 compiler is a cross compiler that works as a 32 bits application, so this is the only way found by now to detect we want to build for 64 bits. 2005-04-29 06:08 UTC+0100 Antonio Linares + make_vc64.bat + makefile64.nt * make files for Microsoft C 64 bits 2005-04-18 00:15 UTC+0100 Antonio Linares * source/rtl/gtwin/gtwin.c * 64 bits support - temporary minor workarounds 2005-04-18 00:10 UTC+0100 Antonio Linares * include/hbdefs.h * fixed typo on used USHORT_MAX instead of USHRT_MAX as per advise from Przemek. 2005-04-18 22:52 UTC+0100 Antonio Linares * include/hbstack.h * two minor changes required for 64 bits support as per advise from Przemek. It is a general solution for the fix implemented yesterday. 2005-04-17 ??:?? UTC+0100 Antonio Linares * source/vm/hvm.c * minor change required for 64 bits support. 2005-03-18 11:45 UTC+0100 Ryszard Glab * config/dos/global.cf *restored creation of subdirectiories under plain DOS * include/hbapi.h * include/hbcomp.h * include/hbdefs.h * include/hbvm.h * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/hbpcode.c * source/vm/dynsym.c * source/vm/hvm.c * source/vm/macro.c *modified creation of symbols table *symbol of function name never share a symbol of variable *symbol for INIT/EXIT procedure has now '$' suffix - this means that such procedures cannot be called from user code (Clipper compatible) See the following code: PROCEDURE MAIN aaa() RETURN INIT PROCEDURE aaa ? "In INIT procedure", PROCNAME(0) RETURN STATIC PROCEDURE aaa ? "In STATIC procedure", PROCNAME(0) RETURN It will print: In INIT procedure aaa$ In STATIC procedure aaa *fixed access to static functions in a macro compiler (symbols for static functions never goes into dynamic symbols table) * source/pp/ppcore.c *increased numer of nested optional clauses (max 5 currently - work in progress) 2005-02-16 13:52 UTC+0100 Antonio Linares * source/vm/classes.c hb_objGetpMethod() compiled as extern "C" for MSVC compatibility with xHarbour 2005-02-01 21:05 UTC+0100 Tomaz Zupan * harbour.spec Returned optimization to O3. Problems with Mandrake/gcc are fixed in Mdk 10.1 with gcc 3.4. (see ChangeLog 2004-07-18 19:50 UTC+0200 Tomaz Zupan) 2005-02-01 20:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/memvars.c * fixed public releasing - fix borrowed from xHarbour Ryszard please check if it doesn't cause any bad side effects. The following code demonstrate the problem. =========================================== memvar x, y, z proc main() local l := { || x } public x := "QWE" private z := "asd" Errorblock( { | oError | errHandler( oError ) } ) ? eval( l ) test() ? x ? z ? eval( l ) return proc test() private y := "xyz" release x, y, z ? x ? y ? z return func errHandler( oErr ) local varName := oErr:operation() public &varName := oErr:description() + ": " + varName return .t. =========================================== 2005-01-31 20:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbf1.c * fixed possible GPF I introduced with last update. 2005-01-30 22:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/rdd_ads/ace.h * small modification for OpenWatcom on Linux * harbour/source/rdd/dbfntx/dbfntx1.c * minor fix: use *_GOTO( pArea, 0 ) instead of *_GOTO( pArea, pArea->ulRecCount+1000 ) + use hb_fsSeekLarge() - for DBFs longer then 2GB * harbour/include/hbrddcdx.h * harbour/source/rdd/dbfcdx/dbfcdx1.c + use hb_fsSeekLarge() - for DBFs longer then 2GB * my last xHarbour modifications: improved indexing speed of DBFs with very big number of records. In small DBFs less then 100'000 records the new algorithm can even decrease the speed by ~0.5% due to static costs but in bigger it becomes faster. For 1'000'000 records DBFs is about 20% faster, for 10'000'000 records about twice faster. With bigger DBFs more. Please test it. If you will have any troubles (I hope not) then please comment out in dbfcdx.c: #define HB_CDX_NEW_SORT I should done it before when I was rewriting the indexing but sorry I was too lazy. Now I've found a while. Current cost of key comparisons is always n*log2(n) and cannot be more improved. Some small optimizations still can be done but the static cost for small database will be bigger then ~0.5% as in this case so I do not plan to do it in the nearest future. * harbour/include/dbinfo.ch * harbour/source/rdd/dbf1.c + use hb_fsSeekLarge() - for DBFs longer then 2GB * synched with xHarbour (added DBRI_RAW*) * do not call GOCOLD() inside CHILDSYNC() but do it in FORCEREL() the modification based on CL5.3 NG. Below is a note I lef in dbf1.c: /* * !!! The side effect of calling GOCOLD() inside CHILDSYNC() is * evaluation of index expressions (index KEY and FOR condition) * when the pArea is not the current one - it means that the * used RDD has to set proper work area before eval, DBFCDX does * but DBFNTX not yet - it should be changed. * IMHO GOCOLD() could be safely removed from this place but I'm not * sure it's Clipper compatible - I will have to check it, Druzus. */ /* * I've checked in CL5.3 Technical Reference Guide that only * FORCEREL() should ensure that the work area buffer is not hot * and then call RELEVAL() - I hope it describes the CL5.3 DBF* RDDs * behavior so I replicate it - the GOCOLD() is moved from CHILDSYNC() * to FORCEREL(), Druzus. */ * harbour/source/rdd/dbf0.prg * harbour/source/rdd/delim0.prg * harbour/source/rdd/rddsys.prg * harbour/source/rdd/sdf0.prg * harbour/source/rdd/dbfntx/dbfntx0.prg * formatting (adding EOL at EOF) * harbour/include/hbapifs.h * harbour/source/rtl/filesys.c * added hb_fsLockLarge() and hb_fsSeekLarge() which uses 64bit ofsets * harbour/source/rdd/workarea.c * set current work area to the used one in EVALBLOCK RDD method before code block evaluation * harbour/source/vm/harbinit.prg * harbour/source/vm/hvm.c + added hb_vmDoInitClip() which calls CLIPINIT function to initialize ErrorBlock() and __SetHelpK() Because on some platform the execution order of init functions is out of Harbour control then CLIPINIT has to be called explicitly in VM initialization process before hb_vmDoInitFunctions() and do not depends on INIT clause. * small modification in VM loop which gives noticeable speed-up 2005-01-23 09:05 UTC+0100 Antonio Linares * makefile.nt + hbverdsp.obj module added to makefile.nt 2005-01-22 23:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Yet another rare bug fixed. 2005-01-22 19:55 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed, which oocured in some rare situations while record updating. 2005-01-13 09:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rtl/mod.c ! fixed mod() function to be Clipper/DBASE III compatible (not the % operator) for combination of psitive and negative numbers 2005-01-13 08:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/include/hbfixdj.h + I missed to add this file in my last commit - it's borrowed from xHarbour. * harbour/source/rtl/filesys.c ! fixed DJGPP compilation I broke 2005-01-12 18:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/hbgtmk.sh * harbour/make_rpm.sh * harbour/harbour.spec * added flex to dependences * added --without gpl swich to exclude code which needs 3-rd party GPL libs (GPM, SLANG) - necessary for people who want to create commercial closed source application * harbour/make_gnu.sh * modified DJGPP detection - try to use env var first * set HB_GT_LIB depending on platform information * check PREFIX env var for default installation * harbour/make_tgz.sh * modified to work with DJGPP and 8.3 file names * harbour/bin/hb-func.sh * DJGPP support * harbour/bin/pack_src.sh * autodetect Harbour version number * harbour/config/linux/gcc.cf * added small comment + harbour/config/linux/owatcom.cf + OpenWatcom support on Linux * harbour/config/w32/global.cf * harbour/config/w32/mingw32.cf * small modification in clean procedure + added Phil's modification for MINGW cross compilation in Linux and BSD * harbour/source/compiler/gencobj.c + added Phil's modification for MINGW cross compilation in Linux and BSD * harbour/include/hbsetup.h * added OS_HAS_DRIVE_LETTER, OS_PATH_DELIMITER_STRING, OS_FILE_MASK, OS_DRIVE_DELIMITER and HOST_OS_UNIX_COMPATIBLE * modified for OW on Linux and MINGW cross compilation * added snprintf macro for compilers which do not support it * harbour/source/rtl/mod.c ! fixed bug in mod(a,b) when a/b exceeds LONG limit * harbour/source/rtl/filesys.c * removed HB_FS_DRIVE_LETTER - use OS_HAS_DRIVE_LETTER * modified for OW on Linux and MINGW cross compilation * harbour/contrib/libct/files.c * harbour/include/hb_io.h * harbour/include/hbdefs.h * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/fssize.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/hbffind.c * harbour/source/rtl/net.c * harbour/source/rtl/seconds.c * harbour/source/rtl/gtcrs/Makefile * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtpca/gtpca.c * harbour/source/rtl/gtsln/Makefile * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtstd/gtstd.c * harbour/source/vm/hvm.c * harbour/source/vm/mainstd.c * harbour/source/vm/mainwin.c * modified for OW on Linux and MINGW cross compilation * harbour/source/vm/memvars.c - removed unnecessary checking for s_globalTable == NULL in hb_memvarValueDecRef() - in Harbour it cannot happen * harbour/source/vm/itemapi.c - removed snprintf macros (see hbsetup.h) * fixed possible GPF in hb_itemCopyC() * modified hb_itemGetPtr() to check item type 2005-01-06 12:15 UTC+0100 Ryszard Glab * source/pp/ppcore.c * defined pseudo-functions' parameters are case sensitive now (this fixes bug #define F( n ) FF( n, N ) ) 2005-01-03 14:15 UTC+0100 Ryszard Glab * include/hbexprb.c * source/compiler/exproptb.c * source/macro/macrob.c * fixed to compile with SIMPLEX defined Notice: Simplex version is not updated for a long time and it doesn't support all fixes from FLEX version 2005-01-03 10:30 UTC+0100 Ryszard Glab * include/hbcomp.h * include/hbexprb.c * include/hbmacro.h * source/compiler/exproptb.c * source/compiler/harbour.c * source/compiler/hbgenerr.c * source/macro/macrob.c * source/vm/macro.c * compiler reports error on the following syntax now (Clipper compatibility): {|| ¯ovar anysymbol} "codeblock contains both macro and declared symbol reference" Notice, that Clipper reports error even in this case: MEMVAR mvar {|| &mvar,mvar} * source/vm/memvars.c * restored initial and expand sizes for memvars table * source/pp/ppcore.c * some empty lines added 2004-12-27 10:37 UTC+0100 Ryszard Glab * source/vm/memvars.c * changed algorithm for recycling of unused memvar values - thanks to Przemek 2004-12-31 06:16 UTC-0800 Luis Krause Mantilla * harbour/source/codepage/cdpesmwi.c ! the init values were set to ESWIN instead of ESMWIN Somehow my original entry was obliterated from the changelog as well as my original commit of cdpesmwi.c: 2004-12-29 18:24 UTC-0800 Luis Krause Mantilla * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc ! Added missing/new files from source/codepage/*.c & source/lang/*.c + source/codepage/cdpesmwi.c + Added Spanish Modern codepage 2004-12-31 12:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbapicdp.h * harbour/source/codepage/cdp_tpl.c * harbour/source/codepage/cdpeldos.c * harbour/source/codepage/cdpelwin.c * harbour/source/codepage/cdpesdos.c * harbour/source/codepage/cdpeswin.c * harbour/source/codepage/cdpgedos.c * harbour/source/codepage/cdpgewin.c * harbour/source/codepage/cdphu852.c * harbour/source/codepage/cdphuwin.c * harbour/source/codepage/cdppl852.c * harbour/source/codepage/cdppliso.c * harbour/source/codepage/cdpplmaz.c * harbour/source/codepage/cdpplwin.c * harbour/source/codepage/cdppt850.c * harbour/source/codepage/cdpptiso.c * harbour/source/codepage/cdpru866.c * harbour/source/codepage/cdprukoi.c * harbour/source/codepage/cdpruwin.c * harbour/source/codepage/cdpsl437.c * harbour/source/codepage/cdpsl852.c * harbour/source/codepage/cdpsliso.c * harbour/source/codepage/cdpslwin.c * harbour/source/codepage/cdpsrwin.c * harbour/source/rtl/cdpapi.c * fix memory leak reported for accented and multi byte CPs + harbour/source/codepage/cdpesmwi.c * added missing Spanish modern CP * harbour/include/hbstack.h * harbour/include/hbapiitm.h * harbour/source/vm/estack.c * harbour/source/vm/itemapi.c + added hb_stackReturnItem() - removed hb_itemReturnPtr() * harbour/source/rdd/workarea.c ! fixed possible restoring of scopes in scoped relations after 'SET RELATION TO' * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * use hb_stackReturnItem() instead of direct stack accessing * harbour/source/rdd/dbfntx/dbfntx1.c ! Fixed opening NTX file in ReadOnly mode * use hb_stackReturnItem() instead of direct stack accessing * harbour/source/rtl/filesys.c * cleaned unnecessary initialization * harbour/source/vm/memvars.c * formatting and small fix for calling GC after hb_memvarsRelease() 2004-12-28 11:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/contrib/samples/dbf.c * harbour/contrib/samples/time.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/rdd/dbcmd.c * harbour/source/rtl/accept.c * harbour/source/rtl/errorapi.c * harbour/source/vm/hvm.c * harbour/source/vm/initsymb.c * harbour/source/vm/macro.c * harbour/source/vm/memvclip.c * changed 'extern HB_FUNC' to HB_FUNC_EXTERN for easier ABI manipulations 2004-12-28 10:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/harbour.spec * harbour/hbgtmk.sh * harbour/make_rpm.sh * harbour/bin/pack_src.sh * updated for recent changes in make process * harbour/contrib/Makefile * added odbc lib for Linux compilation * harbour/contrib/btree/Makefile * changed lib name from hb_btree to hbtree * harbour/contrib/btree/hb_btree.api * harbour/contrib/btree/hb_btree.c * fixed GCC compilation in HB_TR_DEBUG mode * harbour/contrib/hbzlib/hbzip.h * harbour/contrib/hbzlib/include/hbzip.h * harbour/include/hbapi.h * harbour/include/hbapicdp.h * harbour/include/hbapierr.h * harbour/include/hbapifs.h * harbour/include/hbapigt.h * harbour/include/hbapiitm.h * harbour/include/hbapilng.h * harbour/include/hbapirdd.h * harbour/include/hbcomp.h * harbour/include/hbdate.h * harbour/include/hbdbsort.h * harbour/include/hberrors.h * harbour/include/hbexprb.c * harbour/include/hbexprop.h * harbour/include/hbhash.h * harbour/include/hbinit.h * harbour/include/hbmacro.h * harbour/include/hbpp.h * harbour/include/hbrdddel.h * harbour/include/hbrddntx.h * harbour/include/hbrddsdf.h * harbour/include/hbrddwrk.h * harbour/include/hbset.h * harbour/include/hbstack.h * harbour/include/hbtrace.h * harbour/include/hbvm.h * harbour/include/hbvmpub.h * changed #if defined (HB_EXTERN_C) to HB_EXTERN_BEGIN / HB_EXTERN_END macros for easier manipulation with different ABI * added HB_IS_BADITEM() macro for debugging * synced CDP with xHarbour - added basic Unicode support * synced RDD with xHarbour * harbour/source/codepage/Makefile * harbour/source/codepage/cdp_tpl.c * harbour/source/codepage/cdpeldos.c * harbour/source/codepage/cdpelwin.c * harbour/source/codepage/cdpesdos.c * harbour/source/codepage/cdpeswin.c * harbour/source/codepage/cdpgedos.c * harbour/source/codepage/cdpgewin.c * harbour/source/codepage/cdphu852.c * harbour/source/codepage/cdphuwin.c * harbour/source/codepage/cdppl852.c * harbour/source/codepage/cdppliso.c * harbour/source/codepage/cdpplmaz.c * harbour/source/codepage/cdpplwin.c * harbour/source/codepage/cdppt850.c * harbour/source/codepage/cdpptiso.c * harbour/source/codepage/cdpru866.c * harbour/source/codepage/cdprukoi.c * harbour/source/codepage/cdpruwin.c * harbour/source/codepage/cdpsl437.c * harbour/source/codepage/cdpsl852.c * harbour/source/codepage/cdpsliso.c * harbour/source/codepage/cdpslwin.c * harbour/source/codepage/cdpsrwin.c + harbour/source/codepage/uc1250.c + harbour/source/codepage/uc1251.c + harbour/source/codepage/uc1253.c + harbour/source/codepage/uc1257.c + harbour/source/codepage/uc737.c + harbour/source/codepage/uc850.c + harbour/source/codepage/uc852.c + harbour/source/codepage/uc866.c + harbour/source/codepage/uc88591b.c + harbour/source/codepage/uc8859_1.c + harbour/source/codepage/uc8859_2.c + harbour/source/codepage/uckoi8.c + harbour/source/codepage/uckoi8u.c + harbour/source/codepage/ucmaz.c * harbour/source/rtl/cdpapi.c * synced HB CDP API with xHarbour - added basic Unicode support * harbour/source/common/expropt2.c * harbour/source/common/hbstr.c * removed unnecessary initialization to avoid BCC warnings * harbour/source/compiler/harbour.c * formatting hb_compCodeBlockStop() looks like work in progress or is has some old unused code - Ryszard, can you look at it? * harbour/source/macro/macro.y * removed hack for GCC and old Bison versions * harbour/source/pp/ppcore.c * removed unnecessary initialization to avoid BCC warnings * harbour/source/pp/pptable.c + added some sets for RDD synchronization with xHarbour * harbour/source/rdd/dbcmd.c + added __RDDGETTEMPALIAS * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfuncs.prg * harbour/source/rdd/dbnubs.c * harbour/source/rdd/dbstrux.prg * harbour/source/rdd/hbdbsort.c * harbour/source/rdd/rddord.prg * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * synchronized with xHarbour - still dbcmd.c has to be synced yet ! fixed all known bugs Alexander, please look at DBFNTX - I hope all is correct. * harbour/source/vm/codebloc.c * formatting * harbour/source/vm/fm.c + added HB_PARANOID_MEM_CHECK to force reallocations in hb_xrealloc and fill allocated and freed memory with HB_MEMFILER (0xff by default) It's for debugging only. * harbour/source/vm/hvm.c ! fixed hb_vmTopNumber() declaration for BCC * use hb_gcCollectAll() at HVM exit instead of hb_gcReleaseAll() to report allocated and not freed items - It could caused that some programs begin to report memory leaks. * harbour/source/vm/itemapi.c * check for HB_IS_BADITEM inside hb_itemClear() when compiled with HB_PARANOID_MEM_CHECK for debugging * harbour/source/vm/memvars.c * formatting ! fixed pItem initialization in hb_memvarDetachLocal() BTW - is this really necessary? I copy it form hb_itemUnRef() but in fact it cannot detect all possible item reference cycles if they appear - can they appear? 2004-12-27 10:37 UTC+0100 Ryszard Glab * source/vm/memvars.c * changed algorithm for recycling of unused memvar values - thanks to Przemek 2004-12-24 07:47 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c * source/vm/itemapi.c * source/vm/memvars.c * fixed memvars and detached locals handling related to reallocation of memvar's buffer and detaching of locals in a loop - thanks to Przemek * source/vm/debug.c *removed diagnostic hb_dbgstop() 2004-12-24 07:47 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c * source/vm/itemapi.c * source/vm/memvars.c * fixed memvars and detached locals handling related to reallocation of memvar's buffer and detaching of locals in a loop - thanks to Przemek * source/vm/debug.c *removed diagnostic hb_dbgstop() 2004-12-20 05:00 UTC-0500 David G. Holm * config/global.cf * config/bsd/gcc.cf * config/bsd/global.cf * config/darwin/gcc.cf * config/darwin/global.cf * config/dos/bcc16.cf * config/dos/djgpp.cf * config/dos/global.cf * config/dos/owatcom.cf * config/dos/rsx32.cf * config/dos/watcom.cf * config/hpux/gcc.cf * config/hpux/global.cf * config/linux/gcc.cf * config/linux/global.cf * config/os2/gcc.cf * config/os2/global.cf * config/os2/icc.cf * config/sunos/gcc.cf * config/sunos/global.cf * config/w32/bcc32.cf * config/w32/gcc.cf * config/w32/global.cf * config/w32/mingw32.cf * config/w32/msvc.cf * config/w32/rsxnt.cf * config/w32/watcom.cf * Changed ARCH variable to HB_ARCH due to a conflict with a permanent, non-replacable FreeBSD 5.3 environment variable with the same name. 2004-12-16 13:32 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh * harbour/make_tgz.sh * fixed HPUX detection * harbour/bin/hb-func.sh * late GTK lib checking for -xbgtk switch in hb* scripts * harbour/contrib/btree/hb_btree.api * harbour/contrib/btree/hb_btree.c * harbour/contrib/libnf/chdir.c * harbour/contrib/libnf/dispc.c * harbour/contrib/libnf/ftint86.ch * harbour/contrib/libnf/getver.c * harbour/contrib/libnf/mkdir.c * harbour/contrib/libnf/proper.c * harbour/contrib/libnf/rmdir.c * casting and small fixes for OpenWatcom compilation * harbour/include/hbdefs.h * force big endian if not detected automatically for HPUX * harbour/source/vm/itemapi.c * HPUX uses isfinite() not finite() * harbour/source/vm/memvars.c ! fixed endian dependent code 2004-12-14 01:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/rdd/dbfcdx/dbfcdx1.c * minor modifications of some static function names 2004-12-14 01:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/vm/extend.c * harbour/source/vm/itemapi.c * fixed some minor typos in GCC hack + added missing hb_parnint() 2004-12-12 22:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/make_gnu.sh + added platform autodetection if HB_ARCHITECTURE not set and choosing the preferred compiler if HB_COMPILER not set + added new platforms (Darwin, SunOS, BSD, HPUX) for info descriptions - I do not want to decide if this should be also added for make_gnu.bat, make_gnu.cmd because these files cannot be used for this platforms. Now make_bsd.sh and make_drw.sh are redundant - we should decide if they should be kept in CVS or removed * harbour/make_tgz.sh + added platform autodetection if HB_ARCHITECTURE not set and choosing the preferred compiler if HB_COMPILER not set * harbour/contrib/Makefile * changed the list of compiled contrib libs - now there is a list of some default libs which can be compiled for all platforms and only the chosen ones are added for some platforms - it will be easier to manage because the number of supported platforms is growing up. Please check if it will work for other platforms/compilers. 2004-12-12 02:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + harbour/config/hpux/dir.cf + harbour/config/hpux/gcc.cf + harbour/config/hpux/global.cf + harbour/config/hpux/install.cf * Marcelo's files build files for HPUX borrowed from xHarbour * harbour/bin/hb-func.sh * harbour/bin/hb-mkslib.sh * harbour/bin/postinst.sh * recent Phil's changes for Darwin and some of mine modifications and cleanups * harbour/include/Makefile + added some missing header files * harbour/include/hbapi.h + added HB_ITEM_{GET|PUT}_NUMINTRAW() macros + added hb_objGetClass() * harbour/include/hbdefs.h * redefined multi commands macros to use do {...} while(0) for safe use in any of C statement + added HB_OS_HPUX * harbour/include/hbsetup.h + added HB_OS_HPUX * harbour/include/hbstack.h * hb_stackDec(), hb_stackPop(), hb_stackPush() redefined also as macros when HB_STACK_MACROS is set + added function hb_stackIncrease() * harbour/source/common/hbstr.c * fixed possible buffer overflow * harbour/include/hbrdddbf.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * harbour/source/rdd/dbfdbt/dbfdbt1.c * harbour/source/rdd/dbffpt/dbffpt1.c * my recent fixes in xHarbour * harbour/source/rtl/copyfile.c * small fix to error message * harbour/source/rtl/idle.c + added HB_IDLESLEEP() and void hb_idleSleep( double dSeconds ) * harbour/source/rtl/isprint.c * use hb_xgrab()/hb_xfree() instead of malloc()/free() * harbour/source/rtl/run.c * added __WATCOMC__ to C compilers supporting system() * harbour/source/vm/arrays.c * cleaned hb_arrayFromStack(), hb_arrayFromParams() * harbour/source/vm/arrayshb.c * small fixes to error messages ! improved Clipper compatibility in AFILL() * harbour/source/vm/asort.c * separate entry for integer items - conversion to double may damage big 64bit numbers * harbour/source/vm/classes.c + added USHORT hb_objGetClass( PHB_ITEM pItem ) * harbour/source/vm/dynsym.c ! fixed accessing to uninitialized memory * harbour/source/vm/estack.c + added hb_stackIncrease() and modification for new stack macros * harbour/source/vm/hvm.c * fixed some error messages * some speed improvements * harbour/source/vm/itemapi.c * some small optimizations * harbour/utils/hbtest/rt_misc.prg * modified file name conversions test results for __PLATFORM__UNIX 2004-10-31 01:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/compiler/cmdcheck.c * replaced some free by hb_xfree * harbour/source/compiler/genc.c * replace non ID characters in name of local symbol table by '_' * harbour/bin/hb-func.sh * set proper X11 path for mixed (32/64bit) systems 2004-10-24 20:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/config/bsd/global.cf + added suppot for HB_COMMERCE and HB_WITHOUT_GTSLN env vars * harbour/source/compiler/Makefile * formating * harbour/include/hbdefs.h * harbour/source/vm/fm.c * harbour/source/vm/garbage.c + added macro HB_ALLOC_ALIGNMENT which forces allocated memory alignment in FM and GC modules to given value - by default used only when set HB_OS_SUNOS with 8 bytes alignment 2004-10-23 02:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/postinst.sh * changed install command syntax for Solaris compatibility * harbour/include/hbdefs.h * minor formating * harbour/source/vm/fm.c + overwrite HB_MEMINFO_SIGNATURE with 0 in hb_xfree() for detection redundant hb_xfree() call with the same pointer * harbour/source/rtl/spfiles.c * set the real path in second parameter of RetPath even when hb_spFiles fails to avoid race condition * harbour/source/vm/hvm.c ! set proper decimal value in hb_vmDivide when the integer results is converted into double ! commented out integer division optimization at runtime for Clipper compatibility 2004-10-20 17:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/source/pp/ppcore.c + added predefined macro __PLATFORM__UNIX for all *nix compatible systems * harbour/contrib/dot/pp.prg * harbour/source/pp/ppcore.c * harbour/utils/hbtest/hbtest.prg * harbour/utils/hbtest/rt_misc.prg * replaced __PLATFORM__Linux with __PLATFORM__UNIX * harbour/harbour.spec ! fixed stripping script files * harbour/source/rdd/dbfntx/dbfntx1.c ! fixed casting 2004-10-20 12:00 UTC+0300 Alexander Kresin * source/rdd/dbcmd.c ! Fixed a small bug in ordListAdd() function - there was a memory leak if the index name is wrong. 2004-10-20 09:41 UTC+0200 Chen Kedem * makefile.bc + Add the missing Greek language and codepage files * doc/dirstruc.txt + Add oneliner description for: config/darwin, config/sunos 2004-10-20 07:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h + added macros HB_{PUT|GET}_{LONG|PTR} * changed HB_CAST_BYTE_NUMBERS_OFF to HB_STRICT_ALIGNMENT * harbour/source/vm/fm.c * harbour/source/vm/hvm.c * harbour/source/vm/macro.c * replaced code which made pointer casting without respecting machine alignment with proper macros 2004-10-19 22:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * changed 'sed' and 'tr' expresions to be compatible with SunOS + added Darwin dynlib support borrowed from xHarbour thanks to Phil Krylov * harbour/bin/hb-mkslib.sh * minor modification * harbour/bin/postinst.sh * harbour/config/darwin/gcc.cf + Phil's modification for Darwin * removed HB_OS_BSD and HB_BIG_ENDIAN - the first macro is set in hbsetup.h when HB_OS_DARWIN is set, the second one should be automatically detected inside hbdefs.h using C header files. * harbour/config/sunos/gcc.cf * removed HB_BIG_ENDIAN macro - the same as above * harbour/include/hbapi.h * harbour/source/vm/fm.c * changed 16/32 bit hack #if UINT_MAX == ULONG_MAX for hb_xmem*() functions to still not perfect but working on current platforms #if UINT_MAX > USHRT_MAX * harbour/include/hbdefs.h + added HB_DBL_LIM_INT24(d) and HB_LIM_INT24(l) macros + try to autodect byte order using information form system C header files - it whoud work for Linux, BSD/Darwin, SunOS - maybe also for some other *nixes * removed some dangerous casting. [x]Harbour code still depnds on 8bytes double - in CDX for binary compatibility IEEE754 double is necessary - if some architectures uses differ type of double value for binary compatibility we will have to create proper conversion functions for HB_{PUT|GET}_{LE|BE}_DOUBLE and HB_ORD2DBL/HB_DBL2ORD macros * harbour/include/hbsetup.h * define HB_OS_UNIX when HB_OS_SUNOS set * harbour/source/common/hbstr.c * harbour/source/pp/ppcore.c * casting * harbour/source/compiler/harbour.c * use HB_LIM_INT*() macros instead of hard coded values * removed some unnecessary if () statement - always true * harbour/source/compiler/harbour.l * harbour/source/compiler/hbfix.c * harbour/source/vm/macro.c * use HB_LIM_INT*() macros instead of hard coded values * harbour/source/rdd/dbfcdx/dbfcdx1.c ! minor fix * harbour/source/rdd/dbfntx/dbfntx1.c ! small fix - the temporary index file was not removed * do not force any name for temporary index files - important in some cases (like DOS and short file names) * harbour/source/rtl/diskspac.c ! fixed type in SunOS version * harbour/source/rtl/gtsln/Makefile * minor cleanups * harbour/utils/hbtest/rt_math.prg * changed to number results to be Clipper compatible. 2004-10-14 21:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/bin/hb-func.sh * harbour/bin/pack_src.sh + harbour/config/sunos/dir.cf + harbour/config/sunos/gcc.cf + harbour/config/sunos/global.cf + harbour/config/sunos/install.cf + added SunOS support * harbour/config/darwin/gcc.cf * small modification for nicer work with OS-X installed on SF compile farm - I'm not Darwin user and SF is the only one place I can make tests - if someone may fix me and leave some comments 'why?' it will be nice. * harbour/contrib/Makefile * exclude ADS RDD from Darwin build * harbour/contrib/rdd_ads/adsfunc.c * some minor modification to avoid compiler warnings. * harbour/include/hbdefs.h * fixed typo in HB_PUT_LE_DOUBLE() macro for big endian machines. * harbour/source/compiler/genc.c ! fixed endian dependend code I left by mistake * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y ! commented out hb_compSequenceFinish() * harbour/source/pp/ppcore.c + added ( void * ) size as result of __ARCH{16,32,64}BIT__ and __{LITTLE,BIG,PDP}_ENDIAN__ macros * harbour/source/pp/pragma.c ! fixed possible string overflow * harbour/source/vm/itemapi.c * harbour/source/rtl/diskspac.c * harbour/source/rtl/disksphb.c * harbour/source/rtl/fstemp.c * harbour/source/rtl/idle.c * harbour/source/rtl/math.c * harbour/source/rtl/gtcrs/Makefile * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtcrs/mousecrs.c * modified for SunOS and Darwin support. 2004-10-12 02:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/makefile.bc * updated for recent changes by Jacek Kubica - thanks. 2004-10-12 01:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/include/hbdefs.h * harbour/source/rdd/dbf1.c * harbour/source/rdd/workarea.c * harbour/source/rdd/dbfcdx/dbfcdx1.c * foramting some // replaced by /* */ * adding some missing extensions I haven't ported fully in xHarbour * harbour/source/vm/maindllp.c * fixed Windows compilation The BCC and MSC make fiels have to be updated to the folowing changes: - harbour/contrib/libct/invertwin.prg + harbour/contrib/libct/invrtwin.prg - harbour/source/common/hbffind.c + harbour/source/common/hbverdsp.c - harbour/source/rdd/dbfcdx/dbfcdx1.h + harbour/source/rtl/hbffind.c 2004-10-11 21:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * harbour/Makefile + harbour/make_bsd.sh + harbour/make_drw.sh * harbour/make_tgz.sh + harbour/bin/hb-func.sh * harbour/bin/pack_src.sh + harbour/bin/postinst.bat + harbour/bin/postinst.sh * harbour/config/dir.cf * harbour/config/bsd/gcc.cf * harbour/config/bsd/global.cf + harbour/config/darwin/dir.cf + harbour/config/darwin/gcc.cf + harbour/config/darwin/global.cf + harbour/config/darwin/install.cf * harbour/config/dos/dir.cf * harbour/config/dos/global.cf * harbour/config/dos/install.cf * harbour/config/dos/owatcom.cf * harbour/config/dos/watcom.cf * harbour/config/linux/gcc.cf * harbour/config/linux/global.cf * harbour/contrib/Makefile * harbour/contrib/dot/pp_harb.ch * harbour/contrib/libct/Makefile * harbour/contrib/libct/bit1.c * harbour/contrib/libct/bit2.c * harbour/contrib/libct/bit3.c * harbour/contrib/libct/files.c * harbour/contrib/libct/ftoc.c - harbour/contrib/libct/invertwin.prg + harbour/contrib/libct/invrtwin.prg * harbour/contrib/libct/keyset.c * harbour/contrib/libct/makefile.bc * harbour/contrib/libmisc/dates2.c * harbour/contrib/rdd_ads/ads1.c * harbour/contrib/rdd_ads/adsfunc.c * harbour/contrib/samples/date.c * harbour/include/dbinfo.ch * harbour/include/hbapi.h * harbour/include/hbapicdp.h * harbour/include/hbapifs.h * harbour/include/hbapigt.h * harbour/include/hbapiitm.h * harbour/include/hbcomp.h * harbour/include/hbdate.h * harbour/include/hbdbf.h * harbour/include/hbdbferr.h * harbour/include/hbdefs.h * harbour/include/hbexprb.c * harbour/include/hbexprc.c * harbour/include/hbexprop.h * harbour/include/hbmacro.h * harbour/include/hbmath.h * harbour/include/hbpcode.h * harbour/include/hbrddcdx.h * harbour/include/hbrdddbf.h * harbour/include/hbrdddbt.h * harbour/include/hbrddfpt.h * harbour/include/hbrddntx.h * harbour/include/hbset.h * harbour/include/hbsetup.h * harbour/include/set.ch * harbour/source/common/Makefile * harbour/source/common/expropt1.c * harbour/source/common/expropt2.c - harbour/source/common/hbffind.c * harbour/source/common/hbfsapi.c * harbour/source/common/hbstr.c * harbour/source/common/hbver.c + harbour/source/common/hbverdsp.c * harbour/source/compiler/genc.c * harbour/source/compiler/gencli.c * harbour/source/compiler/harbour.c * harbour/source/compiler/harbour.l * harbour/source/compiler/harbour.slx * harbour/source/compiler/harbour.sly * harbour/source/compiler/harbour.y * harbour/source/compiler/hbfix.c * harbour/source/compiler/hbpcode.c * harbour/source/compiler/hbusage.c * harbour/source/compiler/simplex.c * harbour/source/macro/macro.l * harbour/source/macro/macro.slx * harbour/source/macro/macro.y * harbour/source/pp/ppcore.c * harbour/source/rdd/dbcmd.c * harbour/source/rdd/dbf1.c * harbour/source/rdd/dbfcdx/dbfcdx1.c - harbour/source/rdd/dbfcdx/dbfcdx1.h * harbour/source/rdd/dbffpt/dbffpt1.c * harbour/source/rdd/dbfntx/dbfntx1.c * harbour/source/rtl/Makefile * harbour/source/rtl/abs.c * harbour/source/rtl/at.c * harbour/source/rtl/datec.c * harbour/source/rtl/dates.c * harbour/source/rtl/dateshb.c * harbour/source/rtl/datesx.c * harbour/source/rtl/empty.c * harbour/source/rtl/errorapi.c * harbour/source/rtl/errorint.c * harbour/source/rtl/filesys.c * harbour/source/rtl/fstemp.c + harbour/source/rtl/hbffind.c * harbour/source/rtl/hbrandom.c * harbour/source/rtl/idle.c * harbour/source/rtl/inkey.c * harbour/source/rtl/math.c * harbour/source/rtl/minmax.c * harbour/source/rtl/pad.c * harbour/source/rtl/padc.c * harbour/source/rtl/padl.c * harbour/source/rtl/padr.c * harbour/source/rtl/philes.c * harbour/source/rtl/round.c * harbour/source/rtl/soundex.c * harbour/source/rtl/str.c * harbour/source/rtl/strcase.c * harbour/source/rtl/strmatch.c * harbour/source/rtl/strtran.c * harbour/source/rtl/strzero.c * harbour/source/rtl/substr.c * harbour/source/rtl/val.c * harbour/source/rtl/gtcrs/gtcrs.c * harbour/source/rtl/gtcrs/kbdcrs.c * harbour/source/rtl/gtdos/gtdos.c * harbour/source/rtl/gtsln/gtsln.c * harbour/source/rtl/gtsln/kbsln.c * harbour/source/rtl/gtsln/keytrans.c * harbour/source/vm/arrays.c * harbour/source/vm/codebloc.c * harbour/source/vm/estack.c * harbour/source/vm/eval.c * harbour/source/vm/extend.c * harbour/source/vm/hvm.c * harbour/source/vm/itemapi.c * harbour/source/vm/macro.c * harbour/source/vm/memvars.c * harbour/source/vm/runner.c * harbour/tests/bldtest/bldtest.c * harbour/utils/hbtest/hbtest.prg * harbour/utils/hbtest/rt_misc.prg * harbour/utils/hbtest/rt_str.prg * Sorry but it's too much modification for full description cvs diff gives file 785982 bytes length. So I only count the main things: ! cleand the code (no more warning messages under Linux and GCC and DOS OpenWatcom) - some of them were real bugs ! cleaned all endian dependend code I've found - now Harbour can be compiled on LITLE and BIG endian machines - for some other like PDP ENDIAN it's enough to define proper macros in hbdefs.h + added macros for to get/put values in chosen byte order: HB_GET_LE_[U]INT{16,24,32,64}( pPtr ) HB_GET_BE_[U]INT{16,24,32,64}( pPtr ) HB_PUT_LE_[U]INT{16,24,32,64}( pPtr, nVal ) HB_PUT_BE_[U]INT{16,24,32,64}( pPtr, nVal ) + added macro HB_CAST_BYTE_NUMBERS_OFF which disables casting in HB_{GET|PUT}_{LE|BE}_* macros - it's necessary for some platforms like ALPHA DEC. ! cleaned the code for 64bit machines * changed all parameters in hb_date* functions (day, month, year, week) from LONG to int - it doesn't change binary compatibility for 32bit machines but can cause troubles with compiling the old source + changed HB_IT_LONG type to HB_LONG which is mapped to long long by default for 32 bit machines. + change HB_IT_INTEGER to be real 'int' C type not 'short int' + added HB_IS_NUMINT() macro + added hb_parnll, hb_stornll, hb_retnll, hbretnlllen, hb_itemPutNLL, hb_itemPutNLLLen, hb_itemGetNLL which operates on LONGLONG + added hb_parnint, hb_stornint, hb_retnint, hb_retnintlen, hb_itemPutNInt, hb_itemPutNIntLen, hb_itemGetNInt which operates on HB_LONG + added HB_PUSHLONGLONG pcode + changed compiler and optimizer to use HB_LONG numbers and reduce conversion from to double which may damage the 64bit number. + common functions for string to number conversions for compiler, RTL and RDD to reduce problems with differ FL values for the same number: hb_compStrToNum(), hb_valStrnToNum(), hb_strToNum(), hb_strnToNum() + common function hb_numRoun() which uses exactly the same algorithms as string to number conversion for the same reason - please keep this functions together. + hack inside hb_numRound() similar to the one used by CL5.3 + hb_numInt() which uses uses the same hack as hb_numRound() + rewritten number to string conversion + some new string manipulation functions hb_strncpy(), hb_strncat(), ... They works differ the the C one - always set 0 at the end, the buffer has to be n+1 bytes length, the n is total size of buffer not the left free space. ! cleaned some code which operates on ASCIIZ string to avoid potential buffer overflow + updated RDD code - it's the first part - in few days I plan to change workarea structure in both projects - it will break any 3rd party RDDs so they have to be updated. I want to add SUPERTABLE into workarea to allow creating new RDD on-line. ! cleaned the bugs with negating integers - on most machines (like x86) the integers are not 0 symmetric - it means that x = -x does not work for {INT,LONG,LONGLONG}_MIN (hb_vmNegate, ABS()) + cleaned error messages to be Clipper compatible. + updated build process for .DEB packages - now hb* scripts and shared libs are created by standard make install * added new .prg #defines: __PLATFORM__, __ARCH{16|32|64}BIT__, __LITTLE_ENDIAN__|__BIG_ENDIAN__|__PDP_ENDIAN__ !!! cPlatfrom can have lower letters (for xHarbour compatibility) If you do not like it please change it. * others ... 2004-10-10 21:35 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Fixed a bug, introduced in a last change. 2004-10-06 21:56 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Fixed a bug, causing random GPFs while seeking. 2004-10-06 05:40 UTC-0500 David Arturo Macias Corona + harbour/contrib/mysql/difer.txt Describe modifications to programs of harbour\contrib\mysql, in Spanish + harbour/contrib/mysql/diffeng.txt Describe modifications to programs of harbour\contrib\mysql, in English 2004-10-05 05:39 UTC-0500 David Arturo Macias Corona * harbour/contrib/mysql/tmysql.prg * harbour/contrib/mysql/tsqlbrw.prg * Changes to approach Clipper behaviour NOTE: My changes are marked in source code with label "DAVID:", to help in quick review of changes, and these changes are described widely in files difer.txt, diffeng.txt These labels will be removed in a reasonable time + harbour/contrib/mysql/difer.txt Describe modifications to programs of harbour\contrib\mysql, in Spanish + harbour/contrib/mysql/diffeng.txt Describe modifications to programs of harbour\contrib\mysql, in English 2004-09-08 16:40 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/dynsym.c * a new function 'hb_dynsymScope' was added to check if the passed symbol has requested scope * source/vm/macro.c * source/vm/hvm.c * fixed support for static functions used in macro compiled expressions (the runtime error is generated during evaluation instead of macro compilation - like in Clipper) * source/pp/ppcore.c * fixed support for '¯o.' in complex expressions 2004-09-07 10:30 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed support for Clipper undocumented match marker, Harbour is now 100% compatible here. Notice that this fixes support for SET FILTER TO ¯o SET FILTER TO ¯o. .AND. expr 2004-08-06 18:21 UTC-0500 David Arturo Macias Corona * harbour/source/rtl/dates.c ! fixed problem with dates. Now is Clipper compatible For empty date it returns empty string, for valid when number of years greater equal to 0 it returns formated date and in other case it fills buffers with 0 characters. Borrowed from xHarbour, in changes made by Przemyslaw Czerpak It also fix ( CTOD( "" ) + 30 ) error reported by Randy Portnoff 2004-08-04 10:28 UTC+0300 Alexander Kresin * contrib/odbc/odbc.c + New functions has been added: sqlSetStmtOption() and sqlColumns() * contrib/mysql/mysql.c + sqlUseRes() function added * sqlListTbl() is modified - second parameter ( table template ) is added 2004-08-03 11:10 UTC+0100 Ryszard Glab * source/rtl/tget.prg * GetNew() no longer evaluates passed set/get codeblock 2004-08-01 14:38 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/rtl/filesys.c ! Out of bound buffer access fixed. (I couldn't test this) (Thanks to Chen Kedem) 2004-07-27 20:41 UTC+0100 Antonio Linares * include/hbclass.ch + Added a previous #undef _HB_CLS_FUNCNAME for multiple classes definitions on the same PRG 2004-07-27 10:50 UTC-0800 Luis Krause Mantilla * hrbdll.bc + Added modules array.prg, block.prg, characte.prg, date.prg, logical.prg, nil.prg, numeric.prg. 2004-07-27 11:49 UTC+0100 Antonio Linares + source/rtl/array.prg + source/rtl/block.prg + source/rtl/date.prg + source/rtl/logical.prg + source/rtl/nil.prg + source/rtl/numeric.prg * Harbour implementation of Class(y) Classes Array, Block, Date, Logical, Nil, Numeric. * makefile.bc + Added modules array.prg, block.prg, date.prg, logical.prg, nil.prg, numeric.prg. WARNING: Other makefiles need to be updated 2004-07-27 11:16 UTC+0100 Antonio Linares * include/hbclass.ch + Added optional clause FUNCTION to class definitions, based on Class(y) implementation. This allows to use a different name, if desired, to the defined class. i.e.: CLASS Date FUNCTION _Date As Date() is a reserved function name, we can use a _Date() one, but the Class Name will remain as DATE. 2004-07-27 02:09 UTC+0100 Antonio Linares + source/rtl/characte.prg * Harbour implementation of Class(y) Class Character * makefile.bc + Added module characte.prg WARNING: Other makefiles need to be updated 2004-07-26 9:03 UTC-0800 Luis Krause Mantilla * hrbdll.bc + Added module scalar.prg 2004-07-26 10:50 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/compiler/cmdcheck.c ! Writing out of bound when using -x compiler switch fixed. (Thanks to Chen Kedem) * source/vm/cmdarg.c ! Tabs removed. 2004-07-26 01:21 UTC+0100 Antonio Linares + source/rtl/scalar.prg * Harbour implementation of Class(y) Class ScalarObject * makefile.bc + Added module scalar.prg WARNING: Other makefiles need to be updated. 2004-07-25 16:48 UTC+0100 Antonio Linares * vm/classes.c + functions hb_clsCreate(), hb_clsAdd() and hb_clsAssociate() added. These functions are equivalents to Clipper __mdCreate(), __mdAdd() and __mdAssociate(), though the parameters are different to easy their use. The purpouse of these functions is to create new classes from C level, a missing feature of Harbour classes engine. Harbour classes functions never considered the possibility of being used from C level. USHORT hb_clsCreate( USHORT usSize, char * szClassName ) : Creates a new class with usSize DATAs and szClassName Name. It returns the handle of the new created class. void hb_clsAdd( USHORT usClassH, char * szMethodName, void * pFunction ) : Adds a new method to the class, that will execute pFunction() code. void hb_clsAssociate( USHORT usClassH ) : Instantiates a new object of the Class handle usClassH. The object is placed at the stack returned value, so it may be accessed using hb_par...( -1, ... ) functions, or managing the item directly. 2004-07-19 21:42 UTC+0300 Alexander Kresin * include/hbver.h * doc/whatsnew.txt * bin/pack_src.sh * harbour.spec * make_tgz.sh * Release info has been changed for release 44. 2004-07-19 17:05 UTC+0300 Alexander Kresin * contrib/mysql/tmysql.prg ! Added checking for decimal field type in :GetRow() and :GetBlankRow() - provided by Mitja Podgornik 2004-07-19 12:15 UTC+0100 Ryszard Glab * doc/whatsnew.txt *added some items and divided into few sections 2004-07-18 19:50 UTC+0200 Tomaz Zupan * harbour.spec * Changed Optimisation level for rpm package to -O2, because there are pboblems with -O3 and gcc 3.3 on Mandrake Linux 2004-07-18 19:50 UTC+0300 Alexander Kresin * contrib/mysql/mysql.c * Some fixes and formatting. 2004-07-18 13:05 UTC+0300 Chen Kedem * doc/whatsnew.txt + Add information about the upcoming alpha build 44 2004-07-17 21:58 UTC+0300 Alexander Kresin * contrib/mysql/tmysql.prg ! Small fix, provided by Mitja Podgornik 2004-07-17 04:14 UTC-0500 David Arturo Macias Corona * source/rtl/tget.prg + Added DATA CapRow and DATA CapCol values For Clipper 5.3x compatibility 2004-07-16 13:40 UTC+0300 Alexander Kresin * source/rdd/dbfntx/dbfntx1.c ! Bug fixed in soft seek * contrib/odbc/todbc.prg ! Bug fixed in TODBC():Open() 2004-07-12 17:19 UTC-0800 Luis Krause Mantilla * source/rdd/dbcmd.c ! fixed Clipper compatibility bug reported by Serge Jakimoff * source/rtl/minmax.c ! Fixed r/t error when Min() and Max() received logical values to have Clipper compatibility 2004-07-09 12:15 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/codebloc.c * source/vm/proc.c *fixed to correctly return the procedure name where the codeblock was created * source/common/hbffind.c *fixed to set correctly size and modification date of retrieved files on Linux/Unix -used from DIRECTORY() function 2004-06-21 14:07 UTC-0500 Randy Portnoff * source/rdd/dbcmd.c * Fixed rddMoveRecords() so that copied records, which are deleted, maintain their deleted status. Reported by Marcos Gambeta 2004-06-08 22:50 UTC+0300 Phil Krylov * source/rtl/inkey.c ! Renamed SETLASTKEY() to HB_SETLASTKEY(). * source/debug/debugger.prg ! Changed SETLASTKEY() to HB_SETLASTKEY(). + contrib/libct/setlast.prg * contrib/libct/Makefile * contrib/libct/ctflist.txt * contrib/libct/makefile.bc * contrib/libct/makefile.vc + Reimplemented SETLASTKEY() through HB_SETLASTKEY() 2004-06-08 22:10 UTC+0300 Phil Krylov - contrib/libct/setlast.prg * contrib/libct/Makefile * contrib/libct/ctflist.txt * contrib/libct/makefile.bc * contrib/libct/makefile.vc - Removed SETLASTKEY() from libct, because it conflicts with the RTL implementation which is also cleaner. 2004-06-08 02:25 UTC+0300 Phil Krylov * source/debug/debugger.prg + Added preliminary CLD-compatible scripting capabilities. 2004-06-07 18:15 UTC+0300 Phil Krylov * source/debug/dbgmenu.prg * source/debug/debugger.prg ! Fixed some problems related to menus, colors and cursor positioning. 2004-06-07 14:15 UTC+0300 Phil Krylov * source/rtl/inkey.c + Added hb_setInkeyLast() (copyright 2002 by Walter Negro) and SETLASTKEY() (copyright 2003 by Przemyslaw Czerpak). Both functions are borrowed from xHarbour. * source/debug/debugger.prg ! Fixed Left and Right keys behaviour in the code window (fix by Lorenzo Fiorini, borrowed from xHarbour). ! Also from xHarbour, but written by myself: ! Restore LastKey() value on program execution. ! Fixed Step() behaviour. ! Removed the last dependencies of the debugger on SET_EXACT setting. ! Fixed some issues with the Monitor window. 2004-06-07 13:45 UTC+0300 Phil Krylov * source/debug/dbgwa.prg * source/debug/dbgtarr.prg * source/debug/tbrwtext.prg * source/debug/debugger.prg ! Miscellaneous fixes borrowed from xHarbour: ! Fixed support for monitoring work areas with non-contigous numbers. ! Fixed monitoring empty subarrays. ! Maintain separate "active" line and cursor line in the code window. Support external initialization of TBrwText():lLineNumbers. ! Fixed problems with breakpoints and source files stored in multiple directories. The environment variable HB_DBG_PATH takes precedence over PATH to search for source files. 2004-06-03 11:00 UTC+0100 Ryszard Glab * source/compiler/harbour.c * fixed to compile FOR var[index] 2004-06-02 05:30 UTC-0400 Alejandro de Garate * doc\en\file.txt * function FOPEN() ! Fixed the meaning of FO_DENYNONE + Added FO_SHARED definition to the table * function FCREATE() ! Fixed table title name, changed Atribute for Meaning * function FREAD() ! Fixed typo at $ARGUMENTS$ section ! Removed typo from $RETURNS$ section ! Fixed typo at $EXAMPLES$ section * function FCLOSE() ! Fixed typo at $EXAMPLES$ section * function CURDIR() ! Fixed typo at $ARGUMENTS$ section * function MAKEDIR() ! Fixed typo at $RETURNS$ section + doc\es\file.txt + Added file's operations document 2004-05-27 14:35 UTC-0400 Alejandro de Garate + doc/es/codestyl.txt + Added code style document file, missing in the last commit + doc/es/hb_apiln.txt + Added Lang API Document * doc/es/lang.txt * Updated Lang Document + doc/es/hb_vm.txt + Added VM API Document 2004-05-24 22:37 UTC-0400 Alejandro de Garate * doc/codestyl.txt * Added Documentation item + doc/es/codestyl.txt + Documented code style 2004-05-23 16:55 UTC+0300 Chen Kedem * doc/en/lang.txt + Documentation for HB_LANGERRMSG(), HB_LANGMESSAGE(), HB_TRANSLATE() + Added Greek and Greek ANSI to the list in HB_LANGSELECT() and HB_SETCODEPAGE() + add notes about the need to REQUEST language and code page module * Some formating 2004-05-21 14:40 UTC+0100 Ryszard Glab * source/compiler/harbour.l * modified to compile correctly with flex version 2.5.31 (IMHO it is m4 preprocessor bug) 2004-05-21 13:30 UTC+0300 Alexander Kresin * source/rdd/dbf1.c * source/rdd/dbfdbt/dbfdbt1.c * Calls of hb_cdpTranslate() are changed to hb_cdpnTranslate() + source/codepage/cdpeldos.c + source/codepage/cdpelwin.c + Greek language codepage files added - provided by Pete Dionisopoulos. * source/lang/msgel.c * source/lang/msgelwin.c + Greek language files added - provided by Pete Dionisopoulos. * source/codepage/Makefile * source/lang/Makefile * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * Makefiles has been updated due to new codepage and lang files. * source/codepage/cdp_tpl.c * source/codepage/cdpesdos.c * source/codepage/cdpeswin.c * source/codepage/cdpgedos.c * source/codepage/cdpgewin.c * source/codepage/cdphu852.c * source/codepage/cdphuwin.c * source/codepage/cdpla850.c * source/codepage/cdppl852.c * source/codepage/cdppliso.c * source/codepage/cdpplmaz.c * source/codepage/cdpplwin.c * source/codepage/cdppt850.c * source/codepage/cdpptiso.c * source/codepage/cdpru866.c * source/codepage/cdprukoi.c * source/codepage/cdpruwin.c * source/codepage/cdpsk852.c * source/codepage/cdpskiso.c * source/codepage/cdpsl437.c * source/codepage/cdpsl852.c * source/codepage/cdpsliso.c * source/codepage/cdpslwin.c * source/codepage/cdpsrwin.c * Few lines are replaced with HB_CODEPAGE_INIT( ), as was suggested by Ilias Lazaridis 2004-05-19 13:25 UTC+0100 Ryszard Glab * source/codepage/cdpsrwin.c *replaced CR+LF with LF only 2004-05-18 15:45 UTC-0400 David G. Holm * source/rtl/cdpapi.c ! Corrected the function names reported by to HB_TRACE statements, as pointed out by Chen Kedem . 2004-05-18 16:12 UTC+0300 Chen Kedem * doc/en/lang.txt + Documentation for HB_SETCODEPAGE() * Some formating 2004-05-14 16:05 UTC+0100 Ryszard Glab * include/hbexpra.c * source/compiler/expropta.c * source/compiler/harbour.c * source/macro/macroa.c * source/rtl/tget.prg * source/rtl/tgetint.prg * fixed to be more Clipper compatible * source/rtl/persist.prg * fixed to not use xBase extensions 2004-05-13 11:00 UTC+0100 Ryszard Glab * source/rtl/transform.c * TRANSFORM(1.23,"999.") correctly returns " 1." now instead of empty string * source/rtl/tget.prg * fixed to correctly display buffer when negative value and '0' was pressed in the position next to decimal point e.g. -1230. was displayed as -123-. * fixed support for '9999.' picture 2004-05-11 15:10 UTC+0100 Ryszard Glab * CVSROOT/avail * restored write access to the entire repository for all developers * doc/codestyl.txt * small corrections (use 3 spaces instead of Tab) * include/hbcomp.h * source/compiler/cmdcheck.c * source/compiler/harbour.c * source/compiler/hbusage.c + added posibility to specify the output PPO file with -p e.g. -pppo/myfile.ppo (thanks to Larry Sevilla) * source/rtl/tget.prg * fixed positioning of cursor when the first pressed key was a digit during editing of numeric value * source/compiler/hbfix.c * source/rdd/dbcmd.c * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rtl/dates.c * source/rtl/filesys.c * source/rtl/inkey.c * source/rtl/isprint.c * source/rtl/math.c * source/rtl/philes.c * source/vm/classes.c * source/vm/hvm.c * removed '//' comments 2004-05-10 19:20 UTC-0400 David G. Holm - cvsplay.txt - cvsplay2.txt - Removed these two files. 2004-05-08 10:40 UTC+0100 Ryszard Glab * source/rdd/dbf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfdbt/dbfdbt1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rtl/is.c * source/rtl/strcase.c * source/rtl/transfrm.c * updated to refer hb_cdp_page instead of s_cdpage * source/vm/itemapi.c * snprintf is used only in GCC/Linux and WatcomC guarded with #ifdef HB_HAS_SNPRINTF (this is ommision from my previous commit) 2004-05-07 19:30 UTC+0100 Ryszard Glab + config/dos/owatcom.cf * added configuration file for OpenWatcom (renamed from watcom.cf) * config/dos/watcom.cf * restored previous version so it correctly compiles under WatcomC 10 - please use watcom.cf for WatcomC and owatcom.cf for OpenWatcom * makefile.bc * makefile.nt * makefile.vc * hrbdll.bc * source/codepage/Makefile + source/codepage/cdpsrwin.c + new file with Serbian codepage * CVSROOT/avail * removed reference to my local file * ERRATA * updated (removed reference to tmpname) * doc/codestyl.txt * updated with some coding guidelines adopted from PHP (please fell free to discuss them ;-) * doc/howtocvs.txt * added description for commit on Linux * include/hbapicdp.h * source/codepage/cdpesdos.c * restored previous versions * include/hbcomp.h * added reference for WatcomC compiler * include/hbexprc.c * fixed warning reported by WatcomC * source/vm/itemapi.c * fixed infinite support for WatcomC * source/rtl/cdpapi.c * renamed global symbol s_cdpage into hb_cdp_page * source/rtl/gtcrs/kbdcrs.c * fixed reporting keystrokes with codes > 127 2004-05-06 21:10 UTC-0400 David G. Holm * source/vm/itemapi.c ! The funtion snprintf is not a Standard C function and does not exist in the Version 12 of the Microsoft C++ compiler (MSVC 6). 2004-05-06 18:00 UTC+0100 Ryszard Glab + CVSROOT/avail * CVSROOT/checkoutlist * CVSROOT/commitinfo * CVSROOT/loginfo + access to CVSROOT files is now available for project admins only 2004-05-06 15:40 UTC+0100 Ryszard Glab * include/hbexpra.c * source/common/expropt2.c * source/compiler/expropta.c * source/macro/macroa.c ! Fixed optimalization of AT,ASC,LEN,CHR functions in the macro compiler (this fixes GPF reported by Alexander) 2004-05-05 08:08 UTC+0200 Ilias Lazaridis * source/codepage/cdpesdos.c ! Whitespace reformatting 2004-05-03 05:04 UTC+0200 Ilias Lazaridis * source/include/hbinit.h + added macro HB_USE_PRAGMA_STARTUP * source/include/hdcdpapi.h + added macro HB_CODEPAGE_INIT * source/codepage/cdpesdos.c ! used HB_USE_PRAGMA_STARTUP and HB_CODEPAGE_INIT (changes are applyable to other cdp*.c files, too, but will wait until cdpesdos.c is completely reworked) 2004-05-02 09:25 UTC+0300 Chen Kedem * doc/howtocvs.txt * Change references to CVSROOT (according to SourceForge documents) from cvs.Harbour-project.sourceforge.net into cvs.sourceforge.net 2004-04-30 16:09 UTC+0200 Ilias Lazaridis + /cvsplay.txt + Added file with tortoiseCVS to check CVS functionality without influencing rest of project [Note: the above changelog time entry is possibly not correct] 2004-04-27 12:57 UTC-0500 Randy Portnoff * contrib/rdd_ads/adsfunc.c Changes to ADSCOPYTABLE as follows: + added logical return value + added second optional param for ADS filter option + Now uses default index order if set Changes to ADSCOPYTABLECONTENTS as follows: ! changed default filter option from ADS_IGNOREFILTERS to ADS_RESPECTFILTERS + added second optional param for ADS filter option + Now uses default index order if set 2004-04-24 15:30 UTC+0100 Ryszard Glab * include/hbapi.h * changed ULONG hb_objHasMsg into BOOL hb_objHasMsg * include/hbvmpub.h * added union { PHB_FUNC pFunPtr; int iStaticsBase; } value to HB_SYMB structure to remove pointer/int conversion * source/compiler/genc.c * source/compiler/gencli.c * source/rdd/dbf1.c * source/rdd/delim1.c * source/rdd/sdf1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfdbt/dbfdbt1.c * source/rdd/dbffpt/dbffpt1.c * source/rdd/dbfntx/dbfntx1.c * source/rtl/symbol.prg * source/vm/classes.c * source/vm/dynsym.c * source/vm/hvm.c * source/vm/initsymb.c * source/vm/macro.c * source/vm/runner.c * changed to use new HB_SYMB structure * removed all pointer/long castings (except runner.c) 2004-04-22 18:00 UTC-0500 David G. Holm * source/vm/itemapi.c ! #if check for for RSXNT and EMX must be ahead of GNUC test in the infinity test block, because RSXNT and EMX both use the GNUC compiler, but use isfinite() instead of finite(). 2004-04-22 17:30 UTC-0500 David G. Holm * contrib/libct/files.c * contrib/libnf/color2n.c * contrib/libnf/dispc.c * contrib/libnf/n2color.c * contrib/rdd_ads/ads1.c * source/vm/memvars.c ! Eliminated most warnings issued by MinGW GCC compiler. 2004-04-22 10:57 UTC+0300 Chen Kedem * doc/dirstruc.txt + Add oneliner description for: contrib/hbzlib/include, contrib/hbzlib/Linux, tests/bldtest 2004-04-21 16:35 UTC+0300 Chen Kedem * doc/en/rddord.txt - Remove docs for: ORDKEY() $DESCRIPTION$ section, ORDLISTADD(), ORDLISTCLEAR(), ORDLISTREBUILD(), ORDNAME(), ORDNUMBER(), ORDSETFOCUS() because of copyright violation! 2004-04-20 16:30 UTC-0400 David G. Holm * contrib/Makefile + Added an ifeq section for bsd builds. 2004-04-19 11:43 UTC+0300 Chen Kedem * doc/en/rdd.txt - Remove docs for: RDDLIST(), RDDNAME(), RDDSETDEFAULT(), __RDDSETDEFAULT() because of copyright violation! (the file is now EMPTY) * doc/en/rdddb.txt - Remove docs for: __DBCONTINUE(), __DBZAP() because of copyright violation! 2004-04-17 12:30 UTC+0100 Ryszard Glab * include/hbapi.h * source/rtl/empty.c * source/rtl/idle.c * source/vm/arrays.c * source/vm/estack.c * source/vm/extend.c * source/vm/itemapi.c * added missing code to use HB_IT_POINTER just like other value's type You can use: hb_retptr( void * pointer ) hb_parptr( ) -> void * hb_storptr( void * pointer, ...... ) to return/manage pointers from low level functions. For example: p = GET_SOME_POINTER() ? VALTYPE(p) //prints: 'P' ? p //prints: 0x12345678 * tests/onidle.prg * fixed to use values of pointer type * tests/tstmacro.prg * added code to test TYPE() function 2004-04-16 17:08 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c Renamed adsGetConnectionType() as AdsGetTableConType() and added adsGetConnectionType( [hConnect] ) from Brian Hays' implementation in xHarbour. Due to the recent changes introduced to Harbour that render FWH inoperable, this is likely my last contribution to Harbour's CVS as I'll be using xHarbour only with my FWH apps (I currently use FW/FWH 2.3c). 2004-04-16 19:05 UTC+0300 Alexander Kresin * hrbdll.bc * Makefile for the harbour.dll is changed + mkbcdll.bat + Bat file is added to build the Harbour.dll. Changing appropriate environment variables inside it, you may include/exclude from the dll RDD ADS, CT, Libmisc, Debug libraries. + tests/bld4dll.bat + Bat file is added to build sample applications, which uses harbour.dll 2004-04-16 13:55 UTC+0300 Alexander Kresin * include/hbstack.h * source/vm/hvm.c * source/vm/itemapi.c * source/vm/estack.c * source/vm/dynsym.c * source/rtl/dates.c * source/rtl/file.c * source/rtl/filesys.c * HB_EXPORT is added to ITEM API, FILE API and some other function definitions to make it possible to call them when they are in the dll. 2004-04-14 19:05 UTC-0800 Luis Krause Mantilla * contrib/rdd_ads/adsfunc.c Added adsGetConnectionType() provided by Randy Portnoff 2004-04-14 12:20 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) * tests/bldtest/Makefile * fixed typo in file name * include/hbdefs.h + added HB_COUNTER and HB_PTRDIFF types - first for reference counters and second for any pointer differences and pointer to integer conversions - this modification is synced with xHarbour * include/hbapi.h * include/hbdefs.h * source/rtl/philes.c * source/vm/arrays.c * source/vm/hvm.c * source/vm/itemapi.c * use HB_COUNTER type 2004-04-09 15:00 UTC-0500 David G. Holm * source/rdd/dbfntx/dbfntx1.c ! Converted first parameter in the call to hb_fsCreateTemp from "" to NULL in order to avoid having to provide a (BYTE *) type conversion like the one that I added for the second parameter. * source/rtl/fstemp.c * Reformatted the code to match the Harbour coding style (in particular, to use spaces instead of Tabs for indenting and to always use braces for a code block that follows an if statement, even if only one line). ! Added a null pointer check in the non-Unix code that checks the size of the input arguments. 2004-04-09 11:45 UTC+0100 Ryszard Glab * source/debug/debugger.prg * removed diagnostic ALERT call 2004-04-09 10:10 UTC+0100 Ryszard Glab * include/hbexpra.c * include/hbexprop.h * source/compiler/expropta.c * source/macro/macroa.c * source/vm/macro.c * fixed my previous fix to correctly release memory in the macro compiler 2004-04-08 17:20 UTC+0100 Ryszard Glab * include/hbexpra.c * source/compiler/expropta.c * source/macro/macroa.c * source/vm/macro.c * fixed bug cousing that some memory was deallocated more then once * source/debug/debugger.prg * fixed support for .T./.F. in command window * fixed issues when the application was using SET EXACT ON 2004-04-06 15:40 UTC+0100 Ryszard Glab * include/hbapi.h * include/hbvm.h * source/vm/hvm.c * source/vm/macro.c * fixed bug introduced earlier by me in the macro compiler: PUBLIC ¯o works correctly now 2004-04-03 01:46 UTC-0300 Luiz Rafael Culik(culikr@brturbo.com> * contrib/hbzlib/* ! updated to use the same core as xharbour do to compile on linux run ./lincompile.sh This was done in respect to users that want to use harbour 2004-04-02 16:25 UTC+0100 Ryszard Glab * source/compiler/gencli.c * fixed warnings * source/rtl/cdpapi.c *fixed warnings (Can the author of the code check if I correctly parenthesized multiple || and && conditions?) * source/vm/classes.c *fixed warning in gcc (commented out unused static hb_clsScope function) * source/rdd/dbfntx/dbfntx1.c * source/rtl/fstemp.c * fixed hb_fsCreateTemp() to use 'mkstemp' on Unix * fixed sorting procedure to use hb_fsCreateTemp wrapper function * source/rtl/set.c *hb_set.HB_SET_DIRSEPARATOR defaults to '/' on Unix 2004-04-02 13:15 UTC+0100 Ryszard Glab * include/hbexpra.c * include/hbexprop.h * source/common/expropt1.c * source/compiler/expropta.c * source/macro/macro.y * source/macro/macroa.c * source/vm/macro.c * fixed to release memory in cases where invalid syntax was macro compiled * source/vm/itemapi.c * fixed to correctly check for infinity on Unix STR(LOG(-1)) no longer core dumps * source/rtl/filesys.c * source/rdd/hbdbsort.c * fixed to suppres warnings * source/pp/ppcore.c * utils/hbtest/rt_misc.prg * Clipper preproceses '**' into '^' - harbour too 2004-04-02 12:17 UTC+0100 Antonio Linares * source/rtl/fstemp.c * source/rdd/dbfntx/dbfntx1.c - Two linux linking time warnings removed 2004-04-01 11:15 UTC+0100 Ryszard Glab * include/hbexprb.c * include/hbmacro.ch * fixed support for strings as array of bytes (in macro compiler) * added a new #define HB_SM_ARRSTR as a flag for HB_SETMACRO() to disable/enable strings as array of bytes * source/vm/macro.c * added HB_SM_ARRSTR support * fixed TYPE() function to return correct value when an assigment to undeclared variable is checked (Clipper creates the memvar variable) - thanks to Phil Krylov * source/compiler/hbusage.c * fixed typo for -ks switch 2004-04-01 09:09 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * source/common/hbffind.c ! Fix for NT4 * source/rdd/dbsort.prg * Fix by Mitja Podgornik 2004-04-01 08:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu) * bin/bld.bat * Updated 2004-03-31 21:45 UTC-0800 Luis Krause Mantilla * source/rdd/workarea.c + added scopped relations. Now OrdSetRelation() works with DBFCDX like it does with Clipper 5.3b * contrib/rdd_ads/ads1.c + adsClearScope() method added to avoid r/t error with ADS and scoped relations Thanks to Przemyslaw Czerpak for the fix (borrowed from xHarbour) 2004-03-30 16:30 UTC+0100 Ryszard Glab * include/hbapi.h * source/vm/macro.c * added HB_ITEM_PTR pError member to HB_MACRO structure * fixed bug in macro compiler - calls to static functions are not allowed in macro compiler * source/common/expropt1.c * source/common/hbffind.c *fixed minor warnings reported by Randy Portnoff * source/rtl/set.c *SET(_SET_DEBUG) defaults to FALSE (Clipper compatible) * source/rtl/idle.c *small optimization of hb_idleState() * source/compiler/harbour.y *the compiler generates line number for DO CASE (if debug info requested - to allow breakpoint) * source/debug/debugger.prg *the debugger shows the line number for modules where no source code is available 2004-03-29 15:00 UTC-0500 David G. Holm * source/pp/ppcore.c ! Added missing type conversions on calls to hb_xgrab and hb_xrealloc. * source/rtl/memoline.c ! Convert CR to space for Clipper compatibility. 2004-03-25 09:35 UTC+0300 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.c ! minor fix 2004-03-24 22:10 UTC+0300 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * include/dbinfo.ch * include/hbrddcdx.h ! Some DBFCDX fixes, made by Przemyslaw Czerpak - borrowed from xHarbour. 2004-03-24 10:08 UTC-0800 Luis Krause Mantilla * source/rtl/tbcolumn.prg ! fixed typo in comment * source/rtl/tbrowse.prg ! fixed initialization bug that miscalculated ::RowCount in ::Stabilize() ! fixed ASSIGN freeze to return ::nFrozenCols (Clipper compatibility) ! fixed ::RefreshCurrent() to validate ::aRedraw to avoid r/t error ! fixed ::rect assignment in ::Configure (3rd param was ::nHeaderHeight instead of ::nFooterHeight) 2004-03-23 14:50 UTC+0100 Ryszard Glab * source/pp/ppcore.c * fixed parsing of nested #defines in command/translate for example: #define PRE_CHAR 'A' #define IDX_EXPR(x) PRE_CHAR+x INDEX ON IDX_EXPR(myfield) TO myfile * source/pp/pptable.c * updated for fixes in ppcore.c (_DFSET define) 2004-03-21 21:48 UTC-0800 Luis Krause Mantilla * source/rtl/tbcolumn.prg + added PreBlock and PostBlock instance variables for Clipper 5.3x compatibility 2004-03-20 15:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl) + tests/bldtest/Makefile + tests/bldtest/bldtest.c + simple C program to check if Harbour can be compiled on used machine / system / C compiler 2004-03-19 11:40 UTC+0100 Ryszard Glab * utils/hbmake/hbmake.prg *fixed #define datediff(,) into datediff(x,y) (Clipper compatibility) (thanks to Jacek Kubica) 2004-03-19 08:20 UTC+0100 Ryszard Glab * source/debug/debugger.prg * fixed refreshing of watchpoints * source/pp/ppcore.c * fixed bug introduced with my previous commit 2004-03-18 12:45 UTC+0100 Ryszard Glab * include/hberrors.h * source/pp/ppcore.c *fixed #define parsing of pseudofunctions in cases where passed argument has the same name as declared parameter *fixed #define parsing of pseudofunctions - the following syntax is not allowed: #define test(x,x) - duplicated parameters #define test(x,) - missing parameter #define test(x - missing parenthes * source/common/expropt1.c * fixed generation of pcode for &(macro)->() syntax * source/compiler/harbour.l * fixed GPF when string with unmatched terminator was used * include/hbexprop.h * source/compiler/harbour.y * removed direct access to internals of expression optimizer structure * source/debug/debugger.prg * fixed checking of path separator 2004-03-17 8:14 UTC-0800 Luis Krause Mantilla * contrib/rdd_sys/ads1.c * reuploaded to CVS (somehow it didn't get through the last time) 2004-03-11 16:01 UTC-0800 Luis Krause Mantilla * contrib/rdd_sys/ads1.c * NTX compatibility fix in adsOrderListFocus() to keep current order if selected one fails 2004-03-10 10:40 UTC+0300 Alexander Kresin * source/rdd/dbfcdx/dbfcdx1.c ! Initialization code fixed. 2004-03-09 22:30 UTC+0300 Alexander Kresin * hrbdll.vc * file has been updated due to adding source/rtl/hbrandom.c. * include/hbapiitm.h * source/rdd/itemapi.c * source/rdd/dbf1.c * source/rdd/workarea.c * source/rdd/dbfcdx/dbfcdx1.c * more synchronization with xHarbour's RDD. 2004-03-09 10:15 UTC-0800 Luis Krause Mantilla * hrbdll.bc * Added reference to missing hbrandom.c. Can a MSVC user sync hrbdll.vc? 2004-03-09 13:50 UTC+0100 Ryszard Glab + source/rtl/altd.prg +new file with ALTD() procedure code * hrbdll.bc * hrbdll.vc * makefile.bc * makefile.nt * makefile.vc * source/rtl/Makefile *added a reference to rtl/altd.prg * source/common/hbffind.c *fixed to compile correctly with HB_OS_UNIX * include/hbcomp.h * include/hbexpra.c * include/hbexprb.c * include/hbexprop.h * include/hbpcode.h * source/common/expropt1.c * source/compiler/expropta.c * source/compiler/exproptb.c * source/compiler/genc.c * source/compiler/harbour.c * source/compiler/harbour.y * source/compiler/hbfix.c * source/compiler/hbgenerr.c * source/compiler/hbpcode.c * source/macro/macro.y * source/macro/macroa.c * source/macro/macrob.c * source/vm/hvm.c +added missing support for @¯o and @M->memvar +added new pcode HB_MACROPUSHREF (all sources have to be recompiled) * source/debug/dbgtwin.prg * source/debug/debugger.prg *fixed procedures callstack when modules with/without debug info are linked together *fixed the debugger activation when ALTD() is used in a module with no debug info (the debugger shows up on the first line with debug info after the ALTD() is called) NOTICE: Some compilers may require that the debug library has to be specified as an object file in order to get the debugger linked in. 2004-03-08 19:50 UTC+0300 Alexander Kresin + ChangeLog + Started a new ChangeLog. * source/rtl/ChangeLog.014 * Renamed old ChangeLog, due to file size. * include/hbapifs.h * include/hbmath.h * include/hbrddcdx.h * include/hbrdddbf.h * include/hbrddntx.h * include/hbrdddbt.h * include/hbrddfpt.h * include/hbset.h + source/rtl/hbrandom.c * source/rtl/Makefile * source/rtl/filesys.c * source/rtl/set.c * source/rdd/dbf1.c * source/rdd/dbfntx/dbfntx1.c * source/rdd/dbfcdx/dbfcdx1.c * source/rdd/dbfcdx/dbfcdx1.h * source/rdd/dbffpt/dbffpt1.c * Changes in DBF RDD, DBFCDX RDD, DBFFPT RDD, made by Przemyslaw Czerpak and Giancarlo Niccolai, has been borrowed from xHarbour. * makefile.bc * makefile.nt * makefile.vc * make files has been updated due to adding source/rtl/hbrandom.c.