* 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.
* source/rtl/objfunc.prg
! Fixed ISNUMBER() -> hb_ISPOINTER() for pointers.
Thanks to Chen Kedem.
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_array.prg
! Fixed expected results to use the recently introduced new error codes.
Thanks to Chen Kedem.
* 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/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)
* source/rtl/tpopup.prg
! Fixed typo in POPUPMENU():getAccel(), causing wrong
position being returned. Reported by Jose Miguel.
* source/rtl/ttopbar.prg
! Changed HB_C52_STRICT guards to HB_EXTENSION.
* 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/bin/pack_src.sh
* try to detect GNU tar
* harbour/make_xmingw.sh
* added new default location for MinGW cross-compiler in Gentoo
distribution
* added auto detection of MinGW cross-compiler installation which
should work in most cases when default location test fails
* harbour/make_tgz.sh
* try to detect GNU make and GNU tar
* harbour/source/rtl/gtwvt/gtwvt.c
* call hb_gt_wvt_InitWindow explicitly to eliminate problems
with ignored WM_CREATE message when new window handler is not
yet registered
* harbour/bin/hb-func.sh
* added system libraries necessary for linking some of harbour
contrib libs in WinCE
* minor cleanup
* harbour/source/rtl/gtxwc/gtxwc.c
* added missing 'const' in declaration
* 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.
* bin/bld.bat
! %HB_USER_LIBS% (for bcc32) moved to the beginning of the lib list.
* contrib/mtpl_b32.mak
! Fixed preprocessor error in line 190 when HB_INSTALL_PREFIX != HB_ROOT
* source/rtl/getsys53.prg
* source/rtl/getsys.prg
! Moved ReadStats() to getsys52.prg
* ChangeLog
! Removed UTF-8 signature from the beginning of the file.
Unfortunately accented chars got converted to UTF8, which
would need to fixed.
Pritpal, please turn off this feature on your editor for Harbour.
* harbour/source/rtl/hbgtcore.c
* formatting
* harbour/source/vm/hvm.c
! fixed typo in HB_TRACE message
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* updated for multi window usage
* harbour/source/vm/maindllp.c
* use MessageBox() instead of hb_errInternal() - thanks to Jon Jagger
for information about the problem
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/contrib/hbgtwvg/gtwvt.h
* harbour/contrib/hbgtwvg/gtwvt.c
* moved RGB definition of used colors to terminal window structure,
now each window can use different palette
* 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/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
* harbour/common.mak
* harbour/source/rtl/Makefile
* harbour/include/hbgtcore.h
* harbour/source/rtl/hbgtcore.c
* harbour/source/rtl/inkey.c
+ harbour/source/rtl/inkeyapi.c
* moved hb_inkey*() functions to GT subsystem so now they can be
overloaded by GT drivers and/or operate on different GT context
* harbour/source/rtl/mouse53.c
* eliminated to unused static variables
* harbour/source/rtl/mouseapi.c
* do not include unnecessary header files
* harbour/source/rtl/gtchrmap.c
* replaced // comment by /* ... */
* harbour/common.mak
* harbour/make_gcc.mak
* harbour/make_gcc.sh
+ Added the possibility to build dll/so of Harbour VM+RTL
(tested om MingW, Cygwin, FC8/64)
* harbour/make_b32.mak
* harbour/make_vc.mak
* harbour/make_vcce.mak
+ Added HB_ARCHITECTURE definition (to be used in a future)
* harbour/source/rtl/gtchrmap.c
! Fixed compilation under Linux using make_gcc.sh
* harbour/include/hbapigt.h
* removed declaration for not existing function: hb_inkeyGet()
* harbour/include/hbgtcore.h
* harbour/source/rtl/hbgtcore.c
* moved all static variables used by core GT code to HB_GT_BASE
structure
* harbour/source/rtl/inkey.c
* cleanup
* harbour/contrib/Makefile
* moved HB_CONTRIBLIBS to the end build library list because they may
need some other contrib libraries in dependences list
* harbour/source/rtl/mouse53.c
* do not include unnecessary header files
* harbour/bin/pack_src.sh
* changed packing procedure - now it does not scan chosen directories
and files but all contents of all .svn/entries to extract files
stores in SVN repository and then pack them - it's very good method
to pack whole Harbour repository without .svn/* data and risk of
packing local files.
* harbour/harbour.spec
* harbour/harbour-ce-spec
* harbour/harbour-w32-spec
* updated for recent changes in directory and library names
* harbour/bin/pack_src.sh
* updated for recent file name modifications
* harbour/include/hbgtcore.h
* harbour/source/rtl/gtclip.c
* changed hb_gt_w32_SetClipboard() type from void to BOOL
* harbour/source/rtl/gtstd/gtstd.c
* harbour/source/rtl/gtpca/gtpca.c
* added basic input support for DJGPP
* harbour/contrib/gtwvg/gtwvt.c
! fixed memory leak and GPF trap
* harbour/contrib/gtwvg/wvtutils.c
! rewritten and fixed CLIPBOARD functions - Pritpal this functions
should be removed, they are redundant and works only in MS-Windows
* make WVT__GETOPENFILENAME() and WVT__GETSAVEFILENAME() Unicode
ready and fixed possible GPF trap
* harbour/include/hbwmain.c
* harbour/source/vm/mainwin.c
! fixed unnecessary conversion of WinMain() parameters on W32/W64
when UNICODE macro is set - thanks to Chen
* harbour/source/rdd/sdf1.c
* harbour/source/rdd/delim1.c
! fixed code wrongly synced with xHarbour - in Harbour HB_SET_EOL
is char* not PHB_ITEM - thanks to Andi
* harbour/source/compiler/genc.c
! fixed file name in generated for C inline code by escaping
special characters - thanks to Andi
* harbour/source/rtl/gtwvt/gtwvt.c
* minor code cleanup
* harbour/contrib/gtwvg/wvtcore.c
! fixed setting default foreground and background color when user
does not pass it's own one. Previous versions was using _s->background
and _s->foreground - it was wrong because this variables in all
GTWVT base GTs (also in xHarbour) contains not default color but
the color recently used to redraw some part of screen - f.e. after
exposing some region - it means that they can have any value.
Such bugs are hard to locate because the same program can be executed
many times without any problem and suddenly he will use wrong colors
drawing sth - if you observed such effect then it can be the results
of the above problem. Now default color is taken from core GT code.
Two functions make it: hb_wvt_FgColorParam() and hb_wvt_BgColorParam()
Both accept also colors passed as standard Clipper strings.
The same should be also fixed in xHarbour just like the problem with
executing registered user functions when HVM is closing fixed in
previous commit - even if now it does not cause GPF (due to race
condition it may be exploited only sometimes) then it does not mean
it works correctly.
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
* removed unused global hdc
* formatting and minor code cleanup
* harbour/source/vm/hvm.c
+ added to hb_vmRequestReenter() support for checking if HVM is
properly initialized and working for code which may want to execute
PCODE before HVM initialization or after HVM close - in such case
hb_vmRequestReenter() will return FALSE.
Please also remember that in the future hb_vmRequestReenter()
may return FALSE also in some other cases.
* harbour/source/vm/eval.c
* use hb_vmRequestReenter()/hb_vmRequestRestore() in hb_itemDo[C]()
instead of hb_vmPushState()/hb_vmPopState()
* harbour/contrib/gtwvg/gtwvt.c
! always use hb_vmRequestReenter()/hb_vmRequestRestore() before
executing .prg functions/codeblocks. It will resolve the problem
with executing .prg functions during HVM closing. Anyhow I suggest
to register C cleanup functions using hb_vmAtExit() for code which
needs some additional destructor/closing procedure.
* code formatting and indenting
* source/rtl/gtwin/gtwin.c
* source/rtl/gtcrs/gtcrs.h
* source/rtl/gtsln/gtsln.h
* source/rtl/gttrm/gttrm.c
* source/rtl/gtwvt/gtwvt.h
+ #defining xhb compatible K_SH_* keyboard codes only if
they were not already defined.
* utils/hbdoc/genasc.prg
! Fixed problem generating filenames for .txt output.
Also added LFN branch to get rid of the 8.3 limitation.