* utils/hbmk2/hbmk2.*.po
* utils/hbmk2/hbmk2.prg
+ added '-hb30' option and '{hb30}' filter macro to allow
reverting back to Harbour 3.0.0
+ added provisions for merging 'hblang' and 'hbcpage'
core libs into new 'hbnat' lib
+ SETCURSOR() and SETCOLOR() references will now also
trigger full screen CUI mode in hbrun scripts
+ documented the fact that GTCGI is default GT for scripts
and that it's switched to another one (and which) when
CUI mode script is detected
+ marked all information in help with '[*]' which shows
host platform dependent, dynamic data (f.e. systems paths)
+ hbmk.hbc will now be searched for under user's home
directory on non-*nix, too
+ added '-find' special hbmk2 option for finding Harbour functions.
It will lookup any strings passed as command line arguments
and display in which library they can be found. It will
also do the lookup in packages not currently installed.
Replaces similar 'hbrun bin/find' functionality, but now
uses existing code inside hbmk2. The new implementation
also supports wildcards.
Example:
hbmk2 -find wapi_*string ntos wild
! documented that hbstart.hb is first searched for in
current working directory
! ${hb_ver} and ${hb_verstr} macros now change their value
in compatibility modes (-hb10, -hb20, -hb30, -xhb)
+ -longhelpmd output will now not contain installation
specific (and potentially sensitive) data: home directory,
hbmk2 directory, only generic replacement terms
+ version= directive help text got a mention of its default
value (it was so far only mentioned next to HBMK_HAS_<hbcname>
envvar)
+ documented exit codes in help text
* minor tweaks to some help lines
* cleanup for Markdown formatting internals
* plugin callback variable "nErrorLevel" renamed to "nExitCode"
[INCOMPATIBLE]
* exit code changed to value 6 from 1 when hbrun script has
a compile error [INCOMPATIBLE]
+ use core hb_DirSepToOS() where possible
- deleted hbmk2 plugin API function hbmk_PathSepToSelf()
Use core hb_DirSepToOS() instead. [INCOMPATIBLE]
+ added '-exitstr' hbmk2 option which will display the exit result
in textual format
* contrib/hbpre.hbm
* contrib/make.hb
% use -exitstr hbmk2 option instead of rolling a local copy
of possible result strings
* src/pp/ppcore.c
+ generate '\a' '\f' '\v' escape chars
- bin/find.hb
* config/postinst.hb
* package/harbour.spec
- deleted find.hb for 'hbrun bin/find' functionality.
Replaced by 'hbmk2 -find' option.
* src/rtl/Makefile
- src/rtl/strxchg.c
+ src/rtl/strrepl.c
* src/rtl/tget.prg
* utils/hbmk2/hbmk2.prg
* include/harbour.hbx
* ChangeLog.txt
* renamed HB_STRXCHG() to HB_STRREPLACE(), according to:
https://groups.google.com/d/topic/harbour-devel/vSzlAkv6h9Y/discussion
* updated function skeleton in ChangeLog and C source
(also with new hash parameter)
* contrib/hbsqlit3/hbsqlit3.hbp
* contrib/hbsqlit3/hbsqlit3.hbx
+ contrib/hbsqlit3/errstr.prg
+ hb_sqlite3_errstr_short( <nError> ) -> <cError>
* contrib/hbsqlit3/tests/authoriz.prg
* contrib/hbsqlit3/tests/backup.prg
* contrib/hbsqlit3/tests/hooks.prg
% use hb_sqlite3_errstr_short() instead of implementing
it locally in each example
% use sqlite3_errstr() API to get long error strings instead
of reimplementing it locally
% minor opt
* contrib/hbsqlit3/hbsqlit3.hbp
- contrib/hbsqlit3/hdbcsqlt.prg
+ contrib/hbsqlit3/hdbc.prg
* renamed
* contrib/hbhpdf/errstr.prg
* contrib/hbmzip/mziperr.prg
! indenting
* contrib/hbtip/tests/tiptest.prg
* leave color
* bin/3rdpatch.hb
* bin/commit.hb
* contrib/hbblink/blinker.prg
* contrib/hbxpp/runshell.prg
* utils/hbmk2/hbmk2.prg
% replaced hb_GetEnv() calls with GetEnv() where the
Harbour extension parameter was not used
* src/rtl/gete.c
! synced comment with reality
* ChangeLog.txt
+ missed one fix from prev log entry
- ChangeLog
+ ChangeLog.txt
* bin/commit.hb
* doc/howtorel.txt
* doc/howtorep.txt
* package/harbour.spec
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* package/winuni/RELNOTES.txt
* README.txt
* src/pp/hbpp.c
* tests/fixcase.hb
* website/changelog.html
* website/index.html
* website/news.html
* website/news1.html
* website/snapshot.html
* renamed ChangeLog to ChangeLog.txt
; TODO: Please update SVN URL references in google groups web headers:
.../ChangeLog -> .../ChangeLog.txt
.../README -> .../README.txt
; NOTE: Also update your local scripts to use ChangeLog.txt instead
of ChangeLog. Or use bin/hbcommit.hb script, which supports
both.
- w64-make.exe
* README.txt
% deleted. it was my private build and it didn't offer
much over win-make.exe.
* bin/commit.hb
! fixed for *nix systems
* contrib/hbodbc/tests/testodbc.prg
+ added test for double opening
* ChangeLog
% moved copyright notice to end of file
+ added change markup quick reference to header
* doc/howtorep.txt
* synced wording with above
* extras/hbxlsxml/tests/example.prg
* do not use WITH OBJECT in its current form
* src/rtl/gtsln/Makefile
+ added option needed for AIX. Reported by Luiz.
* utils/hbmk2/hbmk2.prg
* minor change in wording in help
+ added help note about incompatibility of Clipper binary objects/libs
* tests/fixcase.hb
% one exception removed
+ some others documented
* contrib/gtwvg/tests/_activex.prg
* contrib/gtwvg/tests/_tbrowse.prg
* contrib/gtwvg/tests/_utils.prg
* contrib/gtwvg/tests/demowvg.prg
* contrib/gtwvg/tests/demowvg1.prg
* contrib/xhb/trpccli.prg
* utils/hbtest/rt_math.prg
* rerun after removing one exception permanently,
another temporarily.
* bin/commit.hb
+ support HBCOMMIT_USER envvar to configure commmiter
user / e-mail.
* ChangeLog
! wrong commit e-mail fixed yet again. I start to badly
miss local branches (a la Git!), as I need to keep
juggling with 3-4 local sandboxes to separate different
change sessions.
* bin/harbour.ucf
+ enabled some options to delete unwanted newlines
in a few places.
+ enabled to remove double semicolons
* added default pp formatting option for future mods
* extras/gtwvw/gtwvwd.c
* extras/gtwvw/wvwcheck.c
* extras/gtwvw/wvwdraw.c
* extras/gtwvw/wvwedit.c
* extras/gtwvw/wvwfuncs.c
* extras/gtwvw/wvwmenu.c
* extras/gtwvw/wvwpush.c
* extras/gtwvw/wvwstbar.c
* extras/gtwvw/wvwtbar.c
! uncrustified more agressively by using these extra options:
mod_full_brace_for = remove
mod_full_brace_if = remove
mod_full_brace_while= remove
! some commented code converted to #if 0/#endif blocks
! one code line changed to avoid uncrustify bug
* extras/gtwvw/tests/drawimg.prg
! avoided GPF caused by WVW function when GT is not
yet initialized. This should ideally be fixed in the
GT itself.
* extras/gtwvw/tests/inpfocus.prg
! fixed lines broken by an older version of hbformat
* extras/gtwvw/hbole.h
! deleted non-ANSI C comments
* bin/find.hb
* config/postinst.hb
* utils/hbmk2/hbmk2.prg
+ missed to extract __HBEXTERN__* puller symbols from
hbx file when assembling the list of public functions
* utils/hbmk2/hbmk2.prg
* only process stderr output for hints
- disabled experimental library hinting feature. It hid
the error output, which is not very desirable. I wonder
if there is a way to channel a copy of the combined
stderr/stdout output into a file, while letting them go
to stderr/stdout also.
* contrib/hbssl/hbssl.hbc
+ new HB_DYNBIND_OPENSSL .hbc option to dynamically bind
hbssl library and its dependencies.
- contrib/hbtip/hbtip.hbm
- contrib/hbtip/hbtipssl.hbp
* contrib/hbplist
* contrib/hbtip/hbtip.hbc
* contrib/hbtip/hbtip.hbp
* contrib/hbtip/client.prg
* contrib/hbtip/sendmail.prg
* contrib/hbtip/tests/gmail.prg
+ changed the way SSL is supported in HBTIP. Now SSL
functionality is dynamically enabled at runtime if
HBSSL library is available. Static app will need
to use 'REQUEST __HBEXTERN__HBSSL__' to force linkage.
For scripts, add both '#require "hbssl"' and
'#require "hbtip"'. Experimental.
It simplifies build process, cleans all problems
arising from having two different physical flavors
of the same library.
- contrib/hbhttpd/hbhttpds.hbp
* contrib/hbhttpd/core.prg
* contrib/hbhttpd/hbhttpd.hbc
* contrib/hbhttpd/hbhttpd.hbp
* contrib/hbhttpd/tests/eshop.prg
* contrib/hbhttpd/tests/hbmk.hbm
* contrib/hbplist
+ changed the way SSL is supported in HBTIP. Now SSL
functionality is dynamically enabled at runtime if
HBSSL library is available. Static app will need
to use 'REQUEST __HBEXTERN__HBSSL__' to force linkage.
For scripts, add both '#require "hbssl"' and
'#require "hbhttpd"'. Experimental.
+ eshop.prg can now be run as hbrun script.
! fixed double pathsep in compile_file() causing server
RTE when run as script
* contrib/hbformat/utils/hbformat.prg
+ added #request so it now can be run as script
* contrib/hbformat/hbfmtcls.prg
+ added two new methods to be able to format strings
(as opposed to files).
% optimized source loader to not load the file twice
* doc/en/*.txt
* hbformatted $EXAMPLES$, $TESTS$ (manual cherry picking)
latest patched hbformat has an issue (reported)
where it doesn't format when outside FUNC/PROC, these
small code snippets are usually like that, so it causes
a problem here.
* contrib/gtwvg/*.c
* run uncrustify again with the new settings
(except on GTWVT derived code)
* contrib/hbwin/*.[c|h]
* cherry picked uncrustify formatting fixes
* utils/hbmk2/hbmk2.prg
+ added experimental feature, which will hint .hbc and -l
options based on list of missing symbols at link time.
It will hint components that reside in contrib and
addons components, given that they provide an .hbx
file.
* bin/find.hb
* minor cleanups
- config/hb_c.cfg
+ bin/harbour.ucf
* renamed and moved to public dir
* config/postinst.hb
+ added find.hb to the installed files
+ added harbour.ucf to the installed file
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ added harbour.ucf to files included in winuni distro
! fixed missing bin/*.hb scripts in .7z winuni archive
* include/harbour.hbx
* fixes/changes to some function names
* config/hb_c.cfg
+ updated to do better vertical aligment in
structs, var declarations and assignments
; TODO: move this to /bin folder and add to 'install'-ed
file list, rename to 'harbour.ucf'
* src/debug/*.prg
* src/rdd/*.prg
* src/rdd/hbsix/*.prg
* src/rdd/usrrdd/rdds/*.prg
* src/rtl/*.prg
* src/vm/*.prg
* utils/hbi18n/hbi18n.prg
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/examples/*.hb
* contrib/hbblat/blatcls.prg
* contrib/gtwvg/*.prg
* contrib/gtwvg/tests/*.prg
* contrib/hbblink/*.prg
* contrib/hbcairo/tests/*.prg
* contrib/hbcomm/*.prg
* contrib/hbcomm/tests/*.prg
* contrib/hbcups/tests/*.prg
* contrib/hbcurl/tests/*.prg
* contrib/hbexpat/*.prg
* contrib/hbexpat/tests/*.prg
* contrib/hbfbird/*.prg
* contrib/hbfbird/tests/*.prg
* contrib/hbfoxpro/*.prg
* contrib/hbfship/*.prg
* contrib/hbgd/*.prg
* contrib/hbgd/tests/*.prg
* contrib/hbgs/tests/*.prg
* contrib/hbhpdf/*.prg
* contrib/hbhpdf/tests/*.prg
* contrib/hbhttpd/*.prg
* contrib/hbhttpd/tests/*.prg
* contrib/hblzf/tests/*.prg
* contrib/hbmagic/tests/*.prg
* contrib/hbmisc/*.prg
* contrib/hbmisc/tests/*.prg
* contrib/hbct/*.prg
* contrib/hbct/tests/*.prg
* contrib/hbmlzo/tests/*.prg
* contrib/hbmxml/*.prg
* contrib/hbmxml/tests/*.prg
* contrib/hbmysql/*.prg
* contrib/hbmysql/tests/*.prg
* contrib/hboslib/*.prg
* contrib/hbsms/*.prg
* contrib/hbtinymt/tests/*.prg
* contrib/hbtpathy/*.prg
* contrib/hbtpathy/tests/*.prg
* contrib/hbunix/tests/*.prg
* contrib/hbxdiff/tests/*.prg
* contrib/hbzebra/tests/*.prg
* contrib/hbziparc/*.prg
* contrib/hbziparc/tests/*.prg
* contrib/rddads/*.prg
* contrib/rddads/tests/*.prg
* contrib/hbodbc/*.prg
* contrib/hbodbc/tests/*.prg
* contrib/hbpgsql/*.prg
* contrib/hbpgsql/tests/*.prg
* contrib/hbsqlit3/*.prg
* contrib/hbsqlit3/tests/*.prg
* contrib/hbwin/*.prg
* contrib/hbwin/tests/*.prg
* contrib/hbxpp/*.prg
* contrib/hbxpp/tests/*.prg
* contrib/hbxhb/*.prg
* contrib/hbxhb/tests/*.prg
* contrib/hbnetio/*.prg
* contrib/hbnetio/utils/hbnetio/*.hb
* contrib/hbnetio/utils/hbnetio/*.prg
* contrib/hbtip/*.prg
* contrib/hbtip/tests/*.prg
* tests/usrrdd/*.prg
* tests/funcarr.prg
* extras/gfspell/spell.prg
* extras/gtwvw/tests/*.prg
* extras/guestbk/*.prg
* extras/hbdoc/*.prg
* extras/rddado/*.prg
* extras/rddado/tests/*.prg
* extras/hbxlsxml/*.prg
* extras/httpsrv/*.prg
* extras/httpsrv/modules/*.prg
* extras/hbsuper/*.prg
* extras/hbvpdf/*.prg
* extras/hbvpdf/tests/*.prg
* tests/*.prg (except some which are well formatted but in different/fast-typing style)
* tests/*.hb
* bin/*.hb
* contrib/*.hb
* config/*.hb
* some manual formatting to better be able to verify
changes made by hbformat and be friendlier with hbformat.
* most files reformatted with hbformat using Maurizio's
patch, with mostly minor manual corrections and verification.
All hbformat changes for revised one-by-one.
! __DIR(): fixed to be unicode compatible
! __hbdoc_ToSource(): make sure to not generate line ending
spaces in output.
+ hbmk2/hbrun: HBMK_WITH_GTXWC built-time option to include
GTXWC. Useful for hbrun.
* hbct tests: change to not use [] as string delimiter
+ added full prototypes to Array class declaration
; NOTE: Only these were not or not fully formatted:
contrib/hbnetio/tests/*.prg
tests/hbpptest/*.prg
tests/mt/*.prg
tests/multifnc/*.prg
tests/rddtest/*.prg
utils/hbmk2/hbmk2.prg (for the most part)
src/rtl/tbrowse.prg (for the most part)
utils/hbtest/*.prg
*.ch, *.c, *.h
* src/rtl/cdpapihb.c
* src/rtl/hbadler.c
* src/rtl/hbsocket.c
* src/rtl/sha1.c
* src/vm/classes.c
* src/vm/dynsym.c
* src/vm/garbage.c
* src/debug/dbgentry.c
* do not end macros with ';' to avoid uncrustify warning
and wrong formatting as a consequence
* src/compiler/cmdcheck.c
* minor changes for uncrustify-friendliness
* contrib/hbformat/utils/hbfmtcls.prg
* contrib/hbformat/utils/hbformat.prg
% optimizations in hbformat.prg
! fixed mask/filename handling to be
multiplatform in hbformat.prg
+ added 'HBXList=' hbformat.ini parameter allowing
to add any .hbx file for proper function name
casing.
! fixed progress bar to display correctly
* tests/speedstr.prg
! fixed to run as intended in unicode code
* hbformatted
- contrib/hbwin/tests/dlg.xml
* contrib/hbwin/tests/dlg.rc
- extras/gtwvw/tests/wvwtest9.xml
+ extras/gtwvw/tests/wvwtest9.mft
* extras/gtwvw/tests/wvwtest9.rc
* renamed manifest to have .mft extension
% deleted unnecessary manifest
* "Win32 API" -> "Windows API"
! deleted CPU arch from manifest
* package/harb_win.mft
* formatting
* src/common/hbver.c
+ added version detection for win 8 and win server 2012
* minor formatting/code cleanup
* tests/gfx.prg
* updated to run in script mode.
; TOFIX: it doesn't draw anything with GTWVT
* tests/gfx.prg
* tests/gtwin.prg
* tests/gtxfnt.prg
* tests/wvt_fs.prg
* tests/wvtext.prg
+ support for GTXWC when run as script
* doc/en/*.txt
* contrib/hbct/doc/en/*.txt
* contrib/hbgd/doc/en/*.txt
* contrib/hbgt/doc/en/*.txt
* contrib/hbmisc/doc/en/*.txt
* contrib/hbnf/doc/en/*.txt
* contrib/hbziparc/doc/en/*.txt
* contrib/rddads/doc/en/*.txt
! fixed few broken tags reported by Carlos
% deleted line ending spaces
* some minor formatting
* contrib/hbnf/*.c
* contrib/hbnf/*.h
* extras/gfspell/spellc.c
* uncrustified with updated hb_c.cfg
* contrib/hbnf/*.prg
* contrib/hbnf/tests/*.prg
* hbformatted with Mauriozo's patch.
* a few manual corrections (avoiding #translates, using hb_ColorIndex())
in general and to make hbformat happy.
+ contrib/hbnf/tests/menuto.prg
+ added sample code for MENU TO (adatped from docs)
- src/rdd/dbfntx/dbfntx0.prg
- deleted unused file with no enabled code in it
* contrib/hbtip/tests/dbtohtml.prg
* contrib/hbtip/tests/loadhtml.prg
* contrib/hbtip/tests/tipmmail.prg
* minor cleanups
* contrib/hbtip/thtml.prg
! fixed typo due to s&r
% use hb_memowrit()
* src/rtl/tbrowse.prg
* conditional code sorted to be hbformat friendly
* some formatting
* INSTALL
* package/harbour.rb
* package/mpkg_src_nightly.sh
* package/mpkg_win_nightly.bat
* package/updt_web_nightly.sh
* website/changelog.html
* website/faq/harbour17.html
* website/faq/harbour27.html
* website/index.html
* website/menu/harbour-menu.js
* updated repository URL to new sf.net one
* tests/function.cfm
* contrib/hbhttpd/tests/tpl/_main.tpl
* contrib/hbtip/tests/tipmmail.prg
* website/faq/*.html
* website/samples/*.html
* use utf-8 in html and email
* contrib/hbrun/hbrun.hbp
+ support for HBMK_WITH_GTXWC
* tests/rto_get.prg
* tests/onidle.prg
* tests/mousetst.prg
* tests/wcecon.prg
* tests/vmasort.prg
- contrib/hbnf/tests/metaph.prg
* minor cleanups
* contrib/hbmysql/tests/test.prg
* contrib/hbmysql/tests/dbf2mysq.prg
% minor optimization, deleted outdated comment/line
* src/compiler/harbour.yyc
* src/compiler/harbour.y
* minor formatting
* 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.)
* 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
+ bin/hbfind.hb
+ added script to list and/or find public symbols in
Harbour core and contribs (and some extras).
To list all symbols (functions, classes):
$ hbrun bin/hbfind.hb
To find string in symbols (case-insensitive):
$ hbrun bin/hbfind.hb vol
* bin/3rdpatch.hb
* contrib/make.hb
* changed to be executed by hbmk2
- contrib/hbrun/extdyn.prg
- contrib/hbrun/hbrun.prg
- contrib/hbrun/hbrun.rc
- contrib/hbrun/headers.prg
- contrib/hbrun/p_ext.hb
- contrib/hbrun/plugins.prg
* contrib/hbrun/hbrun.hbp
% changed to use hbmk2 sources and make file to build hbrun,
implementing the build method described in previous ChangeLog
entry. The lost feature is netio management plugin, which
is now not loaded by default. Plus, since this is a static
build, dynamic extensions don't work.
* contrib/make.hb
* src/pp/ppcore.c
* deleted reference to hbrun in comment
* contrib/hbnetio/utils/hbnetio/netiocon.prg
* contrib/hbnetio/utils/hbnetio/netiomgm.hb
* __hbrun_plugin() -> __hbshell_plugin()
* INSTALL
* minor in previous change
* bin/hbcommit.hb
+ To configure your own name and e-mail address used
in ChangeLog entries, create a file called ".hbcommit"
in the root of Harbour SVN sandbox, and fill it with this:
'Firstname Lastname (my domain.net)'
(in single line. no EOLs and padding is necessary)
* contrib/hbrun/hbrun.prg
+ use .hb as default extension for Harbour sources.
(was .prg)
+ bin/hbcommit.hb
+ added commit preparer script. It will pull all changed
files, format it according to Harbour ChangeLog standard,
add standard commit header and prepend the entry before
latest on into ChangeLog file.
Usage:
<harbour SVN root>$ hbrun hbcommit.hb
Please try it and use it when committing to Harbour SVN
* contrib/hbplist
* disabled hbqt and its dependencies, until the nightly
build breaker problem is resolved.
* utils/hbmk2/hbmk2.prg
* bin/hb3rdpat.hbs
! fixed minor formatting problems mainly using custom automatic script
* include/harbour.hbx
* contrib/hbsms/hbsms.hbx
+ applied std casing to function names. it enhances
readability, plus makes possible to use .hbx file for
automatic formatting purposes.
* utils/hbmk2/hbmk2.prg
* config/postinst.hbs
+ preserve casing of function names in .hbx files
! fixed non-fatal typo in regex expressions
* contrib/make.hbs
* contrib/hbide/idemisc.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbrun/hbrun.prg
* config/postinst.hbs
* bin/hb3rdpat.hbs
* Using new filename handling functions from core.
% Deleted redundant local copies of these functions.
* utils/hbmk2/hbmk2.prg
+ REQUESTing new filename handling function till they are
used in hbmk2 too.
; TODO: Make the switch in hbmk2 too.
* src/rtl/dirdrive.c
+ Added HB_DIRCREATE(), which is same as MAKEDIR() C5.3 function,
but it's always available, not just when HB_COMPAT_C53 is enabled.
+ Added HB_DIRDELETE(), which is same as DIRREMOVE() C5.3 function,
but it's always available, not just when HB_COMPAT_C53 is enabled.
* contrib/hbnetio/tests/netiotst.prg
* contrib/hbnetio/tests/netiot03.prg
* contrib/hbfimage/tests/fitest.prg
* contrib/hbide/idesaveload.prg
* utils/hbmk2/hbmk2.prg
* utils/hbrun/hbrun.prg
* tests/wcecon.prg
* tests/flink.prg
* bin/hb3rdpat.hbs
* examples/hbdoc2/gentpl.prg
* Replaced MakeDir() with universally available hb_DirCreate().
; TODO: same in config/postinst.hbs (delayed to avoid a million
false bug reports)
* src/rtl/Makefile
+ src/rtl/hbfilehi.prg
+ Added generic file/dir/path handling functions.
They are taken from hbmk2 code, added parameter checking,
did two minor change to DirBuild() to be generic,
renamed to have HB_ prefix.
Please note the parameter list and any details are
subject to change yet, IOW these APIs are not yet finalized:
hb_cwd() -> <cPath>
hb_PathNormalize( <cPath> ) -> <cPath>
hb_PathMakeAbsolute( <cPathRel>, <cPathAbs> ) -> <cPath>
hb_PathMakeRelative( <cPathBase>, <cPathTarget>, <lForceRelative> ) -> <cPath>
hb_DirAddPathSep( <cDir> ) -> <cDir>
hb_DirDelPathSep( <cDir> ) -> <cDir>
hb_DirBuild( <cDir> ) -> <lSuccess>
hb_DirUnbuild( <cDir> ) -> <lSuccess>
hb_FNameDirGet( <cFileName> ) -> <cDir>
hb_FNameNameGet( <cFileName> ) -> <cName>
hb_FNameNameExtGet( <cFileName> ) -> <cNameExt>
hb_FNameExtGet( <cFileName> ) -> <cExt>
hb_FNameExtDef( <cFileName>, <cDefExt> ) -> <cFileName>
hb_FNameExtSet( <cFileName>, <cExt> ) -> <cFileName>
hb_FNameDirExtSet( <cFileName>, <cDirNew>, <cExtNew> ) -> <cFileName>
; TODO: Review, clean interface.
; TODO: Use these functions in .hbs files, utils, hbide.
* include/harbour.hbx
* Updated.
* utils/hbmk2/hbmk2.prg
* One internal function renamed.
* contrib/hbmxml/hbmxml.c
% In MXMLSAVEALLOCSTRING() strdup()-ed buffer passed directly
to hb_retclen_buffer() replaced with plain hb_retclen() call.
hb_retclen_buffer() is to be used only if there is already
an allocated buffer to pass as is.
! MXMLSAVEALLOCSTRING() modified to not remove EOLs from
buffers received from minixml lib. Reason two-fold: 1. hbmxml
libs job is to be as transparent as possible, so it should not
tamper with the contents 2. Do not make any assumptions about
the size of EOL, which was 1, but now it can be 2 on certain
platforms.
; Please review and test. There is no test code for this
call, so I only did build tests.
* contrib/hbfoxpro/hbfoxpro.hbp
+ contrib/hbfoxpro/misc.prg
+ Added very humble attempt to emulate SYS(). I'm no FoxPro user
and don't have any facility to make tests against real FoxPro.
Please fix and extend as you deem necessary.
* bin/hb3rdpat.hbs
+ Changed tool detection to only require what's really to be
used in a certain session.
+ Added detection to more tools.
; Thanks Tamas for the patch session.
* bin/hb3rdpat.hbs
+ Added error message when URL is missing.
; TOFIX: I could not test it because of this error:
'E: Can not find xz'
I indeed don't have it, but this tool is not needed
for this diffing session, so IMO it should be left
out when checking for prerequisites.
Tamas, can you take a look?
* package/winuni/mpkg_win_uni.nsi
+ Installer to add shortcut to hbide. Fully untested.
* bin/hb3rdpat.hbs
+ Patch by Tamas to support zx archiver.
* ChangeLog
! Date in my last entry.
* contrib/hbplist
+ Enabled new rddbmcdx.
* contrib/rddbmcdx/bmdbfcdx.c
! Fixed typo in a pointer type.
* contrib/hbmagic/hbmagic.ch
! Fixed to use hb_bitOr().
; Patch from Tamas:
* contrib/hbmagic/tests/hbmagit.prg
+ Added two more tests.
* bin/hb3rdpat.hbs
! Fixed past patch/manual editing error.
* contrib/hbzebra/tests/testwin.prg
* Trying to figure what's best way to round off coordinates
to the stupid integers the winapi requires. Patch it further
if you know better.
* bin/hb3rdpat.hbs
+ Clarification to help text, by Tamas.
* utils/hbmk2/examples/contrib.hbc
* utils/hbmk2/hbmk2.prg
* config/detfun.mk
* config/detect.mk
* INSTALL
* Terminology cleanup: "external code" -> "3rd party code"
- bin/hbxpatch.hbs
+ bin/hb3rdpat.hbs
* config/postinst.hbs
* package/harbour.spec
* Renamed hbxpatch.hbs to hb3rdpat.hbs to reflect terminology
cleanup ("external code" -> "3rd party code")
* utils/hbmk2/examples/contrib.hbc
* utils/hbmk2/examples/contribf.hbc
* utils/hbmk2/examples/oohg.hbc
* Using .hbc files.
* contrib/hbssl/ssl.c
+ SSL_GET_READ_AHEAD() function enabled. Made it a dummy
for bcc, where it for some reason creates unresolved
external when referencing the corresponding openssl API.
* contrib/hbexpat/hbexpat.c
! Added missing 'enum' keyword to just added cast.
; Patches from Tamas:
* utils/hbmk2/hbmk2.prg
+ cygwin is pic by default
* bin/hbxpatch.hbs
+ report all missing tools in one go
* src/rtl/hbjson.c
* src/rtl/hblpp.c
! Silenced msvc64 warnings.
* utils/hbrun/hbrun.prg
* Moved creation of header hash to separate function.
+ Added HBRUN_NOHEAD envver to disable embedded headers.
Any non-empty value will have this effect.
* utils/hbrun/Makefile
+ Enabled embedded headers.
* contrib/make.hbs
* config/postinst.hbs
* bin/hbxpatch.hbs
! Resolved TOFIX notes: now the headers can be used
just like in any .prg, and no need to locally #define
core constants.
Also hbqt_hbmk2_plugin.hbs should work now in stdalone
mode, with all the OOP code.
* contrib/make.hbs
* config/postinst.hbs
* config/hbextern.hbs
+ Implemented manual include/exclude filter in extern header
generation process. Include filters can be specified
using '// HB_FUNC_INCLUDE <func>', exclude filters using
'// HB_FUNC_EXCLUDE <func>'. By default everything is
included, this can be overridden using HB_FUNC_INCLUDE,
and exceptions made using HB_FUNC_EXCLUDE. <func> can
contain wildcards, so it's very flexible.
NOTE: - By default the functions are declared using DYNAMIC
so these generated can be directly used when the goal
is to load pcode dynamic libs dynamically.
- By #defining '__HBEXTERN__<libname>__REQUEST' the
generated headers will switch to EXTERNAL declaration,
so they can be used when building dynamic libs or when
user wants to explicitly pull all functions into lib
code. Do not use this from app code.
- When __HBEXTERN__<libname>__REQUEST is defined, the
generated headers will also ANNOUNCE __HBEXTERN__<libname>,
which means that application can simply pull all functions
into app code, using:
'REQUEST __HBEXTERN__<libname>__' command.
- Names are not necessarily finalized yet. ("extern", ".hbx")
- Deleted hard-coded exceptions from generator code.
; TODO: Clean core generated headers to behave like before.
; TODO: Adapt hbextern lib to these changes.
; TODO: Add generated headers to SVN for contrib libs.
; TODO: Add stubs which include generated headers to all libs.
; TODO: Long term TODO: make it easy to generate such headers
for 3rd party projects.
* include/hbextudd.ch
* include/hbextsca.ch
* include/hbextcdp.ch
* include/hbextlng.ch
* include/hbextern.ch
* contrib/hbct/hbct.hbx
+ Filled HB_FUNC_INCLUDE, HB_FUNC_EXCLUDE exceptions to
achieve the previous hard-coded results.
* Regenerated.
* contrib/hbqt/hbqt_hbmk2_plugin.hbs
* config/postinst.hbs
* config/hbextern.hbs
* bin/hbmk2l2d.hbs
* bin/hbxpatch.hbs
+ Added -km, -ko options.
* utils/hbmk2/hbmk2.prg
+ Added new plugin APIs:
- hbmk2_AddInput_OBJ()
- hbmk2_PathFromWorkdirToCWD()
- hbmk2_CWD()
+ Changed to not abort processing if there are no input files, but
there are custom plugin input parameter.
+ bin/hbmk_l2d.hbs
+ Added rough plugin to convert static libs to dynamic libs
on platforms supporting 'ar' tool (and of course the notion
of such conversion). This is meant to replace functionality
provided by bash script hb-mkdyn.sh.
Pls find cmdline example in the script header.
* config/postinst.hbs
+ Now installs hbmk_l2d.hbs
- bin/hb-mkdyn.sh
- Deleted hb-mkdyn speciality shell tool to convert static
libs to dynamic ones.
- bin/postinst.sh
- Deleted, it only started hb-mkdyn.sh, which was just deleted.
* Makefile
- Do not run postinst.sh anymore.