* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Displaying C compiler used (with path) if autodetection
was used and -info enabled.
! Workaround added to MemoLine() sometimes returning empty
string for the last line.
* source/rtl/tget.prg
% Minor opt.
* bin/hb-func.sh
! HB_USER_LIBS_DEF -> CC_HB_USER_LIBS
; QUESTION: Is it a problem to move these to HB_ namespace?
* source/rtl/lang.c
! Fixed to return language IDs with consistent '-' separators
instead of '_'. We may change this to consistent '_', if
we decide it's better.
* harbour/source/rtl/filesys.c
! fixed OpenWatcom Linux builds which does not support utimes() yet.
* harbour/contrib/rddads/ads1.c
* pacified two BCC warnings
* source/rtl/hbi18n2.prg
! Minor fix to change dir separators to "/" so that
there won't be multiple entries for the same file
in mixed environments.
(like: '#: src\file.prg:1022 src/file.prg:1022')
* utils/hbmk2/hbmk2.prg
+ Using HB_USERLANG() to detect language, so it now also
works on Windows.
+ Added support for -lang= switch to override language.
+ Added support for HB_LANG envvar to override language.
(this is the recommended method)
* include/hbextern.ch
* source/rtl/Makefile
+ source/rtl/lang.c
+ Added HB_USERLANG() function to retrieve ietf code of
language set by user. Works also on Windows.
* contrib/hbwin/win_misc.c
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/wapi_winuser.c
* WAPI_*() functions moved to wapi_* files.
+ WAPI_GETPROCADDRESS() added. This is a pure wrapper to
this Windows API.
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prt.c
% hb_parnl() -> hb_parni() where it was cast to int anyway.
* utils/hbmk2/hbmk2.prg
+ Added -shareable/-shareable- option to control the aspect
of harbour.so absolute dir reference. It can override
previous rule controlled by system location detection. See
more in help.
* Minor internal change to one of the functions.
+ source/rtl/hbzlibgz.c
* source/rtl/hbzlib.c
* source/rtl/Makefile
% Split source into two, so unnecessary code parts won't be
included in final binaries.
* include/hbextern.ch
* source/rtl/Makefile
+ source/rtl/tgethb.prg
* source/rtl/tget.prg
+ HB_EXTENSION functionality (:hideInput() and :style()) moved
from GET to a new derived class called HB_GET(). It means
this functionality is available in default builds.
Further extensions can be added to this class.
* include/hbextern.ch
* contrib/xhb/hbcompat.ch
* source/rtl/setkey.c
+ Added HB_SETKEY() which is similar to SETKEY() but contains
3rd parameter extension. Now this functionality is available
for default Harbour builds under this new function name.
+ Added cross mappings for xhb SETKEY().
* source/rtl/setfunc.prg
+ F11/F12 key handling now protected with HB_C52_STRICT instead
of HB_EXTENSION so it will available in default builds.
- Other HB_EXTENSION protected feature deleted (allowing to
assign non-string key sequences to F keys. This effect can
easily be achieved with direct SETKEY() calls, so it wasn't
an essential extension here.
* source/rtl/hbffind.c
+ Internal HB_EXTENSION protected part enabled.
- Deleted HB_EXTENSION dealing with Windows-specific attribute
chars. Those needing this functionality can access it using
C level API.
* source/rtl/tpopup.prg
* source/rtl/ttopbar.prg
- Deleted minor (non Clipper-compatible) behaviour change
in handling disabled menu items when HB_EXTENSION
is enabled.
; Only remains few class extensions covered by HB_EXTENSION.
Overall there is no reason anymore to use this macro.
TODO: Solve these using inheritance.
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added -tshead=<file> option to create a .ch header with
build timestamp information in it: _HBMK_BUILD_DATE,
_HBMK_BUILD_TIME_, HB_BUILD_TIMESTAMP_.
* -opt/-noopt -> -optim/-nooptim to avoid name ambiguity.
+ Added feature to -vcshead= to create a locally rolled
build number if there is no version control system detected.
In this case _HBMK_VCS_TYPE_ will be defined as "hbmk"
and _HBMK_VCS_ID_ will be initialized with a string, starting
with "1" and incremented on each hbmk2 call.
* Internal change to componentize hbmk2 functionality, clearing
away all STATIC vars and some parameter passing hacks.
Work in progress, TODO added.
! Fixed cosmetic bug in debug output when making .po.
* source/rtl/mlcfunc.c
! Fixed warning appeard in latest change.
* source/rtl/trim.c
* source/compiler/hbfunchk.c
- Removed HB_EXTENSION protected second extended parameters
from RTRIM() and ALLTRIM(). If you miss this option, please
report it on the list, we may readd such functionality under
some different name.
INCOMPATIBLE for HB_EXTENSION builds.
* doc/dirstruc.txt
* bin/hb-func.sh
* utils/hbmk2/examples/contribf.hbp
- contrib/hbole
* contrib/Makefile
+ contrib/hbwin/oleinit.c
+ contrib/hbwin/olecore.c
+ contrib/hbwin/hbwinole.h
+ contrib/hbwin/oleauto.prg
+ contrib/hbwin/tests/sample.odt
* contrib/hbwin/tests/testole.prg
- contrib/hbwin/win_tole.prg
- contrib/hbwin/win_ole.c
+ contrib/examples/hboleold
+ contrib/examples/hboleold/tests
+ contrib/examples/hboleold/tests/testole.prg
+ contrib/examples/hboleold/win_tole.prg
+ contrib/examples/hboleold/win_ole.c
+ contrib/examples/hboleold/Makefile
* Replaced old hbwin OLE implementation with
new implementation in hbole. Thanks to
Mindaugas Kavaliauskas for the new implementation.
Those who need the old implementation in the
meantime for any reason, can find it in contrib/example/hboleold.
; TODO: Fill the few missing features (ActiveX/FiveWin
compatibility).
* ChangeLog
* Marked two TODO/TOFIX done.
* harbour/source/rtl/filesys.c
+ added support for millisecond precision in hb_fsGetFileTime()/
hb_fsSetFileTime() in Linux builds. Please note that file time
precision depends also on used file system and Linux kernel so
it does not have to work in all cases.
* utils/hbmk2/hbmk2.prg
+ Added -hbrun option which will run the target without trying to
build it. If target is missing, the command will fail.
+ -run/-hbrun options will now run GUI target executable using 'start'
command on Windows platforms so that hbmk2 will return and leave
the app running.
* include/hbextern.ch
+ Added HB_GZPUTC().
* include/hbsetup.ch
- Removed HB_EXTENSION from documented list of build modified macros.
* source/common/hbverdsp.c
- Deleted HB_EXTENSION dependent part.
* source/rtl/mlcfunc.c
- Deleted HB_EXTENSION branch. Please modify your program to
use Set( _SET_EOL ) instead of passing EOLs explicitly to
memo functions. This works also in xhb.
INCOMPATIBLE when for HB_EXTENSION builds.
* source/rtl/alert.prg
! Minor in comment.
* source/rtl/saverest.c
- Removed SAVESCREEN()/RESTSCREEN() extra "lNoCheck" parameter
when HB_EXTENSION is enabled. Please report on the list
if you need this functionality.
* source/compiler/hbfunchk.c
! Fix to prev: AT() declaration.
; TODO: Clean rest of HB_EXTENSION stuff.
* contrib/xhb/hbcompat.ch
+ Added HB_GETENV() <-> GETENV() conversions.
+ Added MEMOWRIT() translation for xhb sources.
* source/rtl/at.c
* source/rtl/gete.c
* source/rtl/memofile.c
- Deleted HB_EXTENSION branches. Users of extended
GETENV(), GETE(), AT() and MEMOWRIT() functionality
will have to use hbcompat.ch to stay compatible with xhb
(this isn't needed for MEMOWRIT()).
INCOMPATIBLE change for those who enabled HB_EXTENSION
in Harbour. Hopefully xhb will implement HB_AT() and
HB_GETENV() in the future so hbcompat.ch will become
unnecessary.
* include/hbextern.ch
+ source/rtl/radiobhb.prg
* source/rtl/radiobtn.prg
* RADIOBUTTON() Harbour extension moved to a separate file
to cause no harm for programs defining this function locally.
At the same time, HB_EXTENSION protection got removed so
it can be accessed in default builds as a RADIOBUTTO()
alternative.
* doc/cmdline.txt
* doc/howtosvn.txt
+ Added CC copyright.
* source/rtl/alert.prg
* include/hbextern.ch
+ HB_ALERT(). Now this function holds all extended features:
nDelay support and any type for first parameter.
* ALERT() now behaves completely along Clipper version, without
extensions. HB_EXTENSION no longer modifies its behaviour, so
if someone needs these extended features, there is no need to
build with HB_EXTENSION, only ALERT() calls have to be
converted to HB_ALERT(). INCOMPATIBLE (in some scenarios).
* contrib/hbtip/utils.c
% TIP_TIMESTAMP() code cleaned to remove redundancy of
having two full distinct copies of this function. Now
platform independent parts are kept common.
! TIP_TIMESTAMP() fixed hb_parl() to hb_parnl() for 'hours'
parameter. I wonder how this bug wasn't noticed till now.
Please someone test, maybe I'm missing the point of this
parameter, but it's unlikely the intent was a logical value
as it's later converted to timestamp.
* contrib/hbtip/thtml.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/httpcln.prg
* contrib/hbtip/ftpcln.prg
* END -> END*
* Minor formatting.
* contrib/hbtip/base64x.c
* contrib/hbtip/smtpcln.prg
* Formatted.
* Minor optimizations (File() -> hb_FileExists(), ::AuthPlain()
simplification).
% BUILDUSERPASSSTRING() rewritten in Harbour. It's a very
simple function.
* harbour/source/vm/Makefile
* respect HB_HVM_ALL user settings
! export HB_HVM_ALL value set automatically - otherwise it's not seen
when HBVMMT is compiled
* harbour/source/vm/classes.c
* exteneded :classsel() build in method to repsect scope given as
2-nd parameter and return extended information compatible with
:ClassFullSel() implemented in xHarbour by Francesco Saverio Giudice.
This extended info is returned when 3-rd parameter is .T.
* harbour/source/rtl/dateshb.c
* do not generate RTE on wrong params in HB_STOT() function
* harbour/contrib/xhb/xhbfunc.c
+ added hacked function which allows to send messages without respecting
scope. It works only for the most visible data and does not support
any automatic casting.
* harbour/contrib/xhb/dumpvar.prg
! fixed HB_DumpVar() results on platforms where CRLF has different
length then 2
% small improve in hash item presentation
+ added __objGetMsgFullList() and __objGetValueFullList() as static
functions. Code borrowed form xHarbour by Francesco Saverio Giudice.
* make HB_DumpVar() working with object values.
* source/rtl/tclass.prg
* source/rtl/treport.prg
* source/rtl/tpersist.prg
+ Added support for TIMESTAMP types.
* source/rtl/tclass.prg
% Using SWITCH in AddData()/AddClassData().
* source/rtl/tget.prg
! Fixed to check for ::cType != NIL before
each SWITCH ::cType statments. Thanks to Przemek
for pointing it out.
* source/rtl/alert.prg
% Using hb_CStr() in extended mode. Also thanks to Przemek.
% Some minor opt.
* harbour/utils/hbi18n/hbi18n.prg
% added support for optional reusing hIndex table in repeated calls
to __I18N_potArrayJoin() with the same aTrans array.
* harbour/source/rtl/hbi18n2.prg
% reuse hIndex table in repeated calls to __I18N_potArrayJoin()
* harbour/source/rtl/hbi18n2.prg
+ added new Harbour internal i18n functions:
__I18N_POTARRAYTRANS() and __I18N_HASHJOIN()
* harbour/utils/hbi18n/hbi18n.prg
+ added new switch to hb18n tool:
-a add automatic translations to 1-st .pot file using
translations from other .pot or .hbl files
* harbour/source/common/hbdate.c
! fixed decoding fractional part of seconds in timestamp expressions
when less the 3 digits were used.
* harbour/source/rtl/dateshb.c
+ added optional logical parameter to hb_TSToStr() function to enabled
packed/stripped form
* harbour/source/rtl/valtoexp.prg
% use hb_TSToStr() with new pack parameter in hb_ValToExp() and hb_CStr()
* harbour/include/hbcomp.h
* harbour/source/common/hbdate.c
* harbour/source/rtl/strmatch.c
* harbour/source/rtl/fssize.c
* harbour/source/rtl/hbffind.c
* harbour/source/rtl/filesys.c
* enabled some POSIX function added to 1.8 Linux OpenWatcom builds
and cleaned some workarounds not longer necessary
* harbour/source/rtl/hbproces.c
+ added hack with small sysconf() implementation which is still missing
in OpenWatcom 1.8. Now it's possible to build Harbour in Linux using
officially distributed OpenWatcom 1.8
* harbour/source/rtl/disksphb.c
* added TODO warning message
* harbour/source/compiler/cmdcheck.c
! fixed typo in memory freeing in repeated -p<path> options
* utils/hbmk2/hbmk2.prg
+ Added -opt/-noopt switch (plus .hbp param) to control
C compiler optimizations.
+ Added C compiler optimizations to all compilers identical
to the ones used to build Harbour. Specifically MinGW,
MSVC got new switches, bcc got -6, owatcom got fully
synced.
+ Added internal support for C++ mode selection for all
compilers.
+ Added -debug support for all compilers where it was missing
(most).
! Synced poccarm switch with Harbour build.
- utils/hbmk2/examples/minigui.hbp
+ utils/hbmk2/examples/hmg.hbp
+ Harbour MiniGUI hbmk2 param file updated
and instructions added. Now it's possible
to build hmg apps using hbmk2 very easily,
see instructions in file.
* utils/hbmk2/examples/hwgui.hbp
+ hwgui hbmk2 param file updated and
instructions added. Now it's possible
to build hwgui apps using hbmk2 very easily,
see instructions in file.
* source/vm/itemapi.c
* source/rtl/hbffind.c
* contrib/hbct/atnum.c
! Fixed macro related warnings.
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/contrib/gtwvg/gtwvg.c
! Fixed a long standing bug - window mismanaged when clicking on titlebar.
Processed WM_NCLBUTTONDCLK:
* tests/speedtst.prg
! Fixed missing hb_progname() for non-Harbour compilers.
* include/hbextern.ch
+ Added time related new functions.
* utils/hbmk2/hbmk2.prg
+ Added -runflag: option to pass flags to target executable.
+ Started -inc (incremental link) support. It's very early
stage, don't expect it to work yet and please don't report
any problems with this feature yet.
* source/vm/asort.c
! Fixed to return Clipper compatible results when non-logical
non-numeric value is returned from ASORT() codeblock.
* utils/hbtest/rt_array.prg
* Cleaned ASORT() tests when sorting block returns constant value.
Now Clipper results aren't bent anymore, instead I've added
different expected results for Harbour and Clipper. The
difference is due to different sorting algorithms used,
here the point is to get similar *pattern* for different
invalid values.
* source/rtl/philes.c
% HB_FGETDATETIME(): Removed double call to hb_stortdt().
* contrib/hbqt/tests/hbqt.hbp
* Removed extra line at EOL.
* contrib/gtqtc/tests/hbqt.hbp
! Removed environment dependent 'libspath=' line.
Please don't add such path to Harbour SVN, since these
can differ from system to system and is also non-portable.
The correct name of the directive is: 'libpaths='.
* contrib/gtqtc/Makefile
% Removed double SVN ID.
This file needs to be updated according to hbqt latest
Makefile portability changes.
* contrib/rddads/ads1.c
* Minor formatting.
* source/common/hbver.c
+ Added skeleton for hb_verHostCPU()
* source/rtl/trace.c
! HB_TRACESTRING() fixed potential GPF if non-string parameter
was passed.
* contrib/hbqt/generator/hbqtgen.prg
! Fixed demo to not refer to gtgui on non-Windows systems.
! Fixed RTE when source file isn't found. (not verified)
! Change EOL handling.
! Fixed to use portable path seps when generating demoqt.prg.
* contrib/hbqt/generator/qt45.qtp
! Fixed to use forward slashes. Didn't test if this broke non-*nix.
* contrib/hbqt/qth/QWindowsXPStyle.qth
! Fixed Windows specific QT function wrapper to compile on non-Windows.
* contrib/hbqt/qth/QPixmap.qth
! Deleted Windows specific HBITMAP related functions.
* contrib/hbqt/tests/hbqt.hbp
+ Added support for darwin
* contrib/hbqt/Makefile
* contrib/hbqt/generator/hbqtgen.prg
+ Added support for QT for Darwin official SDK package
I had to change the way headers are included to follow the
QT standard and pass each QT lib header dir on the command
line instead of using subdirs in #include directives.
; TODO: Probably this change should be applied to all .qth files,
but on Darwin it worked without this change for some reason.
* contrib/hbqt/tests/demoqt.prg
* contrib/hbqt/TQPixmap.prg
* contrib/hbqt/hbqt_utils.cpp
* contrib/hbqt/hbqt_qwidget.cpp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_qwindowsxpstyle.cpp
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
* contrib/hbqt/hbqt_qpixmap.cpp
* Regenerated.
* harbour/source/rtl/hbstrfmt.c
+ added precision support for %s and %d.
COMMENT: I've used GNU printf() function for test. Some of
formats is not supported by it. For example, zero padding is
ignored if left alignment is used, etc. I'm not sure if it is
intentional.
* harbour/source/rtl/dircmd.prg
! small fix in 'DIR <filemask>' DOS like output formatting.
Note: this function uses strict DOS like 8.3 file name convention
in the output so it will play well with long file names.
Maybe we should change the output formatting?
* harbour/doc/Makefile
! removed unexisting license.txt file
* harbour/include/hbapidbg.h
* do not export Harbour debugger functions. If someone wants to create
3-rd party debugger then we should agree the list of functions which
should be public.
* harbour/include/hbstack.h
* minor cleanup in some definitions
* harbour/include/hbdefs.h
+ added HB_DLL_ENTRY_POINT macro to set default DLL entry point for
different Windows compilers
* harbour/source/vm/maindllh.c
* harbour/source/vm/maindllp.c
* use HB_DLL_ENTRY_POINT macro
* harbour/include/hbsetup.h
* added internal macro to disable flatten optimization
* harbour/include/hbmath.h
* harbour/source/rtl/math.c
* make default math error handler function static
* harbour/include/hbatomic.h
+ added atomic inc/dec inline asm code to OW x86 builds
* harbour/source/rtl/console.c
* small code reorganization to not mix public and private function calls
* harbour/source/rtl/hbregex.c
* harbour/source/hbpcre/_hbpcreg.c
* do not use hb_xfree() function pointer directly to avoid problems
with different calling conventions.
* harbour/config/win/owatcom.cf
* harbour/config/os2/owatcom.cf
* removed unnecessary in recent OpenWatcom versions explicit wlink.lnk
including.
* config/dos/owatcom.cf
* config/win/owatcom.cf
* config/linux/owatcom.cf
* config/os2/owatcom.cf
% Tweaked optimization options. This will result in slower
build process, but more optimal runtime performance and
executable sizes. One option is now turned on which can
cause bad code with OW 1.1, so make sure you use latest
Open Watcom version, after all the upgrade is free.
It'd be great if owatcom users could make speedtst runs
with this revision and older ones to see the difference,
maybe now owatcom won't perform so poorly as before.
+ Added link to C compiler option docs.
! Fixed to convert slashes in HB_USER_CFLAGS.
% Enabled -5r for DOS and OS/2.
* contrib/hbct/disk.c
! Disabled some volume/disk related code for WinCE.
* contrib/xhb/hbserv.c
! Disabled for poccce.
* contrib/hbnf/getenvrn.c
! Disabled FT_GETE() for poccce.
! Fixed FT_GETE() to return zero/empty string on platforms not
supported (like also OS/2).
* doc/en-EN/Makefile
- doc/en-EN/error.txt
+ doc/en-EN/errsys.txt
* source/rtl/Makefile
- source/rtl/fserror.c
- source/rtl/errorapi.c
- source/rtl/errorapu.c
- source/rtl/errorint.c
- source/rtl/errorsys.prg
+ source/rtl/fserr.c
+ source/rtl/errapi.c
+ source/rtl/errint.c
+ source/rtl/errapiu.c
+ source/rtl/errsys.prg
* contrib/examples/hbdoc/examples/core_es/Makefile
- contrib/examples/hbdoc/examples/core_es/error.txt
+ contrib/examples/hbdoc/examples/core_es/errsys.txt
* Most filenames containing 'error' renamed to make
it easier to search for errors in build logs.
; Three headers remain.
* harbour/source/rtl/tbrowse.prg
! fixed Clipper compatibility in configure() action - it does not
set refreshAll flag and only invalidates all records
! recalculate visible columns in colorRect() method
* enabled strict Clipper compatible behavior for non character
footers and headers
* harbour/include/hbclass.ch
+ added support for xBase++ method code declaration by
METHOD <clasName>:<methodName>[ ( <parameters,...> ) ]
f.e.:
METHOD TBrowse:Configure( nMode )
* harbour/source/rtl/tthreadx.prg
* harbour/source/rtl/thfuncx.prg
! fixed 0 timeout parameter in some xBase++ compatible functions
In xBase++ timeout 0 means wait forever
* harbour/tests/speedtst.prg
* update to compile with MT support using xBase++ MT .prg API.
I tested it only using Harbour by compiling this code with
-D__XPP__ macro and it works using only xBase++ MT .prg API
we are emulating.
Please make some tests with real xBase++ compiler.