* contrib/xhb/xhb.ch
* contrib/xhb/xhbfunc.c
! xhb flavour of __KEYBOARD() synced with current xhb code.
* contrib/hbmisc/hb_f.c
! Swapped C file seek constants to Harbour ones.
* Minor cleanups and formatting.
* source/rtl/tbrowse.prg
! Committed patch to ::setPosition()
submitted by Prezemek on the devl list.
* source/rtl/tget.prg
* Minor changes. Copyright updated.
* contrib/rddads/adsfunc.c
+ Added these functions:
ADSCREATESAVEPOINT() (for ADS 8 and above)
ADSROLLBACKSAVEPOINT() (for ADS 8 and above)
ADSDDCREATELINK() (for ADS 9 and above)
ADSDDMODIFYLINK() (for ADS 9 and above)
ADSDDDROPLINK() (for ADS 9 and above)
+ Extended AdsMgGetUserNames() to return aucAuthUserName,
aucOSUserLoginName and aucTSAddress from ADS_MGMT_USER_INFO
structure. Only available for ADS >= 8.
; Borrowed from xhb / Luiz Rafael Culik.
* contrib/rddads/ads1.c
+ Made it compile with ADS 9.
* contrib/rddads/adsmgmnt.c
! Fixed ADS_VER -> ADS_REQUIRE_VERSION
* source/rtl/tget.prg
+ Some protected object vars renamed to better show their roles.
! Fixed ::setFocus() to not mess with width related vars.
! Fixed ::PutMask() to not mess with display width.
! Fixed ::varPut() to only accept certain var types.
! Fixed ::picture() to more consistently reset picture related vars.
! Hack added to ::Reform() to try to set ::nDispLen like CA-Cl*pper.
! Fixed ::posInBuffer() to only work when in focus.
(I didn't test if this is XPP compatible, but it surely avoids
a possible RTE now.)
! Removed ::display() non-compatible 'lForce' parameter.
! Minor cleanups.
; NOTE: Now o[16] (aka ::nDispLen) is almost totally CA-Cl*pper
compatible.
* tests/rto_get.prg
+ Added some more tests.
* source/rtl/tget.prg
! Fixed o[13] and o[14] content (they were swapped) in C5.3 mode.
! Fixed ::varPut() to not have the extra Harbour parameter.
! Fixed ::picture to not mess with ::nDispLen when @S is used.
Now solved with new internal var ::nPicLen.
% ::ResetPar() internal method moved inside ::display()
! Fixed ::updateBuffer() to set ::xVarGet (o[19] in C5.3 mode
and o[11] in C5.2 mode when ::hasFocus) to ::original.
! Fixed ::display() behavior when not in focus.
! Fixed ::reset() to be more compatible by setting ::xVarGet.
! Fixed ::undo() for non-gettable variable types.
! Fixed ::killFocus() to never call ::assign().
! Fixed ::varPut() to never touch internal vars (old 'lReFormat' mode).
! Fixed ::varGet() to not touch ::xVarGet internal var.
! Fixed ::insert()/::overStrike() to call ::display() in
out of bound and rejected cases.
! Fixed ::insert()/::overStrike() to not set ::Rejected
when position is out of bound.
! Fixed internal ::PutMask() to never initiate a ::block
evaluation.
; NOTE: Since Get() object is a highly complicated beast,
bumps are expected. Pls test this code with your
applications and report any problems with reduced
code snippet. I'll include those tests in the
regression test suite.
Notice that after these changes, the number of
differences between C5.x and Harbour are further
reduced, especially regarding the "object as array"
kind of access and regarding block evaluation.
Currently, differences are mostly present in o[16]
in C5.3 mode, plus some odd cases testing
mostly invalid picture values, and a few other minor
differences here and there. Plus of course further
differences may happen to exist in cases not covered
by rto_get.prg.
* source/rtl/einstvar.prg
! Fixed to only include _eInstVar() if HB_C52_UNDOC is
#defined (it is by default).
* source/rtl/tbrowse.prg
+ Added missing XPP methods (three synomyms to
existing methods).
* tests/rto_get.prg
+ Added even more tests.
+ Added some additional info about errors.
! Fixed ::block SETGET tracing.
* harbour/source/pp/ppcore.c
! fixed some combinations of user functions in stream pragmas, f.e.:
#pragma __cstream|f1(%s)|f2()
or:
#pragma __cstream||f2(%s)
+ added support for:
#pragma __[c]streaminclude "fileName"|<code with %s result marker>
f.e.:
#pragma __streaminclude "foo1.html"|cHtml:=%s
__cstreaminclude decode C like escape sequences, __streaminclude
doesn't do that and takes file body in raw form. Maximum file size
is arbitrary set to 65520.
* contrib/hbgd/gdimage.prg
! Fixed at gdimage.prg(271):
"Warning W0019 Duplicate declaration of Method 'GETTRUECOLOR'"
the method was having a INLINE to the gdImageTrueColorPixel() function
and the fix simply renamed the method name from 'GetTrueColor' to
'GetTrueColorPixel'. Please, someone used to the hbgd lib check if the
new method name is correct.
* harbour/source/debug/dbgbrwsr.prg
* respect oCol:colorBlock() used by debugger code in few places
* harbour/source/debug/dbgtobj.prg
* sort messages and show methods in lower letters just like Clipper
* harbour/source/debug/dbgtobj.prg
* harbour/source/debug/dbgthsh.prg
* harbour/source/debug/dbgtarr.prg
! added protection against RT error when user type wrong expression
in OBJECT, ARRAY and HASH inspectors
* harbour/include/hbclass.ch
* harbour/include/hbcomp.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/harbour.yyc
* harbour/source/compiler/harbour.y
! fixed -w3 warnings when class name is different then function name
* allow to overwrite predefined classes definitions
it's a dirty hack but current implementation of predefined
function and class declarations has to be rewritten from scratch
in the future so I make it intentionally - at least it resolves
some memory leaks like: harbour -n -w3 tbcolumn.prg
* harbour/config/rules.cf
* harbour/make_b32.mak
* harbour/make_gcc.mak
* harbour/make_vc.mak
* harbour/make_vcce.mak
* harbour/contrib/mtpl_b32.mak
* harbour/contrib/mtpl_gcc.mak
* harbour/contrib/mtpl_vc.mak
* changed default Harbour compiler switch -w2 to -w3
* harbour/contrib/xhb/xhbcomp.prg
* replaced repeated declarations by small hack
* harbour/utils/hbmake/tmake.prg
! fixed reported by -w3 repeated aDir declaration
* harbour/source/rtl/tbrowse.prg
* calculate frozen area size for 5-th element of array returned
by xbase++ compatible method :viewArea(). Viktor please check me.
If you can also describe what exactly TOFIX in :firstScrCol()
and :viewArea() means then maybe I can help - I do not have
xbase++ so I do not know what should be fixed.
* harbour/include/hbapicls.h
* harbour/source/vm/classes.c
+ added new function hb_dbgObjSendMessage() which allows to
call messages with given given execution context for proper
scope checking
* harbour/source/debug/dbgentry.c
+ added HB_DBG_SENDMSG() for calling messages with given execution
context
* harbour/source/debug/dbgtobj.prg
* removed all __obj*() function calls
* use HB_DBG_SENDMSG() to access/assign object variables
! fixed default value in GET operation called from object
inspector to always show current object variable value
! fixed set for object variables which hold value: "Method"
they were recognized as method
Now object variables can be inspected by debugger.
If object has multiple private messages with the same name
inherited from parent classes then their context will be
dynamically changed depending on position in currently
debugged code.
* source/rtl/tbrowse.prg
! Added some new lines to XPP methods.
* contrib/hbtip/thtml.prg
* contrib/hbtip/popcln.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/cgi.prg
* contrib/hbtip/url.prg
* contrib/hbtip/mail.prg
* contrib/hbtip/ftpcln.prg
! Fixed ambigous "=" and "!=" to "==" or ":="
or "!( == )" contructs.
Someone pls verify if these fixes are right in
the broader context.
* common.mak
* include/hbextern.ch
* source/rtl/Makefile
* source/rtl/checkbox.prg
* source/rtl/einstvar.prg
+ source/rtl/einstv52.prg
* source/rtl/listbox.prg
* source/rtl/pushbtn.prg
* source/rtl/radiobtn.prg
* source/rtl/radiogrp.prg
* source/rtl/tbcolumn.prg
* source/rtl/tbrowse.prg
* source/rtl/tget.prg
* source/rtl/tmenuitm.prg
* source/rtl/tpopup.prg
* source/rtl/ttopbar.prg
! _eInstVar() made compatible with C5.2 in C5.2 mode.
* Renamed _eInstVar52() -> __eInstVar52()
(Harbour internal function namespace)
* Renamed _eInstVar53() -> __eInstVar53()
(Harbour internal function namespace)
* __eInstVar52() moved to a separate file.
* Harbour now uses __eInstVar53() internally.
- make_os2_gcc.cmd
+ make_gnu_os2.cmd
* Renamed to align the filename with the rest of the
GNU make command files. Content unchanged.
TODO: TGET test case for my vtgetlst problem.
TODO: TGET fix for the above.
* tests/rto_get.prg
* tests/rto_tb.prg
+ Added more tests.
+ Enabled object as array results by default.
+ More details for TGet test results.
* bin/bld_os2.cmd
! Fixed lib names. Thanks David.
* source/rtl/tobject.prg
* Formatting.
* source/rtl/tget.prg
! Delimiter colors in C5.3 mode made compatible.
! ::colorSpec handling in C5.3 mode made compatible
for some invalid parameter types.
! Fixed handling decimals in :row, :col, :pos
methods.
! Fixed to compile in C5.2 mode without warning
(introduced in recent commit).
* source/rtl/tbrowse.prg
! Fixed handling decimals in :nTop, :nBottom, :nLeft, :nRight.
+ Added unfinished XPP method :viewArea()
+ Added untested XPP method :firstScrCol()
; Few minor formatting.
* include/hbextern.ch
* source/rtl/einstvar.prg
+ Added _eInstVar52() which is the C5.2 compatible version
of this function. It also replicates a bug.
* _eInstVar() renamed to _eInstVar53().
* _eInstVar() made a stub to call _eInstVar53().
* source/rtl/checkbox.prg
* source/rtl/listbox.prg
* source/rtl/pushbtn.prg
* source/rtl/radiobtn.prg
* source/rtl/radiogrp.prg
* source/rtl/scrollbr.prg
* source/rtl/symbol.prg
* source/rtl/teditor.prg
* source/rtl/tget.prg
* source/rtl/tget1.prg
* source/rtl/tgetlist.prg
* source/rtl/tmenuitm.prg
* source/rtl/tmenusys.prg
* source/rtl/tpopup.prg
* source/rtl/ttopbar.prg
* Formatting (EXPORT: -> EXPORTED:)
* contrib/hbtip/thtml.prg
* contrib/hbtip/ftpcln.prg
! Fixed to work regardless of SET EXACT setting.
; NOTE: I'd suggest an optional compiler warning
to detect plain "=" usage. It's bad practice
in most cases.
TODO: make_os2_gcc.cmd -> make_gcc_os2.cmd
TODO: TGET test case for my vtgetlst problem.
TODO: TGET fix for the above.
TODO: _eInstVar() -> _eInstVar53()
* harbour/source/rtl/tobject.prg
! fixed the problem with SET EXACT ON I introduced recently by mistake
* harbour/contrib/xhb/txml.prg
* harbour/contrib/hbw32/w32_tole.prg
* harbour/contrib/hbw32/w32_tprn.prg
* replaced some = use for assign or comparison with := or == when
it will have the same meaning.
Looks like some parts of TIP library will not work with SET EXACT ON
and should be updated.
* harbour/contrib/gtwvg/wvtcore.c
! fixed missing ; in last modification
* when wrong color string is passed from user code then use
hb_gtGetCurrColor()
* harbour/source/rtl/tbrowse.prg
* new TBrowse code - many thanks to Viktor Szakats for his help and
code and to all others who tested this implementation.
It should be very close to Clipper except some minor differences.
Most of them are bugs not replicated intentionally. In few cases
some of them like wrong positioning of logical columns with extended
size by oCol:picture expression the original Clipper behavior is
covered by HB_C53_STRICT macro (with cell overwriting during
navigation but without internal buffer overflows) but it should
be used rather for tests only not for normal applications.
I left three TODO notes in the code for some less important things
which maybe addressed in the future though they should not effect
99.99% of Clipper programs.
It's a new code so it's possible that it contains bugs so
if you will find any problems then please inform me.
Warning: This TBrowse implementation is strongly Clipper oriented.
It's neither compatible with previous Harbour nor xHarbour
one in intentional or unexpected differences to Clipper.
It also does not have any extensions which existed in the
old code. In the old code there was TODO note about some
xBase++ extensions - I do not have xBase++ so I cannot say
anything about it. If any of you things that they are
important then I can add them if group agree but I will
need detail description of additional methods and probably
results of some tests.
* harbour/include/hbapigt.h
* harbour/source/rtl/gtapi.c
! changed USHORT hb_gtColorToN( char * szColorString ) to
int hb_gtColorToN( char * szColorString ) - it should be the same
type as indexes in hb_gtColorsToString() functions
* harbour/source/rtl/hbgtcore.c
* return -1 from COLORNUM() method when passed color is not
valid color string
* harbour/contrib/hbct/screen2.c
* harbour/contrib/hbct/color.c
* harbour/contrib/hbct/screen1.c
* harbour/contrib/hbct/ctwfunc.c
* harbour/contrib/hbnf/color2n.c
* harbour/contrib/gtwvg/wvtcore.c
* updated to respect -1 returned for wrong color strings
* harbour/source/rtl/tget.prg
* updated to respect -1 returned for wrong color strings
Viktor please check me, now it's simpler and hbtest does not
reports any errors so I guess that this version will work like
in Clipper also for :colorSpec := "R,X,Y,0" or similar
* harbour/source/rtl/tobject.prg
* harbour/source/debug/dbgbrwsr.prg
* formatting
* tests/rto_tb.prg
+ Added some C5.3 var tests.
+ Added object as array info.
* Suppressed _eInstVar() difference by including
a strictly compatible copy of it for Harbour.
* Exclude incompatible binary array elements of the object.
* tests/rto_get.prg
* Exclude incompatible binary array elements of the object.
+ bin/bld_os2.cmd
+ Added OS/2 build command file.
; Someone pls test and update the content if needed.
* harbour/include/hbclass.ch
! removed:
MESSAGE <msgName> IS <mthName>
used as synonym of:
MESSAGE <msgName> METHOD <mthName>
If someone was using the removed version then please update the
code to MESSAGE ... METHOD ...
The removed command has special meaning in Class(y) and it allow
to define alternate names for existing messages. I'll add support
for them in the future.
* harbour/contrib/hbct/ctwin.c
* added disabled code which is a workaround for some possible
bad side effect caused by online shadow showing by CTWIN.
* harbour/source/rtl/errorint.c
! fixed displaying internal error message
* harbour/source/common/hbver.c
* added "Rev." prefix to shown revision number
* harbour/include/hbexprop.h
* harbour/include/hbexprb.c
* harbour/source/common/expropt1.c
* harbour/source/common/expropt2.c
+ added hb_compExprReduceNegate()
! fixed wrong negate optimizations for platforms where HB_LONG_MAX
is smaller then -HB_LONG_MIN, f.e. all x86 based CPUs.
! fixed setting the size in optimized negative numbers
! fixed some math optimizations to not use casting to double value
when it's not necessary - when double precision is smaller then HB_LONG
(f.e. on x86 it's 53 bits and HB_LONG has 64bit) such casting can damage
up to 11 less significant bits in big 64 bit numbers.
* harbour/source/rtl/hbinet.c
* replaced MAKEWORD() macro with HB_MKWORD() to pacify BCC58 warnings
* harbour/include/hbdefs.h
+ added #include <limits.h>
It should hide some warnings related to redefined integer size constants
Viktor if it will not help for BCC58 warnings then you will have to add
#include <stdint.h>
few lines below but please remember that older BCC version does not
have it so check for the exact compiler version.
! changed macros which setting default numeric item size for more strict
Clipper compatible mode. I'm not a fun of some Clipper behavior in
calculating number size and I left some notes about it in hbdefs.h
Anyhow this and some other modifications below should cover the
differences you've found recently. Some things are not addressed by
me intentionally, f.e. _itemPutNL() in Clipper always set size to 10
without checking the maximum size so it's too small for values less
then -999999999. Harbour compiler makes more compile time optimizations
then Clipper. The formatting rules used by compiler are a little bit
different then by VM so this can be source of some other differences
to Clipper. I can easy create some examples. Harbour supports 64bit
signed integers and Clipper doesn't. This is yet another situation
when we may have different results then Clipper. Most of them can
be hidden if we add new PCODE(s) for integer number with explicit
size but I do not think it's such important to increase PCODE list.
In few cases it will be necessary to disable some optimizations at
all and I do not like it. In the future when I will be adding some
new optimizations I also add compiler switch to disable/enable
optimizations which can have such side effects for people who need
strict formatting.
* harbour/include/hbvmpub.h
* harbour/source/common/hbstr.c
* harbour/source/vm/hvm.c
* harbour/source/vm/itemapi.c
* harbour/source/rtl/round.c
* updated for more Clipper compatible number formating using new macros
* source/rtl/tget.prg
+ TGet instance variable ordering in class definition
made CA-Cl*pper compatible, so that it's now possible to
access object vars as array elements the same way.
Read-only access is strongly recommended when using this
unofficial access method, and the practice is overall
discouraged.
NOTE: oGet[8] is not supported in Harbour.
NOTE: in oGet[11] (in C52 mode), oGet[17] (in C53 mode)
only the first char is compatible, which is the
type. The rest is 'trash' in CA-Cl*pper.
* tests/rto_get.prg
+ Extended tests with regards to array access of the
TGet object.
* source/rtl/tbcolumn.prg
* Formatting.
* source/common/hbstr.c
* source/compiler/ppcomp.c
* source/compiler/hbgenerr.c
* utils/hbpp/hbpp.c
! Fixed some BCC58 warnings.
; TOFIX: These remain:
Warning W8017 C:\devl\BCC58\Include\stdint.h 77: Redefinition of 'INT16_MIN' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 78: Redefinition of 'INT32_MIN' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 79: Redefinition of 'INT64_MIN' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 82: Redefinition of 'INT16_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 83: Redefinition of 'INT32_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 84: Redefinition of 'INT64_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 87: Redefinition of 'UINT16_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 88: Redefinition of 'UINT32_MAX' is not identical
Warning W8017 C:\devl\BCC58\Include\stdint.h 89: Redefinition of 'UINT64_MAX' is not identical
Warning W8084 source\rtl\hbinet.c 507: Suggest parentheses to clarify precedence in function HB_FUN_HB_INETINIT
* utils/hbtest/rt_main.h
! Typo.
* utils/hbtest/make_c5x.bat
+ Cleanups, fixes, enhancements.
* Changed invocation for C53. Now "53" (without quotes)
should be used as command line parameter.
+ Now automatically selects linker.
! Fixed MSC parameters for C53.
+ Copyright added.
* harbour/source/rtl/errorapi.c
* allow to pass NULL instead of PHB_ITEM pointer in argument list
of RT error functions:
hb_errRT_BASE()
hb_errRT_BASE_Ext1()
hb_errRT_BASE_Subst()
hb_errRT_BASE_SubstR()
to not force allocating dummy item in upper level code.
* harbour/source/rtl/mod.c
! small fix in substitued return value in code like:
proc main()
set fixed on
? transform(mod( 12345, 0 ),"")
return
* harbour/utils/hbmake/hbmlang.c
* harbour/utils/hbmake/hbmutils.prg
* harbour/utils/hbmake/hbmake.prg
! removed gtnul library - it does not longer exists
* minor formatting
* source/rtl/tbcolumn.prg
+ TBColumn() instance variable ordering in class definition
made CA-Cl*pper compatible, so that it's now possible to
access object vars as array elements the same way.
Read-only access is strongly recommended when using this
unofficial access method, and the practice is overall
discouraged.
* utils/hbtest/make_c5x.bat
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_miscc.c
* utils/hbtest/rt_misc.prg
- Removed dependency on hbclip.
+ Added proper C version of hb_SToD() for C5.x compiles.
(Needs MSC)
! Refixed hb_SToD() results messed up in my previous
commit. Sorry for the confusion, Harbour was perfectly
100% compatible, the reference values were wrong in
default HBTEST for CA-Cl*pper.
+ Disabling hb_SToD() tests with invalid input values
for CA-Cl*pper in case there was no C compiler available
when building HBTEST. This is to avoid any invalid
results (due to the .prg version of hb_SToD() and to
avoid confusions such as above.
* source/rtl/mod.c
! Fixed error object to be C5x compatible when wrong or too
few parameters were passed to MOD(). Now the previously
corrected MOD() regression tests pass. (I misinterpreted
the problem in the previous ChangeLog entry.)
* utils/hbtest/rt_math.prg
+ Added two new tests for MOD()
* common.mak
+ utils/hbtest/rt_main.h
+ utils/hbtest/rt_miscc.c
* utils/hbtest/rt_str.prg
* utils/hbtest/Makefile
* hbtest/make_c5x.bat
* hbtest/make_xpp.bat
+ Added light framework to implement C level regression tests.
+ Added regression tests for some incompatible Str() conversions.
TOFIX: The problem seems to be in hb_retnl() (and friends,
presumably) where in C5x the internal width gets
modified to 20 when certain value is reached (+/-1000000000),
while in Harbour the length stays 10.
I tried to do the same test using Item API, but I got
so strange results in C, that I finally dropped it.
+ Added optional C compilation using MSC for CA-Cl*pper
build batch file.
+ Added better support to compile the test suite under C5.3.
Caller will need to use "set HB_COMPAT_C53=1" for this mode.
* utils/hbtest/rt_array.prg
! Corrected some (ASize()) expected results when not in 5.3 mode.
* utils/hbtest/rt_str.prg
+ Added comments for some erroneous C5.3 'Str(Val())' results.
* utils/hbtest/rt_math.prg
! Corrected expected C5.2/5.3 result for 'MOD()'.
TOFIX: The Harbour result is different, and in contrary to
C5.x it won't allow to substitue values from the
error handler, when wrong types were passed initially,
which is IMO a bug.
* utils/hbtest/rt_misc.prg
! Some results synced with C5.x (where the result could be
"explained"), two marked as buggy/questionable.
! Two strange Harbour-synced results swapped for the somewhat
more meaningful C5.x ones.
+ Added some more strange date conversion tests.
; All these could be fixed in Harbour to give the exact same
C5.x values even for these strange inputs, but it's by no
means a priority.
* source/rtl/transfrm.c
! FoxPro/XPP feature guarded with HB_COMPAT_FOXPRO || HB_COMPAT_XPP,
meaning that it stays enabled by default because of HB_COMPAT_XPP.
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
! Fixed the dir precedence when looking for ace32.dll.
* source/debug/tbrwtext.prg
! fixed small typo that was allowing wordwrapping long source code lines
and was messing with the correct display of the current line
* harbour/contrib/rddado/adordd.prg
Instead of overloading FOUND method in ADO RDD it will be
more efficient to use standard implementation written in C
by Przemyslaw suggestion
* harbour/ChangeLog
* harbour/harbour.spec
* reverted translation to UTF8 - Tomaz please check your editor
settings and disable automatic translation to UTF8. It's not
the first as such situation happens.
* harbour/include/hbclass.ch
+ added two missing PP directives
! protected against some repeated external definitions
* harbour/source/pp/Makefile
* harbour/source/pp/hbppgen.c
* harbour/source/pp/ppcore.c
* harbour/source/common/hbver.c
* harbour/source/common/hbverdsp.c
* harbour/source/main/harbour.c
* harbour/source/vm/cmdarg.c
* harbour/utils/hbpp/hbpp.c
* harbour/include/hbpp.h
* harbour/include/hbcomp.h
* harbour/include/hbver.h
* harbour/include/hbapi.h
* harbour/make_vcce.mak
* harbour/make_b32.mak
* harbour/make_vc.mak
* harbour/make_gcc.mak
+ added support for dynamically set during compilation ChangeLog entry
ChangeLog ID and SVN revision and compilation flags
Now hbppgen creates in include directory hbverbld.h file with
information extracted from ChangeLog. New hbppgen parameters:
Syntax: ./hbppgen <file>[.prg] [options]
Options: -i<path> add #include file search path
-c[<file>] look for ChangeLog file
-o<file> creates .c file with PP rules
-v<file> creates .h file with version information
-w write preprocessed (.ppo) input file
-q disable information messages
+ added new C functions:
int hb_verSvnID( void )
- retrieves ChangeLog SVN revision number
const char * hb_verSvnChangeLogID( void )
- retrieves a static buffer containing ChangeLog ID string
const char * hb_verSvnLastEntry( void )
- retrieves a static buffer containing ChangeLog last entry string
const char * hb_verFlagsC( void )
- retrieves a static buffer containing build time C compiler
flags in C_USR envvar
const char * hb_verFlagsL( void )
- retrieves a static buffer containing build time linker
flags in L_USR envvar
const char * hb_verFlagsPRG( void )
- retrieves a static buffer containing build time Harbour compiler
flags in PRG_USR envvar
+ added new default PP defines which can be used in .prg code compiled
by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID
* harbour/source/rtl/gtxwc/gtxwc.c
* formatting
* harbour/source/rtl/gttrm/gttrm.c
! fixed redrawing GPM mouse pointer after screen updating
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* updated for compilation even if some POSIX macros are not supported
f.e. problems with some DJGPP versions reported recently
* harbour/source/debug/dbgentry.c
* harbour/source/debug/dbgtobj.prg
* harbour/source/debug/dbgbrwsr.prg
* harbour/source/debug/dbgthsh.prg
* harbour/source/debug/tbrwtext.prg
* harbour/source/debug/dbgwa.prg
* harbour/source/debug/debugger.prg
* harbour/source/debug/dbghelp.prg
* harbour/source/debug/dbgtarr.prg
! Fixed object inspector in the debugger.
! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger.
! Added an minimalistic TBrowse implementation that is just enough
for internal use by the debugger. Fixes miscellaneous problems e.g.
when debugging a piece of code with RELATIONs turned on.
Fixes by Phil Krylov borrowed from xHarbour.
* harbour/source/rtl/gtos2/gtos2.c
* small changes, removed some un-needed code
- by Maurilio Longo in xHarbour
! use screen buffer in BYTEs instead of USHORTs to avoid possible
problems on big endian machines. I do not know if such OS2 ports
exist but this code should be also endian independent like rest
of Harbour code
* harbour/source/rtl/hbgtcore.c
! Fixed screen buffer corruption on little-endian platforms in
hb_gt_def_ColdArea() - fixed by Phil Krylov in xHarbour - many thanks
* harbour/common.mak
* harbour/source/lang/Makefile
+ harbour/source/lang/msgskiso.c
+ harbour/source/lang/msgskwin.c
+ harbour/source/lang/msgskkam.c
+ harbour/source/lang/msgsk852.c
+ added Slovak national messages by Gyula Bartal - many thanks
* harbour/include/hbapi.h
* harbour/source/vm/arrays.c
! Guarded hb_arraySetNLL() declaration with #ifndef HB_LONG_LONG_OFF.
! Fixed trace in hb_arraySetNInt().
By Phil Krylov borrowed from xHarbour
* harbour/include/hbgtcore.h
! added missing HB_EXTERN_BEGIN / HB_EXTERN_END
By Ron Pinkas borrowed from xHarbour
* harbour/source/rtl/gtos2/gtos2.c
% updated for much faster screen updating in OS2 console - many
thanks for Maurilio Longo for tests and code.
* harbour/source/rtl/cdpapi.c
! fixed CP string translation for CPs with accented equal characters
+ added HB_UTF8CHR( <nUniVal> ) -> <cUtf8Char>
It's compatible with the function HB_UTF8CHR() by Phil Krylov in
xHarbour
* harbour/source/rtl/gtsln/gtsln.h
* removed repeated #include <unistd.h>
* harbour/contrib/hbct/files.c
! fixed FILESEEK() called with 3-rd parameter set to .T. (exact
attribute match)
* harbour/config/os2/global.cf
! added fixes by David Arturo Macias Corona
+ harbour/make_os2_gcc.cmd
+ added build file for GCC OS2 users with minimal environment settings
* harbour/include/hbapi.h
* harbour/source/common/hbver.c
* harbour/source/rtl/gttone.c
* added hb_iswince() and fixed TONE() for WinCE
* harbour/source/rtl/math.c
! added workaround for SIGFPE platforms which generate it instead of
setting errno during execution of math functions
* harbour/source/rtl/gtcrs/hb-charmap.def
! remap 0x9b (155) to '.' in Linux terminals - it's control code
* harbour/source/rdd/dbsql.c
* harbour/source/rdd/workarea.c
* harbour/source/rdd/dbf1.c
! always restore current workarea in WA EVAL() method
! always use EVAL() method for user codeblocks and macros
* harbour/source/rdd/dbcmd.c
! fixed DBRELATION() called without numeric parameters or with 0 to
return first relation expression (Clipper compatible)
* harbour/contrib/hbtip/thtml.prg
! fixed wrongly ported to Harbour xHarbour specific code
* harbour/source/common/hbstr.c
+ added missing const in one declaration
* formatting
* harbour/source/rtl/transfrm.c
! fixed casting for C++ compilers
* harbour/source/rtl/errorapi.c
* harbour/source/rdd/dbfntx/dbfntx1.c
! cleanup warnings
* harbour/source/common/hbtrace.c
* harbour/source/rdd/dbcmdx.c
* harbour/source/rdd/wafunc.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rdd/hbsix/sxcrypt.c
* formatting