Files
harbour-core/harbour/ChangeLog
1999-10-05 13:00:09 +00:00

1978 lines
71 KiB
Plaintext

19991005-14:41 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/run_tsta.bat
tests/test_all.prg
! Fixed, HB32 changed to RUN_PRG, filename cases adjusted, using header
files, date format set to standard.
* .cvsignore
make_tpl.*
config/win32/* moved to config/w32/*
* The GNU platform name for Windows 32bit has changed to "w32" from
"win32", the only reason is that the new one is shorter. This way all the
paths will be shorter, and the binary release filenames will be also
shorter.
Please update your GNU make starter batch files to use w32 instead of
win32 in HB_ARCHITECTURE.
19991005-13:59 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/harbour.y
source/pp/stdalone/hbpp.c
+ Added closing \n to the help text, to make it appear OK under some
shells. (Thanks to Dave Pearson)
* source/compiler/harbour.c
- isatty() removed. (Thanks to Dave Pearson)
* makefile.*
samples/hscript/bldguest.bat
% Some more fix & cleanup.
* source/rtl/tgetlist.prg
doc/funclist.txt
+ READINSERT() function added. (Thanks to Matteo Baccan)
* source/rtl/filesys.c
include/filesys.h
+ hb_fsTell() added to the header file
% hb_fsSetDev*() now calls hb_fsSetDevMode(), so some platform specific
code could be eliminated.
% Some simplification in FSETDEVMOD()
+ Added missing HB_ prefix to FSETDEVMOD()
19991005-12:30 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/compiler/harbour.y
* changed some rules to correctly handle the following syntax:
LOCAL cbVar:={|| cbVar}
(the cbVar inside a codeblock is correctly considered a local
variable instead of memvar variable)
* corrected usage info to print LF at the end of message
19991005-08:36 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/main*.c
source/vm/Makefile
include/ctoharb.h
! Some cleanup on the new main() functions.
(using header file, fixed CVS headers, added copyright header, removed a TODO,
TO DO -> TODO, Hungarian notation, global var name, 0 -> NULL,
added to GNU makefile, std main return value missing.)
* makefile.b40 (removed)
makefile.b32
make_b40.bat
+ makefile.b40 removed, since from now on makefile.b32 provides
the same functionality when B40 macro is defined. See make_b40.bat.
* *.bat
*.b??
hbpplib.b32 (removed)
+ Further uniformized.
+ hbpp.exe make process uncommented from make_b16.bat.
We will see how it works.
+ hbpplib.b32 incorporated into hbpp.b32
- hbpp.b16 (removed)
makefile.b16
make_b16.bat
- hbpp.b16 removed, since it was not used, and is now incorporated to
makefile.b16.
* source/runner/stdalone/hbrun.prg
+ Using OutStd() instead of QOUT() to enable output redirecting like in
other command line utilites.
19991005-07:55 GMT+1 Antonio Linares <alinares@fivetech.com>
+ New file source/vm/mainstd.c (entry point for std applications)
+ New file source/vm/mainwin.c (entry point for win appplications)
* source/vm/hvm.c
-+ main() renamed to hb_vmInit()
* hb_quit() removed from there and moved to mainstd.c and
mainwin.c respectively.
* makefile.b32
* added support for mainstd.c and mainwin.c modules.
(make_b32.bat tested and works ok).
* tests/bld_b32.bat
* %1 moved to the end of line
* del %1.c removed
(tested and works ok).
19991005-00:13 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/genc.c
! Cosmetic: Some double tabs changed to single ones.
19991004-22:34 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/db_brows.prg
- READEXIT() removed since it's now part of the RTL.
19991004-21:34 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/*.bat
! Reworked, standardized, simplified. Please test them.
Now they resemble to the bin/*.bat batch files.
* tests/buildexe.bat
- Removed since it was obsolete, use bld_b16.bat instead.
19991004-19:54 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/memvars.c
! memvars.ch changed to hbmemvar.ch
* tests/working/*.* moved to tests/*.*
* tests/working/db_brows.*
! Fixed the CVS header, they missed to closing "$"
19991004-19:23 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/broken/*.* moved to tests/working
tests/working/Makefile
* moved to the BAD_PRG_SOURCES
- tests/broken/
- Removed
* tests/working/hscript/*.* moved to samples/hscript
* Moved
* source/rtl/mlcount.c
* BYTE type changed to USHORT.
* Hungarian notation slighly corrected.
19991004-18:58 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/runner/stdalone/hbrun.prg
+ Added (now for sure)
19991004-18:53 GMT+1 Victor Szel <info@szelvesz.hu>
+ include/reserved.ch
+ Added for complete Clipper compatibility, the file is a dummy, so it's
a TODO to replicate to originial functionality.
* include/Makefile
* Updated.
Mon Oct 04 12:52:42 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* tests/working/Makefile:
Added missing '\' after db_brows.ch.
Changed spaces to tabs.
19991004-18:42 GMT+1 Victor Szel <info@szelvesz.hu>
* include/classes.ch -> include/hbclass.ch
include/external.ch -> include/hbextern.ch
include/memvars.ch -> include/hbmemvar.ch
source/debug/debugger.prg
source/debug/tbrwtext.prg
source/rtl/tbcolumn.prg
source/rtl/tbrowse.prg
source/rtl/tget.prg
source/rtl/tgetlist.prg
tests/working/classch.prg
source/runner/stdalone/hbrun.prg
source/rtl/memvarbl.prg
source/rtl/menuto.prg
* Non-Clipper compatible Harbour .CH filenames prefixed with "HB" to avoid
possible name collisions with existing header files.
19991004-18:06 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/mlcount.c
source/rtl/Makefile
doc/funclist.txt
+ MLCOUNT() added
(thanks to Ignacio Ortiz de Zúniga <ignacio@fivetech.com>)
- source/runner/stdalone/runner.prg
- Removed (now for sure)
19991004-16:25 GMT+1 Victor Szel <info@szelvesz.hu>
* source/runner/stdalone/runner.prg -> hbrun.prg
source/runner/stdalone/Makefile
runner.b32
makefile.vc
tests/working/hbrun.bat -> hbrunprg.bat
tests/working/run_all.bat
tests/working/test_all.prg
* runner.exe renamed to hbrun.exe to better fit into the final
executable naming style (harbour/hbpp/hbrun)
19991004-15:15 GMT+1 Victor Szel <info@szelvesz.hu>
* source/hbpp -> source/pp
source/Makefile
source/pp/Makefile
source/pp/stdalone/Makefile
source/compiler/Makefile
source/runner/stdalone/Makefile
tests/working/Makefile
makefile.*
*.b??
* source/hbpp changed to source/pp.
19991004-14:48 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/working/*.bat
*.b??
makefile.vc
libs/*
lib/*
* libs directory name changed to lib, the win16 and win32
subdirs have been removed.
* win32 dir is no longer needed, since now the windows terminal.lib
is named termwin.lib.
! HARBOUR_USE_GTAPI defines changed to HARBOUR_USE_WIN_GTAPI
; !!! PLEASE TEST THESE WITH BORLAND AND MSVC !!! (or wait a bit more
since more changes are coming)
19991004-01:20 GMT+1 Victor Szel <info@szelvesz.hu>
- make_b31.bat
makefile.b31
harbour.b31
- Removed, make_b16.bat should be used instead.
19991004-01:14 GMT+1 Victor Szel <info@szelvesz.hu>
* build16.bat -> make_b16.bat
build31.bat -> make_b31.bat
build32.bat -> make_b32.bat
build40.bat -> make_b40.bat
buildvc.bat -> make_vc.bat
* Renamed.
+ buildexe-dos-bcc31.bat
+ buildexe-dos-djgpp.bat
+ buildexe-os2-gcc.cmd
+ buildexe-os2-icc.cmd
+ buildexe-w32-gcc.bat
+ buildexe-w32-mingw32.bat
+ buildexe-w32-msvc.bat
+ Added these files used in the binary releases, some fixes applied
too: /include for harbour.exe, DJGPP -ldbfntx -> -ldbfnt, a note
from the MSVC version copied into the others. CVS header added.
-o%1.exe added to DJGPP version. Note the long filenames: I could not
figure out a better method to identify the batch file, while keeping
them in the same dir.
* funclist.txt moved to doc/funclist.txt
- genbuild.bat
- Removed, since it's now obsolete.
19991003-09:45 GMT+1 Antonio Linares <alinares@fivetech.com>
* include/classes.ch
+ Support for INIT and AS clauses.
* source/rtl/tclass.prg
+ New DATAS uInit and cType added.
+ New SetInit() and SetType() methods added.
(Notice that SetInit() is already working, though SetType()
does nothing yet).
19991003-03:52 GMT+1 Victor Szel <info@szelvesz.hu>
; Modifications after a test build with the harbour /w2 switch:
* tests/working/rtl_test.prg
+ QUESTION added about __FLAGSHIP__ and __VO__ constant names.
* source/rtl/tgetlist.prg
funclist.txt
! ReadModal() was buggy when a reader codeblock existed. Fixed.
! ReadExit() converted to function from a method, this way it's Clipper
compatible, plus an unused variable warning has been fixed.
* source/rtl/tget.prg
! _GET_/__GET was not assigning the passed VALID and WHEN blocks to the
get object, this has been fixed, but not tested.
* source/rtl/achoice.prg
source/rtl/harbinit.prg
source/rtl/tget.prg
source/rtl/tgetlist.prg
source/rdd/dbfntx/dbfntx0.prg (missing #include)
source/debug/debugger.prg (mistyped and undeclared variables)
! /w2 warnings fixed.
19991002-22:45 GMT+1 Victor Szel <info@szelvesz.hu>
* include/extend.h
source/rtl/strings.c
source/rtl/itemapi.c
source/rtl/hvm.c
% xmem*() function redefinition for Watcom has been moved in one central
place to extend.h.
* tests/working/extend2.c
! Now includes caundoc.api explicitly.
* source/vm/hvm.c
include/ctoharb.h
+ local functions made static, prototypes moved to HVM.C
+ grouped opcodes and opcode functions by category.
! Indentation completely fixed.
! Prototype of one non-existing function removed.
19991002-18:10 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed some bugs, reported by Victor Szel, Ryszard Glab, Jose Lalin and
* Robert Arseniuk
* tests/working/db_browse.ch renamed to db_brows.ch
* tests/working/db_browse.prg renamed to db_brows.prg
* added $Id
* these two files added to makefile
19991002-03:20 EDT Paul Tucker <ptucker@sympatico.ca>
* buildvc.bat
makefile.vc
tests\working\buildvc.bat
* symbols.asm/obj is now a normal part of the make process and is added
to harbour.lib so additional references to this have been removed.
19991001-17:10 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/vm/hvm.c
*source/rtl/strings.c
*source/rtl/itemapi.c
* added redefinition of
hb_xmemcpy -> memcpy
hb_xmemset -> memset
because these functions can work with buffers larger then 64kB
(size_t is typedefined as 'unsigned') - for WATCOM compiler only
*include/pcode.h
*source/compiler/harbour.y
*source/compiler/genc.c
*source/compiler/genhrb.c
*source/vm/hvm.c
+ added support for new opcodes used to handle undeclared variables
(the type of a variable is determined at runtime)
HB_P_POPVARIABLE
HB_P_PUSHVARIABLE
* the generated pcodes depends on yhe use of
HARBOUR_STRICT_CLIPPER_COMPATIBILITY option
(see doc\compatib.txt for details)
NOTE: You have to recompile all PRG sources!
*source/rtl/memvars.c
*include/extend.h
* new function hb_memvarGet that retrieves the value of memvar
variable without error generation in case when the variable
does not exist
*source/rdd/dbcmd.c
*include/rddapi.h
* new functions hb_rddFieldGet/hb_rddFieldPut used to
retrieve/set the value of database field with no error generation
in case when the field does not exist
*include/extend.h
* moved definition of ERRCODE, SUCCESS and FAILURE from rddapi.h
to make them available for other modules
*source/compiler/harbour.y
*source/compiler/harbour.l
* the line number is incremented in harbour.y now (Crlf rule)
Incrementing in harbour.l caused incorrect line number reporting
in error/warning messages. The look ahead FLEX feature caused
incrementation in the middle of the parsed rule.
*source/compiler/harbour.y
* added warnings when a procedure returns a value or a function
with no return value
* replaced the WORD type with USHORT
* corrected (and simplified) handling of parameters of
DO <proc> WITH <parms> statements (passing by reference
works correctly now)
* corrected the rule for declaration of multidimensioned arrays
( LOCAL arr[ 1 ][ 2 ] )
*source/compiler/harbour.y
*source/hbpp/hbpp.c
*source/hbpp/stdalone/hbpp.c
* the '-w' command line option can set the maximal level of reported
warnings. The following levels are supported currently:
'-w0' - no warnings
'-w' or '-w1' - Clipper compatible warnings
'-w2' - some useful warnings missed in Clipper
'-w3' - warnings generated for Harbour language extensions
* the first character of warning messages defines the level of
warnings that triggers this message
*source/hbpp/hbpplib.c
* added setjmp/longjmp error handling - the error handling should
be expanded later to made __PREPROCESS function useful in real
applications
*include/hberrors.h
* new warnings
*include/compiler.h
* new flag FUN_WITH_RETURN
* replaced the WORD type with USHORT
*source/compiler/genobj32.c
*source/compiler/genc.c
*source/compiler/genhrb.c
* replaced the WORD type with USHORT
*include/clipdefs.h
* removed #include "caundoc.api" because it contains undocumented
materials that should be included on request only. It also caused
redefinition errors (HB_FNAME defined in filesys.h) when harbour.y
was compiled with HARBOUR_STRICT_CLIPPER_COMPATIBILITY
*doc/compiler.txt
* the basic documentation for harbour compiler
*source/rtl/console.c
* hb_cursor_enum -> HB_cursor_enum
19991001-00:25 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/dircmd.prg
+ source/rtl/fieldbl.prg
+ source/rtl/setfunc.prg
+ source/rtl/text.prg
19991001-05:40 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/dircmd.prg
source/rtl/Makefile
funclist.txt
+ __DIR() function added, so the DIR command is working now.
( Please add this file to the non-GNU make files )
19991001-05:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
! BIN2I(), BIN2L() made Clipper compatible, for strings shorter than
the expected length. One test call still fails, probably because of
different int size on 32 bit platforms.
* include/hbdefs.h
! MKINT() casted to long instead of int.
* include/external.ch
source/runner/stdalone/external.prg
+ W2BIN removed.
+ tests/working/rtl_test.prg
+ BIN2W(), BIN2I(), BIN2L(), L2BIN(), I2BIN() regression tests added.
+ FNAME*() tests enabled.
- doc/*.nfo (removed)
+ doc/depend.txt (added)
+ The long filename files converted to one file with short name, the
contents has been concatenated. The extension is standard now.
19990930-22:10 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
updated to add missing files and to create runner.exe and hbpp.exe
* buildvc.bat
add if exist to remove error message on file not found.
19990807-10:17 CET Patrick Mast <harbour@PatrickMast.com>
* updated doc/whatsnew.txt
19990930-23:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/hbpp/hbppint.c
source/rtl/hbpp/hbpplib.c (resParse removed)
source/rtl/gtapi.c (tmpRow,tmpCol removed from a function)
source/rtl/gt/gtwin.c
! Warnings fixed (reported by Patrick Mast with Borland C 4.0).
* funclist.txt
source/rtl/Makefile
+ Updated.
( Please add these files to the non-GNU make files )
+ source/rtl/fieldbl.prg
+ FIELDBLOCK() and FIELDWBLOCK() functions added. They are not 100%
compatible in error situations, since the method used is different than
in Clipper. They are also slower.
+ source/rtl/setfunc.prg
+ __SetFunction() added
+ source/rtl/text.prg
+ __TextSave(), __TextRestore() added. Note that the TEXT feature is not
yet working, since the PP should make some special processing not yet
implemented.
19990930-22:15 GMT+1 Victor Szel <info@szelvesz.hu>
* include/external.ch
+ Added HB_OSNEWLINE
* source/compiler/genc.c
+ It's now possible to request the code generator not to put
comments in the C code. This and some other small format changes
can result in about 30% smaller generated source code size.
This feature is currently permanently turned off, I will add switch for
it soon.
+ If an incorrect pcode is encountered it's now put in the
generated C file, with a proper comment which says that it's a
invalid opcode. BTW, ideally it should exit on such errors.
+ The Harbour Compiler version is now included in the generated pcode as
a comment.
19990930-15:20 EDT David G. Holm <dholm@jsd-llc.com>
* include/extend.h
+ Added hb_setCursor() prototype.
* source/rtl/console.c
+ Added hb_gtSetCursor( SC_NORMAL ) to hb_consoleInitialize().
+ Added hb_setCursor(), which does the grunt work that SETCURSOR
used to do, so that it can be called from SET().
% SETCURSOR() is now a shell function that calls hb_setCursor().
* source/rtl/set.c
! SET( _SET_CURSOR [, SC_...] ) now calls hb_setCursor().
* source/runner/stdalone/external.prg
+ Added HB_OSNEWLINE
19990930-21:00 GMT+1 Victor Szel <info@szelvesz.hu>
* include/common.ch
rtl/asort.prg
rtl/errorsys.prg
rtl/memvarbl.prg
rtl/menuto.prg
rtl/achoice.prg
rtl/adir.prg
rtl/alert.prg
rtl/objfunc.prg
rtl/readvar.prg
rtl/tclass.prg
rtl/tgetlist.prg
rtl/setkey.prg
! ISCHAR() -> ISCHARACTER()
! ISNUM() -> ISNUMERIC()
! ISLOG() -> ISLOGICAL()
Made them Clipper compatible.
* source/rdd/dbfntx/dbfntx0.prg
+ Added Clipper compatible error handler extension for lock errors.
* source/rtl/errorsys.c
+ __ERRINHANDLER() undocumented internal CA-Cl*pper function added, will
be needed later. In CA-Cl*pper its name is ErrorInHandler().
* source/rtl/gtapi.c
source/rtl/console.c
source/rtl/gt/gtwin.c
source/rtl/gt/gtdos.c
; Fixes by Chen Kedem implemented.
! SETMODE() now returns a logical value.
! hb_gtSetMode() now returns an error code if the low-level API call fails.
! hb_gt_SetMode() now signals error in Windows, TODO added for DOS.
* source/rtl/memvarbl.prg
+ MEMVARBLOCK() - Added a STRICT_COMPATBILITY code branch, where the
returned codeblock will behave exactly like Clipper, so that it will
not assign the passed value to the memvar if it's a NIL.
The NG doesn't suggest this behaviour but that's how it works anyway.
Same goes for the FIELD*BLOCK() functions.
* harbour.b31
! Some fixes reported by Jose Lalin.
* include/gtapi.h
source/rtl/gtapi.c
! int return value (as an error code) changed to USHORT to be even more
compatible with Clipper.
* source/rtl/fm.c
- Removed CRLF before the ending //INFO message.
+ Dummy MEMORY() function added.
* include/extend.h
+ ISBLOCK() added.
19990930-19:40 GMT+3 Alexander Kresin
* source/rdd/dbf1.c
* some changes in GoTo() and SkipRaw() functions for correct processing
* of negative skip's and fBof setting.
+ tests/working/db_browse.ch
+ tests/working/db_browse.prg
* A sample added, demonstrating dbf file browse
* While running db_browse.exe, sign a filename as a parameter
19990930-18:00 GMT+1 Victor Szel <info@szelvesz.hu>
; Harbour Build 30 released
19990929-16:42 GMT+1 Victor Szel <info@szelvesz.hu>
* include/hbver.h
+ Version info updated.
19990926-22:45 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed a bug, noted by Antonio Linares
19990926-19:22 GMT+1 Victor Szel <info@szelvesz.hu>
* funclist.txt
+ __ACCEPTSTR marked ready.
* source/hbpp/hbpp.c
! Non-ANSI (//) comments changed to /**/
19990926-17:22 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/asort.prg
! The block return type detection code now calls the block with
the nStart item, and not always the first one. This way it has less
side effect, since the block is not called with elements which would not
be accessed at all normally.
So this works now: aSort( { NIL, 20, 10 }, 2,, {|x,y| x < y } )
19990926-14:10 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/compiler/harbour.y
* fixed generation of invalid pcodes when nested IIF were used
* added an error message when any statements are used after
DO CASE and before the first CASE or the OTHERWISE
*include/hberrors.h
* added ERR_MAYHEM_IN_CASE error code
19990925-11:10 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed some bugs, noted by Victor Szel, Andi Jahja and Antonio Linares
19990925-07:52 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/working/testwarn.prg
! Added a MAIN() function.
19990925-00:42 EDT Paul Tucker <ptucker@sympatico.ca>
* tests/working/adirtest.prg
* slight modification to the first call to Adir() to account for
documented behaviour that you could get back a different length
from Adir depending on the inclusion of the 5th parameter.
(The docs don't exactly phrase it that way)
19990925-00:20 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/adir.prg
made a change - then reversed it.
* source/rtl/asort.prg
* The initial test to determine if the codeblock is going to return
a logical was passing a numeric as a test - and the codeblock may
not have been expecting it.
19990925-05:57 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/dynsym.c
! HB___DYNSGETNAME() now validates the index parameter passed.
Previously it could GPF with 0 or too big index.
* tests/working/dynsym.prg
+ Some new lines added to test the situations above.
19990924-23:10 EDT Paul Tucker <ptucker@sympatico.ca>
* source/vm/dynsym.c
* corrected return value of HB___DYNSGETINDEX()
it was returning a cast of PHB_DYNS instead of the index.
To accomodate this, added s_uiClosestDynSym = uiMiddle before
the return in hb_dynsymFind.
* source/rtl/fm.c
* added a c/r before ---- for fm_statistics on exit.
also minor 'by' => 'but'
19990925-03:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/runner/stdalone/external.prg
include/external.ch
+ Updated.
* source/rtl/gt/gtwin.c
* Copyright header formatting.
19990925-00:05 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed some bugs ( GPF after #undef and with non-symbolic string )
19990924-11:33 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/classes.c
! hb_clsDictRealloc() one cast added.
19990924-10:05 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed bug, noted by Matteo Baccan
19990924-07:18 GMT+1 Victor Szel <info@szelvesz.hu>
* source/hbpp/hbpp.c
! Fixed warning about function not returning value (in ParseDefine())
* source/rtl/classes.c
+ hb_clsDictRealloc() implemented.
By Janica Lubos <janica@fornax.elf.stuba.sk>
19990923-20:55 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/gt/gtwin.c
* fix for redirected console output as reported by Victor
19990923-23:42 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed bugs, noted by Antonio Linares and Matteo Baccan
19990923-13:58 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Fixed a bug with clauses definition order.
Now we can write
use ... alias ... new shared
or
use ... shared new alias ... , etc.
19990923-11:40 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/extend.c
! Fixed hb_stor*() functions to handle arrays with the -1 parameter like
in CA-Clipper. Thanks to Janica Lubos <janica@fornax.elf.stuba.sk>
19990923-10:55 GMT+1 Victor Szel <info@szelvesz.hu>
* include/gtapi.h
include/set.h
include/Makefile
include/setcurs.ch
+ include/setcurs.h (new)
! Cursor style constants moved to a separate file setcurs.h, this new
file is included to gtapi.h and set.h. The .ch file is no longer used
from C code. Previously the constants defined in setcurs.ch and set.h
collided, and could not compile.
* include/set.h
include/inkey.h
source/rtl/inkey.c
* HB_inkey_enum moved to inkey.h from set.h.
19990923-09:16 GMT+1 Victor Szel <info@szelvesz.hu>
* include/vm.api
! Removed HANDLE typedef, since it conflicted with the one in clipdefs.h,
it's also more Clipper compatible now.
19990923-03:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/gt/gtwin.c
! Tab removed from the top of the file.
* source/rtl/console.c
! Small fix in the function header of HB_OSNewLine().
19990923-00:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/genc.c
+ The generated C code now uses the "extern" keyword for functions
defined outside the .C file.
19990922-17:05 EDT David G. Holm <dholm@jsd-llc.com>
* source/tools/Makefile
- Removed osnewlin.prg
- source/tools/osnewlin.prg
- This source module is no longer pertinent (OS_NewLine is now
an RTL function named HB_OS_NewLine)
19990922-22:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/tests/working/rtl_test.prg
+ Added a bunch of file name split/merge function tests, these are
uncommented right now, since functions are not yet generating the
ideal results. The functions should be fixed after Build 30.
Maybe some expected results should be fixed, too.
* source/rtl/fm.c
source/rtl/extend.c
* hb_xmem*() functions moved to fm.c
* source/rtl/filesys.c
! Some more fix for hb_fsFNameMerge() buffer overrun.
+ HB_HB_FNAMESPLIT()
HB_HB_FNAMEMERGE() functions added.
* source/rtl/gt/gtwin.c
source/rtl/gt/gtdos.c
source/rtl/set.c
% Removed NULL checks for the results of hb_xgrab() calls, since these
function will always return valid pointers (they will throw an
unrecoverable error on failure). If someone needs to handle the
memory allocation failure explicitly, he should use hb_xalloc() which
may return a NULL pointer.
19990921-20:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/hbpp/hbpp.c
! One warning about unused variable fixed in strincmp()
* source/rtl/console.c
+ HB_OSNEWLINE() function added.
* source/rtl/inkey.c
! // style comment changed to ANSI /**/
+ Added #include "inkey.ch"
* Some keyboard code constants changed to manifest constant.
* source/runner/runlib.c
! Two casts added for MSVC 4
* adirtest.prg
cdow.prg
dates.prg
dates2.prg
dates3.prg
dates4.prg
dirtest.prg
longstr2.prg
output.prg
readfile.prg
round.prg
rtl_test.prg
seconds.prg
set_num.prg
set_test.prg
testcgi.prg
testhtml.prg
* OS_NewLine() -> HB_OSNewLine()
19990921-14:25 EDT David G. Holm <dholm@jsd-llc.com>
* source/rtl/set.c
! Changed unitialized bflag in call to open_handle() to FALSE
* source/rtl/strings.c
! Rearranged the logic in hb_itemStr() that determines whether or
not to round a floating point number being converted to a string
* source/rtl/tone.c
! Added ' || defined(WINNT)' to the ULONG #if for calculating the
value of 'temp'
19990921-12:25 EDT David G. Holm <dholm@jsd-llc.com>
* source/rtl/console.c
- Removed special handling for Unix and Cygwin in HB___ACCEPT(),
per Georg Lehner
* source/rtl/filesys.c
! Corrected convert_open_flags() check for FO_READONLY to
mask out the share-mode flags before doing the check
! Switched OS/2 from open() to sopen() in hb_fsOpen()
* source/rtl/inkey.c
% Made two changes to Unix support, per Georg Lehner:
1) Added 'ta.c_iflag &= ~ICRNL;'
2) Changed 'return;' in hb_inkeyPoll() to 'ch = 0;'
* source/rtl/gt/gtos2.c
! Removed the unsigned to signed conversions for sVert and sHoriz,
now that the conversions are no longer needed
19990921-15:33 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* Yet another bug fixed with restrivted match markers consisting of more
than one word ( 'FROM USER', for example )
19990921-00:07 EDT Paul Tucker <ptucker@sympatico.ca>
* source/vm/hvm.c
source/rtl/fm.c
- removed a few casts for outerr calls
19990919-21:40 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/console.c
include/extend.h
+ BYTE* changed back to char* for the Console API functions, BYTE* casts
were added for all hb_gt* and hb_fs*() calls.
19990919-17:14 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/errorapi.c
source/rtl/fm.c
source/vm/hvm.c
! printf() calls changed to hb_outerr() calls, since Clipper is sending
these to STDERR, too. The other issues fixed are file buffering and
console inconsistency.
In general one should not use printf(), fprintf(), or any f*() file
functions to handle STDOUT/STDERR(), since this can cause anomalies due
to both direct and buffered access to the same device, and also the
internal cursor positions cannot be tracked that way. When using
f*() functions from console.c an fflush() call must be issued after
them.
* source/rtl/console.c
include/extend.h
+ hb_outerr(), hb_outstd() are now public functions.
+ hb_outerr(), hb_outstd() now automatically determines the length
if the length parameter is zero.
+ hb_outerr(), hb_outstd() now don't call GT after hb_consoleRelease()
has been called. This is needed since these functions are used in such
situation, from hb_xexit() for example.
! hb_consoleRelease() now sets back the CRLF buffer to match the BINARY
mode.
! fflush() calls are added after fputc()/fputs() call groups.
* source/rtl/filesys.c
! hb_fsFNameMerge() now checks for buffer overrun.
* source/rtl/gt/gtwin.c
! Added come casts to make Visual C happy. (mentioned by Matteo)
* include/hbsetup.h
* HARBOUR_YYDEBUG is now turned off by default. It can be
turned on via the command line or C_USR. Please set your configuration
if you need this feature.
* include/rddsys.ch
+ Comment line added.
* include/Makefile
! Updated the list of header files.
* source/tools/hb_f.c
! Missing static added.
* source/rtl/memofile.c
+ Added one cast.
* source/rtl/itemapi.c
! hb_itemPutC() and hb_itemPutCL() now handles when the szText parameter
is NULL. Clipper seems to handle this. GT_*() functions relies on this
feature so they will not GPF now.
19990919-17:14 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/harbour.y
+ Added some new items to the new TODO list.
* include/hbsetup.h
source/compiler/harbour.y
+ HARBOUR_YYDEBUG moved here for easy setup.
19990919-15:34 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/console.c
+ Support added for //STDERR:x switch form.
! Fixed the redirection, it needed a bit more work, see next two items.
% Some variable scopes adjusted. (these were removed with the next change)
% fputs()/fputc()/fflush() changed to hb_fsWriteLarge()
% Some (BYTE*) casts for BYTE* variables removed.
* source/vm/cmdarg.c
! hb_cmdargNum() to not return -1 when the switch was found, but with
not parameter.
* source/vm/hvm.c
! Fixed constant error message about no starting procedure.
* source/rtl/gt/gtwin.c
! Commented out closing of standard input and output, now printf()
works after hb_consoleRelease(). (Thanks Paul)
* tests/working/rtl_test.prg
+ Added Empty(ErrorNew()) test.
* source/rtl/fm.c
* Changed the ending message, since this is not the maximum memory
consumed, but the total. Made it more compact, and meaningful.
19990919-15:45 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/vm/hvm.c
* added checking if starting symbol name points to a function
19990919-14:25 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/rtl/console.c
* added two (char *) casts
*source/compiler/harbour.y
* corrected invalid error when LOOP or EXIT was used inside
a BEGIN/END sequence
*source/compiler/harbour.l
* corrected recognition of invalid number when no separators
were used (for example: ? ( a=22.or.b=10 )
*tests/broken/numform.prg
- removed (code moved to tests/working/rtl_test.prg)
19990919-01:55 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/environ.c
* added 1 cast to an xgrab call.
19990919-09:31 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* fixed bug with repeating result clauses ( noted by Antonio Linares )
19990919-06:21 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
+ Added support for CA-Clipper undocumented _APPMAIN starting function,
if this is defined, Harbour will start it first, overriding the default
starting proc.
! Fixed the case when no PUBLIC functions were declared with no
explicit starting procedure. Now it will silently exit (STRICT mode)
or show a proper unrecoverable error message, instead of a possible GPF,
* __XHELP() - hb_dynsymFindName() changed to hb_dynsymFind()
* source/rtl/environ.c
include/extend.h
+ hb_version() added, separated from HB_VERSION(), to make it callable
from C, too. //INFO needed it.
* source/rtl/console.c
+ Added undocumented //STDERR feature, when specified it will redirect
all stderr output to stdout.
* source/rtl/alert.prg
+ ALERT() now handles the //NOALERT switch.
The NOALERT feature is now always turned on, not only in STRICT mode.
+ __NONOALERT() undocumented Clipper function added.
* source/rtl/hvm.c
+ source/rtl/cmdarg.c
source/rtl/Makefile
include/extend.h
makefile.*
makefile.vc (with extra care taken to retain the alphabetical order :-))
+ Internal command line and environment variable support added.
//INFO //F:30 //TEMPPATH:"C:\TEMP", SET HARBOUR=F30;X00,
SET CLIPPER=E0 INFO, now can be queried from Harbour runtime.
+ API added to reach the above functionality.
+ Harbour argument handling functions added:
__ARGC()
__ARGV()
__ARGCHECK()
__ARGGET()
! Now the internal parameters (//INFO) are no more passed to the Harbour
MAIN and INIT functions.
+ Harbour now prints the version when //INFO switch is speficied.
* source/rtl/fm.c
+ Will always print some memory info when the //INFO switch was specified.
* include/clipdefs.h
+ Added WORD, DWORD typedefs.
* source/rtl/strings.c
include/extend.h
+ hb_strnicmp() added.
% hb_stricmp() formatted, variable scopes adjusted, int type changed to
char.
* source/rtl/classes.c
* Small modification.
19990918-17:42 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/set.c
* printhan < 0 changed to printhan == FS_ERROR, to not rely on the fact
that FS_ERROR is negative.
* source/rtl/console.c
! hb_out - One fsError() save/restore added for non GT mode console output.
* *han >= 0 changed to *han != FS_ERROR, to not rely on the fact that
FS_ERROR is negative.
- Removed the // commented sections.
* source/rtl/copyfile.c
! __COPYFILE() - Made the hb_fsOpen() flags Clipper compatible.
* source/rtl/memvars.c
! __MVSAVE() - Made the hb_fsOpen flags Clipper compatible.
* source/vm/hvm.c
+ new printf() info in hb_vmDo() integrated to hb_stackDispLocal().
(not tested)
* include/extend.h
source/rtl/arrays.c
source/vm/hvm.c
* hb_arrayGetItemPointer() -> hb_arrayGetItemPtr()
19990918-14:59 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/browdb.prg
+ _lastrec() -> lastrec()
+ _recno() -> recno()
* source/rtl/transfrm.c
* Small modification.
19990918-14:05 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/vm/hvm.c
* corrected operators overloading
(tests/working/overload.prg works correctly now)
19990918-13:07 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/working/rtl_test.prg
! OS_NewLine() is only used when __HARBOUR__ is defined.
19990918-01:55 EDT David G. Holm <dholm@jsd-llc.com>
* config/win32/bcc32.cf
! My previous update only allowed Borland to compile, but not link.
For some reason, the -L option didn't work. This update fixes that
by dropping the -L option and specifying all libraries fully.
* source/tools/io.c
! Restored version 1.11 as version 1.13 to restore the functions
that were removed but shouldn't have been removed.
19990917-23:45 EDT David G. Holm <dholm@jsd-llc.com>
* source/tools/Makefile
+ source/tools/osnewlin.prg
+ New module simplifies deciding when to use CR/LF
or just LF when using OUTSTD() and/or OUTERR()
* tests/working/Makefile
+ tests/working/longdev.prg
+ I forgot to 'cvs add' this module with my earlier large string
changes, so it's a good thing that I left it out of the Makefile
* tests/working/rtl_test.prg
+ Added 3 tests for long strings (longer than 64 KB, Harbour only)
in a new function, Long_STRINGS()
* tests/working/adirtest.prg
* tests/working/cdow.prg
* tests/working/dates.prg
* tests/working/dates2.prg
* tests/working/dates3.prg
* tests/working/dates4.prg
* tests/working/dirtest.prg
* tests/working/harbour.ini
* tests/working/longstr2.prg
* tests/working/output.prg
* tests/working/readfile.prg
* tests/working/round.prg
* tests/working/rtl_test.prg
* tests/working/seconds.prg
* tests/working/set_num.prg
* tests/working/set_test.prg
* tests/working/testcgi.prg
* tests/working/testhtml.prg
% These test programs now use OS_NewLine()
instead of using 4 different methods.
19990918-04:58 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
+ Added WORD typedef for HARBOUR_OBJ_GENERATION section.
* source/rtl/memofile.c
+ Added, this time for sure.
* makefile.vc
! Now in alphabetical order.
* source/compiler/harbour.y
+ Now the compiler shows if a message is a YACC error.
* source/rtl/console.c
+ hb_max_row() now returns 23 for UNIXes and 24 otherwise.
% fputs(" "...) -> fputc(' '...)
19990918-03:22 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/memofile.c
source/rtl/Makefile
makefile.*
funclist.txt
+ MEMOREAD()/MEMOWRIT() functions added.
(Borland/MSVC makefiles modified, but not tested)
* tests/working/rtl_test.prg
+ MEMOREAD()/MEMOWRIT() tests added.
* include/itemapi.h
source/rtl/itemapi.c
+ hb_itemPutCPtr() Item API function added, to make it possible to
attach a buffer directly to a string item in a standard way, this
way one memcpy()/strcpy() can be saved, this can be used when the caller
have already allocated a buffer. Recommended when the expected string
size is very large. The allocated buffer size must be ulLen + 1.
* source/tools/io.c
- CD(), MD(), RD(), DISKFREE() removed since these are in the standard
RTL.
* source/rtl/tget.prg
! Insert() fix by Kwon,Oh-Chul <ohchul@fivetech.net>
* source/rtl/console.c
! HB___ACCEPTSTR() one missing underscore added.
! SAVESCREEN() pBuffer type changed back to void *, since xgrab() would not
be compatible, (char*) casts would not be needed, and gtSave() would have
to complain...in theory at least.
(What was the compiler (and which one) complaining about ?)
19990917-21:10 EDT David G. Holm <dholm@jsd-llc.com>
* include/extend.h
% Changed local pointers in hb_xmemcpy() and hb_xmemset()
from void * to BYTE * to keep Borland C compiler happy.
19990917-18:00 EDT David G. Holm <dholm@jsd-llc.com>
* include/extend.h
+ Added hb_xmemcpy() and hb_xmemset()
* source/hbpp/hbpp.c
* source/hbpp/hbppint.c
* source/hbpp/table.c
* source/hbpp/stdalone/hbpp.c
% Set __MINGW32__ up to use the same #includes as _MSC_VER so
that a search for instances of where they are not sharing
won't give false hits on these files (has no effect on code)
* source/hbpp/table.c
% __HARBOUR__ now has the value 1 (should we set this to be
the same as the build number, leave it at 1, or increment
it with each version number change?)
* source/rtl/console.c
% Changed all looping hb_fsWrite() calls to hb_fsWriteLarge()
% Use hb_fsWriteLarge() instead of putc() and/or puts()
+ Added s_iFilenoStdout and s_iFilenoStderr to avoid calling
fileno() more than once each for stdout and stderr
* source/rtl/dates.c
% Set __MINGW32__ up to use the same #includes as _MSC_VER,
so that SECONDS() also returns fractions of a second
* source/rtl/dir.c
! Moved normal hb_itemReturn() and ...Release()
calls out of the MSC, IBM & MingW32 #if block
* source/rtl/extend.c
+ Added hb_xmemcpy() and hb_xmemset() to allow copying and setting
of strings that are up to ULONG_MAX in length.
* source/rtl/filesys.c
! hb_fsReadLarge() and hb_fsWriteLarge() can now read and write
strings up to ULONG_MAX in length instead of only USHORT_MAX
* source/rtl/itemapi.c
% All string copying is now done via the new hb_xmemcpy() to allow
string lengths up to ULONG_MAX instead of UINT_MAX
* source/rtl/strings.c
% All string copying is now done via the new hb_xmemcpy() to allow
string lengths up to ULONG_MAX instead of UINT_MAX
% HB_SPACE() now uses the new hb_xmemset() to allow string lengths
up to ULONG_MAX instead of UINT_MAX
* source/rtl/gt/gtos2.c
! Added missing ';' on 'USHORT width, y' in hb_gt_SetAttribute()
* source/vm/hvm.c
% All string copying is now done via the new hb_xmemcpy() to allow
string lengths up to ULONG_MAX instead of UINT_MAX
+ tests/working/longdev.prg
+ New module tests VM and file handling of strings longer than USHRT_MAX
* tests/working/inkeytst.prg
% Only display the Cygwin if the program was built using Cygwin
19990917-15:10 GMT+1 Victor Szel <info@szelvesz.hu>
* include/compiler.h
include/hbdefs.h
source/rtl/gt/gtwin.c
! WORD/DWORD type declaration moved from hbdefs.h to compiler.h and
gtwin.c
- LOWORD() removed from hbdefs.h
* HIBYTE() now uses USHORT instead of WORD. (Is this OK ?)
* source/rtl/extend.c
* WORD -> USHORT
; Now only the compiler should be cleaned up from WORD types. (TODO !)
GTWIN.C should define these types locally.
* source/rtl/classes.c
* WORD -> USHORT
! Some hb_parnl() changed to hb_parni() for class handles.
* include/extend.h
* WORD -> USHORT for all variables within HB_ITEM.
* source/itemapi.c
source/arrays.c
include/extend.h
* WORD -> USHORT for array/object struct.
19990917-13:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/codebloc.c
include/extend.h
* WORD -> USHORT for codeblocks.
* source/rtl/transfrm.c
% Internal vmDo() call replaced with standard API functions.
! Internal error removed, direct buffer string modification resolved.
* source/rtl/objfunc.prg
+ Explcitly repeated function names in the __ERR*() calls changed to
PROCNAME(0).
* source/vm/hvm.c
include/ctoharb.h
include/init.h
! Typo fixed.
* WORD -> USHORT (for parameter count, local/static indexes and almost
all the others)
Only one WORD declaration stayed, this one is related to OBJ generation
and SYMBOLS.ASM, so it should have strictly fixed size.
; Here comes to mind that the PCODE model should have a clear definition on
the byte level, so that VMs could process pcode byte stream compiled
on any platform, we are almost there, but for example storing a DOUBLE
directly in the pcode could cause portability problems.
* source/rdd/dbcmd.c
+ WORD -> USHORT (wLen)
% HB_USED() small opt.
* source/compiler/harbour.y
* pOutPath made global and renamed to _pOutPath
* "Functions %i" -> "Functions/Procedures %i"
* source/rtl/console.c
% __SHADOW() param checking logic simplified and corrected.
% DISPOUT(), DEVOUT() one ISCHAR() call removed so it's a bit faster now.
19990917-11:30 GMT+1 Victor Szel <info@szelvesz.hu>
* include/ctoharb.h
source/vm/hvm.c
+ WORD -> USHORT (s_wActionRequest)
+ WORD -> int (wDec)
+ WORD -> USHORT (array dimensions)
+ WORD -> ULONG (array elements)
! __XHELP now uses hb_dynsymFindName() instead of hb_dynsymFind()
* source/vm/debug.c
+ WORD -> USHORT
* Using hb_itemRelease() instead of hb_itemClear() + hb_xfree()
* Small formatting changes.
* source/vm/dynsym.c
+ WORD -> USHORT
* source/rtl/gtapi.c
+ Some types changed from char* to BYTE* to match the environment, so a
few casts could be removed.
* tests/working/dynsym.prg
+ Added test for __dynsymGetIndex(), it will now GPF, since this function
is buggy right now.
19990916-23:45 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/console.c
* source/rtl/gtapi.c
* added a number of casts
The problem with declaring something to acctype (BYTE*) is that then
the overly sensitive MSVC complains about passing a const * to it -
it becomes quite bothersome to use (IMO).
19990917-03:15 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/transfrm.c
* WORD -> USHORT
* include/errorapi.h
source/rtl/errorapi.c
source/rtl/copyfile.c
source/rtl/filesys.c
source/rtl/memvars.c
source/rtl/set.c
source/runner/runlib.c
source/rdd/dbcmd.c
* Changed WORD to USHORT in all Error handling stuff.
* tests/working/rtl_test.prg
* Version() -> Version( 0 ) (xBase++ likes the numeric value better here,
but I could not test it)
19990917-03:15 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/console.c (mainly)
source/rtl/gtapi.c
source/rtl/strings.c
source/rtl/hardcr.c
source/rtl/mtran.c
+ Changed some explicit constants to manifest constants (keyboard codes,
character codes)
% [f]printf( "%c", c ) -> fputc( c, std??? ) for speed.
% [f]printf( "%s", s ) -> fputs( s, std??? ) for speed.
% printf( constant ) -> fputs( constant, std??? ) for speed.
; Since I'm not sure whether fflush() is called from fput*() functions,
it may be needed to place more explicit flush calls. This may have been
an issue already since printf() is only flushing on \n chars, at least
in MINGW32.
! s_szAcceptResult is now initialized on startup as an empty string.
! One cast added to hb_retc()/SAVESCREEN().
* include/inkey.h
+ NOTE that is's used from C, too.
* include/hbdefs.h
+ HB_CHAR_ common character constants added.
19990916-19:35 EDT David G. Holm <dholm@jsd-llc.com>
* doc/gmake.txt
+ Added gcc/mingw32.
+ Updated the BUILD.BAT paragraph.
* source/rtl/console.c
! Added missing type override to hb_xgrab() call in SAVESCREEN().
* source/rtl/dir.c
! Changed FA_READONLY to FA_RDONLY
! Changed FILE_RDONLY to FILE_READONLY
* source/rtl/environ.c
! Added conditional definition of a Windows define
that is missing from some versions of Borland C.
Thanks to Jose Lalin.
+ Added compiler identification to VERSION(), but
only if called with a parameter (any parameter)
based on an idea by Victor Szel.
* source/rtl/filesys.c
! Added '#include <dos.h>' for Borland C in order
to eliminate a warning regarding '_getdrive()'.
* source/rtl/inkey.c
! Restored Unix-style keyboard input, because it is
non-blocking under Linux/GCC.
+ Added separate __CYGWIN__ Unix-style keyboard input,
because it is blocking under Win32/GCC.
+ Actually added the Borland C Windows #elif code block
supplied by Jose Lalin this time.
* tests/working/inkeytst.prg
* Modified warning text to refer only to Cygwin.
* tests/working/version.prg
* Changed 'QOUT( VERSION() )' to '? VERSION()'.
+ Added '? VERSION( .T. )' to display the compiler that
was used to build Harbour.exe (which does not have to
be the same compiler used to build the Harbour program).
19990917-00:50 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/hardcr.c
! Fixed so that it doesn't modify the buffer returned by hb_parc(),
it now uses Item API calls.
* source/hbpp/stdalone/hbpp.c
+ Enhanced header.
* source/runner/stdalone/runner.prg
+ Enhanced header.
* source/runner/runlib.c
+ __HRBRUN() will now add default extension (.hrb) to the passed filename.
19990917-00:05 GMT+1 Victor Szel <info@szelvesz.hu>
* include/hbdefs.h
+ typedef BYTE HB_CHAR;
+ typedef BYTE HB_ATTR;
* source/rtl/mtran.c
% Some Extend API calls changed for Item API, for speed.
+ const keyword added.
* source/rtl/tone.c
% TONE() parameters checking simplified.
* Variable names standardized.
* source/rtl/set.c
* Removed all direct item access, replaced them with Item API calls.
* Some variable names standardized.
! int -> BOOL in one place.
! int -> USHORT for hb_fsError() retvals.
* source/rtl/console.c
! int -> USHORT for hb_fsError() retvals.
* Variable names changed ( len -> ulLen, count -> ulCount, uiCount )
* pcount() > x -> pcount() >= x+1
* source/vm/hvm.c
* pcount() > x -> pcount() >= x+1 (ERRORLEVEL())
* source/rtl/setcolor.c
! 0 -> '\0'
! SETCOLOR() now doesn't accept a non string parameter.
19990916-23:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/gtapi.c
! hb_gtWriteCon() fixed handling of backspace character.
* source/rtl/console.c
% Some extend API calls changed to Item API to make it faster
* Types changed: WORD -> USHORT to better sync it with GT API.
char * -> BYTE *, int -> USHORT
! __ACCEPT() the length of the return string was not set properly under
Unix.
! __ACCEPT() now displays non-string parameters, too, the logic is
also simplified by just calling HB_QOUT(), like in Clipper.
It will always call QOUT() even if no parameters were passed. This is
still not *exactly* what Clipper does.
! __ACCEPT() now displays all parameters not only the first one.
! __ACCEPT() now used hb_retc() instead of hb_retclen().
! hb_consoleRelease() now sets back stdout, and stderr to TEXT mode.
! __ACCEPT() one explicit constant changed to ACCEPT_BUFFER_LEN.
! __ACCEPT() now accepts ascii chars higher than 127, like in Clipper.
+ __ACCEPTSTR() added for Clipper compatbility, this will return the
result of the last __ACCEPT() call.
* source/rtl/inkey.c
! Small formatting fix.
19990916-21:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/*.c
* Copyright text format change.
+ Missing copyright headers added.
; Now this work is finished.
* include/extend.h
+ hb_tone() prototype added.
* source/rtl/gt/gtwin.c
- Commented out two unused static variables.
* source/rtl/classes.c
- Removed two unused variables.
* tests/working/rtl_test.prg
+ Some lines uncommented, since the PP can now process them.
* tests/working/testcopy.prg
tests/working/Makefile
- Removed since it's now in RTL_TEST.
* tests/working/hb*.bat
! Updates by Jose Lalin.
* makefile.b32
! Added memvarbl.prg
* source/rtl/achoice.prg
source/rtl/adir.prg
source/rtl/alert.prg
source/rtl/asort.prg
source/rtl/memvarbl.prg
source/rtl/menuto.prg
source/rtl/objfunc.prg
source/rtl/readvar.prg
source/rtl/setkey.prg
source/rtl/tbcolumn.prg
source/rtl/tclass.prg
source/rtl/tgetlist.prg
source/rtl/errorsys.prg
+ Using IS*() macros for type checking, common.ch
#included to all of these files.
* Some = changed to == in setkey.prg
19990916-17:10 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/vm/dynsym.c
*include/extend.h
+ new function HB_DYNS hb_dynsymFindName( char * szName )
that checks if given name is a public symbol - this function
converts given name to uppercase before checking
*source/rtl/itemapi.c
*source/rtl/classes.c
*source/rtl/do.c
*source/vm/hvm.c
* replaced hb_dynsymGet with new hb_dynsymFindName
*source/rdd/dbcmd.c
* replaced hb_dynsymFind with new hb_dynsymFindName
*source/rtl/dir.c
* corrected invalid mask value in HarbourToOsMask()
19990916-14:30 GMT+1 Victor Szel <info@szelvesz.hu>
* makefile.vc
! Fixed version by Matteo Baccan.
19990916-14:20 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/mouse/*.*
* Copyright text format change.
* source/rtl/gt/*.c
! Indentations, formatting errors corrected.
! // comments change to /**/
+ Copyright headers added.
* source/rtl/inkey.c
! // comments change to /**/
* source/rtl/gt/gt_tpl.c
! Fixed hb_gt_SetMode() return value type.
* source/rtl/gtapi.c
! hb_gtRepChar() will check for buffer overflow.
* include/gtapi.h
! Added hb_gt_Replicate() to GTAPI.H
* Variable names revised, standardized.
* source/rtl/errorapi.c
* hb_errPutArgs() Now using Item API instead of Array API.
* source/rtl/console.c
source/rtl/gtapi.c
source/rtl/gt/*.c
include/gtapi.h
+ API functions made more Clipper compatible with some arg type changes:
hb_gtBox() - Character parameter: char * -> BYTE *
hb_gtRepChar() - USHORT character changed to BYTE, this is not completely
Clipper compatible, but I've considered a bug to accept a character
in an USHORT.
hb_gtRest() - Buffer parameter: char * -> void *
hb_gtSave() - Buffer parameter: char * -> void *
hb_gtWrite*() - Character parameter: char * -> BYTE *
* Some types changed in the low-level API.
hb_gt_IsColor() - retval: int -> BOOL
hb_gt_Get/SetCursorStyle() - int -> USHORT to match the high level API
hb_gt_Puts() - char * -> BYTE *, int -> ULONG for the length.
hb_gt_GetText() - char * -> BYTE *
hb_gt_PutText() - char * -> BYTE *
hb_gt_Replicate() - char -> BYTE, DWORD -> ULONG
; IMHO later we should change all unsigned coordinate types to signed ones,
so that we can have a better "virtual screen" support. All attribute
types to a generic HB_ATTR, all characters to HB_CHAR.
19990916-11:15 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
+ __XHELP() function added.
; So now if we had defined a function named HELP() in our app, it will be
called by default if the user presses the F1 key. Like in Clipper.
+ Now using SYSINIT to force linking of the system init modul, instead of
ERRORSYS. Forcing ERRORNEW explicitly is not needed, so it's now removed.
* source/rtl/harbinit.prg
+ ANNOUNCE SYSINIT added.
+ __SETHELPK() function added.
* source/rtl/harbinit.prg (added)
source/rtl/errorsys.prg
source/rtl/Makefile
makefile.*
! ClipInit() INIT procedure moved from ERRORSYS to a separate .prg,
this way the ERRORSYS.PRG module is completely replacable, like in
Clipper.
( ! Borland and MSVC users please check the modified Makefiles ! )
* source/rtl/*.prg
+ All copyright header changed to the new one.
+ Missing copyright headers added.
19990916-13:07 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* fixed bug with Release ( noted by David G. Holm )
19990916-10:37 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/compiler/harbour.y
* Added support for multiple include paths using /I compiler flag
19990916-05:50 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/itemapi.c
+ Added NOTE why pItemArg1 is needed.
* tests/working/transdef.prg
tests/broken/parexpr.prg
- Removed (now for sure)
19990915-23:35 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/gt/gtos2.c
source/rtl/gt/gtwin.c
source/rtl/gt/gtdos.c
include/gtapi.h
* converted a number of parameters to USHORT, SHORT or BYTE
19990916-05:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/harbour.y
include/hberrors.h
! Proper error shown when more than one input (.prg) filenames are
specified, it caused a leak previously and was not compatible with
Clipper.
! Invalid filename message when the passed filename only contains dir/drive.
GPF fixed.
* *.bat
tests/working/*.bat
! @echo off commands moved to the top of files.
* tests/working/setkeys.prg
! Some functions names fixed, it still doesn't work because GetActive()
function is not yet implemented.
* tests/working/rtl_test.prg
tests/working/transdef.prg (removed)
tests/working/Makefile
* Tests from transdef.prg moved to rtl_test.prg (2 failures more now)
tests/working/transdef.prg (removed)
* tests/broken/parexpr.prg
- Removed, since it's in working now.
; The bugs above were reported by Jose Lalin.
* source/rtl/*.* (partial)
+ All copyright header changed to the new one.
+ Missing copyright headers added.
19990916-03:57 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rdd/*
source/tools/dates2.c
source/tools/stringp.prg
source/tools/nconvert.prg
source/tools/fileread.prg
source/tools/numtxthu.prg
source/tools/strfmt.c
+ All copyright header changed to the new one.
* source/rtl/menuto.prg
! RELEASE (cVariable) changed to __MVRELEASE( cVariable ) since now
to former is not preprocessed, which is fine BTW, since Clipper
is doing the same.
* make_tpl.*
+ mingw32 added as a new option.
19990916-03:17 GMT+1 Victor Szel <info@szelvesz.hu>
* source/debug/*.*
source/hbpp/*.*
source/hbpp/stdalone/hbpp.c
+ Copyright text changed to the newer version.
+ Missing copyright headers added.
* source/runner/runlib.c
+ TODO: added about default extension handling.
* source/hbpp/stdalone/hbpp.c
source/hbpp/hbppint.c
source/hbpp/hbpplib.c
! Formatting error corrected.
19990914-20:45 EDT David G. Holm <dholm@jsd-llc.com>
+ config/win32/mingw32.cf
* source/hbpp/hbpp.c
* source/hbpp/hbppint.c
* source/rtl/console.c
* source/rtl/dir.c
* source/rtl/environ.c
* source/rtl/filesys.c
* source/rtl/inkey.c
* source/rtl/tone.c
+ Added __MINGW32__ support for Cygnus GCC compiler.
19990916-02:25 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/symbols.asm (removed)
source/vm/symbols.asm (added)
makefile.b31
* Moved to VM since it belongs there.
* source/rtl/filesys.c
! Added missing break; to hb_fsSetDevMode()/_MSC_VER branch.
* source/tools/hb_f.c
source/vm/*.c
source/compiler/*.c
source/compiler/harbour.l
source/compiler/harbour.y
* Copyright text changed to the newer version.
* source/compiler/harbour.y
! One buggy error message text fixed (%i format specifier removed).
19990915-17:40 EDT David G. Holm <dholm@jsd-llc.com>
* include/itemapi.h
* source/rtl/itemapi.c
! Added a third argument, PBH_ITEM pItemArg1, to the hb_itemDo()
and hb_itemDoC() functions to solve a var-arg problem with the
OS/2 version of GCC. When calling hb_itemDo() or hb_itemDoC() to
evaluate a symbol, function, or code block that does not take
any arguments, use '(PHB_ITEM *) 0' as the third argument.
* config/win32/bcc32.cf
! The GNU make system now works with Borland 32-bit compilers.
* config/win32/gcc.cf
* Removed '-lmoldname' in order to avoid polluting the __CYGWIN__
build with __MINGW32__ stuff.
* source/compiler/harbour.l
! Removed 'extern int _bQuiet', because it conflicts with the
'extern BOOL _bQuiet' declaration in include/compiler.h.
* source/rtl/console.c
! Added __CYGWIN__ to the Unix-style input in HB___ACCEPT()
* source/rtl/filesys.c
! Removed the alleged Cygwin mode flag fix, which turned out to
be an incomptibility between the CYGWIN and MINGW32 libraries.
* source/rtl/inkey.c
! Applied the Borland Windows fix supplied by Jose Lalin.
! Changed Cygwin support to use the Unix method in order to
avoid polluting the __CYGWIN__ build with __MINGW32__ stuff.
! Moved the Unix keyboard input from hb_inkeyPoll() to hb_inkeyGet()
in order to stop blocking the VM when it polls the keyboard.
* tests/working/inkeytst.prg
+ Display a note regarding Unix-style keyboard input.
! Changed the final keyboard test exit key from ESC to TAB, because
Unix-style keyboard input uses ESC as the lead-in for extended keys.
19990915-23:20 GMT+3 Alexander Kresin
* source/hbpp/hbpp.c
* source/hbpp/table.c
* fixed some bugs, reported by Victor and Matteo
19990915-15:50 GMT+1 Victor Szel <info@szelvesz.hu>
* doc/hdr_tpl.txt
* Some small changes.
* include/*.api
include/*.ch
include/*.h
+ Added copyright header to all files, where the original author is not
known, it's not filled.
* Standardized the copyright header for all users.
* ChangeLog sections separated from the copyright headers.
* The one-liner file descriptions standardized.
19990915-14:14 GMT+1 Victor Szel <info@szelvesz.hu>
* doc/license.txt
+ Added a text file containing the license text.
* doc/hdr_tpl.txt
! Typo fixed (now v1.8)
19990915-14:04 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/dir.c
include/directry.ch
! printf()s commented out, proper (but silent) error handling added.
+ Now using directry.ch for the array format.
+ A TODO: added about changing the file composing/decomposing functionality
to hb_fsFNameSplit()/Merge() functions.
+ NOTE added that the third parameter is a Harbour extension.
% Some small logic streamlining.
* Some variable names changes, some variable scopes adjusted.
* source/compiler/genobj32.c
+ Every static thing is now declared static.
+ Missing prototypes added.
* source/rtl/hardcr.c
source/rtl/mtran.c
source/tools/dates2.c
* Slight change in the format of the copyright header, the text itself
has not changed.
* source/rtl/filesys.c
+ hb_fnFNameMerge() - TOFIX: added again about the lack of buffer overlow
handling.
* .cvsignore
! DOS/LINUX/OS2 GNU Make systems working directories added.
* doc/hdr_tpl.txt
+ Some fine tunings, see the files own history. The copyright text hasn't
changed. Version 1.7
* include/std.ch
include/Makefile
+ Added a skeleton and a TODO for the STD.CH file.
19990915-11:15 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/dir.c
! Two warnings fixed about possibly missing paranthesis.
+ Reformatted.
* source/rtl/adir.prg
! Default flags reset to "HSD"
* tests/working/adirtest.prg
! Fixed a bug which caused an error when zero file was found.
+ Added: SET DATE ANSI, SET CENTURY ON
! Newline handling made platform compatible.
! Some other fixes.
* source/rtl/memvars.c
! Typos fixed.
19990915-03:40 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/dir.c
* Now Clipper compatible results are returned.
definately with MSVC - most likely with compilers running under MS OS.
since I'm not familliar with any quirks with those compilers I made
almost no changes to compiler specific code. I suspect though that
there may be problems when passing a full path with wildcard to
Directory() - please test.
+ You can now get the 8.3 filename (msvc again) for true Clipper
compatibible return results by passing a logical as the new 3rd
parameter. The default is .f. which gives full long filenames
+ Add a number of static funcs like HarbourMaskToAttributes() to
convert "DHS" to something the os understands.
! Where this all falls apart is for OS_UNIX_COMPATIBLE.
I don't know what to do about translating Hidden or System files.
and not too sure how to handle Readonly.
Nobody commented when I posted the code - so here is what I came up
with.
* tests/working/dirtest.prg
+ added 3rd parameter to indicate 'want 8.3 filenames'
19990915-03:20 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/do.c
- Previous fix undone, since it was causing other problems.
19990915-02:20 GMT+1 Victor Szel <info@szelvesz.hu>
* .cvspass
- File removed, since it was probably added by incident.
19990915-01:22 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/gen*.c
+ some fflush() calls added to see a better feedback about the progress
of the generation process.
19990915-00:38 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/working/sound.prg
tests/working/*.bat
tests/working/*.ch
+ CVS header added to all files.
+ @echo off added where missing.
19990915-00:30 GMT+1 Victor Szel <info@szelvesz.hu>
* (*.* in the root directory)
+ CVS header added to all files.
+ @echo off added where missing.
* build32.bat
build40.bat
build31.bat
build.bat (renamed)
build16.bat (new)
buildrdd.bat (removed)
bldgt32.bat (removed)
bldhbpp.bat (removed)
% These three batch files has been incorporated to the main build
batch files, since they were simple one-liners.
! hbpplib.b32 build process was executed two times from the build32.bat
and build40.bat files.
* build.bat renamed to build16.bat
19990914-17:30 GMT+1 Victor Szel <info@szelvesz.hu>
* config/rules.cf
* Harbour flag /q changed to /q0 to omit the compiler header.
* source/rtl/do.c
! DO() fixed to use hb_dynsymFind() instead of hb_dynsymGet(),
now it properly displays when the passed string is not a symbol, rather
then throwing an internal error.
* source/compiler/harbour.y
+ /CREDITS command line switch to display the development team. Like in
Clipper.
19990914-13:15 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/harbour.y
source/compiler/gen*.c
+ Help screen made more Clipper like.
+ /f switch changed to /gf, and the whole object generation build
in to the source in a more standard way. It works now.
+ /q0 switch added to the help screen.
+ All filename composing stuff related to specific output types moved to
the appropriate gen*.c file. This way the code is more modular.
! One variable made static in genobj32.c
19990914-11:40 GMT+1 Victor Szel <info@szelvesz.hu>
* source/runner/stdalone/external.prg
include/external.ch
* Regenerated.
* source/runner/runlib.c
! Made some steps to release memory blocks when an undeclared symbol error
occurs, seemingly with few success. This needs some more work.
+ TODO added about a possible direction for further development.
The idea would be to replicate the Blinker DLL functionality.
* source/compiler/harbour.y
source/compiler/harbour.l
source/compiler/gen*.c
* Only every 100th line number is shown on the counter while parsing,
this way it's more Clipper like. In theory it should also be faster,
but due to the stdout buffering, it's approx. the same speed. Though it
could be faster in some platform/compiler/screen output combinations.
+ The "syntax ok" message is now replaced with the total number of
functions and the total number of lines. Similar to Clipper, but not
so specific to the generated output.
+ /q0 switch no suppresses the "Harbour Compiler" header.
+ The "Generating ... output" line format changed, it's now more
compact.
* tests/working/rtl_test.prg
+ A new VAL() test added to test the huge value problem.
! One failure eliminated by hiding a filename generating difference in
__COPYFILE(), NOTE added about this.
* source/rtl/strings.c
+ HB_VAL() now uses hb_retnlen().
! HB_VAL() was incompatible for huge integer values (5000000000). This
is fixed.
* source/rtl/memvars.c
* __MVRESTORE() is now using hb_itemPutNLen()
* source/rtl/extend.c
include/extend.h
+ hb_retnlen() Extend API function added, which is a wrapper for
hb_itemPutNLen().
* source/rtl/itemapi.c
include/itemapi.h
+ hb_itemPutNLen() generic function added to assign a number to an item,
the low-level type of the number is automatically selected, based on the
magnitude and presence of decimal places. Similar to hb_vmPushNumber().
+ hb_itemPutN?Len() functions will now accept any negative width/dec
parameters as a request for the default. So:
For iDec now any negative number will do the same as -1 before.
For iWidth now any negative number will do the same as 0 before.
This way the interface is more fool proof and consistent.
19990914-01:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
include/ctoharb.h
+ hb_vmEqual() - Added support for alternate equal operator: "="
Currently they are exact synonyms.
+ hb_vmInc()/hb_vmDec() - "++", "--" operator overloading support added.
+ hb_stackDispLocal() - More values are printed, the format changed.
* tests/working/rtl_test.prg
tests/working/overload.prg
! The tests fixed again, "+="/"-=" operators removed from the class
declaration.
* "+"/"-" implementation changed to not modify the original value, since
the expression "oString + 'A'" in itself in one line is not valid anyway.
+ "++", "--" operator overloading added.
- Removed the "<>" and "#" overloading methods since they were not needed
in this case.
19990913-23:45 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
+ hb_vmInString() - Added support for overloading the "$" operator.
! hb_vmPlus() - Fixed the operator overloading feature.
+ hb_vmNotEqual() - Added support for alternate notequal operators:
"<>" and "#".
* tests/working/rtl_test.prg
tests/working/overload.prg
- Removed +=, -= tests, since they will destroy the object, basically
this gets executed: oString := oString + "Hello", where the right side
expression will result in a string, which gets assigned to the object.
This could be fixed by changing the overloader block to return self BTW,
but from the test point of view, this is the same as "+"/"-".
* gt.b32
makefile.b32
runner.b32
! Fixes by Jose Lalin
19990913-23:00 GMT+1 Victor Szel <info@szelvesz.hu>
* ChangeLog
ChangeLog.003
* Old ChangeLog renamed to ChangeLog.003
* 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