Files
harbour-core/harbour/ChangeLog.004
1999-10-25 18:11:17 +00:00

4008 lines
143 KiB
Plaintext
Raw Blame History

19991025-19:09 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
+ CURDRIVE() XBase++ compatible function added, between HB_COMPAT_XPP
guards, it also has a TODO:
! hb_fsCurDrv() fixed to convert the return value of the OS calls to
the Clipper standard.
! hb_fsChDrv() / DISKCHANGE(), CURDRIVE()
hb_fsIsDrv() / ISDISK()
hb_fsCurDrv() / DISKNAME()
hb_fsMkDir() / MAKEDIR()
hb_fsChDir() / DIRCHANGE()
hb_fsRmDir() / DIRREMOVE()
hb_fsCurDir() / CURDIR()
hb_fsIsDevice()
All these fixed, so that now they work with WIN32/MINGW32.
* source/rtl/mouseapi.c
+ SETMOUSE() and NUMBUTTONS() XBase++ compatible functions added,
between HB_COMPAT_XPP
+ source/rtl/oemansi.c
source/rtl/Makefile
config/w32/mingw32.cf
+ HB_ANSITOOEM() new Win32 related function added (Harbour extension)
+ HB_OEMTOANSI() new Win32 related function added (Harbour extension)
+ CONVTOOEMCP() XBase++ compatible function added (between HB_COMPAT_XPP)
+ CONVTOANSICP() XBase++ compatible function added (between HB_COMPAT_XPP)
; IMPORTANT NOTE: This may cause problems in other platform, since USER32
should be linked in. (WIN32/MINGW32 platform arranged)
* source/rdd/dbf1.c
- Some HB_SYMBOL_UNUSED() macros removed, since the variables are used.
* source/tools/ctcrypt.c
source/rtl/isprint.c
* Some formatting.
19991025-12:30 EDT Paul Tucker <ptucker@sympatico.ca>
* source/tools/ctcrypt.c
* added some casts
* source/rtl/isprint.c
+ add include "hbwinapi.h"
* added defined( _WINDOWS_ ) for non-dos detection.
* added a cast
* source/rtl/net.c
* added missing ;
* makefile.vc
+ source/tools/ctcrypt.c
+ source/tools/ctchrmix.c
+ source/rtl/binnum.c
+ source/rtl/net.c
Mon Oct 25 13:14:42 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* doc/tracing.txt:
* include/hbtrace.h:
* source/common/hbtrace.c:
* source/pp/hbpp.c:
* source/pp/hbppint.c:
* source/pp/hbpplib.c:
* source/pp/table.c:
* source/pp/stdalone/hbpp.c:
Changed the environment variables that enable tracing in Harbour,
and added a document explaining how to do tracing.
* include/hbsetup.h:
* source/rtl/gt/gtcrs.c:
* source/rtl/gt/gtlin.c:
* source/rtl/gtxxx.c:
Changed the name for the curses-based GT implementation file to
gtcrs.c, leaving room for other linux-oriented implementations
such as s-lang, etc.
* source/rtl/arrays.c:
* source/rtl/fm.c:
* source/rtl/gtapi.c:
* source/rtl/inkey.c:
Added/corrected a few calls to HB_TRACE().
19991025-15:20 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/memory.prg
+ Using hbmemory.ch
* source/rtl/net.c
+ cast added for MSVC
19991025-14:58 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/net.c
+ Name buffer length corrected.
* Using a better API call for the same job.
19991025-12:37 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/tools/ctcrypt.c
+ source/tools/ctchrmix.c
+ CA-Tools compatible CRYPT() function added. (named CT_CRYPT())
+ CA-Tools compatible CHARMIX() function added. (named CT_CHARMIX())
* source/rtl/fm.c
! hb_xfree() fixed, so that it will not GPF when a NULL pointer is
passed.
% Some cleanup, one variable eliminated and code optimized out when
the STATISTICS mode is turned off.
! Non-STATISTICS mode fixed in hb_xquery()
* source/rdd/dbcmd.c
! hb_rddSelectWorkAreaAlias() fixed to handle workarea numbers as strings
(exm: "1") and single character workarea aliases ("A"-"K")
! hb_rddSelectWorkAreaSymbol() fixed to handle the single character
workarea aliases ("A"-"K")
! SELECT(), DBSELECTAREA() fixed handling of workarea numbers passed as
strings, and workarea numbers passed as single characters ("A"-"K")
Bruno, please review these.
* include/gtapi.h
source/rtl/console.c
source/rtl/gtapi.c
source/rtl/gt/*.c
% hb_gt_DrawShadow() moved to the high level API, the whole process
got cleaned up. Simpler, less redundant and more compatible now.
! hb_gtDrawShadow() off-screen situations fixed.
* All functions with "ptucker" mark moved to the copyright section.
+ HB_SYMBOL_UNUSED() added to gt_tpl.c
- hb_gt_GetCursorSize() removed from the template gt_tpl.c
* source/rtl/gt/gtwin.c
* Small cleanups, variable names standardized, scopes adjusted.
! Fixed Scroll() in fill mode for Win9x OS.
* source/rtl/oldclear.c
source/rtl/oldbox.c
! #ifdef HARBOUR_USE_GTAPI guards added.
* include/hboo.ch
source/rtl/classes.c
source/rtl/objfunc.prg
source/rtl/tclass.prg
source/tools/stringp.prg
tests/dynobj.prg
tests/objects.prg
tests/overload.prg
* #define names prefixed with HB_ to avoid collision with user programs.
Some other slight changes applied to the name prefixes.
+ include/hbmemory.ch
include/Makefile
source/rtl/fm.c
source/vm/hvm.c
+ New header file for MEMORY() parameters.
+ #include "hbmemory.ch" added
+ Using HB_MEM_ constants.
* include/hbmemvar.ch
source/debug/debugger.prg
source/rtl/memvarbl.prg
source/rtl/menuto.prg
source/rtl/memvars.c
* #define names prefixed with HB_ to avoid collision with user programs.
* source/rtl/memvarbl.prg
! Non-STRICT COMPATIBLE branch removed.
- #include "hbsetup.ch" removed
* tests/begin.prg
tests/inherit.prg (bugfix)
tests/statinit.prg
tests/strip.prg (bugfix)
tests/tstcolor.prg (bugfix from today)
! Warning and bug fixed showed by the /w switch.
* source/tools/charmix.c
source/tools/chareven.c
source/tools/charmix.c
! GT_CHARMIX(), GT_CHAREVEN(), GT_CHARODD()
Fixed to use hb_retclen() instead of hb_retc().
* include/hbdefs.h
+ Cleaner namings for some macro arguments.
+ HB_MKULONG() macro added.
+ source/rdd/dbstrux.prg
source/rdd/Makefile
source/rtl/dummy.prg
doc/funclist.txt
+ __DBCOPYSTRUCT(), __DBCOPYXSTRUCT(), __DBCREATE() functions added.
WARNING ! Please update non-GNU make files.
* source/rtl/dir.c
! DIRECTORY() *very* small compatibility fix for the order of returned
attribute chars.
* source/vm/hvm.c
! hb_vmForTest() error handler value substitution support added.
* source/rtl/browdb.prg
* Small formatting.
* source/rtl/tget.prg
source/rtl/memoline.c
source/rtl/mlcount.c
* Typo (char with different codepage) corrected.
* source/rtl/tget.prg
! SAY/DevPos() converted to SetPos(), DispOutAt().
+ End() made more compatible.
% Display() optimized, variable removed, cursor setting removed.
* source/rtl/tgetlist.prg
% Cursor setting on/off removed from ShowScoreBoard().
* source/rtl/strings.c
! UPPER(), LOWER() were modifying the item buffer directly. Fixed.
! UPPER(), LOWER() some internal item access changed to Item API calls.
+ UPPER(), LOWER(), LEFT(), SUBSTR(), VAL(), AT(), ALLTRIM(), LTRIM(),
RTRIM()/TRIM(), STRTRAN() value substitution on error added.
! SUBSTR() made compatible in a rare error case. (SubStr(C,N,C))
! AT() GPFd on passed types other than string.
! Fixed the small difference between RTRIM() and TRIM(), they are
100% identical since the same pcode is generated for both in Clipper.
; Now all error substitutions are covered in STRINGS.C
* ALLTRIM() is now launching a Clipper 5.3 compatible error by default
instead of returning an empty string.
! hb_strAt() now returns 0 when an empty string is searched, this matches
the Clipper behaviour, but the regression test was fooled by the
(buggy) compiler optimalization.
* tests/rtl_test.prg
tests/strings3.prg
+ UPPER(), LOWER(), TRIM(), RTRIM(), LTRIM(), ALLTRIM() regression tests
added. Some Upper() tests are failing. Some STRTRAN() fail tests added,
Clipper 5.2e STRTRAN() error recovering bug discovered.
+ SUBSTR(), LEFT(), RIGHT(), AT(), RAT(), VAL() tests added for
error conditions.
* ALLTRIM() error condition results updated to reflect the change above.
* "" $ and AT("", test results corrected, CA-Cl*pper behaviour documented.
+ STRINGS3.PRG moved to RTL_TEST (some)
+ ACOPY() expected test results adjusted accordging to the stricter ACOPY()
compatibility.
* source/rtl/arrays.c
! hb_arrayCopy()/ACOPY() is now 100% Clipper compatible, the STRICT option
removed, it's always strict now.
* source/rtl/binnum.c
+ BIN2U(), U2BIN(), W2BIN() XBase++ compatible functions added. All
guarded with HB_COMPAT_XPP (defined by default) (not tested)
* source/rtl/dates.c
include/hbextern.ch
source/runner/stdalone/external.prg
+ STOD() put between HB_COMPAT_XPP guards, since it belongs to XBase++
and is not part of base Clipper.
+ HB_STOD() Harbour extension function added, same as STOD() but with
consistent naming.
* source/rtl/dircmd.prg
* STOD() -> HB_STOD()
* source/rtl/mouse/mousewin.c
+ hb_mouse_CountButton() added for Win32.
* source/rtl/mouseapi.c
source/rtl/filesys.c
+ Clipper 5.3 functions put between HB_COMPAT_C53 guards.
+ One function added to the proper Copyright holder.
* include/hbsetup.h
source/rtl/mousexxx.c
* HARBOUR_USE_MSAPI setup #define removed, from now on the USE_GTAPI
setting will choose the mouse driver, too, since the mouse handling
is highly related to the output (GT) driver.
+ HARBOUR_USE_STD_GTAPI #define added as a start for the std stream IO
GT API, which is currently called "non-GT" mode.
* source/rtl/console.c
include/hbextern.ch
source/runner/stdalone/external.prg
source/rtl/tbrowse.prg
source/rtl/tget.prg
tests/rtl_test.prg
* __COLORINDEX() function renamed to HB_COLORINDEX()
+ source/rtl/isprint.c
+ source/rtl/net.c
source/rtl/Makefile
source/rtl/dummy.prg
doc/funclist.txt
+ ISPRINTER() function first draft.
+ NETNAME() implemented for the Win32 platform. Implementation note
for DOS added.
WARNING ! Please update non-GNU make files.
* include/fileio.ch
include/filesys.h
! FO_INHERITED and FO_PRIVATE flags moved to the .H file for better
Clipper compatibility.
* source/rtl/tone.c
* __DJGPP -> __DJGPP__ (cosmetic only __DJGPP was also valid)
* source/rtl/mouse/mousetpl.c
! Small correction (0->FALSE)
+ source/rtl/gt/gtstd.c
+ source/rtl/mouse/mousestd.c
source/rtl/gtxxx.c
source/rtl/mousexxx.c
+ Standard ANSI C GT/MOUSE drivers added. GT needs some more work.
* source/rtl/inkey.c
% Win32 local variables made static, name prefixed with "s_"
19991022-16:21 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/strings.c
! REPLICATE(), SPACE() error value substitution support added.
* tests/rtl_test.prg
* tests/mathtest.prg
- tests/strings.prg (removed)
- tests/strings2.prg (removed)
tests/Makefile
+ REPLICATE(), SPACE(), LOG(), EXP() regression tests added.
Two bugs showed up somewhere around LOG().
+ STUFF() tests extended.
+ ISDIGIT(), ISALPHA(), ISLOWER(), ISUPPER() regression tests added.
+ MATHTEST.PRG moved to RTL_TEST
+ STRINGS.PRG moved to RTL_TEST (mostly)
+ STRINGS2.PRG moved to RTL_TEST (mostly)
- Removed those lines which got moved to RTL_TEST.
19991022-15:16 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
- tests/filexist.prg (removed)
- tests/val.prg (removed)
- tests/strcmp.prg (removed)
- tests/instr.prg (removed)
- tests/syserror.prg (removed)
- tests/operat.prg (removed)
tests/Makefile
+ Rest of File() tests moved to RTL_TEST, so FILEXITS.PRG could be removed
+ One ValType() test moved to RTL_TEST, so VAL.PRG could be removed
+ STRCMP.PRG tests moved to RTL_TEST
+ INSTR.PRG tests moved to RTL_TEST
+ SYSERROR.PRG tests moved to RTL_TEST
+ OPERAT.PRG tests moved to RTL_TEST
+ Some new operator precedence and inline inc/dec op. tests added.
* Small cleanup in RTL_TEST.
; All newly added tests passes.
* tests/tstcolor.prg
+ Some tests added for the SetColor() bug fixed yesterday.
! RETURN added to suppress warning.
19991022-13:56 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
- tests/fileio.prg
tests/Makefile
+ Harbour level file API is now automatically tested in RTL_TEST.
- FILEIO.PRG removed.
19991022-13:10 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
tests/fileio.prg
! FREADSTR() zero byte bug fixed.
Reported by V.Kazimirchik <v_kazimirchik@yahoo.com>
+ Some new tests cases added to the test program.
* source/tools/ctchksum.c
! Fixed for large strings.
* tests/cmphello.prg
! Path fixed.
- tests/copyfile.prg
- tests/fornext2.prg
tests/Makefile
- Some obsolete test files removed, they were moved to RTL_TEST
previously.
19991022-10:53 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
+ //INFO now displays Clipper-like memory info.
Just the values are higher ;)
* source/rtl/fm.c
include/extend.h
+ MEMORY() functionality split into Harbour and C callable functions.
hb_xquery()
19991022-10:41 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/fm.c
tests/memory.prg
+ MEMORY() extended with 1003 and 1004 parameters, to retrieve stack
usage.
19991022-10:33 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/fm.c
tests/memory.prg
tests/Makefile
doc/funclist.txt
+ MEMORY() support for Win32 platform, it can now return available
physical, page, virtual memory and total physical memory.
+ Test program added.
19991022-10:03 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/fm.c
+ MEMORY() function enhanced internally.
! MEMUSED()/MEMFREE() non-standard functionality moved inside
MEMORY().
19991022-09:27 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/console.c
! New C syntax bug fixed in hb_setpos()
* source/tools/ctchksum.c
source/tools/Makefile
+ CA-Tools compatible CHECKSUM() function.
* source/rtl/natmsg.c
* Small correction.
19991022-08:19 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/fm.c
* fixed some bugs regarding the calculations for the largest
used memory and the used blocks.
+ New function HB_MEMUSED() and HB_MEMMAX() added.
19991021-23:33 GMT+1 Victor Szel <info@szelvesz.hu>
* config/rules.cf
+ /w switch added to the default Harbour switches in the GNU make system.
Be warned that some new warnings may arise in some test programs.
The core Harbour .PRG files compile without any warnings, though.
The only exception is HBRUN.PRG, but in that case either the compiler
or the PP should be modified, until then just ignore these.
* tests/fortest.prg
tests/memfile.prg
! /w warnings fixed.
* source/rtl/achoice.prg
source/rtl/menuto.prg
source/rtl/tgetlist.prg
% SetPos() + DispOut() -> DispOutAt()
* source/debug/debugger.prg
% Now all screen output is done using SetPos()/DispOutAt() so it's faster
and it's not fooled by output redirection or SET DEVICE TO PRINTER.
* Menu made more exactly Clipper like.
% "&" hotkey marker char changed to "~" to avoid any macro expansion
in the future.
* Some formatting (Move() method).
* source/debug/tbrwtext.prg
* Formatted.
19991021-22:18 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/gtapi.c
! hb_gtSetColorStr() now resets the ColorSelect() value to STANDARD,
like in Clipper.
19991021-21:08 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/gt/gtwin.c
source/rtl/dates.c
! Indentation fixed.
19991021-19:40 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
% Updated, so that the platform dependent variable declarations got moved
inside the block where they are used, instead of declaring them globally
for all platform branches. HB_UNUSED_VARIABLE() lines could be then
removed.
Thu Oct 21 14:09:07 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* source/rtl/gt/gtlin.c:
A first, very basic, implementation of GT for Linux using
curses. At this point, all I have tested is that tests/hello.prg
works acceptably well when compiled with -DHARBOUR_USE_LIN_GTAPI.
There are LOTS of functionality missing still.
Thu Oct 21 14:02:53 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* config/linux/gcc.cf:
Added linking against ncurses.
* include/gtapi.h:
Added hb_gtReadKey() and hb_gt_ReadKey() functions.
* include/hbsetup.h:
* source/rtl/gtxxx.c:
Made sure LIN_GTAPI is taken into account.
* source/rtl/console.c:
* source/rtl/filesys.c:
* source/rtl/gtapi.c:
* source/rtl/inkey.c:
* source/rtl/gt/gtwin.c:
Fixed several warnings.
Thu Oct 21 11:56:55 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* source/common/hbtrace.c:
Modified the TRACE function so that it does no superfluous copying
anymore.
* source/compiler/Makefile:
* source/runner/stdalone/Makefile:
* tests/Makefile:
Added the common library to the list of dependencies.
* source/pp/hbpp.c:
* source/pp/hbppint.c:
* source/pp/hbpplib.c:
* source/pp/table.c:
* source/pp/stdalone/hbpp.c:
Made sure tracing is enabled only when both HB_DO_TRACE and
HB_REALLY_DO_TRACE are defined; this way, the user can just set
HB_DO_TRACE to enable tracing in harbour, but not see all the
tracing output while compiling harbour itself.
* source/rtl/arrays.c:
* source/rtl/classes.c:
* source/rtl/codebloc.c:
* source/rtl/console.c:
* source/rtl/copyfile.c:
* source/rtl/dates.c:
* source/rtl/descend.c:
* source/rtl/dir.c:
* source/rtl/environ.c:
* source/rtl/errorapi.c:
* source/rtl/extend.c:
* source/rtl/filesys.c:
* source/rtl/fm.c:
* source/rtl/gtapi.c:
* source/rtl/hardcr.c:
* source/rtl/inkey.c:
* source/rtl/itemapi.c:
* source/rtl/langapi.c:
* source/rtl/math.c:
* source/rtl/memvars.c:
* source/rtl/mouseapi.c:
* source/rtl/mtran.c:
* source/rtl/natmsg.c:
* source/rtl/samples.c:
* source/rtl/set.c:
* source/rtl/setcolor.c:
* source/rtl/strings.c:
* source/rtl/tone.c:
* source/rtl/transfrm.c:
Added tracing to all functions.
19991021-15:35 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*include/extend.h
*source/rtl/memvars.c
*source/vm/hvm.c
* new function hb_memvarNewParameter() used to create a variable
listed on PARAMETER statement (corrected bug - private variables
are created instead of reusing existing ones)
19991021-16:02 GMT+3 Alexander Kresin
* contrib/odbc/todbc.prg
* there was an infinite loop in TOdbc():New(),
* now it works correctly.
19991021-09:14 GMT+3 Alexander Kresin
+ contrib/odbc/todbc.prg
+ contrib/odbc/readme.txt
* These files I got from Felipe Coury
19991021-00:50 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/environ.c
changed defined(_Windows) to defined(_WINDOWS_) since this is
what gets created in Windows.h
19991021-01:48 GMT+1 Victor Szel <info@szelvesz.hu>
* include/hbtrace.h
! TRACE() fixed to HB_TRACE() (that was a bit late :)
* Some formatting.
* source/common/hbtrace.c
* Formatting.
* source/pp/*.c
source/pp/stdalone/*.c
* Tabs removed.
19991020-19:40 EDT David G. Holm <dholm@jsd-llc.com>
* include/hbtrace.h
! Added missing HB_ prefix to #define TRACE(x) in the #else block.
19991021-01:37 GMT+1 Victor Szel <info@szelvesz.hu>
* include/Makefile
! Added hbtrace.h and hbwinapi.h
* include/hbwinapi.h
! Minor naming correction.
* include/compiler.h
! Minor cosmetic correction.
* source/compiler/genc.c
% Some redundant generated code text removed.
* source/rtl/gtapi.c
! hb_gtWrite() it truncated one more character than needed.
* source/rdd/dbfntx/dbfntx1.prg
! Local error handler extension disabled, since sometimes it doesn't
work because of the random INIT procedure execution order.
19991020-19:15 EDT David G. Holm <dholm@jsd-llc.com>
+ include/hbwinapi.h
- include/wincheck.h
* source/rtl/dates.c
* source/rtl/dir.c
* source/rtl/environ.c
* source/rtl/inkey.c
% Changed name of wincheck.h to hbwinapi.h (and added missing
CVS ID, Copyright and free software header, and self-check).
Wed Oct 20 19:28:51 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* source/Makefile:
* source/common/Makefile:
* source/common/hbtrace.c:
* include/hbtrace.h:
Added a common/ library where all "common" stuff should be
implemented. For starters, I placed here a rudimentary tracing
facility. Basically, all functions should be of the form:
int foo(char* name /* other parameters */)
{
HB_TRACE(("foo(%s)", name));
/* implementation */
}
If harbour is compiled with HB_DO_TRACE defined, then this will
generate a trace on stderr of all functions being called (caution:
it generates LOTS of output!!!). If HB_DO_TRACE is not defined,
the HB_TRACE() lines are defined out and there is no performance
hit.
* include/hbdefs.h:
Included hbtrace.h.
* source/pp/hbpp.c:
* source/pp/hbppint.c:
* source/pp/hbpplib.c:
* source/pp/stdalone/Makefile:
* source/pp/stdalone/hbpp.c:
Added tracing calls as a "proof of concept".
* source/rtl/gt/gtwin.c:
Fixed two minor typos.
19991020-21:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/achoice.prg
% FUNCTION -> PROCEDURE for speed.
% Two small functions converted to macros for speed.
* Formatted. (if() -> iif(), <> -> !=, some variable names standardized,
S87 style comments * -> //, indent errors, etc.)
* source/rtl/asort.prg
% FUNCTION -> PROCEDURE for speed.
* include/rddsys.h
* Small aligning.
19991020-22:58 GMT+3 Alexander Kresin
* source/pp/hbpp.c
* Fixed bugs, reported by Antonio Linares, Victor Szel and Guy Roussin
- contrib/odbc/bld32exe.bat
- contrib/odbc/hb32.bat
+ contrib/odbc/bld_b32.bat
+ contrib/odbc/odbccall.prg
+ contrib/odbc/odbcdemo.prg
* contrib/odbc/odbc.c
* contrib/odbc/harbour.mdb
* These files I got from Felipe Coury
19991020-20:23 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/alert.prg
source/rtl/browdb.prg
source/rtl/memvarbl.prg
+ #include hbsetup.ch added.
+ include/hbsetup.ch
include/hbsetup.h
include/Makefile
+ New header file added to setup things which are common to both
.PRG and .C source files, currently HARBOUR_STRICT_CLIPPER_COMPATIBILITY
was moved from hbsetup.h
+ HB_COMPAT_C53
HB_COMPAT_XPP
HB_COMPAT_VO
#defines added to be able to toggle inclusion of the new features
of these compilers. All these are turned on by default.
* source/rtl/browdb.prg
+ dbSkipper() function added, it's now guarded with
HARBOUR_COMPAT_XPP, so there is a possibility to switch to the
fully Clipper compliant, or the XBase++ compliant method.
+ NOTE added about dbSkipper.
* source/rtl/filesys.c
+ source/rtl/binnum.c (added)
* BIN2W(), BIN2I(), BIN2L(), I2BIN(), L2BIN() functions moved to
a separate source file. Since these were not FileSys APi functions.
WARNING ! Please update non-GNU make systems.
- include/caundoc.api renamed to
+ include/hbundoc.api
include/Makefile
tests/extend2.c
* Include file name standardized, now the HBUNDOC.API file should
contain all undocumented API calls (not only for CA-Cl*pper).
- include/harbour.ch renamed to
+ include/hbclip.ch
include/Makefile
samples/guestbk/testcgi.prg
* Include file renamed to better fit into the include file naming
scheme (hb prefix for all non-standard .ch files).
19991020-13:27 GMT+1 Victor Szel <info@szelvesz.hu>
* include/extend.h
source/rtl/arrays.c
source/rtl/classes.c
source/vm/hvm.c
* Name change, to avoid possible collision.
BASEARRAY -> HB_BASEARRAY
PBASEARRAY -> PHB_BASEARRAY
BASEARRAY_PTR -> HB_BASEARRAY_PTR
NOTE: HB_ARRAY would be a better name, but that would collide with
the Harbour function HB_ARRAY (ARRAY()).
19991020-12:59 GMT+1 Victor Szel <info@szelvesz.hu>
* include/hbdefs.h
source/pp/hbpplib.c
source/rtl/arrays.c
source/rtl/math.c
source/rtl/samples.c
source/rtl/tone.c
source/rtl/filesys.c
source/rtl/memvars.c
source/compiler/harbour.y (HIBYTE(), LOBYTE(), MKLONG(), Ryszard!)
source/compiler/genc.c
source/compiler/genhrb.c
source/compiler/genjava.c
source/compiler/genobj32.c
* Some global macros renamed to avoid name collision with C extend
modules and standard OS makefiles.
MAX() -> HB_MAX_()
MIN() -> HB_MIN_()
(the additional underscore is need to avoid name collisions with
Harbour functions HB_MIN() and HB_MAX())
LOBYTE() -> HB_LOBYTE()
HIBYTE() -> HB_HIBYTE()
MKSHORT() -> HB_MKSHORT()
MKUSHORT() -> HB_MKUSHORT()
MKLONG() -> HB_MKLONG()
* include/hbdefs.h
include/hb_vmpub.h
source/compiler/harbour.y (Ryszard!)
source/vm/dynsym.c
source/vm/hvm.c
* SYMBOLSCOPE -> HB_SYMBOLSCOPE
* include/extend.h
source/vm/hvm.c
* STACK -> HB_STACK
* source/rtl/tbrowse.prg
+ Configure parameter added back, NOTE added that it's an undoc.
feature in Clipper.
* source/rtl/browdb.prg
include/hbextern.ch
source/runner/stdalone/external.prg
+ Public dbSkipper() function made STATIC, renamed to Skipped() to be
Clipper compatible. Clipper doesn't have any public dbSkipper(),
_dbSkipper() or Skipped() functions.
- Non-Clipper compatible function _dbSkipper() removed.
* Formatted.
* source/rtl/browse.prg
! Small formatting correction.
19991019-19:00 EDT David G. Holm <dholm@jsd-llc.com>
* config/w32/bcc32.cf
! I finally found out what I did wrong with regards to using BCC32
with the GNU Make System. I had accidentally set it up for the
DOS GT API instead of for the Windows GT API!
+ include/wincheck.h
* source/rtl/dates.c
* source/rtl/dir.c
* source/rtl/environ.c
* source/rtl/inkey.c
! All source files that need to conditinally include the Windows API
now use the new include file "wincheck.h" in order to eliminate
inconsistent inclusion of "windows.h". If "windows.h" ends up being
included, then the new manifest constant HARBOUR_USE_WIN is defined.
* source/rtl/inkey.c
! Added Windows Console Mode translations for Alt+Tab and Shift+Tab.
19991019-11:55 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/tbrowse.prg
! Fixed the header/footer separator to be drawn until the border.
+ ColorRect() support started.
- Removed the parameter from ::Configure() calls, it was not
used, and Clipper don't have such parameter.
* source/rtl/browse.prg
+ Enhanced speed and compatibility.
- Incremental refreshing.
- Missing keys added.
- Status line added.
- Border fixed.
- Setkey support added.
19991019-10:24 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/gt/gtwin.c
* Windows apps only create a console when the debugger is linked.
19991019-01:50 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/natmsg.c
* source/pp/hbpp.c
* in ParseDefine() line 278: ==0 s/b <= 0
19991018-23:04 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/natmsg.c (added)
source/rtl/Makefile
source/rtl/dummy.prg
tests/rtl_test.prg
+ National message related functions added.
ISAFFIRM(), ISNEGATIVE(), NATIONMSG() (by Jose Lalin)
+ _NATSORTVER(), _NATMSGVER() function added.
! Fixes and cleanup for IS*() and NATIONMSG() functions.
+ Regression tests added for these new functions.
WARNING ! Please update non-GNU make systems.
* source/rtl/dircmd.prg
+ NOTE added about a small anomaly in Clipper.
* source/rtl/tbrowse.prg
* Small changes.
19991018-14:54 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/tbrowse.prg
! PgUp() fixed to set HitTop instead of HitBottom, now the cursor will
not lock up in the first position.
! DevOut() changed to DispOut(), faster and Clipper compatible.
% SetPos() + DispOut() -> DispOutAt() to be even faster.
* source/rtl/console.c
! DISPOUTAT() color bug fixed.
* source/pp/table.c
! dbClearRel() -> dbClearRelation()
Using full name, otherwise Harbour will not find it.
19991018-14:10 GMT+3 Alexander Kresin
* source/pp/hbpp.c
* Fixed bugs, reported by Antonio Linares
* source/rtl/tbrowse.prg
* Fixed some problems with Left(), Right() and logical fields.
19991018-11:58 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/adir.prg
+ SET DEFAULT handling added.
* source/rtl/dir.c
+ TOFIX: added to change to filename splitting/merging to use the
hb_FName*() functions. That's why DIRECTORY() will GPF now on some
systems (WinNT/MINGW32/normal slash in directory).
* tests/rtl_test.prg
! Small fixes for some time parameters.
* source/rtl/soundex.c
! Small pedantic fix.
* source/rtl/fm.c
* TODO text modified.
* source/rtl/asort.prg
* Small change.
19991018-09:36 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/gt/gtwin.c
+ Added support for Windows apps without console.
(Now Harbour Windows apps may use the standard Harbour
debugger and whatever console output is generated -for
any reason- will be seen so it may be corrected!).
19991018-03:35 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rdd/rddord.prg
19991018-09:34 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/rddord.prg moved to
source/rdd/rddord.prg
source/rtl/Makefile
source/rdd/Makefile
* Moved to the proper place.
WARNING ! Please update non-GNU make systems.
(sorry for the huge amount of make file changes)
19991018-03:25 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/samples.c
+ source/rtl/soundex.c
19991018-09:28 GMT+1 Victor Szel <info@szelvesz.hu>
* doc/gmake.txt
! win32 changed to w32.
19991018-09:21 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/soundex.c
source/rtl/Makefile
source/rtl/dummy.prg
source/rtl/rtl_test.prg
doc/funclist.txt
+ SOUNDEX() and related regression tests added.
WARNING ! Please add new file to non-GNU make systems.
- source/rtl/afields.prg (removed)
source/rtl/Makefile
- AFIELDS() removed from the RTL, since it was already implemented in
the RDD.
19991018-08:55 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rtl/dummy.prg
- __dbSetLocate() and __dbSetFound() functions removed.
* source/rdd/dbcmd.c
+ Added support for __dbSetLocate() and __dbSetFound() functions.
19991018-07:36 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/afields.prg
source/rtl/Makefile
+ AFIELDS() function added (by Jose Lalin)
WARNING ! Please add new file to non-GNU make systems.
19991018-00:03 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
+ Support for overloading the following operators:
*, /, %, ^, **, !, .NOT., .AND., .OR.
* tests/rtl_test.prg
+ Tests added for new operator overloading features.
* source/vm/dynsym.c
! Small formatting fixes.
19991017-21:24 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/samples.c
! hb_SecToTimeStr() bug (typo) fixed.
* tests/rtl_test.prg
+ Tests added for new Samples functions.
19991017-20:46 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/samples.c
source/rtl/Makefile
source/rtl/dummy.prg
source/rtl/rtl_test.prg
+ AMPM() (tested)
+ DAYS()
+ ELAPTIME()
+ LENNUM()
+ SECS()
+ TSTRING()
Functions added, mostly not yet tested. RTL_TEST tests added for AMPM().
WARNING ! Please add new file to non-GNU make systems.
* include/extend.h
+ hb_strVal() prototype added.
+ hb_strLTrim() prototype added.
* source/rtl/dummy.prg
include/hbextern.ch
source/runner/stdalone/external.prg
! Some internal functions removed (added today), since they seem not
real Clipper functions.
+ Several new Clipper (documented) functions added (db*() for 5.3, and
SOUNDEX())
+ One new undocumented function added. (__FLEDIT)
19991017-09:00 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/oldbox.prg
+ source/rdd/dbnubs.c
19991017-14:36 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rdd/dbnubs.c
source/rdd/Makefile
include/hbextern.ch
source/runner/stdalone/external.prg
* Added internal versions of database commands. All undocumented.
WARNING ! Please add dbnubs.c to non-GNU make systems.
* source/rtl/dummy.prg
include/hbextern.ch
source/runner/stdalone/external.prg
+ __dbArrange()
+ __dbFList()
+ __dbOpenSDF()
+ __dbSetFound()
+ __dbSetLocate()
+ __dbTrans()
+ __dbTransRec()
Some more undocumented, internal Clipper functions added.
With these, to my knowledge *all* Clipper level, internal and
undocumented functions are defined in Harbour.
19991017-13:34 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/dummy.prg
+ Some more undocumented and internal functions added.
* source/rtl/harbinit.prg
+ ANNOUNCE CLIPPER520, ANNCOUNT CLIPPER530 added for complete
compatibility.
* source/vm/hvm.c
+ PROCFILE() function added. It does nothing, but it's there
in Clipper.
* include/hbextern.ch
source/runner/stdalone/external.prg
* Updated. ANNOUNCE-s also added this time.
19991017-13:04 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rtl/dummy.prg
- __dbLocate() and __dbContinue() functions removed.
* include/rddapi.h
source/rdd/dbcmd.c
source/rdd/dbf1.c
source/rdd/dbfcdx/dbfcdx1.c
+ Added support for __dbLocate() and __dbContinue() functions.
* tests/testdbf.prg
* Now use test.dbf file and test __dbLocate() and __dbContinue() functions.
19991017-12:57 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/environ.c
+ GETE() undocumented Clipper function added.
* source/rtl/memvars.c
+ __QQPUB() function added.
% Some variable scopes adjusted.
* source/rtl/dummy.prg
- __QQPUB() removed.
* source/rtl/classes.c
+ HB___CLASSNEW()
+ HB___CLASSINSTANCE()
+ HB___CLASSADD()
+ HB___CLASSNAME()
+ HB___CLASSSEL()
Clipper compatibility functions added.
+ source/rtl/oldclear.c
source/rtl/Makefile
+ __CLEAR()
+ __ATCLEAR()
Undocumented Clipper functions added.
Please add oldclear.c to non-GNU make systems.
19991017-08:51 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/Makefile
+ tstalias.prg added
* tests/tstalias.prg
+ CVS ID header added
19991016-22:40 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
+ added support for _FIELD->Expression and _FIELD->ALIAS->Expression
"REPLACE Field WITH Exp" and "REPLACE ALIAS->Field WITH Exp" are supported
"REPLACE 1->Field WITH Exp" will compile but requires some more work by Ryszard.
+ added support for Aliased Variables in Push/Pop support.
+ added "Invalid alias expression" error to _szCERRORS.
- Removed Todo # 9 support for _FIELD->Alias->Field.
* harbour.l
+ added {Integer} definition - used by _Field->Area#-> rule
+ added MEMV->& and MEMVA&-> to MACROOP defeinition.
+ added rules for _FIELD->"{Integer}"->", _FIELD->"{Number}"->" (Error condition), _FIELD->"{Integer}"->" and _FIELD->"{Identifier}"->"
* Hberror.h
+ added #define ERR_ALIASEXP 38
+ /Tests/TstAlias.prg
added new test to demonstrate support for aliased expression.
19991016-18:40 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
* Corrected bug with Push/Pop optimizer and BlockList.
19991016-14:40 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* compiler.h
+ added lLstPushPos to PFUNCTION structure to support nesting (like in blocks ).
* harbour.y
* Corrected bug with Push/Pop optimizer when var assignment in CodeBlock used.
+ added Push/Pop Optimizer support to CodeBlock expressions list.
19991016-20:46 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/test.dbf
! Readded in binary mode
19991016-19:07 GMT+1 Antonio Linares <alinares@fivetech.com>
+ tests/test.dbf
+ 500 records with random information added.
(SuccessWare's dbcre8.exe 500 used to generate it)
(Now tests/testbrdb.prg may be properly tested).
19991016-14:25 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/gt/gtwin.c
source/rtl/inkey.c
* Renamed variable name HInput to hb_gtHInput
* tests/Makefile
+ testbrdb.prg added
19991016-10:06 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/Makefile
+ browse.prg added
* source/compiler/harbour.y
! Temporarily commented out the new code from RemoveExtraPush() since
it broke many existing code.
19991016-03:08 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/browse.prg
19991016-08:52 GMT+1 Antonio Linares <alinares@fivetech.com>
+ source/rtl/browse.prg
+ New function Browse() added
(early prototype. Still some missing functionality).
* source/rtl/dummy.prg
- function Browse() removed.
* makefile.b32
+ added browse.prg
(warning I have not updated other makefiles!)
+ tests/testbrdb.prg
+ New sample added.
19991016-00:10 EDT David G. Holm <dholm@jsd-llc.com>
* doc/gmake.txt
+ Documented C_USR and -DHARBOUR_USE_<platform>_GTAPI were missing.
19991016-00:00 EDT David G. Holm <dholm@jsd-llc.com>
* source/rtl/set.c
! HB_DEFPATH() (and consequently HB___DEFPATH()) now append a drive
or path delimiter if the default path does not have one at the end.
19991015-23:25 EDT Paul Tucker <ptucker@sympatico.ca>
* source/compiler/harbour.c
+ || defined(_MSC_VER) around isatty()
This allows gnu make to compile harbour.exe
It doesn't seem to affect ms make
* doc/gmake.txt
* updated notes regarding MSVC
19991015-23:15 EDT David G. Holm <dholm@jsd-llc.com>
* include/set.h
* include/set.ch
* source/pp/table.c
* source/rtl/set.c
* tests/set_num.prg
* tests/set_test.prg
+ Added missing Clipper 5.3 SETs:
HB_SET_VIDEOMODE
HB_SET_MBLOCKSIZE
HB_SET_MFILEEXT
HB_SET_STRICTREAD
HB_SET_OPTIMIZE
HB_SET_AUTOPEN
HB_SET_AUTORDER
HB_SET_AUTOSHARE
Not knowing what their defaults should be, I defaulted the first
two to 0, the third one to '\0', and the rest to FALSE.
19991015-22:00 EDT David G. Holm <dholm@jsd-llc.com>
* source/rtl/inkey.c
- Removed Windows #ifdefs from DOS-style keyboard input.
- Removed special handling for Borland C when used with Windows.
- Removed Cygwin from Unix-like keyboard input support.
+ Windows keyboard input now uses Windows Console Mode functions
GetNumberOfConsoleInputEvents() and ReadConsoleInput() and a
whole lot of key code translation. NOTE 1: If INKEY_EXTENDED
is used, then device-independent key codes are used instead of
keyboard scan codes and no attempt is made to map extended keys
to their Clipper equivalents. All key codes have 256 added to
them. Enhanced adds 512, Shift adds 1024, Left Ctrl adds 2048,
Right Ctrl adds 4096, Left Alt adds 8192, and Right Alt adds
16,384. Normal keys are in the range 0 to 255. A value that
is larger than 255 represents an extended key. All state keys
generate key codes. Use the test program INKEYTST with two
parameters (such as S and X) to display the codes. NOTE 2: This
is just an experiment to see if allowing Harbour to get all
key codes when run under Windows is a good idea. NOTE 3: If
INKEY_EXTENDED is not used, then keyboard scan codes are used
and extended codes are translated to Clipper codes( and state
keys do not generate key codes).
* source/rtl/gt/gtwin.c
% Removed 'static' declaration from 'HANDLE HInput;', so that
hb_inkeyPoll() doesn't have to duplicate the initialization.
Fri Oct 15 16:42:30 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* config/lib.cf:
* source/debug/Makefile:
* source/pp/Makefile:
* source/rdd/Makefile:
* source/rdd/dbfcdx/Makefile:
* source/rdd/dbfntx/Makefile:
* source/rdd/nulsys/Makefile:
* source/rtl/Makefile:
* source/runner/Makefile:
* source/tools/Makefile:
* source/vm/Makefile:
Now Makefiles that will create a library use LIBNAME for the
library's name; the LIB variable is not used anymore, so it will
not conflict with the widely used environment variable with that
name. Thanks to Paul Tucker <ptucker@sympatico.ca> for pointing
this out.
19991015-18:45 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rdd/dbcmd.c
* Bug removed, default alias work if not alias and extension is specified.
* source/rdd/dbf1.c
* Bug removed, Bof() now work properly.
19991015-09:53 GMT+3 Alexander Kresin
* source/pp/hbpp.c
* Fixed little bug, reported by Antonio Linares
19991015-02:04 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/genjava.c
+ Java source generation added to the compiler (by Matteo Baccan)
* source/rtl/filesys.c
+ TOFIX: added to hb_fsIsDrv() (by Jose Lalin)
* source/rtl/dates.c
! Some pp directives indented.
Thu Oct 14 17:29:32 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* source/rtl/dates.c:
Fixed an include guard so that HB_DONT_DEFINE_BASIC_TYPES is
defined for both gcc and mingw32.
19991014-18:17 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/genc.c
! Fixed pcode generation with /gc0 switch for MODULENAME opcode.
There was an incrementation operator embedded in an expression, which
was not executed in this case.
19991014-18:13 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rdd/dbcmd.c
* Removed some low level access to item.asArray
19991014-16:18 GMT+3 Alexander Kresin
* source/pp/hbpp.c
* source/pp/hbppint.c
* source/pp/stdalone/hbpp.c
* Fixed some bugs, reported by Antonio Linares, Victor Szel and Jose Lalin
19991013-20:10 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
+ added rules to allow inline assignment to RIVATE/PUBLIC &cVar (as in PRIVATE &cVar := 'Hello').
+ added extern char *yytext to have acces to the original string form of numbers.
* harbour.l
+ added rules to support new TOKEN MACROOP and completed support for macro in MODES PRIVATE and PUBLIC_ (Ryszard TODO removed).
* tests/tstmacro.prg
added more tests to demonstrate working capabilities of macro.
19991013-01:40 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/dates.c
! #ifdef ...WIN_GTAPI changed to proper platform tests.
19991013-19:05 EDT David G. Holm <dholm@jsd-llc.com>
* include/itemapi.h
+ Added a prototype for hb_itemString().
+ Added a prototype for hb_itemValToStr().
* source/compiler/harbour.l
! Removed yy_strdup() call from yy_ConvertNumber().
* source/rtl/console.c
- Removed the string conversion code from hb_out().
+ Added a call to hb_itemString() to hb_out().
* source/rtl/dates.c
! Corrected two erroneous instances of 'hb_stack.szDate' in
hb_dateDecStr() to use the 'szDate' parameter instead.
* source/rtl/itemapi.c
+ Moved hb_itemStr() from source/rtl/strings.c
+ New function hb_itemString() converts practically any value
to a string (this is a modification of the string conversion
code that used to be in hb_out() in source/rtl/console.c).
+ New function hb_itemValToStr(), suggested by Antonio Linares.
* source/rtl/strings.c
- Moved hb_itemStr() to source/rtl/itemapi.c
+ New function HB_HB_VALTOSTR(), suggested by Antonio Linares.
* tests/rtl_test.prg
+ Added several HB_VALTOSTR() tests.
Note: hb_itemStr() is not re-entrant and probably not thread-safe.
I'm not sure how to correct for that without requiring that
the caller free up strings allocated by this function, which
I would very much like to avoid. Any ideas?
19991013-13:46 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
+ added MACROOP (last session also added MACROALIAS)
+ added rules to complete support for PRIVATE/PUBLIC &cVar - it now supports any mix of variables and macros.
* harbour.l
+ added rules to support new TOKEN MACROOP and completed support for macro in MODES PRIVATE and PUBLIC_ (Ryszard TODO removed).
* tests/tstmacro.prg
added even more tests to demonstrate working capabilities of macro.
19991013-17:45 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/oldbox.c
* Add parens so cast applies to entire expression
19991013-22:37 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
* Column width adjusted.
19991013-22:26 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/oldbox.c
source/rtl/Makefile
tests/boxtest.prg
tests/Makefile
makefile.b32
makefile.b16
makefile.vc
+ __BOX*() undocumented Clipper functions added.
(Thanks to Jose Lalin)
+ Added to all make systems, please try them.
* makefile.b32
runner.b32
! Fixed and updated by Jose Lalin
19991013-11:00 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
+ added TOKEN DOT and rules to support concatenation of Var and constant in macro variables assignments (like &cVar.PlusFix).
+ added rules to support PRIVATE/PUBLIC &cVar
* harbour.l
+ added rules to support new TOKEN DOT and yylval.string to have the string value when parsing DOUBLE.
* tests/tstmacro.prg
added many tests to demonstrate working capabilities of macro.
19991013-13:52 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/inkey.c
+ borland c 4.5 fixes as reported by Felipe
19991013-18:37 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/browdb.prg
* Renamed function to public function DbSkipper()
* New function _DbSkipper() (just calls DbSkipper())
19991013-14:06 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rdd/dbf1.c
source/rdd/dbfcdx/dbfcdx1.c
* Errors on open or create operations now report the correct number.
19991013-03:13 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
+ added TOKEN MACROALIAS and rules to support MemVar aliased macro and non aliased macro variables assignments.
* harbour.l
+ added rules to support new TOKEN MACROALIAS
+tests/tstmacro.prg
sample program to demonstarte new macro assigments support.
19991012-20:41 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
+ Tough FOR/NEXT tests added, many of them will not pass.
! Small fixes.
19991012-20:25 GMT+1 Bruno Cantero <bruno@issnet.net>
* include/rddapi.h
source/rdd/dbcmd.c
source/rdd/dbf1.c
source/rdd/dbfcdx/dbfcdx1.c
* Fixed a GPF (when an open or create error occurs).
19991012-16:00 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
! hb_vmAnd(), hb_vmOr() - Value substitution on error added to .AND.
and .OR. operators. (mentioned by Jose)
19991012-14:00 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/dates.c
+ Added support for Windows requirements.
* include/hbclass.ch
+ Added support for METHOD ... OPERATOR ... for Harbour operators
overloading. (An outstanding job from Eddie!)
19991012-13:13 GMT+1 Victor Szel <info@szelvesz.hu>
* include/clipdefs.h
! ERRCODE typedef removed from here, since it has been moved to extend.h.
19991012-10:38 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*samples/pe
* new directory with a sample editor that can be used as a base for
MEMOEDIT and TEditor class
19991012-00:52 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/input.prg
+ source/rtl/setta.prg
+ source/rtl/wait.prg
19991012-03:12 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/harbour.y
! lLastPushPos -> _lLastPushPos
19991012-02:50 GMT+1 Victor Szel <info@szelvesz.hu>
* include/caundoc.h
+ _bcmp, _bscan added (thanks to Matteo Baccan)
* source/rtl/set.c
+ TOFIX: added for DEFPATH()
* source/rtl/Makefile
+ source/rtl/input.prg
+ source/rtl/setta.prg
+ source/rtl/wait.prg
+ __INPUT(), __WAIT(), SETTYPEAHEAD() functions added.
(Thanks to Jose Lalin)
Note that INPUT() is not yet working, since it require macro
functionality.
Please add them to non-GNU make systems.
19991012-02:30 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
+ Added some info about driver numbering to hb_fsChDrv(), hb_fsIsDrv(),
hb_fsCurDrv(), hb_fsCurDir()
+ hb_fsIsDevice() added. (by Jose Lalin), return value type changed to
BOOL to match Clipper.
! hb_fsIsDrv(), hb_fsChDrv() fixed to call the OS functions with the
right drive number. (Please test this!)
* include/ctoharb.h
+ More undocumented file functions added. (by Jose Lalin)
* include/filesys.h
! Missing hb_fsSetDev*() prototypes added.
* include/ctoharb.h
! Double copyright header fixed.
* source/vm/hvm.c
% w += 1 -> w++
19991011-23:54 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/fm.c
+ Newline readded to the closing //INFO message ;)
* source/rdd/dbfcdx/dbfcdx1.prg
- Removed the Inithandler/LockErrHandler since they are not there in
Clipper.
19991011-14:20 EDT David G. Holm <dholm@jsd-llc.com>
* source/rtl/set.c
! Corrected handling of NIL second parameter for SET() when the
first parameter is _SET_ALTFILE, _SET_DEVICE, _SET_EXTRAFILE,
or _SET_PRINTFILE.
19991011-19:30 GMT+1 Bruno Cantero <bruno@issnet.net>
* source/rtl/dummy.prg
- Removed dbSetFilter(), dbClearFilter() and dbFilter() functions.
* include/rddapi.h
* source/rdd/dbcmd.c
* source/rdd/dbf1.c
* source/rdd/dbfcdx/dbfcdx1.c
* Fixed SET DELETED.
+ Added dbClearFilter(), dbFilter() and dbSetFilter() functions.
* doc/funclist.txt
* Updated status of dbSetFilter(), dbClearFilter() and dbFilter() functions.
* tests/testrdd.prg
* Fixed a bug.
* tests/testdbf.prg
* Now test dbClearFilter(), dbFilter() and dbSetFilter() functions too.
19991011-04:59 GMT+8 Ron Pinkas <Ron@Profit-Master.com>
* harbour.y
+ SetLastPushPos() to bookmark position of last possible redundant push.
+ RemoveExtraPush() to reset pFunc->lpCodePos to last known bookmark - in effect removing redundant last push.
19991011-13:42 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/vm/hvm.c
* Finally fixed. Victor changed a wrong one I posted and
then all the stack underflow mess started. Everything is ok now.
19991011-10:40 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
! __vmVarSList() <-> __vmVarSGet(), the function names were mistakenly
exchanged, now OK.
% __vmVarSGet() - Simplified.
* source/vm/hvm.c
! HB_P_NOOP - Caused an infinite loop, fixed. (again)
% hb_vmPlus(), hb_vmMinus() - Two returns from inside removed. (again)
19991011-10:04 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/classes.c
+ little change to fix Super accesses
* source/vm/hvm.c
+ little change to fix Super accesses
* include/extend.h
+ struct BASEARRAY new uiPrevHolders member added
19991010-23:30 GMT+1 Bruno Cantero <bruno@issnet.net>
+ source/rdd/dbcmd.c
+ source/rdd/dbf1.c
+ Added support for SET DELETED.
* Changed default extension from .DBF and .DBT to .dbf and .dbt
* source/rdd/dbfcdx/dbfcdx1.c
* Changed default extension from .FPT to .fpt
* tests/testdbf.prg
* Now test SET DELETED command too.
+ source/rdd/dbfcdx/Makefile
+ Added missing file.
19991010-15:05 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
+ ISDISK() undocumented Clipper 5.3 function added.
! DISKCHANGE() fixed to call hb_fsChDrv() with the right parameter.
! hb_fsIsDrv(), hb_fsChDrv() return value fixed, since it returned the
reverse of the proper value.
* int types converted to USHORT for uiErrorOld variables.
19991010-14:03 GMT+1 Victor Szel <info@szelvesz.hu>
* bin/*.bat
+ dbfcdx lib added.
19991010-13:36 GMT+1 Victor Szel <info@szelvesz.hu>
* source/vm/hvm.c
! HB_P_NOOP - Caused an infinite loop, fixed.
% hb_vmPlus(), hb_vmMinus() - Two returns from inside removed.
19991010-13:26 GMT+1 Bruno Cantero <bruno@issnet.net>
* include/rddapi.h
* source/rdd/dbcmd.c
+ Added undocumented parameters:
dbCreate( cFileName, aStruct, cRDD, lNew, cAlias, cDelimiter )
lNew: if specified, the created file will also be opened. If .F. this will be done
in the current workarea; if .T. this will be done in the next available.
cAlias: Alias for the workarea.
cDelimiter: for the DELIM driver (not implemented yet).
* source/rdd/dbf1.c
* SELF_OPEN(), now generate an error with retry possibility.
* SELF_OPENMEMFILE(), now generate an error with retry possibility.
* SELF_CREATE(), now generate an error with retry possibility.
* SELF_CREATEMEMFILE(), now generate an error with retry possibility.
* SELF_INFO(), more values.
+ source/rdd/dbfcdx/Makefile
+ source/rdd/dbfcdx/dbfcdx0.prg
+ source/rdd/dbfcdx/dbfcdx1.c
+ Files for the DBFCDX driver.
+ .DBT and .FPT file memos.
* rdd.b32
* makefile.vc
* config/global.cf
* tests/bld_vc.bat
* Added new driver.
* tests/testdbf.prg
* Test for undocumented parameters in dbCreate()
* Test for the DBFCDX driver.
19991010-13:25 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/rtl/console.c
* replaced USHORT for SHORT in adjust_pos
*source/rtl/filesys.c
* added WATCOMC branch for drive related functions
We really need documentation here !
QUESTION: Does drive numbering start from 0 or 1 ?
Is a A: drive numbered as 0 or 1 ?
*source/compiler/harbour.l
*source/compiler/harbour.y
* { 1, 2, 3 }[ 2 ] syntax is supported now
19991010-12:22 GMT+1 Victor Szel <info@szelvesz.hu>
* source/compiler/genc.c
source/compiler/genhrb.c
source/compiler/harbour.y
source/vm/hvm.c
% HB_P_STATICS now stores the number of statics in the pcode command
itself and doesn't POP it from the stack. This causes a small speedup
in the STATIC init code.
* source/compiler/harbour.y
source/compiler/genc.c
include/compiler.h
+ /gc0 switch added to generate C code without comments, this makes it
about 30% percent smaller, good for large code bases.
19991010-07:28 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/classes.c
- Undone latest changes from Eddie
* source/vm/hvm.c
- Undone latest changes from Eddie
* include/extend.h
- Undone latest changes from Eddie
(Eddie, I find your proposal very good -as all your ideas and code-
but this one is uncompleted and breaks actual Harbour OO architecture)
19991010-02:05 GMT+1 Victor Szel <info@szelvesz.hu>
* bin/*.bat
! Some minor fix in the help screens
* doc/funclist.txt
+ Changed the format, now the third column (which was not in use) is
meant to store the platform and multithreading support information.
* source/compiler/harbour.y
+ One TODO added.
* include/*.api
include/assert.ch
include/common.ch
include/fileio.ch
include/harbour.ch
include/hbclass.ch
include/hbextern.ch
include/hbmemvar.ch
include/hboo.ch
include/inkey.ch
include/reserved.ch
include/std.ch
include/clipdefs.h
include/filesys.h
source/rtl/filesys.c
source/rtl/console.c
! FM_ #define names replaced with FD_ ones for Clipper compatibility.
! FXO_, FL_ #defines moved to filesys.h from filesys.ch for full compat.
! *.API guard names made compatible.
! Some missing #defines added to .API files (assert.ch, filesys.api)
! Small compatibility enhancement in extend.api (XDOUBLE)
! Guard names adjusted (mostly where filenames have changed).
+ Missing guard added to hbextern.ch
+ Harbour only #defines in compatbility headers prefixed with HB_
* Makefile
+ Added the samples to the make process, but it's commented out.
19991009-22:19 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/compiler/harbour.y
* a[ b ]:c expressions fixed.
19991007-19:40 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/mankala.prg -> samples/misc/mankala.prg
tests/guess.prg -> samples/misc/guess.prg
tests/Makefile
* Sample type of tests moved to /samples directory
* samples/hscript/guest*.* -> samples/guestbk/*.*
* Separated hscript and guestbk.
* samples/hscript/*.bat
samples/guestbk/*.bat
+ Borland build batch files updated, standardized.
! Fixed some issues, hb_OSNewLine() usage added, some RTL function
names updated, minor fixes applied, now both works with the GNU make
system (tested with MINGW32)
+ samples/Makefile
samples/guestbk/Makefile
samples/hscript/Makefile
samples/misc/Makefile
+ GNU make files added for the samples.
They are currently not invoked by the mainstream make process, but
can be invoked manually.
* tests/testcgi.prg
% Got rid of s_cNewLine, so the HTML class no longer requires this
variable.
19991008-20:00 CET Eddie Runia <eddie@runia.com>
* include/extend.h
uiPrevCls added to BASEARRAY
* source/rtl/classes.c
PrevCls set with previous class when using Super
* source/vm/hvm.c
Previous class handle restore _after_ retrieving the method
+ tests/inhprob.c
Test program
19991008-15:42 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/rdd/dbcmd.c
* removed all direct modifications of memory buffers returned
by hb_parc() function
19991008-06:31 EDT Paul Tucker <ptucker@sympatico.ca>
* source\compiler\genc.c
+ && !defined(_MSC_VER) on generation of #pragma startup
19991007-23:18 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/tclass.prg
* Method SetType() small fix (missing else).
19991007-17:37 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rdd/rddsys.prg
! Now using __rddSetDefault() instead of rddSetDefault(). This is
required because at this point the requested RDD may not be
registered and __rddSetDefault() will count with this.
* source/rdd/dbcmd.c
! dbSetDriver() now throws the same error as Clipper.
+ __rddSetDefault(), alternate version of rddSetDefault() added
which will not make any errors.
* source/compiler/expropt.c
+ Small formatting fixes, file description fixed.
* include/gtapi.h
source/rtl/gtapi.c
source/rtl/console.c
* short -> SHORT
+ doc/cvshowto.txt
+ Text file describing the CVS update process.
19991007-17:55 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/coompiler/expropt.c
* added RCS Id header
* added Ron Pinkas as copyright holder because he is the
initial creator of this code
19991007-11:30 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
* removed symbols.obj from compiler - I thought it needed it, but not so.
* shortened filelist for Harbour.exe to $**
19991007-17:00 GMT+2 Ryszard Glab <rglab@imid.med.pl>
*source/compiler/harbour.y
*source/coompiler/expropt.c
*include/compiler.h
* moved all code related to checking of expressions value type
into th enew expropt.c file - it should be a good starting
point for the expressions optimalizer
* many coorections (rtl_test.prg doesn't GPF now when compiled
with -w option) - however this type checking didn't worked correctly
and it still doesn't work
* moved PSTACK_VAL_TYPE stucture into expropt.c
*source/compiler/harbour.y
* applied changes posted by Eddie Runia to correct compile
a:b[ 1 ]:c syntax
*source/compiler/Makefile
*makefile.b32
*makefile.vc
* added expropt.c (not tested)
*source/rtl/dates.c
* change in #include (error in Linux)
<sys\timeb.h> -> <sys/timeb.h>
19991007-09:16 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/tclass.prg
* Method SetType() defaults init value to .f. when AS LOGICAL is specified.
19991007-01:02 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/readkey
19991007-02:57 GMT+1 Victor Szel <info@szelvesz.hu>
* include/filesys.h
source/rtl/filesys.c
! UINT_MAX changed to USHORT_MAX
* source/tools/fileread.prg
+ "s_" prefix added to STATIC variable name.
* source/rdd/dbcmd.c
! RDDSETDEFAULT() now throws an error if a non-existing RDD name
is passed. Like in Clipper.
+ TOFIX: added about directly modified hb_parc() buffers.
* source/rtl/tget.prg
! Mistyped object variable names corrected.
! :display now leaves to cursor at a Clipper compatible position.
Cursor is positioned explicitly after internal :display calls.
* source/rtl/tgetlist.prg
+ missing DateMsg() method added.
19991006-20:20 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
* changed mainstd.c to main.c
19991007-01:42 GMT+1 Victor Szel <info@szelvesz.hu>
* include/filesys.h
source/rtl/filesys.c
% Only use hb_fsReadLarge() and hb_fsWriteLarge() when the size of an
unsigned int is not the same as the size of an unsigned long.
(Same logic as for xmem*() functions)
* source/rtl/dummy.prg
- ReadKey() removed.
19991007-01:16 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/vm/main.c (added)
source/vm/Makefile
include/hbsetup.h
+ main.c added as an includer for mainwin.c or mainstd.c, selectable
via #defines in hbsetup.h, or via command line, just like the GTAPI
and MOUSEAPI selection. Can be used from all build systems.
* source/rtl/memoline.c
! Small formatting fix.
19991006-18:55 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
* corrected creation of hbrun.exe
19991006-17:05 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/gtapi.c
* enable dispbegin/end calls in gtBox
19991006-21:08 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/classes.c
* Fixed bug for CLASSDATAs INIT clause on inherited classes.
19991006-15:05 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/dummy.prg
* move -DHARBOUR_OBJ_GENERATION flag to harbour.exe generation only
* source/rtl/memoline.c
* added a cast (again) on xgrab call.
19991006-20:11 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/tgetlist.prg
! ReadExit() added back as method.
19991006-19:14 GMT+1 Antonio Linares <alinares@fivetech.com>
* source/rtl/classes.c
* Fixed bug for CLASSDATAs INIT clause.
19991006-18:34 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/filesys.c
include/hbdefs.h
! BIN2I() sign bug fixed
Thanks to gjd@casema.net <Gerrit Jan Doornink>
* source/rtl/dummy.prg
! Fixed some return values.
19991006-11:20 EDT David G. Holm <dholm@jsd-llc.com>
* config/os2/icc.cf
+ Added way to select startup model using HB_MAIN,
because ICC won't resolve main() from vm library.
* tests/Makefile
+ Added HB_MAIN=std (but only if HB_MAIN not already set).
+ Added devtest.prg
+ Added disptest.prg
+ tests/devtest.prg
+ New module to test Clipper device compatibility.
+ tests/disptest.prg
+ New module to test Clipper display compatibility.
19991006-14:35 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/dummy.prg
source/rtl/Makefile
source/rtl/rddord.prg
include/hbextern.ch
source/runner/stdalone/external.prg
+ All not yet implemented function skeletons added or moved to dummy.prg
so that the number of unresolved externals will be reduced, and we can
have a better view about what is left to do. Also updating EXTERNAL.PRG
and HBEXTERN.CH will not be needed so frequently.
* doc/funclist.txt
source/rtl/readkey.prg
source/rtl/Makefile
+ READKEY() added.
* doc/funclist.txt
+ ORDCONDSET() added to the TODO list.
* source/runner/stdalone/external.prg
include/hbextern.ch
+ MEMOLINE()/MLCOUNT() added.
* tests/run_tsta.bat -> tests/run_test.bat
* Renamed.
+ Comments.
* tests/run_b32.bat -> tests/bld_b32o.bat
! Small fix.
* Renamed.
!! WARNING !! Please modify non-GNU make files.
19991006-13:19 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/memoline.c
source/rtl/mlcount.c
! TAB handling fixes for MEMOLINE() and MLCOUNT() by
Ignacio Ortiz de Z<>niga <ignacio@fivetech.com>
* All USHORTs changed to ULONG.
19991006-13:05 GMT+1 Victor Szel <info@szelvesz.hu>
* source/rtl/tclass.prg
! Reformatted (again)
* include/rdd.api
include/item.api
include/gt.api
include/error.api
include/extend.api
+ Copyright added.
* source/rtl/gtxxx.c
source/rtl/mousexxx.c
% Simplified the include logic, got rid of #error, since it was now
obsolete.
* source/rtl/memoline.c
source/rtl/gtapi.c
! Some minor formatting fixes.
19991006-12:10 GMT+1 Victor Szel <info@szelvesz.hu>
* include/extend.h
rdd/dbcmd.c
rtl/arrays.c
rtl/classes.c
rtl/codebloc.c
rtl/dates.c
rtl/errorapi.c
rtl/extend.c
rtl/itemapi.c
runner/runlib.c
vm/debug.c
vm/hvm.c
* stack -> hb_stack
Global variable name renamed to protect non-Harbour namespace.
* doc/funclist.txt
+ Updated (as per Chen Kedem)
* tests/funcarr.prg
tests/inherit.prg
tests/objarr.prg
tests/objasign.prg
! Debug function name changes applied (reported by David)
* source/rtl/environ.c
! Indentation fix (old one).
19991006-10:44 GMT+1 Victor Szel <info@szelvesz.hu>
* ChangeLog
! Fixed deleted entries, missing entries, conflict markers,
double entries.
* include/Makefile
+ harbour.ch added
* include/harbour.ch
! Some minor fixes.
19991006-07:41 GMT+1 Antonio Linares <alinares@fivetech.com>
* makefile.b32
+ mising include source\compiler path compiling harboury.c
* source/rtl/classes.c
+ Added support for CLASSDATAs INIT clause.
* source/rtl/tclass.prg
+ Added support for CLASSDATAs INIT clause.
* include/hboo.ch
+ new defines added for CLASSDATAS.
19991006-00:30 GMT+1 Jose Lalin <dezac@corevia.com>
* source/rtl/natmsg/msgeu.c
! full translated.
Thanks to Nicolas del Pozo <niko@geroa-informatica.com>
* source/rtl/natmsg/msgga.c
* small changes
19991006-01:10 EDT David G. Holm <dholm@jsd-llc.com>
* source/rtl/dates.c
% SECONDS() now uses ftime() and localtime() for all platforms.
* source/rtl/environ.c
+ Added HB_VERSION() changes supplied by Jose Lalin with
corrections for the compiler version and revision for
Borland C 3.1 and 5.x, Cygnus GCC with Cygwin,
Cygnus GCC with Mingw32, and Delorie GCC.
* source/rtl/set.c
+ Added HB_DEFPATH() and HB___DEFPATH() supplied by Jose Lalin.
* include/extend.h
* source/rtl/fm.c
% Only use hb_xmemcopy() and hb_xmemset() when the size of an
unsigned int is not the same as the size of an unsigned long.
* include/gtapi.h
* source/rtl/console.c
* source/rtl/gtapi.c
! DEVPOS(), SETPOS(), console cursor position, and console display
functions modified for improved Clipper compatibility.
19991005-23:20 EDT Paul Tucker <ptucker@sympatico.ca>
+ include/harbour.ch
* This file is meant as a repository of defines or translations needed
to allow CA-Clipper to compile programs that take advantage of any
Harbour specific extensions or additions to the language.
Currently, it only handles a substitute for HB_OsNewLine()
19991006-03:02 GMT+1 Victor Szel <info@szelvesz.hu>
* include/extend.h
source/rtl/arrays.c
source/rtl/classes.c
source/rtl/do.c
source/rtl/itemapi.c
source/vm/hvm.c
* hb_g_symEval -> hb_symEval
* source/vm/mainwin.c
* hb_g_* -> hb_*
* source/vm/hvm.c
! aStatics made static now for sure.
* source/rtl/strings.c
! Typo fixed.
* source/rtl/memoline.c
! Formatting fix.
19991005-20:35 EDT Paul Tucker <ptucker@sympatico.ca>
* source/rtl/memoline.c
* add a cast on xgrab call.
19991006-02:26 GMT+1 Victor Szel <info@szelvesz.hu>
* include/set.h
source/rtl/set.c
source/rtl/console.c
source/rtl/transfrm.c
! 64 changed to CLR_STRLEN in set.h
* Separate global "set" variables moved inside HB_SET_STRUCT
* include/caundoc.api
+ _bset, _bmove, _bcopy undocumented Clipper functions added, they are
mapped to mem*() functions.
* source/vm/main*.c
! Typo fixed.
19991006-00:32 GMT+1 Victor Szel <info@szelvesz.hu>
* include/extend.h
source/vm/debug.c
source/vm/hvm.c
* aStatics made static, prefixed with "s_"
__vmVarSGet(), __vmVarSList moved to hvm.c from debug.c
* source/vm/debug.c
include/hbextern.ch
source/runner/stdalone/external.prg
source/debug/debugger.prg
tests/debugtst.prg
* __APARAM -> __vmParLList
__GETLOCAL -> __vmVarLGet
__STATIC -> __vmVarSGet
__ASTATIC -> __vmVarSList
__GLOBALSTACKLEN -> __vmStkGCount
__AGLOBALSTACK -> __vmStkGList
__STACKLEN -> __vmStkLCount
__ASTACK -> __vmStkLList
Functions renamed.
* source/rdd/dbcmd.c
+ zeros changed to NULL/'\0'
* source/debug/debugger.prg
source/rtl/menuto.prg
source/rtl/setkey.prg
source/rtl/tclass.prg
source/rtl/terror.prg
source/tools/fileread.prg
+ static var names prefixed with "s_" in all .PRG modules.
* source/rtl/console.c
doc/funclist.txt
+ DISPOUTAT() undocumented Clipper function added.
* include/extend.h
source/rtl/arrays.c
source/rtl/classes.c
source/rtl/do.c
source/rtl/itemapi.c
source/vm/hvm.c
* symEval -> hb_g_symEval
Global variable prefixed with "hb_g_".
19991005-17:30 EDT Paul Tucker <ptucker@sympatico.ca>
* makefile.vc
+ source/rtl/mlcount
+ source/rtl/memoline
+ source/vm/mainstd (for now)
+ source/rtl/rddord
* gtapi.obj moved to terminal.lib
* duplicate console.obj removed from terminal.lib
(as reported by Gerrit Jan Doornink <gjd@casema.net>)
Tue Oct 05 14:44:16 1999 Gonzalo A. Diethelm <Gonzalo.Diethelm@jda.cl>
* source/rtl/filesys.c (hb_fsTell):
Replaced use of tell() with an equivalent call to lseek(), so that
this is supported under gcc.
19991005-20:34 GMT+1 Victor Szel <info@szelvesz.hu>
* include/hbextern.ch
source/runner/stdalone/external.prg
- One of the two HB_OSNEWLINE removed.
+ source/rtl/memoline.c
source/rtl/Makefile
doc/funclist.txt
+ MEMOLINE() added
(thanks to Ignacio Ortiz de Z<>niga <ignacio@fivetech.com>)
!! WARNING !! Please modify non-GNU make files.
19991005-18:20 GMT+1 Victor Szel <info@szelvesz.hu>
+ source/rtl/rddord.prg
source/rtl/Makefile
+ dbCreateIndex()
dbSetIndex()
dbClearIndex()
dbReindex()
dbSetOrder()
IndexExt()
IndexKey()
These will not work yet, since they are simple wrapper to the ord*()
functions. Just like in Clipper.
!! WARNING !! Please modify non-GNU make files.
19991005-18:02 GMT+1 Victor Szel <info@szelvesz.hu>
* tests/rtl_test.prg
+ Added more complete tests for <,>,<=,>=,!= operators.
* source/vm/hvm.c
% hb_vmPopDate() is no more checking the type of the popped value, and
the related unrecoverable error is also removed, since the callers
do this check before each call.
* Some more function grouping, small corrections.
! hb_vmLess(), hb_vmLessEqual(), hb_vmGreater(), hb_vmGreaterEqual()
some cases were not handled, so stack corruption could occure, when
two ARRAY/BLOCK/OBJECT were compared. Fixed.
! hb_vmNotEqual() fixed for ARRAY/OBJECT/BLOCK types.
* source/vm/hvm.c
include/pcode.h
source/compiler/genc.c
source/compiler/genhrb.c
source/compiler/harbour.y
* HB_P_GENARRAY -> HB_P_ARRAYGEN
* HB_P_DIMARRAY -> HB_P_ARRAYDIM
!! WARNING !! Please rebuild all .PRG files, since the pcode values have
changed.
* include/hbver.h
+ Revision set to "a"
* source/compiler/harbour.c
+ isatty.c put back in order.
* source/compiler/main*.c
+ Some small cleanups.
19991005-14:41 GMT+1 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:55 GMT+1 Jose Lalin <dezac@corevia.com>
* source/rtl/filesys.c
+ missing FSETDEVMOD()
+ hb_fsTell()
+ hb_fsSetDevRaw()
+ hb_fsSetDevText()
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.