* contrib/hbamf/tests/tstendin.prg
! fixed infinite loop after one recent change
! fixed to not redefine ? operator, making it ambiguous.
use unused command name instead
! fixed one test value, which actually needs to be in UTF-8
to give proper results.
+ added #require so it now works as script
* contrib/hbamf/hbamfobj.prg
* contrib/hbhttpd/widgets.prg
* contrib/hbnf/linked.prg
* contrib/xhb/xhbtedit.prg
* extras/gtwvw/tests/ebtest7.prg
! do not use = operator
* tests/tstchbx.prg
* extras/httpsrv/modules/showcounter.prg
* lessen references and references to Windows
* contrib/hbfbird/tests/stress.prg
* use UTF8 instead of Windows specific CP
* formatting
* contrib/hbhttpd/widgets.prg
* use UTF8 instead of Windows specific CP
* contrib/hbcairo/tests/fancytxt.prg
* contrib/hbcairo/tests/glyphdbg.prg
* contrib/hbcairo/tests/hellow.prg
* contrib/hbcairo/tests/lightning.prg
* contrib/hbcairo/tests/table.prg
* contrib/hbxpp/tests/opover.prg
* contrib/hbxpp/tests/testdll.prg
+ added #require "<pkgname>" so these can now be run as
scripts.
* contrib/hbgd/gdimage.prg
% no longer needed manual image destroy methods
converted to empty stubs
* contrib/hbgd/gdwrp.c
! GDIMAGEDESTROY() to act as true dummy wrapper.
Before it was still checking parameter and RTE-ing
as a result.
* contrib/hbgd/gdbarcod.prg
! fixed RTEs caused by using [] operator on strings
* contrib/hbgd/tests/animgif.prg
* contrib/hbgd/tests/antialia.prg
* contrib/hbgd/tests/barms.prg
* contrib/hbgd/tests/bartest.prg
* contrib/hbgd/tests/counter.prg
* contrib/hbgd/tests/gdtest.prg
* contrib/hbgd/tests/gdtestcl.prg
* contrib/hbgd/tests/test_out.prg
* contrib/hbgd/tests/test.prg
* contrib/hbgd/tests/testdpi.prg
* contrib/hbgd/tests/tostring.prg
* contrib/hbgd/tests/tpoly.prg
+ added #require "hbgd" so they can be run as scripts
* deleted platform specific stuff
+ added TOFIXes for non-working font settings (not even
before above modifications)
! fixed some examples to save output to file
* some mods to make code portable
* some formatting
* contrib/hbmisc/tests/readfile.prg
* contrib/hbmisc/tests/rtfclass.prg
* contrib/hbmisc/tests/testbbab.prg
* contrib/hbmisc/tests/testcall.prg
* contrib/hbmisc/tests/testhbf.prg
* contrib/hbmisc/tests/tsstrfmt.prg
* contrib/hbmisc/tests/twirl.prg
* contrib/hbmisc/tests/udpdstst.prg
+ added #require "hbmisc" so they can be run as scripts
! added one missing platform guard
* minor cleanups in SVN header and Windows references
* src/rtl/gtwin/gtwin.c
* src/rtl/gtwvt/gtwvt.c
+ added dummy return values for certain HB_GTI_* parameters,
so they won't RTE an app when used with the other GT.
(the problem is wider and ideally all HB_GTI_* values
should at least return the same _type_ with all GTs)
So f.e. now wvtext.prg works with GTWIN, but it should
with any GTs. The point of GTs is that they're
_replacable_, just like RDDs.
* tests/wvtext.prg
+ select WVT dynamically when run under hbrun.
! protect Windows specific parts with
defined( __PLATFORM__WINDOWS )
* utils/hbmk2/hbmk2.prg
- deleted hbshell_gtInteractive() public shell API.
INCOMPATIBLE.
+ replaced above with hbshell_gtSelect( [<cGT>] ) -> NIL
by default <cGT> will be the default interactive
(positionable) GT for the given platform.
+ include GTWVT in code, so scripts can now use WVT
if they explicitly request it with this code:
* src/rtl/teditor.prg
+ added three TODOs, related to Ctrl+B and Ctrl+T missing
key implementations
* contrib/xhb/cstruct.prg
* contrib/xhb/hblognet.prg
* contrib/xhb/trpc.prg
* contrib/xhb/trpccli.prg
* contrib/xhb/ttable.prg
* contrib/xhb/xhberr.prg
* contrib/xhb/xhbmemo.prg
! random unicode fixes where I stumbled into incompatible code
! fixed two 'ValType( x ) == "NI"' expressions which were never
true. I assumed it was meant to check for numeric and replaced
with HB_ISNUMERIC() calls.
% ADel()/ASize() pairs replaced with hb_ADel( ,, .T. ) calls
* removed some unnecessary parantheses and minor formatting
! fixed one [] operator on a string (possibly used with the
intention to preallocate a 255 byte long string)
* replaced K_TAB used a character constant with 9
! fixed one -1 array index to use ATail() instead
; only build-tested
* doc/xhb-diff.txt
! typo regarding the meaning of a[ -1 ] in xhb
* contrib/xhb/hbcrypt.c
* formatted
* contrib/xhb/xhbtedit.prg
! :ReformParagraph() fixed for unicode (untested)
* :ReformParagraph() code cleaned
* replaced all Chr( 141 ) + Chr( 10 ) references for
a local function returning it. This code sequence
is not unicode (UTF-8) compatible, so something
will have to be done with it in the future.
* minor formatting, typos in comment
; only build-tested
* harbour/contrib/hbfbird/firebird.c
% some small optimizations
! fixed few memory leaks
! fixed passing queries longer then 255 bytes
; Thanks to Jacek Kubica for reporting the problem
* bin/commit.hb
! fixed finding last changelog entry in ChangeLogs which
have non-ASCII, non-UTF8 chars (f.e. any 8-bit high
chars, f.e. legacy accented or drawing chars, like
it is the case with hwgui's ChangeLog file, where one
such char caused the problem.)
* extras/gfspell/gfspell.hbp
* extras/gtwvw/gtwvw.hbp
* extras/hbvpdf/hbvpdf.hbp
* extras/hbxlsxml/hbxlsxml.hbp
* extras/ps32/ps32.hbp
* extras/rddado/rddado.hbp
* extras/superlib/superlib.hbp
+ added $hb_pkg_install.hbm so they now all will
automatically install into /addons/
* extras/gtwvw/tests/hbmk.hbm
* extras/hbvpdf/tests/hbmk.hbm
* extras/ps32/tests/hbmk.hbm
* extras/rddado/tests/hbmk.hbm
* deleted relative dir from .hbc file references
+ extras/hbxlsxml/hbxlsxml.hbc
* extras/hbxlsxml/tests/hbmk.hbm
+ added missing .hbc file
* extras/hbusb/hbusb.hbc
* deleted dll related leftovers that only work
with contribs
- extras/commouse
- extras/commouse/commouse.prg
+ tests/commouse.prg
* moved to /tests/
* ChangeLog
! typo in prev commit description
2012-10-09 19:38 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.*.po
* utils/hbmk2/hbmk2.prg
+ added experimental feature to embed whole build-file
logic into the hbmk2 executable and reference these
from user make files. Currently .hbm files are supported
(.hbm file is simply a collection of hbmk2 options
which do not form a separate subproject). To refer
to such built-in .hbm files, one should use $<filename.hbm>
It's a straightforward way to ship ready-made
collections of options for specific purposes, without
installing external .hbm files. Filenames are case-sensitive.
NOTE: When referring to built-in .hbm files, it will
behave as it was part of the parent make file, which
means ${HB_DIR}, ${HB_DIRNAME}, ${HB_NAME}, ${HB_SELF}
will return the parent file, not the name of the
built-in file itself.
As usual you can override any options by placing
them after including the .hbm file.
+ added option to remove files added via -instfile=
option by using -instfile=[<group>:]. All files added
to the specified group will be removed from the list.
Note that removing internally added files by hbmk2
itself (f.e. the main built target (empty group) and
implibs ('implib', 'depimplib', 'depimplibsrc')) have
undefined results, so avoid it.
! fixed to use THREAD STATIC instead of STATIC in some
places (could not cause problems in current usage)
* use hb_HCaseMatch() instead of hb_HSetCaseMatch()
* utils/hbmk2/hbmk2.*.po
* utils/hbmk2/hbmk2.prg
+ added experimental feature to embed whole build-file
logic into the hbmk2 executable and reference these
from user make files. Currently .hbm files are supported
(.hbm file is simply a collection of hbmk2 options
which do not form a separate subproject). To refer
to such built-in .hbm files, one should use $<filename.hbm>
It's a straightforward way to ship ready-made
collections of options for specific purposes, without
installing external .hbm files. Filenames are case-sensitive.
NOTE: When referring to built-in .hbm files, it will
behave as it was part of the parent make file, which
means ${HB_DIR}, ${HB_DIRNAME}, ${HB_NAME}, ${HB_SELF}
will return the parent file, not the name of the
built-in file itself.
As usual you can override any options by overriding
them after including the .hbm file.
+ added option to remove files added via -instfile=
option by using -instfile=[<group>:]. All files to
the specified group will be removed. Note that
removing internally added files by hbmk2 itself
(f.e. the main built target and implibs) have
undefined results, so avoid it.
! fixed to use THREAD STATIC instead of STATIC in some
places (could not cause problems in current usage)
* use hb_HCaseMatch() instead of hb_HSetCaseMatch()
+ utils/hbmk2/pkg_inst.hbm
* utils/hbmk2/hbmk2.prg
+ added built-in .hbm file named '$hb_pkg_install.hbm'
Its purpose is to provide complete 'install' logic
for external projects. It will install .hb, .hbx,
.ch, .txt, tests/* files, along with installing
necessary libs, dynlibs and implibs. It honors
HB_INSTALL_3RDDYN and HB_INSTALL_IMPLIB settings.
* extras/hbusb/hbusb.hbp
+ use $hb_pkg_install.hbm instead of rolling the complete
install logic locally.
* utils/hbmk2/Makefile
+ added Harbour compiler option so that files from subdirs
can be included (not yet used)
* utils/hbmk2/hbmk2.prg
+ added ${HB_ADDONS} macro which will return the path
of the default addons dir, where 3rd party project might
deploy their distributable files (headers, libs, etc)
Note, the return value doesn't have an ending backslash,
so you need to add it if you need it.
* extras/hbusb/hbusb.hbp
+ added sample usage of full installation of this package,
utilizing ${HB_ADDONS} macro. This method can be used by
any 3rd party project.
* minor cleanup to force the implib name to a value
to avoid problems with double extension ("libusb-1.0")
* extras/hbusb/tests/hbmk.hbm
* since hbusb is installed now, the relative reference
to hbusb.hbc could be changed to simply 'hbusb.hbc' and
autofind will find it.
* contrib/gtwvg/class.prg
* contrib/gtwvg/syswnd.prg
* contrib/hbgd/gdchart.prg
+ using HB_IS*() for strict type checking instead of 'IF x == NIL'
check recently converted from DEFAULT TO commands.
This is INCOMPATIBLE for cases where wrong type was passed
for these parameters.
* contrib/xhb/cstruct.prg
* contrib/xhb/tcgi.prg
* src/debug/dbghelp.prg
* src/debug/dbgtmenu.prg
* src/debug/dbgtmitm.prg
* src/debug/debugger.prg
* contrib/hbhttpd/core.prg
* contrib/hbpgsql/tests/cache.prg
* contrib/hbpgsql/tpostgre.prg
* contrib/hbnf/metaph.prg
* extras/gtwvw/tests/ebtest7.prg
* extras/guestbk/testcgi.prg
* extras/gfspell/spell.prg
% deleted 3rd parameter from expressions 'StrTran( x, y, "" )'
Empty string is the default.
* contrib/xhb/cstruct.prg
! fixed formatting and indentation using hbformat and manually
* utils/hbmk2/hbmk2.prg
% minor opt by replacing 'iif( ! Empty(' with 'iif( Empty('
* extras/hbvpdf/hbvpdf.ch
* extras/hbvpdf/hbvpdf.prg
* changed DEFAULT TO to __defaultNIL()
! deleted common.ch and fileio.ch from public header file.
INCOMPATIBLE. If you need these, include them explicitly.
* contrib/gtwvg/activex.prg
* contrib/gtwvg/class.prg
* contrib/gtwvg/crt.prg
* contrib/gtwvg/menubar.prg
* contrib/gtwvg/paint.prg
* contrib/gtwvg/parthdlr.prg
* contrib/gtwvg/pushbut.prg
* contrib/gtwvg/statbar.prg
* contrib/gtwvg/static.prg
* contrib/gtwvg/syswnd.prg
* contrib/gtwvg/tabpage.prg
* contrib/gtwvg/toolbar.prg
* contrib/gtwvg/wnd.prg
* extras/httpsrv/cgifunc.prg
* extras/httpsrv/cookie.prg
* extras/httpsrv/session.prg
* extras/httpsrv/uhttpd.prg
* use __defaultNIL() instead of DEFAULT TO
* deleted common.ch from all files
* contrib/hbmisc/numtxtru.prg
% minor optimization
* contrib/hbmisc/tests/numtxtru.prg
* avoid using a .dbf as output, instead use STDOUT
* added lines to make it work using hbrun
* switched output and HVM to UTF-8, so it can be
displayed on more systems (both as stdalone exe
and as hbrun script)
+ contrib/hbmisc/tests/numtxtru.prg
* contrib/hbmisc/numtxtru.prg
* contrib/hbmisc/hbmisc.hbx
* tests/testmny.prg
* applied coding standards (no common.ch, no '=' op, move test
code to separate source, use iif(), unicode support, UTF-8/ASCII
source only, use svn props, use IS*()/hb_default() functions,
updated .hbx)
* changed interface to accept language code as string
instead of numeric constant.
; Please review
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyc
* minor formatting
* harbour/contrib/hbct/ctwfunc.c
* harbour/contrib/hbct/ctwin.c
* harbour/contrib/hbct/ctwin.h
+ added undocumented CT3 window functions:
WALIAS( <nHandle> ) -> <nHandle> | -1
change current window handle to <nHandle>
if <nHandle> is not used by other window.
return <nHandle> on success or -1 to indicate error.
Warning: I replicated CT3 limit here so <nHandle>
cannot be bigger then 255
WLIST() -> <cHandleList>
_WSTACK() -> <cHandleList>
return string with window handles in each character,
the ASCII value of the first character is handle of the
most bottm window and the last character is the top window.
Warning: this is compatibility only function
which works correctly for first 255 windows.
Harbour does not have any internal limits on
maximum number of windows so it's possible
to create more then 255 windows and this function
will return wrong results.
* contrib/hbmisc/hbmisc.hbp
+ contrib/hbmisc/numtxtru.prg
+ added functions to convert a number and date to East Slavic (Russian,
Ukrainian and Belorussian) text:
NumToTxtRU() - convert a number
MnyToTxtRU() - convert a money
DateToTxtRU() - convert a date
+ tests/testmny.prg
+ added sample class Money with overloading of arithmetical operations
* bin/commit.hb
* made git detection generic
! fixed calling shell on OS/2
* config/global.mk
* minor sync with other parts of Harbour
* contrib/hbblink/blinker.prg
! fixed SWPRUNCMD() on OS/2
* contrib/hbxpp/runshell.prg
! fixed for RUNSHELL() on non-*nix platforms
* contrib/hbhttpd/readme.txt
* doc/dirstruc.txt
* doc/xhb-diff.txt
* include/hbapi.h
* INSTALL
* NEWS
* src/common/hbver.c
* src/main/harbour.c
* src/pp/hbpp.c
* src/rtl/version.c
* src/vm/cmdarg.c
* Avoiding the word "SVN" (use 'source repository',
'repository' or 'repo' for short)
* Added new names that don't refer to SVN:
C level:
- hb_verRevision() (was: hb_verSvnID())
- hb_verChangeLogID() (was: hb_verSvnChangeLogID())
- hb_verChangeLogLastEntry() (was: hb_verSvnLastEntry())
.prg level:
- HB_VER_REVID built-in macro (was: HB_VER_SVNID)
; Old functions/macros will be deleted after next major
revision, start using the new names until then.
* contrib/hbnf/aavg.prg
* contrib/hbnf/adessort.prg
* contrib/hbnf/amedian.prg
* contrib/hbnf/anomatch.prg
* contrib/hbnf/any2any.prg
* contrib/hbnf/asum.prg
* contrib/hbnf/clrsel.prg
* contrib/hbnf/d2e.prg
* contrib/hbnf/ftround.prg
* contrib/hbnf/invclr.prg
* contrib/hbnf/nwsem.prg
* contrib/hbnf/popadder.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/tests/clrsel.prg
* contrib/hbnf/tests/d2e.prg
* do not use common.ch. __defaultNIL() is used instead, for
full compatibility here. Should ideally be changed to
hb_default(), but it will break RTE compatibility for
invalid values. Should we do it? (this would also fix
calling internal functions from a contrib)
* contrib/hbnf/tests/d2e.prg
! fixed defaulting to wrong value (regression)
* extras/gtwvw/tests/drawimg.prg
* extras/gtwvw/tests/ebtest7.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/wvwmouse.prg
* extras/gtwvw/tests/wvwtest9.prg
* do not use common.ch. Use hb_default() instead.
; Only gtwvg, hbgd, xhb and httpsrv remain to use common.ch
for DEFAULT TO command. Notice it's bad practice since it
only checks for NIL for defaulting, so RTE can easily be
forced by passing a value of wrong type. DEFAULT TO can
be directly replaced with __defaultNIL(), or ideally with
hb_default(). Notice that hb_default() is a pure function,
and since the default value needs to be evaluated even if
correctly typed parameter is passed, it may have
a performance penalty if that default value is coming as
a result of complex expression or function call. I value
type safety more than performance, so in most cases this
is IMO a useful compromise, though of course someone might
as well use 'IF ! HB_IS*( xVar ); xVar := xValue; ENDIF'
which is type safe while having no extra RT performance
penalty, though a bit verbose.
* tests/hbpptest/hbpptest.prg
* utils/hbtest/rt_misc.prg
* do not include unused common.ch
* contrib/xhb/cgi.ch
* formatting
* harbour/include/hbcomp.h
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/hbstripl.c
% eliminate repeated HB_P_LINE pcodes bound by unconditional jump
This optimization is not enabled when debug mode (-b) is used.
* harbour/include/hberrors.h
* harbour/src/compiler/hbgenerr.c
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyc
+ added new compile time error: "Duplicate case value"