* harbour/source/compiler/complex.c
! added casting to unsigned char to force syntax error when
some unknown tokens appear. Negative values bison recognizes
as end of input.
* harbour/contrib/rddads/adsmgmnt.c
! cleaned one warning
* harbour/contrib/xhb/txml.prg
! fixed wrongly defined scopes. Note: during porting xHarbour code
to Harbour scopes should be carefully checked because in xHarbour
in many cases wrong scopes does not cause any RT errors.
+ contrib/hbct/tests/bld_b32.bat
+ contrib/hbct/tests/bld_vc.bat
+ Added non-GNU make files for tests.
* contrib/hbct/tests/Makefile
+ Added ctwtest.prg to GNU makefile for hbct tests.
(so building of these was actually solved already)
* contrib/rddads/adsfunc.c
! Minor comment.
* source/rtl/scrollbr.prg
! Fixed :Update(). Submitted by Edmer.
! Fixed formula in :CalcThumbPos(). Reported by Edmer.
! Fixed assigment in :CalcThumbPos() to not interfere
with ::lOverride. Reported by Edmer.
; Please test.
* contrib/rddads/rddads.h
* contrib/rddads/adsfunc.c
* contrib/rddads/adsmgmnt.c
* More cleanups, internal fixes.
! ADSTESTLOGIN() fixed to not write into the 7th
param string buffer directly since this may cause
HVM corruption. To solve this properly, this parameter
must now be passed by reference. 8th parameter no
longer needed.
! ADSBLOB2FILE(), ADSFILE2BLOB(), ADSGETTABLECHARTYPE()
fixed to not GPF when selected workarea is not ADS.
+ ADSDDSETDATABASEPROPERTY() now able to clear the
content of numeric properties.
* contrib/rddads/rddads.h
* contrib/rddads/adsfunc.c
* contrib/rddads/adsmgmnt.c
* More cleanups, minor fixes.
! One fix to previous change.
+ Implemented:
ADSMGGETLOCKS()
ADSMGGETWORKERTHREADACTIVITY()
Please test these.
* 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.
* harbour/source/rtl/tbrowse.prg
! fixed positioning when cursor is moved by :rowpos assignment and
vertical move methods used together
* harbour/source/vm/estack.c
* updated hb_stackDispCall(), hb_UnhandledExceptionFilter(),
OS2TermHandler() to show functions where codeblock where
defined instead of EVAL() just like in call stack presented
by cancel operation
* updated hb_UnhandledExceptionFilter() to work in unicode mode
* harbour/source/vm/hvm.c
! fixed 1-st procedure presented in call stack during cancel operation
to use the same conditions as for all others
* 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.
* harbour/bin/hb-func.sh
! do not add .exe suffix if user added it explicitly in W32/DOS builds
* harbour/source/vm/dynsym.c
* added internal error when size of dynamic table exceed maximal size
% small optimization in hb_dynsymFind() function
* harbour/source/pp/ppcore.c
* added support for generating #line directives in strictly Clipper
compatible way even if they are redundant. It can be enabled
by HB_PP_STRICT_LINEINFO_TOKEN compiler time macro, f.e. using
environment variables:
set C_USR=-DHB_PP_STRICT_LINEINFO_TOKEN %C_USR%
and making clean build.
* contrib/rddads/make_b32.bat
* contrib/rddads/make_vc.bat
* contrib/rddads/rddads.h
* contrib/rddads/ads1.c
* contrib/rddads/adsfunc.c
! Fixed to compile without ADS_VER/ADS_REQUIRE_VERSION
being set.
+ Some features are automatically detected.
NOTE1: To get all supported features included, it's still
recommended to set ADS_VER/ADS_REQUIRE_VERSION
before building this lib.
NOTE2: Lowest tested ACE version is 6.11, and it may
work with 5.x (if someone has this version, pls
send it to me)
* 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.
* harbour/source/rtl/gtwin/gtwin.c
* added mouse wheel support to GTWIN
; TOFIX: the mouse events code in GTWIN needs cleanup
current code which uses s_mouseLast is wrong
and can cause that some events will be missing
and some others are wrongly reported. It should
be changed to sth similar to the code I added
to GTOS2
* 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/common/hbver.c
+ OS(), hb_verPlatform(): Added detection of Windows Server 2008.
* source/rtl/tobject.prg
! XPP feature guarded with HB_COMPAT_XPP
* 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.
* harbour/source/rtl/tbrowse.prg
* changed internal logic used for vertical movements. Now it should
be much closer to Clipper though it also replicates some wrong
Clipper behaviors due to removed protection against some concurrent
modifications in browsed object. I left two TOFIX notes and I'll
reimplement them later. Please test. Lorenzo it should resolve
the problem you reported.
* common.mak
* make_vcce.mak
* make_b32.mak
* make_gcc.mak
* make_vc.mak
* utils/hbdoc/Makefile
* utils/hbdoc/hbdoc.prg
* utils/hbdoc/genpdf1.prg
- Removed pdflib references from make file, since the
contrib was not working and got removed.
+ PDF enabling logic in HBDOC made local to HBDOC.
Now HBDOC_PDF should be #defined in HARBOURFLAGS
(or PRG_USR) envvar, proper pdf library should be
specified using LDFLAGS envvar.
* contrib/mtpl_b32.mak
! Removed permanent '-P' C compiler switch
from .prg -> .c rule. Thanks Rafa.
Marek pls check me.
* source/rtl/achoice.prg
! Fixed to abort (rather than crash), when user callback
function returns a non-numeric type. This is CA-Cl*pper
compatible behaviour.
* source/rtl/dbedit.prg
+ Documented CA-Cl*pper behaviour when it crashes if
a non-numeric (and non-NIL) var is returned from
the user callback function.
* 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.
* 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.