Files
harbour-core/harbour/ChangeLog
1999-09-02 10:49:57 +00:00

2421 lines
88 KiB
Plaintext

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