* contrib/rddads/ads.ch
* contrib/rddads/rddads.h
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
* contrib/rddads/adsmgmnt.c
* Lots of minor code cleanups, formatting fixes, optimizations,
and several minor fixes.
! Lib version related fixes. (some features were not updated
for newer ACE versions).
+ Automatic version detection extended with 6.20 and 5.00.
6.00 is still missing, if someone has it, pls send it to
me. Even 6.11-8.00 versions disappeared from the vendor's
site lately.
+ Added support for all possible properties in
ADSDDGETDATABASEPROPERTY()
ADSDDSETDATABASEPROPERTY()
* ADSMGGETUSERNAMES() will now always return an array of
users with 6 elements in each item, all data which
is not available for the compiled version of the lib,
will be filled with empty strings. Previously the
number of elements depended on the compiled version.
; Besides the above, no functionality change should be
experienced.
; Please test.
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
! Changed to never look for ace32.dll in system32 dir
to generate the ace32.lib.
! Some other fixes to prev change where ADS_VER
was obsoleted.
* contrib/hbct/ctwfunc.c
* contrib/hbct/ctextern.ch
+ Added hbct_MaxRow()/hbct_MaxCol() emulating
the original overloaded MaxRow()/MaxCol()
functions of CT3 lib.
* source/rtl/maxrow.c
* Reverted previous change on request, thus introducing
a 3rd party lib specific function parameter extension.
Users of CT3 lib's overloaded MaxRow(.T.)/MaxCol(.T.)
functions are encouraged to change the app code
to rather use hbct_MaxRow()/hbct_MaxCol()
or hb_ScrMaxRow()/hbScrMaxCol(). These functions are
easy to implement in CA-Cl*pper too (simple wrappers
to Max*()).
* source/compiler/hbmain.c
* Reverted previous change on request. Some outputs
are not exactly CA-Cl*pper compatible this way, but
functionally it probably doesn't matter for most ppl.
* contrib/xhb/hbcompat.ch
! Corrected MaxRow()/MaxCol()/hb_ScrMaxRow()/hb_ScrMaxCol()
translations. (hopefully, someone using xhb please test)
- tests/ctwtest.prg
+ contrib/hbct/tests/ctwtest.prg
* Moved CT lib specific test to contrib local test
directory (containing lots of other CT tests
already). Building these is yet to be solved.
* contrib/hbct/tests/math.prg
* contrib/hbct/tests/trig.prg
* contrib/hbct/tests/num1.prg
! Added SVN header.
* include/hbgtinfo.ch
* Minor comment.
* contrib/rddads/make_gcc.sh
* Help text sync with *.bat.
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
* contrib/rddads/ads.ch
* contrib/rddads/rddads.h
* contrib/rddads/ads1.c
* contrib/rddads/adsfunc.c
* contrib/rddads/adsmgmnt.c
+ Added ACE version autodetection.
You can override with: -DADS_LIB_VERSION=700 (and similar)
(ADS_REQUIRE_VERSION still accepted for compatibility)
! Fixed a few lib version related problems.
! hMgmtHandle global renamed to ads_g_hMgmtHandle.
* Formatting.
* contrib/rddads/rddads.h
+ QUESTION: added about ADS_MAX_KEY_LENGTH redefinition.
Is it needed?
* source/compiler/hbmain.c
* Changed output device (hb_compOutStd() -> hb_compOutErr())
for following texts:
"Compiling..."
"No code generated"
"Lines x, Functions/Procedures x"
This is to replicate CA-Cl*pper behaviour a bit more.
* include/hbextern.ch
* common.mak
* source/rtl/Makefile
* source/rtl/maxrow.c
+ source/rtl/scrrow.c
* contrib/xhb/hbcompat.ch
+ Added hb_ScrMaxRow(), hb_ScrMaxCol()
These will return the screen dimensions regardless
of the size of an active window (when using CT
windows for example). Functionality is the same
as MaxRow(.T.) and MaxCol(.T.) previously.
! MaxRow()/MaxCol() extended parameters removed.
+ Added MaxRow(.T.)/MaxCol(.T.) conversions for
xhb lib (hbcompat.ch) in both directions.
; XBase++ doesn't have any extended parameters
for Max*() function. Flagship has two of them,
both of them doing something different. CAVO doesn't
have these functions at all.
* contrib/xhb/hbcompat.ch
! GTI_* macros updated to HB_GTI_*.
* source/vm/memvclip.c
% Minor opt in __QQPUB().
* source/vm/extend.c
* 0 -> NULL
* source/vm/estack.c
- QUESTION removed.
* source/lang/msgbgmik.c
* source/rtl/console.c
* source/rtl/philes.c
* source/rtl/adir.prg
* source/rtl/getsys53.prg
* source/rtl/getsys.prg
* source/rtl/tget.prg
* source/rtl/ttopbar.prg
* source/rtl/pushbtn.prg
* source/rtl/mod.c
* source/rtl/memofile.c
* source/rtl/radiobtn.prg
* source/rtl/filesys.c
* source/rtl/tbrowse.prg
* source/vm/estack.c
* source/vm/itemapi.c
* source/vm/hvm.c
* source/vm/cmdarg.c
* source/vm/fm.c
* source/vm/eval.c
* source/common/hbver.c
* source/common/expropt2.c
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_str.prg
! Comment fixes and minor formatting.
* common.mak
* source/rdd/Makefile
* source/rdd/dbstrux.prg
* source/rdd/rddord.prg
+ source/rdd/rddordu.prg
+ source/rdd/dbstruxu.prg
+ Moved some UNDOC functions to separate files.
* Removed STRICT guard from _dtxCondSet().
* include/hbextern.ch
! Added missing _dtxCondSet().
* source/rtl/colorind.c
* source/rtl/direct.c
* Minor formatting.
* source/vm/asort.c
! Changed one direct item access to item API call.
* contrib/rddads/ads.ch
* contrib/rddads/adsfunc.c
* contrib/rddads/ads1.c
! Added support for ADS9 VFP file type and fields.
; Borrowed from xhb / Luiz Rafael Culik.
(changed to compile using original - older - ADS headers)
; Please review & test.
* source/vm/pcount.c
% Minor opt.
* contrib/hbtip/sendmail.prg
! SF bugtracker#1934698 fix applied. Thanks Chen.
- contrib/hbapollo/tests/bld.bat
* contrib/hbapollo/tests/bld_b32.bat
% Using central bld.bat instead of modified local copy.
+ contrib/gtwvg/tests/bld_b32.bat
+ Added BCC32 build batch file for GTWVG tests.
; NOTE: demowvg still doesn't seem to work.
* contrib/rdd_ads/adsfunc.c
! Fixed warning in ADSDIRECTORY() for ADS >= 9.00.
* contrib/rdd_ads/adsfunc.c
* contrib/rdd_ads/adsmgmnt.c
+ Added AdsIsEmpty( <cFieldName | nFieldPos> ) -> <lValue>
With .adt tables will return .T. if value of the field is NULL.
With .dbf it's just equivalent to Empty().
(by Luis Krause Mantilla)
+ Added ADSMGGetOpenTables( nMaxNumberOfFilesToReturn, cUserName, nConnection )
+ Added ADSMGGetOpenIndexes( nMaxNumberOfFilesToReturn, cTableName, cUserName, nConnection )
(by Antonio Carlos Pantaglione & Brian Hays)
; Changes borrowed from xhb, added minor optimization, formatting and warning fix.
* include/hbclass.ch
! Comment typos.
* source/rtl/tget.prg
! Fixed to not extend ::left(), ::right(), ::backspace(),
::delete() with an internally used (but also externally
accessible) extra parameter. This is interface is now
made fully C5x compatible.
* tests/rto_tb.prg
! Fixed to override __eInstVar53() (instead of _eInstVar())
* include/hbextern.ch
* common.mak
* source/rdd/Makefile
+ source/rdd/dbcmdhb.c
+ Added non-internal versions of __dbPack() and __dbZap(),
named: hb_dbPack() and hb_dbZap(). If group needs it I
can add dbPack() and dbZap() too in separate files to
lessen the problem of name collision with app code.
* source/rtl/inkey.c
* Formatting.
+ HB_KEYPUT(): Now possible to pass an array with string elements.
(see feature in xhb/__KEYBOARD())
* HB_KEYPUT(): For string parameter it now uses hb_inkeySetText()
API, rather than a loop of hb_inkeyPut()s.
* contrib/xhb/xhbfunc.c
! xhb flavour of __KEYBOARD() sync fixed. (hb_inkeySetText() got
extended in xhb, so here we're using hb_inkeyPut() for single
numeric key codes).
; Now same code is used as in HB_KEYPUT().
* source/vm/memvars.c
* source/vm/hvm.c
* source/vm/arrayshb.c
+ Added HB_C52_STRICT branches for the remaining RTEs
which produced different results in hbtest.
! Fixed HB_C52_STRICT RTE for AFill().
; NOTE: It's not possible to build Harbour currently when
HB_C52_STRICT, so it's not easy to test these.
* include/hbclass.ch
! Typos.
* source/rtl/memoedit.prg
* source/rtl/achoice.prg
* source/rtl/treport.prg
* Formatting.
* source/rtl/tobject.prg
* Formatting.
% Minor opt.
* include/memoedit.ch
* source/rtl/memoedit.prg
! XPP feature marked with HB_COMPAT_XPP.
! Fixed to not crash if user callback function
returns non-numeric type.
* 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.
* 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/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
* 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
* 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/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
* harbour/include/hbapifs.h
! default usage of BSD locks in *BSD systems for emulating
DOS/Windows DENY_* flags has been disabled because tests
on FreeBSD 6.2 and MacOSX shows that this implementation
can create self deadlock when used simultaneously with
POSIX locks - thanks to Phil and Lorenzo for locating the
problem and tests.
* harbour/contrib/hbct/screen2.c
! fixed possible vary bad bug (memory buffer overflow) in SCREENSTR()
* harbour/source/rtl/hbffind.c
! fixed possible GPF in some *nixes
* harbour/source/vm/classes.c
! do not execute the same destructor inherited from different parent
classes more then once
* harbour/source/rtl/transfrm.c
! fixed bug with '9' used as stop condition of function pattern
this character cannot be stripped, f.e.:
? transform( "abc", "@_99*" )
! fixed bug with '*' or '$' used with @), f.e.:
? transform( -12345, "@) $999999" )
! fixed replacing '.' with ',' when @E is used without picture part, f.e.:
? transform( 123.45, "@E" )
! fixed ',' conversions
? transform( 12.34,"@E ab,cd.ef9,9.99,.--" )
! fixed bug with picture starting with ".", f.e.:
? transform( 0.3456, ".999" )
! fixed "@(" and "@)" conversions, f.e.:
? transform( -12345, "@) 1999*999" )
! fixed late oveflow detection in "@(" and "@)", f.e.:
? transtest( -12345, "@( 6798^999" )
! fixed "@E" conversion for dates to keep user delimiters set in
_SET_DATEFORMAT, f.e.:
set( _SET_DATEFORMAT, "mm:dd:yyyy" ); ? transform( date(), "@E" )
set( _SET_DATEFORMAT, "yyyy<mm>dd" ); ? transform( date(), "@E" )
Please note that Harbour is not strictly Clipper compatible here
because it respects _SET_DATEFORMAT set by user.
! fixed 64bit integer conversion by eliminating conversion to
'double' f.e.:
? transform( 1234567890123456789, "99999999999999999999" )
? transform( -1234567890123456789, "99999999999999999999" )
! some other fixes, see regression test transtst.prg
% speed improvement in numeric conversions
+ harbour/tests/transtst.prg
+ added regression test for transform function
* harbour/utils/hbtest/rt_trans.prg
* disabled transform() tests for "@E" and result smaller then 5 bytes
CA-Cl*pper do not check result size and always exchanges
bytes 1-2 with bytes 4-5 for @E conversion. It's buffer overflow
bug and I do not want to replicate it inside our transform
implementation. It also causes that the results for for strings
smaller then 5 bytes behaves randomly.
In fact precise tests can show that it's not random behavior
but CA-Cl*pper uses static buffer for result and when current one
is smaller then 5 bytes then first two bytes are replaced with
4-5 bytes from previous result which was length enough, f.e.:
? transform( "0123456789", "" )
? transform( "AB", "@E" )
? transform( "ab", "@E" )
Replicating exact CA-Cl*pper behavior it's trivial (it will be enough
to use static buffer two and not check the size of current result) but
IMHO it's bug.
* harbour/source/rtl/round.c
* added strictly Clipper compatible code covered by HB_C52_STRICT
and comment about possible difference in Harbour.
* harbour/include/hbgtinfo.ch
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gtsln/gtsln.c
* harbour/source/rtl/gttrm/gttrm.c
* harbour/source/rtl/gtwvt/gtwvt.c
+ added HB_GTI_ISUNICODE - it returns logical value with information
about Unicode mode in active GT driver - it's necessary for proper
CP initialization in some GTDs which can work in both mode depending
on client side settings
* harbour/source/rtl/gttrm/gttrm.c
* improved UTF-8 detection
* added automatic PuTTY detection
* improved PuTTY and some xterm key handling
* added some missing RXVT keys
* harbour/include/hbcomp.h
* harbour/include/hbmacro.h
* harbour/include/hbexprb.c
* harbour/source/vm/macro.c
* harbour/source/compiler/hbmain.c
! fixed name conflict in privates/publics declaration.
Harbour allows to declare memvars with the same name as file
wide statics or fields but this extensions was not working well
in some cases and can cause unexpected results in variable
declaration, f.e. try this code:
static v:="static"
proc main()
public v:="public"
? v, M->v
return
compiled with -n -w switches and also with -n -w -a before
this fix.
! fixed some compile time warnings in memvars declaration to be
more Clipper compatible
! fixed compiling external modules (DO <procname> [WITH <params,...>])
when function <procname> is already declared but with different
letter case. Harbour does not convert <procname> in DO statement
to upper case to play well with case sensitive file systems and
it could cause confusing warning message:
Cannot open <procname>.prg, assumed external
* harbour/source/compiler/harbour.y
* harbour/source/compiler/harbour.yyc
! added protection against bug in bison destructors which might cause
multiple free the same memory block on syntax error due to
* harbour/source/rdd/dbf1.c
! added missing binary flag for daytime fields
* harbour/source/rdd/dbfntx/dbfntx1.c
! fixed possible memory leak during accessing corrupted NTX files
! fixed possible GPF during accessing corrupted NTX files
* harbour/source/compiler/genc.c
* minor cleanup
* harbour/config/os2/global.cf
! use FOR command to delete group of files
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* updated for new library names
* harbour/ChangeLog
* harbour/include/hbexprb.c
* formatting
* harbour/source/rtl/net.c
! fixed casting
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* harbour/contrib/Makefile
* removed hbzlib - it cannot be longer part of default build
because Viktor removed zlib header files. Viktor sorry but
IMHO you should revert it and also restore ace.h - it creates
serious problems without any valuable addition. Now we will
have to rebuild Harbour on many different platforms and often
it will not be possible to install some libraries. We cannot
force installing additional libs by people who will create
binaries for incoming releases so it's important to revert
it. Please do it.
* harbour/config/bsd/install.cf
* harbour/config/darwin/install.cf
* harbour/config/hpux/install.cf
* harbour/config/linux/install.cf
* harbour/config/sunos/install.cf
* harbour/config/dos/install.cf
* harbour/config/os2/install.cf
* harbour/config/w32/install.cf
* redirected echo error messages to stderr when *sh shell is used
* harbour/config/lib.cf
* harbour/config/bin.cf
* harbour/config/global.cf
* harbour/config/hpux/gcc.cf
* harbour/config/hpux/global.cf
* harbour/config/darwin/gcc.cf
* harbour/config/darwin/global.cf
* harbour/config/dos/owatcom.cf
* harbour/config/dos/global.cf
* harbour/config/dos/rsx32.cf
* harbour/config/global.cf
* harbour/config/linux/owatcom.cf
* harbour/config/linux/global.cf
* harbour/config/os2/gcc.cf
* harbour/config/os2/global.cf
* harbour/config/sunos/gcc.cf
* harbour/config/sunos/global.cf
* harbour/config/bsd/global.cf
* harbour/config/w32/owatcom.cf
* harbour/config/w32/bcc32.cf
* harbour/config/w32/gcc.cf
* harbour/config/w32/rsxnt.cf
* harbour/config/w32/global.cf
! fixed build process. DOS and WINDOWS users should make tests for
different compilers. I tested only DOS-OpenWatcom, DOS-DJGPP,
W32-BCC32, W32-OpenWatcom, W32-POCC, W32-XCC and corss builds
W32-MinGW, W32-MinGW-CE. OS2 version not testes at all - I hope
it will work. LINUX-GCC, LINUX-G++, LINUX-OpenWatcom, BSD-GCC,
HPUX-GCC tested and they are working. I hope that SunOS version
also works though I do not have any solaris installation where
I can make real tests.
* bin/hb-func.sh
+ Updated for lib name change.
Please test & review.
* source/rtl/net.c
* include/hbapi.h
+ Added hb_netname() and hb_username() low level versions
of NETNAME() and hb_USERNAME().
* include/hbextern.ch
* source/rtl/net.c
* contrib/xhb/hbcompat.ch
! Removed non-compatible xhb extension from NetName().
+ hb_UserName() function added with the above functionality.
! Slight correction to the Win32 branch of hb_UserName().
+ Added compatibility translations to NetName(1) for
xhb lib users (enough to #include "hbcompat.ch").
* include/hbapierr.h
* source/rtl/errorapi.c
! Removed HB_ERR_SS_TOOLS non-core #define (formerly used by
/contrib/hbct from core header.
! Removed non-core related error API call hb_errRT_TOOLS()
(functionality was similar to hb_errRT_BASE())
* contrib/hbct/ctnet.c
! Fixed RTE calls to use unique IDs instead of 9999.
Subcode changed to 0 from 999.
* utils/hbpp/hbpplib.c
! Replaced RTE code 9999 with 1001.
* harbour-ce-spec
* harbour-w32-spec
* bin/bld.bat
* harbour.spec
* common.mak
* source/pp/Makefile
* source/lang/Makefile
* source/macro/Makefile
* source/rtl/Makefile
* source/vm/mainstd/Makefile
* source/vm/Makefile
* source/vm/mainwin/Makefile
* source/main/Makefile
* source/debug/Makefile
* source/codepage/Makefile
* source/common/Makefile
* source/rdd/nulsys/Makefile
* source/rdd/Makefile
* source/rdd/hsx/Makefile
* source/rdd/usrrdd/Makefile
* source/compiler/Makefile
* contrib/hbct/tests/Makefile
* contrib/hbodbc/tests/bld_b32.bat
* contrib/hbole/tests/bld_b32.bat
* contrib/hbapollo/tests/bld.bat
* contrib/hbfbird/tests/bld_b32.bat
* contrib/hbfbird/tests/Makefile
* contrib/hbpgsql/tests/Makefile
* contrib/hbfimage/tests/bld_b32.bat
* contrib/hbgd/tests/bldtest.bat
* contrib/hbmisc/tests/Makefile
* contrib/hbgf/tests/bld_b32.bat
* contrib/hbbtree/tests/Makefile
* contrib/examples/guestbk/Makefile
* contrib/examples/pe/Makefile
* contrib/examples/dbu/Makefile
* contrib/examples/misc/Makefile
* contrib/examples/hscript/Makefile
* utils/hbdoc/Makefile
* utils/hbextern/Makefile
* utils/hbdot/Makefile
* utils/hbmake/Makefile
* utils/hbmake/hbmutils.prg
* utils/hbmake/hbmake.prg
* utils/hbpp/Makefile
* utils/hbpptest/Makefile
* utils/hbtest/Makefile
* utils/hbrun/Makefile
* tests/Makefile
* Core libs renamed to be prefixed with hb, while
having the first significant 5 chars unique.
Old name New name
-------- --------
codepage -> hbcpage
common -> hbcommon
compiler -> hbcplr
debug -> hbdebug
hbsix -> hbsix
hsx -> hbhsx
lang -> hblang
macro -> hbmacro
pp -> hbpp
rtl -> hbrtl
vm -> hbvm
rdd -> hbrdd
dbfcdx -> rddcdx
dbffpt -> rddfpt
dbfntx -> rddntx
nulsys -> hbnulrdd
usrrdd -> hbusrrdd
mainwin -> hbmainwin
mainstd -> hbmainstd
NOTE/TODO: We're currently not in sync with contribs,
regarding hb prefixing, since in contrib
rdds and gts (rightly) also have hb prefixes.
The only reason not to add them in core this
time, is to keep compatibility with DJGPP.
Maybe we should remove those prefixes from
contrib.
NOTE/TODO: Do tests in as many platforms and as many contrib
tests as possible. Feedback from hbmake users is
also welcome.
!!! Please update your local make files !!!
* include/hbgtinfo.ch
+ Added HB_ prefixed versions for all GTI_ macros.
Unprefixed GTI_ macros are to be considered xhb
compatible (or legacy) ones, and they can be
excluded by #defining HB_GT_NO_XHB if they seem to
collide with user code.
TODO: Switch to use HB_GTI_* inside Harbour code.
* harbour/include/hbrddntx.h
! fixed type of Signature field in tag structure
* harbour/source/rdd/dbfntx/dbfntx1.c
! fixed possible leaving locked index when number of tags
exceed 63. 63 is maximum number of tags in multi tag NTX
file
! fixed typo in HB_TRACE message
% simplify NTXNODE data access in RDDINFO method
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* formatting, some minor cleanup and fixed typo in comment
* harbour/ChangeLog
* harbour/include/hbapiitm.h
* harbour/source/vm/itemapi.c
- removed hb_itemLockReadCPtr()/hb_itemLockWriteCPtr()/hb_itemUnLockCPtr()
Whole modification which will address all different aspects it to
complex to introduce it now. I'll return to this problem after
1.0 release
* harbour/include/hbapiitm.h
* harbour/source/vm/itemapi.c
+ added new functions:
BOOL hb_itemParamStore( USHORT uiParam, PHB_ITEM pItem )
BOOL hb_itemParamStoreForward( USHORT uiParam, PHB_ITEM pItem )
They copy/move pItem body to parameter passed by reference and
return TRUE when operation was done successfully (uiParam was passed
by reference)
+ added new functions for string manipulation:
char * hb_itemLockReadCPtr( PHB_ITEM pItem, ULONG * pulLen );
char * hb_itemLockWriteCPtr( PHB_ITEM pItem, ULONG * pulLen );
void hb_itemUnLockCPtr( char * pszString );
It's recommended to use them instead of hb_itemGetCPtr().
Pointer to string buffer returned by hb_itemLockReadCPtr() will
be always valid even if source item will be cleared, destroyed or
overwritten until hb_itemUnLockCPtr() is called. Each locked string
has to be unlocked to avoid memory leaks. After unlocking the string
pointer cannot be longer used.
hb_itemLockWriteCPtr() works like hb_itemLockReadCPtr() but string
pointer returned by this function is writable so user can change
the body of string item. It's the _ONLY_ one way when it's possible.
Modifying string items using pointers returned by hb_parc() or
hb_itemGetCPtr() or extracted directly from HB_ITEM body is _FORBIDDEN_
and can cause unpredictable results (GPF when constant/readonly memory
pages are changed, changing many different items which share the same
memory buffer, etc.).
This is code illustrates how to use hb_itemLockReadCPtr()/
hb_itemUnLockCPtr() and it's also good example why hb_itemGetCPtr()
is very danger function and cannot be used in such case - if you
replace hb_itemLockReadCPtr() with hb_itemGetCPtr() and remove
hb_itemUnLockCPtr() then you will have buggy code.
HB_FUNC( MYFUNC )
{
PHB_ITEM pObject = hb_param( 1, HB_IT_OBJECT )
if( pObject )
{
char * pszName1, * pszName2;
PHB_ITEM pResult;
pResult = hb_objSendMsg( pObject, "POP", 0 );
pszName1 = hb_itemLockReadCPtr( pResult, NULL );
pResult = hb_objSendMsg( pObject, "POP", 0 );
pszName2 = hb_itemLockReadCPtr( pResult, NULL );
if( pszName1 && pszName2 )
hb_retc_buffer( hb_xstrcpy( NULL,
"[", pszName1, "]-[", pszName2, "]", NULL ) );
hb_itemUnLockCPtr( pszName1 );
hb_itemUnLockCPtr( pszName2 );
}
}
This code shows how to use hb_itemLockWriteCPtr():
proc main()
local cVal, cVal2
cVal := cVal2 := "ABC"
STRPUT( @cVal2, 2, 42 )
? cVal, cVal2
return
#pragma begindump
#include "hbapiitm.h"
HB_FUNC( STRPUT )
{
PHB_ITEM pString = hb_param( 1, HB_IT_STRING );
ULONG ulAt = hb_parnl( 2 );
if( pString && ulAt && ISNUM( 3 ) )
{
ULONG ulLen;
char * pszValue;
pszValue = hb_itemLockWriteCPtr( pString, &ulLen );
if( pszValue )
{
if( ulAt <= ulLen )
pszValue[ ulAt - 1 ] = ( char ) hb_parni( 3 );
hb_itemUnLockCPtr( pszValue );
}
}
}
#pragma enddump
* harbour/include/hbcompdf.h
* harbour/include/hbexprop.h
* harbour/include/hbexprb.c
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/cmdcheck.c
* harbour/source/compiler/hbusage.c
* removed HB_I18N_SUPPORT macro and enabled I18N code in default build
* harbour/include/hbexprb.c
* harbour/source/compiler/hbmain.c
! added string escaping before to i18n .pot files
+ added hb_i18n_gettext_strict() support for compiler. This function
generates warning if argument is not literal string. See discussion
on mailing list from 2007-11-23 to 2007-11-29, for details.
* harbour/source/vm/estack.c
* added missing static to s_initSymbol declaration
* harbour/include/hbgtinfo.ch
* harbour/source/rtl/scroll.c
* formatting
* harbour/common.mak
* added empty line necessary for some make systems (f.e. wmake)
* harbour/bin/hb-func.sh
* changed system libs order to avoid problems on some platforms
* harbour/bin/pack_src.sh
* collect information about repository files using 'svn status -v'
command instead of scanning .svn/entries files to avoid problems
with different formats used by SVN
* harbour/include/hbchksum.h
* harbour/include/hbset.h
! added missing extern in few function prototypes
* harbour/include/hbclass.ch
* use HB_CLS_PARAM_LIST macro instead of ... for strict C52 mode
* harbour/source/common/hbfsapi.c
+ added missing const to one declaration
* harbour/source/common/hbstr.c
* minor cleanup in hb_stricmp()
* harbour/source/rtl/inkey.c
! casting to avoid negative values during char to int translation
* harbour/source/rtl/mouse53.c
* added one internal definition
* harbour/source/rtl/philes.c
* removed unnecessary #include(s)
* added missing const to one declaration
* harbour/source/rtl/valtype.c
* harbour/source/vm/hashfunc.c
* cleanup RT error call to eliminate hb_paramError() function
* harbour/source/pp/pplib.c
* harbour/source/vm/runner.c
* harbour/source/vm/debug.c
* harbour/source/vm/arrayshb.c
* harbour/source/vm/classes.c
* harbour/source/vm/hvm.c
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/gtfunc.c
* harbour/source/rtl/hbinet.c
* harbour/source/rtl/hbregex.c
* harbour/source/rtl/idle.c
* harbour/source/rtl/errorapi.c
* harbour/source/rtl/hbtoken.c
* harbour/source/rtl/direct.c
* harbour/source/rdd/dbcmd.c
* harbour/source/rdd/dbcmd53.c
* harbour/source/rdd/fieldhb.c
* harbour/source/rdd/hbsix/sxcompr.c
* harbour/source/rdd/hbsix/sxcrypt.c
* harbour/source/compiler/hbcmplib.c
* harbour/contrib/hbrddads/adsfunc.c
* harbour/contrib/hbrddads/adsmgmnt.c
- removed unnecessary calls to hb_ret()
% replaced hb_itemRelease( hb_itemReturn( pItem ) ) with
hb_itemReturnRelease( pItem )
% replaced hb_itemPut*( hb_arrayGetItemPtr( pArray, ... ), ... ) with
hb_arraySetNI( pArray, ... )
* harbour/source/macro/macro.y
* harbour/source/macro/macro.yyc
* harbour/contrib/xhb/cstructc.c
* harbour/contrib/hbw32/w32_ole.c
* harbour/contrib/hbgtwvg/wvtcore.c
* cleaned typos with double ;;
* harbour/source/vm/extend.c
* harbour/source/rtl/math.c
* cleaned HB_EXPORT usage
* harbour/source/pp/ppcore.c
! fixed Harbour extension which allows to use match marker
at the beginning of rule definition
* harbour/source/main/harbour.c
! fixed hex conversion in FM log module - fix done by Phil Krylov
in xHarbour
* harbour/source/rdd/nulsys/nulsys.c
+ added dummy version of DBEVAL() and DBFILTER() - these functions
are used in RTL
* harbour/contrib/hbct/bitnum.c
+ added INTNEG(), INTPOS()
+ harbour/contrib/hbct/ctrand.prg
+ added RANDOM(), RAND() - borrowd from xHarbour by Pavel Tsarenko
+ harbour/contrib/hbct/setrc.c
+ added SETRC()
* harbour/contrib/hbct/getinput.prg
% minor optimization
* harbour/contrib/hbct/Makefile
* harbour/contrib/hbct/common.mak
* updated for new files
* harbour/contrib/hbnf/tempfile.prg
* use HB_FTempCreate() - modification borrowed from xHarbour
TOFIX this function uses hb_isbyref() which does not exist
in Harbour
* harbour/config/w32/msvc.cf
+ added -nologo flag for cl.exe (Phil Krylov's modification borrowed
from xHarbour
* harbour/config/w32/mingw32.cf
- removed repeated definitions
* harbour/config/w32/install.cf
! added alternative install rule for command.com with max line size limit
* include/hbclass.ch
! Enabling HB_CLS_NO_DECORATION if compiled with HB_C52_STRICT,
since in strict mode some PP extensions required by the
decoration feature are not available.
(Thanks Przemek for the tip)
* harbour/bin/hb-mkslib.sh
+ added -fPIC to GCC parameters - it's necessary on some platforms
+ use .sl suffix for shared library in HP-UX
* harbour/bin/hb-func.sh
+ use .sl suffix for shared library in HP-UX
* harbour/bin/postinst.bat
* removed < > from email address
* harbour/include/hbgtcore.h
* harbour/source/rtl/gtkeycod.c
* harbour/source/rtl/gtdos/gtdos.c
* harbour/source/rtl/gtos2/gtos2.c
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* fixed typo in function name - it should be hb_gt_dos_keyCodeTranslate()
not hb_gt_dos_keyCodeTanslate()
* harbour/make_tgz.sh
* updated for non GNU tar versions
* harbour/ChangeLog
* replaced TABs with SPACEs
* harbour/include/hbmath.h
* harbour/source/rtl/math.c
* cleaned matherr API, now it works in the same way on all
platforms - this modification fixes also some strange
results when math functions were called with wrong arguments
on some platforms
* harbour/contrib/hbct/trig.c
* harbour/contrib/hbct/finan.c
* harbour/contrib/hbct/ctmath2.c
* updated for new matherr API and cleaned some minor problems
* harbour/contrib/hbct/files.c
! use DATE and TIME parameters formated like for DOS in OS2
version of SETFDATI() - David, if possible please repeat
the test from my previous commit, thank you.
* harbour/ChangeLog
* reverted conversion to UTF8 of national characters (svn diff)
* harbour/include/hbdate.h
* harbour/source/common/hbdate.c
+ added hb_timeStrGet()
* harbour/contrib/hbct/files.c
* use hb_timeStrGet() instead of sscanf()
+ added OS2 version of SETFDATI() - please test it !!!
I'm interesting in results of this code compiled with OS2
Harbour build:
proc main()
local cFile:="_tst.tmp"
FCLOSE(FCREATE(cFile))
? FILEDATE(cFile), FILETIME(cFile)
? SETFDATI(cFile,STOD("20061129"),"12:34:45")
? FILEDATE(cFile), FILETIME(cFile)
? SETFDATI(cFile)
? FILEDATE(cFile), FILETIME(cFile)
FERASE(cFile)
return
* harbour/source/common/hbfsapi.c
+ added OS2 version of hb_fsFileExists() and hb_fsDirExists()
Please test - I do not have OS2
* harbour/source/rdd/dbf1.c
! removed unnecessary printf() message I left by mistake
* harbour/contrib/hbct/files.c
+ added OS2 version of SETFATTR()
Please test - I do not have OS2
* harbour/config/os2/global.cf
+ added temporary workaround for possible problems with some
GNU make versions
* harbour/make_deb.sh
+ build hbpgsql when libpq-dev is installed
* harbour/include/clipdefs.h
* do not define PBYTE, PSHORT, PUSHORT, PLONG, PULONG, PBOOL, PVOID
when HB_OS_OS2 && HB_DONT_DEFINE_BASIC_TYPES is defined
* harbour/include/hbgtcore.h
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/gtapi.c
* harbour/source/rtl/inkeyapi.c
* harbour/source/rtl/mouseapi.c
- removed hb_gt_*(), hb_inkey_*(), hb_mouse_*() functions
+ implemented HB_GTSELF_*() functions and changed HB_GTSUPER_*()
ones to operate on GT context passed ad 1-st parameter.
Now GT API allows to create many GTs working simultaneously
+ added hb_gt_Base() core function which returns GT context
it will be extended soon to allow using many GT contexts,
setting thread default one or switch between them using some
.prg function.
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtcgi/gtcgi.c
* harbour/source/rtl/gtpca/gtpca.c
* harbour/source/rtl/gttrm/gttrm.c
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtcrs/gtcrs.h
* harbour/source/rtl/gtsln/gtsln.c
* harbour/source/rtl/gtsln/gtsln.h
* harbour/source/rtl/gtsln/kbsln.c
* harbour/source/rtl/gtsln/mousesln.c
* harbour/source/rtl/gtalleg/gtalleg.c
* harbour/source/rtl/gtgui/gtgui.c
* harbour/source/rtl/gtwin/gtwin.c
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/contrib/hbct/ctwin.c
* harbour/contrib/hbct/ctwin.h
* harbour/contrib/hbct/ctwfunc.c
* harbour/contrib/hbgtwvg/gtwvt.h
* harbour/contrib/hbgtwvg/gtwvt.c
* updated GT code for new GT API. I still haven't added GT cloning
to them and only GTTRM is ready to use in multi window MT programs
but now they can be systematically modified and it can be done
locally without core code modifications.
* harbour/contrib/hbgtwvg/wvtutils.c
! fixed some memory leaks in Unicode conversions
* harbour/source/lang/msgltwin.c
* more changes from LT to LTWIN
* harbour/common.mak
* restored missing msgltwin.c
* harbour/include/hbapi.h
* harbour/source/vm/hashes.c
+ added hash key support for pointer type
* include/hbextern.ch
* common.mak
* source/codepage/Makefile
- source/codepage/cpdedos.c
+ source/codepage/cpde850.c
- source/codepage/cpeldos.c
+ source/codepage/cpel737.c
- source/codepage/cpesdos.c
+ source/codepage/cpes850.c
- source/codepage/cpfrdos.c
+ source/codepage/cpfr850.c
- source/codepage/cptrdos.c
+ source/codepage/cptr857.c
! Renamed some codepage modules to include the
actual DOS codepage number instead of nothing
or generic "dos" name.
* common.mak
* source/lang/Makefile
+ source/lang/msgtr857.c
- source/lang/msgtrdos.c
! Rename one language module to be in sync with
proper internal ID.
* doc/howtosvn.txt
! Fixed the SVN propset command to include all needed keywords,
not just "Id".
* common.mak
* source/codepage/Makefile
- source/codepage/cpgedos.c
- source/codepage/cpgeiso.c
+ source/codepage/cpdedos.c
+ source/codepage/cpdeiso.c
! Renamed to be in sync with rules and content.
* source/lang/msgnl.c
! svn propset svn:keywords "Author Date Id Revision".
(to correct my prev commit)
* include/hbextern.ch
! Adjusted CP/MSG module names.
* harbour/include/hbgtcore.h
+ added some missing HB_GTSUPER_* functions
* harbour/contrib/hbgtwvg/wvtcore.c
* use hb_gt*() functions instead of hb_gt_*() ones
* harbour/contrib/hbgtwvg/wvtutils.c
* harbour/contrib/hbgtwvg/gtwvt.c
* harbour/source/rtl/gtwin/gtwin.c
* harbour/source/rtl/gtgui/gtgui.c
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/source/rtl/gttone.c
* harbour/source/rtl/gtclip.c
* minor cleanup in hb_gt_w32_*() function names
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/gtclip.c
* use common for all GT internal Clipboard buffer - thanks to Pritpal
for a note