* harbour/source/macro/macro.yyc
* harbour/source/macro/macro.y
* harbour/source/macro/macrolex.c
! allow to use 'FIELD' and '_FIELD' as variable/function/field name.
* allow to use 'IF' and 'IIF' as variable/field name.
* harbour/common.mak
* harbour/source/rtl/Makefile
+ harbour/source/rtl/hbhex.c
* added HB_HEXTONUM() and HB_NUMTOHEX()
* harbour/include/hbcompat.ch
* added trnaslation rules for expresions in parentheses which use
new xHarbour operators: HAS, IN, LIKE, &, |, ^^, >>, <<
Please note that only code which uses above operators in parentheses
will be translated, f.e. this code will not be translated:
if cVal1 IN cVal2
nVal := nVal1 | nVal2 | nVal3 | nVal4
endif
will not be translated but this one will:
if ( cVal1 IN cVal2 )
nVal := ( nVal1 | nVal2 | nVal3 | nVal4 )
endif
* harbour/contrib/tip/thtml.prg
* harbour/contrib/tip/thtml.ch
+ added $\Id
* harbour/source/rtl/hbbit.c
+ added $\Id
! fixed typo in HB_BITSHIFT()
* harbour/source/rtl/cdpapi.c
! fixed possible GPF and some other problems in HB_TRANSLATE()
* harbour/source/rtl/dateshb.c
* harbour/source/rtl/datesx.c
* harbour/source/common/hbdate.c
* make STOD() exact Clipper compatible
* harbour/source/rtl/gttrm/gttrm.c
* restore default color on exit
* harbour/source/rdd/dbf1.c
* cleaned few warnings
* harbour/make_tgz.sh
* harbour/make_gnu.sh
* if HB_WITHOUT_GTSLN not set then check if slang.h exists
in one of known locations and set HB_WITHOUT_GTSLN automatically
* harbour/common.mak
! removed double quotas from files extension definitions
Neither Borland make nor NMake can accept them, sorry my
fault but I used to work with GNU make
* harbour/makefile.vc
- removed recently added by J. Lefebvre Mafact alternative verion
of file extnesions. Thank you for your help but it was my mistake
and the default definitions in common.mak should not use quotas
* harbour/source/rtl/datesx.c
* harbour/source/common/hbdate.c
* accept date strings longer then 8 characters in STOD() just like
in CT3
* changed casting in date decoding code to be strict Clipper compatible
and cover date string validation by HB_C52_STRICT macro.
Now STOD() can give _EXACTLY_ the same results as Clipper for wrong
date strings if you disable code covered by #ifndef HB_C52_STRICT
in hb_dateStrGet(). It fixes errors reported by hbtest in:
stod("19 90905") -> "17490905"
stod("199 0905") -> "19740905"
but I do not know if you want to have it as default.
* harbour/source/rtl/gtsln/gtsln.c
! fixed variable declaration to be ANSI C compatible
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/gtdos/gtdos.c
* harbour/source/rtl/gtwin/gtwin.c
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtsln/gtsln.c
* harbour/source/rtl/gttrm/gttrm.c
* harbour/source/rtl/gtpca/gtpca.c
* harbour/source/rtl/gtcgi/gtcgi.c
* added support for CP translation in OUTSTD()/OUTERR() when
they are not redirected to console
* harbour/bin/hb-func.sh
* harbour/harbour.spec
* added description for -L<path> in hb* scripts
* harbour/include/hbapicls.h
* harbour/source/vm/classes.c
* changed hb_objSendMsg() and hb_objSendMessage() to return
hb_stackReturnItem() - xHarbour users asked about it. It does
not change binary compatibility with existing code.
* harbour/common.mak
* replaced some hard coded values like file extensions with variables
for future use on other platforms
* harbour/contrib/mysql/mysql.c
* changed code to not use non standard function filelength()
and optimized
* harbour/source/compiler/cmdcheck.c
* recognize --version on platforms where '-' is option separator
* harbour/source/compiler/hbusage.c
* changed syntax description from:
Syntax: harbour <file[s][.prg]> [options]
to:
Syntax: harbour <file[s][.prg]|@file> [options]
* harbour/source/rtl/gttrm/gttrm.c
* use ECMA-48 compatible sequence to disable bold intensity also
on Linux terminals (one byte longer but will work also in some
non Linux terminals which do not emulate it well)
* use STDIN handle for full screen output when STDOUT redirected
to non terminal device, f.e. file.
* harbour/include/hbgtcore.h
* harbour/source/rtl/gtchrmap.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gttrm/gttrm.c
+ added 3-rd parameter BOOL fSetACSC to hb_gt_chrmapinit() function
* initialize ACSC translation for XTERM like terminals when
hb_charmap.def file cannot be found or there is no valid
section for used terminal
+ harbour/tests/gtchars.prg
+ harbour/tests/gtcolors.prg
+ harbour/tests/gtkeys.prg
+ added test ptograms for GT drivers to test all character output and
automatic CP translation, colors settings and keyboard/mouse input
* harbour/bin/pack_src.sh
+ added GTTRM to compressed file list
* harbour/include/hbgtcore.h
+ added HB_GT_ATTR_UNDEF
* harbour/source/rtl/hbgtcore.c
* minor cleanup in COLD() method
* harbour/source/rtl/gtchrmap.c
* disable control characters when hb_charmap.def file cannot be found
or there is no valid section for current terminal inside
* harbour/source/rtl/gttrm/gttrm.c
- removed OUTERR() and OUTSTD() method - the default one are enough
+ set CLIPKEY flag in GTI_ADDKEYMAP
* harbour/source/rtl/gtchrmap.c
* removed 'static const' from s_szDefaultCharMapFile declaration
I forgot that it was used by some build scripts I made public
few years ago - I'll change these declaration when I'll add
alternative method of changing default charmap file.
* harbour/source/rtl/gttrm/gttrm.c
+ added support for SetBlink(.f.) working like in GTCRS and GTSLN.
We cannot change from the server side the interpretation of BLINK
attribute in 99% of terminals (it has to be done on client side)
so SetBlink(.f.) simply disables sending BLINK attribute to terminal.
* harbour/include/hbgtinfo.ch
+ added GTI_ADDKEYMAP and GTI_DELKEYMAP
* harbour/include/hbapicdp.h
* harbour/source/rtl/cdpapi.c
+ added const to declarations of some function parameters
* harbour/include/hbgtcore.h
* harbour/source/rtl/Makefile
+ harbour/source/rtl/gtchrmap.c
* harbour/source/rtl/gtcrs/Makefile
- harbour/source/rtl/gtcrs/chrmap.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtcrs/gtcrs.h
* hb_gt_chrmapinit() common function now for different GT drivers
* minor cleanup in GTCRS code
* harbour/include/hbcompat.ch
+ added some new translation rules
* harbour/include/hbapi.h
* cleanup comment
* harbour/source/pp/ppcore.c
! fixed line numbering when errors are reported in different order
due to preprocessing extended code block
+ harbour/source/rtl/gttrm
+ harbour/source/rtl/gttrm/Makefile
+ harbour/source/rtl/gttrm/gttrm.c
+ added new GT driver - it's terminal driver like GTCRS and GTSLN
but it does not use any external library like [N]CURSES or SLANG
so it can be compiled in nearly all POSIX systems. It's not such
flexible like curses or slang base drivers because instead of
using termcap/terminfo databases to extract terminal capabilities
it uses some hard coded sequences for few terminals (now Linux, ANSI,
XTERM) but it should cover users requests in 95% of cases. Terminals
I tested are quite well supported (GTTRM works even better then GTCRS
or GTSLN and is much faster in full screen mode - 2-4 times).
I noticed that most terminal emulators works much better with GTTRM
then with GTCRS or GTSLN due to limited list of used escape sequences
so some minor differences in each terminal implementation are not
noticeable. GTTRM automatically detects ISO/UTF8 terminal mode and
chose valid output what should also help *nix users.
Now I would like to ask BSD and MacOSX users to test GTTRM in these
systems with pure text console and XWindow terminal emulators. I'm
interesting in any problems you may found.
* harbour/source/vm/hvm.c
+ added protection for possible GPF caused by wrong .prg code
* harbour/source/vm/maindllp.c
% store function addreses in static variables to improved execution
speed
+ added support for compilers which does not use "_" as function prefix
+ added support for using with harbour*.dll
* harbour/source/vm/memvars.c
+ added new method of detaching enumerators and array item references
covered by HB_COMPAT_XHB macro. xHarbour does not work in such way
but the final results are similar.
* harbour/source/vm/dynlibhb.c
+ added protection against passing wrong pointer items to HB_LIB*()
functions
* harbour/source/common/reserved.c
* cleaned warning
* harbour/bin/hb-func.sh
* harbour/config/hpux/global.cf
* harbour/config/darwin/global.cf
* harbour/config/linux/global.cf
* harbour/config/sunos/global.cf
* harbour/config/bsd/global.cf
+ added GTTRM to library list
* harbour/doc/whatsnew.txt
* harbour/harbour.spec
* harbour/include/hbver.h
* small information about new release
* updated version number to 1.1.1
* tagged as build48
* harbour/doc/whatsnew.txt
* harbour/harbour.spec
* harbour/include/hbver.h
* small information about new release
* updated version number to 1.1.1
* tagged as build48
* harbour/include/hbcompat.ch
+ added translation rules for extended code blocks
* harbour/source/compiler/gencc.c
* cleaned C compiler warnings in -gc3 output and SWITCH <exp>
statement
* harbour/source/compiler/complex.c
* harbour/source/compiler/harbour.y
* harbour/source/compiler/harbour.yyc
* allow to use 0d0 and 0d00000000 as empty date value
* harbour/source/pp/Makefile
* workaround for problems with some GNU make versions,
f.e. 3.76.1 on OS2
* harbour/contrib/rdd_ads/ads1.c
* cleaned BCC warning
* harbour/include/hbapi.h
* harbour/source/vm/arrays.c
+ added set of hb_arraySet*() functions - I hope they will help 3-rd
party developers to eliminate using C stack level HB_ITEM and
reduce usage of potentially danger function like hb_arrayGetItemPtr()
* harbour/include/hbapiitm.h
* harbour/source/vm/itemapi.c
+ added hb_itemReturnRelease()
* harbour/include/hbcompat.ch
+ added hb_pvalue() <-> pvalue() translations
* harbour/source/vm/pvalue.c
+ added support for 2-nd parameter for assugb operation, f.e. now
hb_pvalue( 3, "abc" )
sets "abc" to 3-rd function parameter
* harbour/source/compiler/gencc.c
* harbour/source/compiler/hbopt.c
! fixed two buggy optimizations
* harbour/source/compiler/genc.c
* allow to use #pragma begindump / enddump in .prg files without
any .prg code
* harbour/source/vm/hvm.c
! fixed assign in overloaded []
* harbour/harbour.spec
* restored original national characters which were unintentionally
damaged on 2006-06-29 08:25 UTC+0200 Tomaz Zupan
Toma¾ please do not use editors which will change national characters
in the whole file when you will change harbour.spec in the future
* harbour/harbour.spec
* some minor cleanups in Requires section and added %{epoch}
* harbour/make_rpm.sh
* build Harbour GD library only when GD 2.0 or newer is installed
* harbour/include/hbapicls.h
* changed extern hb_bProfiler to local HVM static variable
* harbour/source/vm/hvm.c
+ added two macros HB_NO_TRACE and HB_NO_DEBUG for these people
who needs/wants to test HVM speed without debugger support
and PRG call tracing - the difference is rather small
* harbour/contrib/hbzlib/zip.c
* cleaned some warnings
* harbour/contrib/ole2/w32ole.c
* harbour/contrib/ole2/win32ole.prg
* changed deinitialization code to allow using OLE in .prg object
destructors and user EXIT functions
* added support for FOR EACH overloading - not tested please check
% use BEGIN SEQUENCE WITH as TRY / CATCH replacement
* harbour/contrib/hbzlib/include/stdafx.h
* harbour/contrib/hbzlib/include/ziparchive.h
* cleaned some warnings
* harbour/include/hbexprb.c
* harbour/include/hbexprop.h
* harbour/source/common/expropt2.c
* restored Mindaugas code for UPPER optimization and added logic to
optimize UPPER for strings with only Latin letters, digit and spaces
just like in Clipper. Now code like:
? Upper( chr(65)+chr(66)+chr(67)+"0123 QWE asd " ) + "ZXC"
is fully optimized at compile time to single string expression.
% optimized hb_compExprReduceCHR() by eliminating memory allocation
for new string
! fixed typo in my previous commit