* contrib/hbhttpd/core.prg
* contrib/hbhttpd/widgets.prg
* contrib/hbpgsql/tests/cache.prg
* extras/hbxlsxml/xlsxml_s.prg
* extras/hbxlsxml/xlsxml_y.prg
* extras/hbxlsxml/xlsxml.prg
* extras/httpsrv/cgifunc.prg
* extras/httpsrv/cookie.prg
* extras/httpsrv/session.prg
* extras/httpsrv/uhttpd.prg
* src/rtl/dirscan.prg
% LTRIM(STR(x,y)) converted to hb_ntos() where y had
no significance or just limited the width unnecessarily
% ValType() usage converted to HB_IS*() or optimized
by rearragement of code or using SWITCH/CASE
* contrib/hbgd/gdbarcod.prg
% AllTrim() removed from around Str( n, 1 )
* TOFIX? added to gdbarcod.prg in one place where
Str( n, 1 ) is used and the value can be 10.
; Francesco, can you look at it?
* contrib/gtwvg/tests/dyndlgs.prg
* extras/hbxlsxml/tests/example.prg
* tests/ac_test.prg
* tests/aliaslck.prg
* tests/gtstdtst.prg
* tests/rto_get.prg
* tests/rto_tb.prg
* tests/teststr.prg
* *LTRIM(STR()) -> hb_ntos()
including cases where a size limit was used, but
it was unnecessary.
#define added for Clipper where needed.
* contrib/hbnf/ntow.prg
% LTrim( Str( n, 0 ) ) -> hb_ntos()
zero is currected to 10 by runtime.
Plus minor opt.
* contrib/hbnf/acctmnth.prg
* contrib/hbnf/acctqtr.prg
* contrib/hbnf/acctweek.prg
* contrib/hbnf/dayofyr.prg
* contrib/hbnf/month.prg
* contrib/hbnf/qtr.prg
* contrib/hbnf/week.prg
% PAD(*TRIM(STR()),,"0") -> StrZero()
* extras/hbxlsxml/xlsxml_s.prg
* extras/hbxlsxml/xlsxml_y.prg
* extras/hbxlsxml/xlsxml.prg
* website/samples/dates3.prg.html
* website/samples/dates4.prg.html
* website/samples/testcgi.prg.html
* website/samples/testhtml.prg.html
* hb_osnewline() -> hb_eol()
* harbour/src/common/hbprintf.c
+ added HB_NO_MODFL compile time macro.
It can be used on some old systems which do not have modfl() function.
In such case it's enough to set HB_USER_CFLAGS=-DHB_NO_MODFL
* utils/hbmk2/hbmk2.prg
! fixed handling of -ku:<cp> option. Now hbmk2 will pass
-ku to Harbour compiler, which seems to help, but I
still can't see any effect of the <cp> passed, so still
unsure if this is the way to go.
See original commit here: 2012-04-23 20:31 UTC+0200
* harbour/src/rtl/gtwvt/gtwvt.h
* harbour/src/rtl/gtwvt/gtwvt.c
! fixed some HB_GTI_* actions which could access pWVT->hWnd before
console window in created.
! fixed reverted parameters passed in array to HB_GTI_SETPOS_ROWCOL
! removed hb_retl() used inside HB_GTI_SETPOS_XY, HB_GTI_SETPOS_ROWCOL
actions.
! respect HB_GTI_SETPOS_XY, HB_GTI_SETPOS_ROWCOL set before
console window in created.
* harbour/src/rtl/gtxwc/gtxwc.c
! set fullscreen mode if user sets:
hb_gtInfo( HB_GTI_ISFULLSCREEN, .t. )
hb_gtInfo( HB_GTI_RESIZABLE, .t. )
at application startup before console window in created.
+ added support for HB_GTI_SETPOS_XY, HB_GTI_SETPOS_ROWCOL
* extras/hbxlsxml/xlsxml.prg
* extras/hbxlsxml/xlsxml_s.prg
! fixed long time broken charcodes in "OEM" to HTML conversion
and accent stripping funcion.
! fixed "OEM" conversion and accent striping function to
work with any HVM CP, even unicode
* Chr( 141 ) removed from accent striping. Maybe it was meant
as SOFTCR char, anyways, it was stripped to an empty char,
not a non-accented one.
- deleted AnsiToHtml() function (it did nothing)
* renamed OEMTOHTML()/OEMTOHTMLESPECIAL() to STRTOHTML()/STRTOHTMLESPECIAL()
* contrib/hbtip/thtml.prg
! minor fix in recently added StrToHTML() function to
work well when HVM CP is dynamically changing at runtime
* 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