* harbour/source/rtl/dates.c
! fixed CTOD() to be CA-Cl*pper compatible in decoding dates like:
SET DATE FORMAT TO "YYYY-MM-DD"
? CTOD("000002009.000000012.0000000000000027.1")
? CTOD(" 0002009. 000012. 000028 1")
? CTOD("xx0002009.xxx000012.xxxxxxxxxx000028 1")
? CTOD("000 02009.00 000012.000 000028 1"), "*"
? CTOD("2007 11 29")
? CTOD(" 2007 11 29 ")
? CTOD("2007-1 1-29")
? CTOD("2007- 1 1 - 2 9 ")
! fixed HB_CTOT() to use the same formatting rules as CTOD() in
CA-Cl*pper - now delimiters between values are strictly required.
* INSTALL
* make_gnu.bat
+ Added support for Cygwin builds (passes call to make_gnu.sh).
+ Added Cygwin build starter example.
+ Cygwin mentioned as a requirement for mingwarm builds,
also added to PATH.
! Fixed cygwin autodetection.
! Fixed wrong PATH order in 'MinGW GCC + MSYS' example.
* Merged mingw+msys and cygwin bash based build methods,
and titled as "alternate" method.
Now all supported compilers work by starting up make_gnu.bat.
* utils/hbmk2/hbmk2.prg
! Change compiler autodetection to work for cygwin.
* mpkg_dos.bat
* mpkg_win.bat
* make_gnu.bat
! Fixed build process to work in paths containing spaces.
I didn't test the batch in pure DOS, so I may have broken it.
* config/win/install.cf
* config/wce/install.cf
! Fixed 'install' to work when there is a space in install path.
* make_gnu.bat
* INSTALL
+ Added support for HB_BUILD_LOG envvar. If set to 'yes',
it will automatically set log output filename to:
'log-<arch>-<comp>.txt'
if set to 'no' it will no make any extra redirection,
if set to any other value, it will be used for output
(both std and err). The batch will set HB_BUILD_LOGFILE
to the filename used for output for processing.
This feature requires Windows NT or upper host.
I didn't enable this feature yet by default to not break
existing user setups, but maybe I'll do it before the
final release.
* Modified text shown (+ beep thrown) when build failed.
* Messages now all start with 'Harbour'.
* Do not do the second build pass if the first one failed.
* contrib/hbwin/legacy.prg
! Fixed CreateObject() not working due to typo.
Thanks to Itamar Lins for the report.
* mpkg_dos.bat
* mpkg_win.bat
* mpkg_win.nsi
+ Enabled HB_BUILD_LOG=yes.
* Silenced copy, zip, makensis commands.
+ Added message about failed build process.
* Changed to use 'copy' instead of 'xcopy'
* Changed internals so now they don't require HB_COMPILER
and HB_ARCHITECTURE to be set. This means that now
we can rely on autodetection even for mpkg_*.bat files.
Creating an installer is very easy now for most cases.
Just type:
mpkg_gnu.bat
* source/vm/set.c
+ Added file commit support to __MVSAVE(), if Set( _SET_HARDCOMMIT )
is set to .T.. This is the default which means by default we aren't
CA-Cl*pper compatible. Addition protected by HB_C52_STRICT.
* source/rdd/dbf1.c
! Minor typo in comment.
* doc/en-EN/hb_apiit.txt
* include/hbapi.h
* include/hbapiitm.h
* source/vm/itemapi.c
* source/vm/extend.c
* source/rtl/gtwvt/gtwvt.c
* source/rdd/dbf1.c
* contrib/gtqtc/gtqtc.cpp
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* contrib/hbwin/olecore.c
* examples/hboleold/win_ole.c
* Finishing long planned function renames to clear up
a very (10 years) old naming inconsistency.
To adapt you code to this, please do changes below:
1) hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
2) hb_itemPutCPtr2() -> hb_itemPutCPtr()
Unmodified code will generate compile time errors, so it's easy
to spot where the modifications need to be done. For most users,
only case 1) will need to be dealt with.
; INCOMPATIBLE. Please update your code.
* source/rtl/hbi18n1.c
* source/rdd/dbfnsx/dbfnsx1.c
* hb_itemPutCPtr() (with three parameters) -> hb_itemPutCLPtr()
* contrib/gtwvg/wvggui.c
* contrib/gtqtc/gtqtc.cpp
! Fixed GPF in hb_gtInfo( HB_GTI_SCREENSIZE ) call with wrong
parameter.
* mpkg_dos.bat
* mpkg_win.bat
* make_gnu.bat
* Now make_gnu.bat will also install libs to lib/<arch>/<comp>
by default. This will enable default settings to work in
multi-compiler mode.
; NOTE: hbmk script may need to be adapted for this change,
to add lib/<arch>/<comp> to libpath. Only MinGW + msys
users using hbmk *script* are affected though.
* contrib/hbqt/hbqt_slots.cpp
! Fixed QT_QDEBUG() to map to QT function even on Windows.
(no OutputDebugString() here please)
! Fixed wrong hb_itemPutCPtr() usage. Here, only string
allocated by Harbour functions can be used. Attaching
foreign string pointers will produce serious problems.
This fixes one GPF reported by Lorenzo on Linux.
! Renamed static vars to have 's_' prefix.
! Commented unused SlotsExecFocusEvent(). This fixes the
MinGW warning.
! Fixed to use hb_snprintf() instead of unsafe sprintf().
% Events::eventFilter() simplified.
* Formatting.
* source/rtl/gtwvt/gtwvt.c
! Fixed hb_gtInfo( HB_GTI_SCREENSIZE ) called with invalid parameter.
(untested, please test)
* contrib/gtwvg/gtwvg.c
! Fixed hb_gtInfo( HB_GTI_SCREENSIZE ) called with invalid parameter.
! Fixed hb_gtInfo( HB_GTI_SETPOSANDSIZE ) called with invalid parameter.
(untested, please test)
* contrib/hbxbp/tests/demoxbp.prg
! Fixed FUNCTION not returning value.
* utils/hbmk2/hbmk2.prg
* Cleanup to path separator handling in .hbc files found
automatically.
* source/rtl/hbgtcore.c
! Fixed GPF when using hb_gtInfo( HB_GTI_SETWIN ) without
valid parameter. Thanks to Marek Horodyski for the report.
* contrib/gtwvg/wvgsink.c
! Attempt to fix MinGW warning.
---
../../wvgsink.c: In function 'HB_FUN_WVG_AXSETUPCONNECTIONPOINT':
../../wvgsink.c:519: warning: dereferencing pointer 'hSink.56' does break strict-aliasing rules
../../wvgsink.c:530: note: initialized from here
---
Please review, I'm not at all sure this patch is correct.
* source/rtl/getsys.prg
! GETACTIVE() function fixed to work even if an app
manages getlist on its own. In this case GETACTIVE()
will maintain the GET object in its own STATIC variable.
This should fix the SuperLib problem reported by Bruno Luciani.
* examples/superlib/hbsuper.dif
+ Will now automatically enable CLIPPER53 protected code
if Harbour was built with HB_COMPAT_C53 setting. This
enables SuperLib to use C53's build-in mouse functions.
* harbour/source/rtl/lang.c
% simplified HB_USERLANG() code
* harbour/include/hbdefs.h
* use inline functions for HB_PUT_PTR() and HB_GET_PTR() macros in
GCC builds. It makes GCC builds alignment free and fixes the problem
with broken strict aliasing rules.
* harbour/include/hbwmain.c
* casting
* source/rtl/lang.c
* source/rtl/isprint.c
* contrib/hbwin/win_prn2.c
! Fixed most mingw/C++ warnings:
warning: deprecated conversion from string constant to 'char*'
* Added 'const' to hb_PrinterIsReady() string parameter.
; Please review me.
; TOFIX: These remain of this type of warning:
../../../../../include/hbwmain.c:78: warning: deprecated conversion from string constant to 'char*'
../../ctnet.c:182: warning: deprecated conversion from string constant to 'char*'
../../print.c:204: warning: deprecated conversion from string constant to 'char*'
../../print.c:205: warning: deprecated conversion from string constant to 'char*'
../../win_prn2.c:437: warning: deprecated conversion from string constant to 'CHAR*'
../../../maindllp.c:429: warning: deprecated conversion from string constant to 'char*'
../../../maindllp.c:454: warning: deprecated conversion from string constant to 'char*'
* contrib/gtwvg/wincallb.c
! Added cast to avoid error in mingw/C++ mode.
Thanks Pritpal, it worked.
* contrib/gtwvg/Makefile
+ Reenabled for mingw/C++
* source/vm/extend.c
* Minor formatting.
* source/rtl/mlcfunc.c
! Fixed warning in HB_C52_STRICT mode.
* contrib/hbxbp/xbp.ch
! Fixed HB_OUTDEBUG() macro to work also in codeblocks when
not in debug mode, and also to better handle the case when
parameter is a variable.
* ChangeLog
+ Added incompat NOTE to hb_par*/hb_stor*() change.
* harbour/source/rtl/mlcfunc.c
! fixed missing ulLen declaration in if() branch
% restored a little bit optimized Viktor's code - now it's safe to
call hb_par*() expecting default value on wrong type even if given
parameter is array
* harbour/include/hbapi.h
* harbour/source/vm/extend.c
* renamed existing hb_par*() and hb_stor*() functions which supports
variable number of parameters (...) into hb_parv*() and hb_storv*()
* added new hb_par*() and hb_stor*() functions which use strict number
of parameters. New hb_par*() functions do not make hidden conversion
between types, f.e. hb_parl() returns 1 only for logical parameters
which contain .T.
* harbour/include/extend.api
* map Clipper _par*() functions to hb_parv*()
* map Clipper _stor*() functions to hb_storv*()
* harbour/source/vm/dynsym.c
* harbour/source/vm/hvm.c
* harbour/source/vm/maindllp.c
* harbour/source/vm/thread.c
* harbour/source/vm/classes.c
* harbour/source/rtl/cdpapi.c
* harbour/source/rtl/mlcfunc.c
* harbour/contrib/hbnf/dispc.c
* harbour/contrib/hbnf/mouse.c
* harbour/contrib/hbnf/getenvrn.c
* harbour/contrib/hbhpdf/harupdf.c
* harbour/contrib/gtwvg/wvgcuig.c
* harbour/contrib/gtwvg/wvgwin.c
* harbour/contrib/gtwvg/wvgutils.c
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgwing.c
* harbour/contrib/rddads/adsfunc.c
* harbour/contrib/rddads/ads1.c
* harbour/contrib/rddads/adsmgmnt.c
* harbour/contrib/hbmisc/hb_f.c
* harbour/contrib/hbwin/wapi_commctrl.c
* replaced hb_par*() and hb_stor*() calls used with additional parameters
by hb_parv*() and hb_storv*()
TODO: update examples/hbwhat/*.c files
* harbour/examples/uhttpd2/socket.c
* harbour/examples/httpsrv/socket.c
* changed hb_parni() to hb_parnidef()
* harbour/source/vm/itemapi.c
* removed some conversion which are not necessary for CA-Cl*pper
compatibility
* harbour/source/macro/macrolex.c
* replaced HB_LEX_IS*() macros by by HB_IS*() ones
* include/hbextern.ch
* source/rtl/mousehb.c
* source/rdd/rddinfo.c
* source/rdd/dbdrop.c
* source/rdd/dbexists.c
* source/rdd/fieldhb.c
* Rest of similar to STOD() status functions also
protected with ! HB_C52_STRICT.
* include/hbextern.ch
* source/rtl/datesx.c
* STOD() function not protected by HB_COMPAT_XPP anymore.
Instead it's turned off only in HB_C52_STRICT mode.
+ contrib/xpp/xppextrn.ch
+ Added.
* contrib/hbwin/win_misc.c
+ Added WIN_HIWORD() and WIN_LOWORD() functions (from GTWVG).
But commented because of colliding names.
* contrib/hbblat/blatcls.prg
! Added type checks for all params.
% File() -> hb_FileExists()
* Minor formatting.
* source/rtl/browdbx.prg
* Minor formatting in comment.
* contrib/xpp/Makefile
+ contrib/xpp/dbcmdx.c
+ contrib/xpp/tgetx.prg
+ contrib/xpp/tbcolumx.prg
+ contrib/xpp/dbjoinx.prg
+ contrib/xpp/idlex.c
+ contrib/xpp/typefilx.prg
+ contrib/xpp/philesx.c
+ contrib/xpp/browdbx.prg
+ contrib/xpp/dbdetacx.c
+ contrib/xpp/dblistx.prg
+ contrib/xpp/binnumx.c
+ contrib/xpp/mousex.c
+ contrib/xpp/dbupdatx.prg
+ contrib/xpp/dbfuncsx.prg
+ contrib/xpp/oemansix.c
+ contrib/xpp/tbrowsex.prg
+ contrib/xpp/thfuncx.prg
+ contrib/xpp/dbtotalx.prg
+ contrib/xpp/datesx.c
+ contrib/xpp/tthreadx.prg
+ contrib/xpp/dbstruxx.prg
+ contrib/xpp/dbsortx.prg
+ Made a copy of all Xbase++ related Harbour core components
into this separate lib. As we're starting to have a larger
and larger amount of Xbase++ functions, to not pollute core,
to have a clear separation of components and to allow
toggling Xbase++ compatibility at user level (instead of
Harbour level), it's a good time to make this long planned
first step. This means that now Harbour can be built with
HB_COMPAT_XPP turned off, yet - with this lib - all Xbase++
feature can still be used, and this is the recommended way.
The name of the lib is tentative and in the future it may
even be moved or renamed. 2.0.0 final version will still
have HB_COMPAT_XPP enabled in core.
; NOTE: Please add new Xbase++ compatibility functions to this lib.
; TOFIX: xpp_TBrowse() needs some internal parts from tbrowse.prg,
so current solution isn't finished.
; TOFIX: A few Xbase++ compatibility features are embedded
into core source. These should be resolved by other
means. (f.e. compiler time/runtime/hbmk2 switches, but
for that we need to move back this lib inside core)
; TODO: Decide about the status of STOD() function, which is
currently an XPP compatibility function, not in Harbour
namespace, yet it's widely used with same functionality.
* harbour/source/rtl/hbinet.c
! fixed bad typo introduced in last days probably during some code
formatting which broke HB_INETRECVLINE() and some other functions
* harbour/contrib/gtwvg/wvgwin.c
! fixed wrongly used & operator
* harbour/source/rtl/hbproces.c
* added TODO warning in OpenWatcom Linux builds
* harbour/make_gnu.sh
! fixed test_param() function definition - it has to be defined it's
before use
* harbour/include/hbexpra.c
* harbour/include/hbexprb.c
* harbour/source/common/expropt1.c
* harbour/source/rtl/round.c
* removed unnecessary <math.h>
* harbour/source/vm/hvm.c
* harbour/source/common/expropt2.c
* harbour/contrib/hbct/ctmath.h
* harbour/contrib/hbclipsm/num.c
* harbour/contrib/hbclipsm/numfloor.c
* harbour/contrib/hbclipsm/numceil.c
* use "hbmath.h" instead of <math.h> to avoid possible desynchronization
between used math libraries and header files
* harbour/source/pp/Makefile
! fixed real DOS compilation - replaced Windows only hack by wildcard
function usage
* harbour/config/dos/dir.cf
* removed intermediate sh call from executed commands
* harbour/source/vm/Makefile
* disabled HB_HVM_ALL in all Watcom builds - it works but the compilation
time is very huge so user who wants to use it should set envvar
HB_HVM_ALL=yes
* enabled HB_HVM_ALL for DJGPP builds
* source/rtl/achoice.prg
! Partially reverted this commit:
https://sourceforge.net/apps/trac/harbour-project/changeset/10605
After this change, activating DBU menus with all items disabled
(f.e. F7/F8) caused app hang.
This line:
nUserFunc := iif( nMode != AC_NOITEM,;
Do( xUserFunc, nMode, nPos, nPos - nAtTop ), NIL )
Was now changed back to this:
nUserFunc := Do( xUserFunc, nMode, nPos, nPos - nAtTop )
ac_test2.prg still seem to function fine after this, but
I'd kindly like to ask Vladislav Lavrecky to make tests
again, maybe we need another fix here.
* source/vm/evalhb.c
* Minor formatting.
* contrib/hbtip/client.prg
* Minor formatting.
! :ReadToFile() nMode param check.
* utils/hbmk2/hbmk2.prg
* Cleanup to variable name prefixes.
* contrib/xhb/Makefile
+ contrib/xhb/xthrow.prg
+ Added THROW() function for xhb compatibility.
This is written in Harbour, based on hbcompat.ch
and has Harbour license + exception.
+ contrib/xhb/xcstr.prg
+ contrib/xhb/xdbmodst.prg
* contrib/xhb/Makefile
+ Ported following old functions from xhb:
CSTRTOVAL(), STRINGTOLITERAL(), VALTOPRG(), PRGEXPTOVAL()
+ Ported following new functions from xhb:
VALTOARRAY(), VALTODATE(), VALTOHASH(), VALTOLOGICAL()
VALTONUMBER(), VALTOARRAY(), VALTOTYPE(),
DBMODIFYSTRUCTURE(), DBIMPORT(), DBMERGE()
(borrowed from xhb, work of Ron Pinkas)
* harbour/source/vm/eval.c
* update number of parameters in HB_EXECMSG() to keep the HVM stack
clean for any external code which can try to make some HVM stack
tracing/scanning
* harbour/source/vm/evalhb.c
! use hb_vmSend() instead of hb_vmDo()
* harbour/source/pp/pplib.c
* harbour/source/pp/pplib3.c
* harbour/source/vm/runner.c
* harbour/source/vm/hvm.c
* harbour/source/vm/thread.c
* harbour/source/vm/eval.c
* harbour/source/vm/dynlibhb.c
* harbour/source/vm/classes.c
* harbour/source/rtl/do.c
* harbour/source/rtl/xhelp.c
* harbour/source/rdd/workarea.c
* harbour/source/rdd/dbf1.c
% use hb_vmProc() instead of hb_vmDo() in all places where context is
well known as function or procedure call
* harbour/source/rtl/errintlo.c
! fixed GPF inside internal error handler for errors without default
description and error codes not in the form 9000 + <n>
* harbour/source/rtl/errapiu.c
* minor formatting
* harbour/include/hbclass.ch
+ extended support for xbase++ compatible method declaration:
[SYNC] METHOD <methodName1>[([<params>])] ;
[ , <methodNameN>[([<params>])] ]
* harbour/include/hbthread.h
* harbour/source/vm/thread.c
* harbour/source/vm/classes.c
+ added alternative support for SYNC method which does not use
sync mutexes. The old method is still present. I'll remove it
when xbase++ users confirm that the new one exactly emulates
xbase++ behavior.
* harbour/source/vm/classes.c
* harbour/source/rtl/tthreadx.prg
* switch to alternative SYNC method implementation which seems to be
xbase++ compatible - please test
! fixed missing thread interrupt in recent modification for ::setInterval
* examples/rl/rl.hbp
+ Added options to create running rl executable.
* source/rtl/achoice.prg
! Fixed strange and undocumented ACHOICE() calling convention
used in RLDIALG.PRG from RL tool supplied with Clipper 5.x
versions. In this case the user function is passed as 6th
parameter.
* INSTALL
+ Added note that when compiling for mingw without msys, sh.exe
of msys musn't be in the PATH, otherwise the build won't work.
* include/hbextern.ch
* source/rtl/idlex.c
* Renamed XPP compatible SLEEP() function to XPP_SLEEP() to
avoid collision with FlagShip and CLIP implementations.
* contrib/hbwin/wapi_winbase.c
+ Added WAPI_SLEEP() function as a wrapper to Windows Sleep()
function.
* harbour/include/hbsetup.h
+ added HB_RESTRICT macro which can be used in some declarations
to reach better code optimization
* harbour/include/hbclass.ch
+ added support for xbase++ compatible method declaration by:
METHOD <methodName1> [ , <methodNameN> ]
* harbour/source/rtl/tthreadx.prg
* redirect parameters passed to ::new() method to ::init() method
as emulation for class object new method
+ added basic support for ::setInterval in xbasee++ THREAD class
* harbour/tests/speedtst.prg
! removed unused variable cDir
* contrib/xhb/Makefile
+ contrib/xhb/bkgtsks.c
+ Added background tasks functions. My only current goal
was to make it compile under Harbour, plus did some
optimizations along the way.
(borrowed from xhb, work of Francesco Saverio Giudice)
; TODO: Adapt to Harbour: MT mode, Set() replacement,
attach it to VM possibly without modifying
the VM itself.
* source/rtl/mlcfunc.c
+ Reenabled for default builds the parameter extension
in memo functions (now guarded with HB_C52_STRICT).
This breaks our effort to not introduce such extensions,
but since was no better idea I've made an exception,
but I personally still don't like it and this practice
stays forbidden.
Talking about the last parameter of these functions:
MEMOLINE(), MLCOUNT(), MLPOS(), MLCTOPOS(), MPOSTOLC()
* source/codepage/cphr437.c
* source/codepage/cphr852.c
* source/codepage/cphrwin.c
* Fixed wrongly ordered accented chars.
* Fixed missing accented chars in Windows CP.
; Submitted by Vladimir Miholic on sf.net.
* contrib/xhb/xhb.h
+ Added hb_seconds() compatibility macro.
* tests/speedtst.prg
+ Added SET DATE ANSI and SET CENTURY ON.
* tests/Makefile
+ tests/brwpos.prg
+ Added TBrowse() :rowPos test submitted by Xavi to the list.
* utils/hbmk2/hbmk2.hbp
* utils/hbrun/hbrun.hbp
% Minor opt to prev.
* tests/rto_tb.prg
+ Added hb_SToD() compatibility function to make it link
with xhb.
+ Added forced define of HB_COMPAT_C53 in xhb mode, but
commented because it makes it RTE.
* INSTALL
! Term changed to be consistent with rest of doc.
* include/hbapi.h
! Typo in comment.
* utils/hbmk2/hbmk2.prg
+ Added -echo= command line parameter. Similar to echo= in .hbc files.
! Fixed filename expansion behaviour on empty strings.
* Tweaked a little the filter parser to recognize keywords using
similar rules to Harbour compiler.
! Fixed filter parser not to RTE on malformed filters.
- examples/hbapollo/Makefile
+ examples/hbapollo/hbapollo.hbm
- examples/hboleold/Makefile
+ examples/hboleold/hboleold.hbm
- examples/hbsqlit2/Makefile
+ examples/hbsqlit2/hbsqlit2.hbm
- examples/hbgf/hbgfwin/Makefile
+ examples/hbgf/hbgfwin/hbgfwin.hbm
- examples/hbgf/hbgfos2/Makefile
+ examples/hbgf/hbgfos2/hbgfos2.hbm
- examples/hbgf/hbgfgtk/Makefile
+ examples/hbgf/hbgfgtk/hbgfgtk.hbm
- examples/hbwhat/Makefile
+ examples/hbwhat/hbwhat.hbm
* Replaced GNU Make files with hbmk2 make files. These should
now work outside the source tree. Please test them, they are
also good examples for .hbm files.
- examples/pe/Makefile
- examples/pp/Makefile
- examples/hbdoc/Makefile
- examples/guestbk/Makefile
- examples/misc/Makefile
- examples/dbu/Makefile
- examples/hscript/Makefile
- examples/rl/Makefile
- examples/Makefile
- examples/hbgf/Makefile
- Deleted unnecessary make files belonging to GNU Make system.
(these wouldn't work outside the source tree, f.e in a binary
distro which includes these examples in source form)
- examples/rdddbt
- Deleted this example as it doesn't build anymore.
* examples/hbsuper/hbsuper.hbm
! Added SVN header.
* source/rtl/Makefile
* source/rtl/errint.c
+ source/rtl/errintlo.c
* Split hb_errInternal() and hb_errInternalRaw() for
easier user override.
* include/hbver.ch
* source/rtl/version.c
+ Added hb_Version( HB_VER_COMPILER_CPP ) which
returns if the C compiler was used in C++ mode.
Mainly added for HB_BUILDINFO() emulation, maybe it
can be useful to set defaults in hbmk2, we will see.
* contrib/xhb/Makefile
+ contrib/xhb/xhbver.prg
+ Added emulation of HB_BUILDINFO() xhb function.
+ contrib/xhb/xhbver.ch
+ Copied xhb's hbver.ch under this name.
(borrowed from xhb, work of Andi Jahja)
* contrib/gtwvg/wvgsink.c
! Fixed warning.
* Some formatting, minor cleanup.
* source/rtl/hbi18n2.prg
+ __I18N_POTARRAYSAVE() got logical flag to suppress Harbour version
number in saved file comment.
+ __I18N_POTARRAYSAVE() got logical flag to suppress source
reference information in save file. This way it's possible to
lessen the number of .po file updates and to avoid the growth
caused by texts moving around while files are being edited.
* utils/hbmk2/hbmk2.prg
+ Added option to save .po files in a version repository friendly
way, this means no Harbour version number and no source file
references in .po files. You can activate this using -minipo
option.
* harbour/source/rtl/gtxwc/gtxwc.c
! fixed typo in HB_GTXVG_SQUARE shape initialization
* harbour/include/hbrddnsx.h
* harbour/include/hbrddntx.h
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* code cleanup - use predefined #define instead of hardcoded constant
values
* harbour/source/rtl/valtoexp.prg
* added REQUEST __objSetClass
* harbour/source/compiler/gencc.c
! fixed -gc3 code generated for switch statement - thanks to Marek and
Xavi for information and self contain example
TODO: add missing RT error in -gc3 output when wrong (non integer
and non string value) is used in SWITCH statement
* harbour/source/rtl/filebuf.c
! refuse to share file handles if they were open in different mode
TODO: add support for keeping more then one handle for single file
open and allow such combinations.
* harbour/source/rtl/hbffind.c
% optimized *nix version of hb_fsFind*()
* harbour/utils/hbmk2/hbmk2.prg
! fixed compilation on non Windows platforms (unused variable warning)
* harbour/include/hbset.h
* harbour/source/vm/set.c
+ added new function hb_setGetPrinterHandle() which allows to open
closed printer port
! do not force opening default port after SET PRINTER TO ""
but delay the initialization untill other code does not call
hb_setGetPrinterHandle()
! fixed filename returned by _SET_PRINTFILE, _SET_ALTFILE, _SET_EXTRAFILE
! fixed dpossible resource leaks whne _SET_*FILE is called recurisvely
for user error block
! fixed _SET_*FILE settings to not accept files which cannot be open
(just like in Clipper)
* harbour/source/rtl/console.c
* use hb_setGetPrinterHandle() to access printer handler
* 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.