* utils/hbmk2/hbmk2.prg
! hbshell_DirBase()/hbshell_ProgName() fixed to
return proper non-ASCII chars (= if hbrun/hbmk2 resides
in a directory with non-ASCII chars) even if the .hb
script or a shell command had changed the default codepage.
* include/hbdefs.h
- deleted redundant type: 'HB_FUNC_PTR'
INCOMPATIBLE. If you used this, swap it for 'PHB_FUNC'
* ws formatting
* ChangeLog.txt
! typos
* tests/testdyn.prg
! fixed -w3 warnings on non-win
! fixed possible type in text output
* config/postinst.hb
* utils/hbmk2/hbmk2.prg
+ use hb_StrFormat() in few more places
+ added minor exception after .hbx 'do no edit'
* website/index.html
! unclosed tag
* config/darwin/clang.mk
+ use 'clang++' in C++ mode
* include/hbcomp.h
* include/hbmacro.h
* include/hbsetup.h
% deleted redundant and/or unnecessary C RTL headers
+ config/win/clang.mk
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.*.po
* README.txt
+ added very experimental clang support to the build
systems. Very lightly tested.
! fixed entry function detection not being enabled with clang
! fixed .res files not being added on os2/gcc[omf] from .hbc/sources= directive
+ added recently added new filter 'allbcc' to help text
! synced compiler list per platform in help/readme to reality
* ChangeLog.txt
+ updated 2012-12-16 00:17 UTC+0100 with the first DONE item.
* src/3rd/pcre/*
- reverted to 8.31 until all the breakage in configurability
is fixed either in pcre or by redesigning our way of
configuring it. Command-line configuration -DHAVE_*=0
doesn't seem to work anymore.
+ config/win/bcc64.mk
* config/global.mk
* config/postinst.hb
* config/win/bcc.mk
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* README.txt
* utils/hbmk2/hbmk2.prg
+ added rough cut support for bcc64 to the two make systems.
Untested. Autodetection and some 32-bit specific tricks
not implemented.
bcc64 is based on clang and it's only a bcc "emulation"
layer on top of it. At least it will be a good compiler
now, but it's important to see that it's internally
a clang compiler, so its behavior and raw options are
gcc-like.
Changes are based on xhb patches and bcc64 online docs:
http://docwiki.embarcadero.com/RADStudio/XE3/en/Command_Line_Utilities_Index
* utils/hbmk2/hbmk2.prg
+ use implibs (if available) as source of information
for updating .hbx files in -hbdyn mode. See in-code
comment for more.
* utils/hbmk2/pkg_dynl.hbm
+ enabled to rebuild .hbx files even in -hbdyn mode
(after above hbmk2 fix/improvement)
* extras/template/hbtpl.hbc
* extras/template/hbtpl.hbp
* minor tidying
* utils/hbmk2/pkg_dynl.hbm
* deleted no longer true reference to GNU Make
* contrib/rddads/adsfunc.c
* contrib/rddads/rddads.hbx
+ added AdsDDCreateRefIntegrity() and AdsDDRemoveRefIntegrity()
(former looks similar to xhb version, but incompatible due
to the several necessary fixes.)
* contrib/hbpost.hbm
* utils/hbmk2/pkg_dynl.hbm
* hack to avoid contrib/addon dynamic libs being used
automatically on *nix system when building executables.
Now they will be put in bin dir, just like on win.
* utils/hbmk2/hbmk2.prg
+ hbshell_include_list() API to list loaded core headers.
+ allow loading dynamic extensions on *nix even if built
against static HVM.
* display statically linked extensions in uppercase in
dot prompt UI and dynamic ones with original (lower) case.
(was normal case and postfixed with '*' respectively)
+ do not load dynamic extension if the .hbc file is not found
+ attempt to detect if dynamic extension loads fine on
a given platform and only try loading the dynamic lib
if it does.
+ added protection to not add duplicate compiler options
when compiling dot prompt entry.
* contrib/hbrun/hbrun.hbp
+ load default contrib libs dynamically on *nix, even if
hbrun is built against static HVM.
; these make work dynamic extensions on *nix systems.
* contrib/hbtip/sessid.prg
* extras/httpsrv/cgifunc.prg
* updated HTTP date format to use preferred format:
http://tools.ietf.org/html/rfc2616#section-3.3.1
% optimized code and eliminated unnecessary _SET_DATEFORMATs
; tip_DateToGMT() and its uhttpd_DateToGMT() derivative
* src/compiler/hbusage.c
* updated contributor list
* contrib/sddoci/tests/test1.prg
* contrib/sddodbc/tests/test1.prg
* contrib/sddodbc/tests/test2.prg
* contrib/sddsqlt3/tests/test1.prg
* use std way to configure date format
* contrib/hbrun/hbrun.hbp
* utils/hbmk2/hbmk2.prg
+ loading packages using ext.load, hbshell_ext_load(),
'hb_ext.ini'/'hb_extension' config files and HB_EXTENSION
envvar will now automatically load the packages'
standard headers and will properly set HBMK_HAS_* macros,
just like when running scripts or using .hbc files.
+ do not statically link contribs to hbrun when hbrun
is built dynamically. Instead, load default contribs
dynamically on startup (yes, performance will be worse.
If you don't like this, see 2012-12-03 15:17 UTC+0100).
This way these loaded packages will behave exactly the
same as any other dynamically loaded packages, f.e.
standard headers will be loaded and usable.
+ hbshell_include()/hbshell_uninclude() will now
load/unload core headers available in dot prompt.
+ 'hb.ch' core header is now loaded for scripts and dot
prompt by default. It means that K_ESC will now
return 27 and hb_gtInfo( HB_GTI_VERSION ) will work
as well, just like many other commonly used constants.
For a precise list, see the content of include/hb.ch.
If you don't like it, unload it from hbstart.hb using
hbshell_uninclude( "hb.ch" )
% use embedded headers when using the dot prompt.
* contrib/hbsms/sms.prg
* commented code cleanup
* utils/hbmk2/hbmk2.prg
+ automatically define HBMK_HAS_<packagename> macro
if a given package is linked or loaded when running
as script. F.e. HBMK_HAS_HBGD. The macro will have
the value zero if there is no version information
about the package and it will be 0x010203 if there
is, via .hbc version=x[.y[.z]] directive.
* extras/httpsrv/modules/showcounter.prg
* extras/httpsrv/modulesg.hbp
* extras/httpsrv/uhttpd.prg
* extras/httpsrv/uhttpdgd.hbp
+ use HBMK_HAS_* macro instead of manually rolled solution
* include/Makefile
- include/hbtest.ch
* src/rtl/Makefile
- src/rtl/hbtest.prg
* utils/hbmk2/hbmk2.prg
- deleted hbtest from core.
* contrib/hbct/tests/test.prg
* contrib/hbgt/tests/test.prg
* contrib/hbmisc/tests/tsstrfmt.prg
* modified regression tests to use hbtest contrib
instead of hbtest functionality in core RTL
; Thanks to Mindaugas and Przemek, now the contrib
tests will require users to manually add 'hbtest.hbc'
to their hbmk2 cmdline in case someone would like
to build exes from them. Which means that fewer
people will bother to build and run them. They still
run simply using 'hbrun <name>.prg' as scripts.
* src/rtl/hbtest.prg
! made another accidentally public function STATIC
% merged XToStr() and XToStrE()
% XToStr() modified to use hb_CStr() where it can
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_trans.prg
% synced in-string date format with src/rtl/hbtest.prg
* contrib/hbmisc/tests/tsstrfmt.prg
! fixed to not rely on current date
! fixed to set date format
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/*.po
+ accept .ch files as project input. These headers
will be used as standard ones using -u+ option.
F.e.:
--- test.prg
? K_ESC
---
$ hbmk2 inkey.ch test.prg
$ test -> 27
+ accept .ch files in sources= .hbc directive.
; TODO: consider deleting headers= directive
* include/hb.ch
* utils/hbmk2/hbmk2.prg
* minor sync between list of "essential" core headers
and the minimal list of core headers embedded into hbmk2.
(minimal list is not used in default builds)
* added missing hbstrict.ch to full list of included headers
* utils/hbmk2/hbmk2.prg
+ automatically load headers listed in .hbc file
when executing an .hb script
* contrib/hbodbc/tests/testodbc.prg
% #include "sql.ch" no longer needed either when
built to an executable or when executed as script
* contrib/hbodbc/hbodbc.hbc
+ added experimental headers= line
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.pt_BR.po
+ added support for new .hbc directive:
-headers=<.ch files>
wildcards accepted.
hbmk2 will automatically include the listed headers
for all source files. It will be more efficient than
including them to each file, as they are processed
only once (well, at least I hope this optimization
is done by Harbour PP/compiler). It also makes it
unnecessary to manually #include headers that belong
to a module/package.
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_array.prg
* utils/hbtest/rt_class.prg
* utils/hbtest/rt_date.prg
* utils/hbtest/rt_file.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_main.ch
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_mt.prg
* utils/hbtest/rt_str.prg
* utils/hbtest/rt_stra.prg
* utils/hbtest/rt_trans.prg
% use the same HBTEST command format for tests as
available for contribs and 3rd parties.
It made source easier to edit and code size
smaller by 111KB.
* contrib/xhb/xhbfunc.c
* src/rtl/console.c
* deprecated HB_OSNEWLINE() with HB_LEGACY_LEVEL4 (after
next release). Use HB_EOL() instead.
HB_OSNEWLINE() will continue to live as an xhb compatibility
function after that.
* utils/hbmk2/hbmk2.prg
* minor cleanup to prev
* utils/hbmk2/hbmk2.prg
+ added support for .hbc autofind in contrib and addons
dir, even if the .hbc names isn't the same as the
contrib name. This can be used to autofind secondary
supplementary or alternative .hbc files automatically
on all platforms.
* contrib/hbwin/tests/olesrv1.hbp
* contrib/hbwin/tests/olesrv2.hbp
* contrib/hbwin/tests/olesrv3.hbp
* contrib/hbwin/tests/olesrv4.hbp
% deleted relative paths from .hbc references to
supplementary .hbc file. They will now be autofound.
* ChangeLog
* made decision how to clean empty loop code
(it's bar ';' char, indented in next line)
* include/hbtrace.h
* inactive HB_TRACE() macro will now translate to
empty {} block, so there is no need to manually
do that when used alone in an 'else' branch for example.
Checkme.
* contrib/hbwin/win_svc.c
% deleted {} braces from around HB_TRACE() calls
* utils/hbmk2/hbmk2.prg
! fixed hb_processOpen() results to be displayed at
once to avoid cutting potential UTF-8 (or other multibyte)
output from tools to be cut in the middle of character.
* contrib/hbct/charone.c
* contrib/hbct/charop.c
* contrib/hbct/token1.c
* contrib/hbct/token2.c
* deleted {} ending comments
* contrib/hbmysql/tmysql.prg
* contrib/hbmysql/tsqlbrw.prg
* deleted change tracking comments. 'blame' functionality
and repo history should be enough
* utils/hbmk2/hbmk2.prg
+ implemented theoretically correct solution to extract
linker output _while_ displaying it. It means that
missing function hinting feature doesn't require
a second pass to the linker anymore.
; Please test on all platforms.
; For those two people interested, it will create output like this:
---
hbmk2: Hint: Add option 'hbct.hbc' for missing function(s): CharMirr()
hbmk2: Hint: Add option 'hbusb.hbc' for missing function(s): libusb_exit()
hbmk2: Hint: Add option 'hbsms.hbc' for missing function(s): smsctx_PIN()
hbmk2: Error: Referenced, missing, but unknown function(s): NOTANYWHERE()
---
* extras/httpsrv/uhttpd.prg
! fixed some code for unicode
% fixed to not call FCLOSE() on a HB_PROCESSOPEN() handle
* use F_ERROR instead of -1 literal
* commented code converted to #if 0/#endif guarded one
* src/rtl/hbprocfn.c
* formatting
* tests/fixcase.hb
* new extension exceptions
* 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.
* utils/hbmk2/hbmk2.prg
+ lib hinting feature will now re-run the failed
linking command to catch its output and analyze it.
It will only work if errors are not ignore and
quite mode is not enabled.
+ reenabled lib hinting feature.
+ show function names with their .hbx casing (instead
of full uppercase)
! fixed casing for some internal functions, not present
in .hbx.
* ChangeLog
* another note missed, this time from 2012-11-13 19:00 UTC+0100
(FI_SETOUTPUTMESSAGE() gained MT support.)
* config/postinst.hb
* utils/hbmk2/hbmk2.prg
* use HB_DEFAULT() instead of 'IF ! HB_IS*()'
* contrib/hbgd/gdchart.prg
+ use HB_DEFAULT() instead of __DEFAULTNIL() after
verifying that in no case they are expecting multiple
types.
- contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbfimage/hbfimage.hbp
* contrib/hbfimage/tests/fitest.prg
* merged and cleaned Windows specific functions
with main wrapper source
+ implemented GC collected pointers for FIBITMAP
+ implemented typed pointers for FIMULTIBITMAP
* FI_UNLOAD() is now a dummy and deprecated with HB_LEGACY_LEVEL4
! FI_UNLOCKPAGE() fixed: it was checking for wrong parameter type
+ enabled few tests after adapting them to API changes
* FI_GETBACKGROUNDCOLOR() changed to work like the wrapped function;
it will now return color in 2nd parameter, if passed by ref.
The color is a 4 byte string in the format RGBA. It was a
raw pointer before. It's now in sync with FI_SETBACKGROUNDCOLOR().
INCOMPATIBLE.
* FI_SETBACKGROUNDCOLOR() fixed to check for color parameter
length to avoid GPFs.
* minor code rearrangements
% deleted no longer necessary FI_UNLOAD() calls from test code
; please test/review
* contrib/hbgd/gdwrp.c
* renamed variables, formatting
* tests/rto_get.prg
* tests/rto_tb.prg
* utils/hbtest/hbtest.prg
* utils/hbtest/rt_date.prg
* utils/hbtest/rt_hvm.prg
* utils/hbtest/rt_hvma.prg
* utils/hbtest/rt_math.prg
* utils/hbtest/rt_misc.prg
* utils/hbtest/rt_str.prg
* utils/hbtest/rt_trans.prg
* formatting
* contrib/hbfimage/fi_winfu.c
* missed to include it in one of the recent entries:
FI_LOADFROMMEM() has been renamed to FI_LOADFROMMEMORY()
to be in sync with original FreeImage function name.
Update your apps accordingly. INCOMPATIBLE.
* contrib/hbfimage/tests/fitest.prg
! synced with above lib change
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
* contrib/hbgd/gdwrp.c
* contrib/hbgd/gd.prg
* deleted excessive {} and () operators
* eliminated split lines where only one char was present in a line
% replaced RTE generator calls to more compact ones
% dropped pcount() checks where HB_IS*() checks were
present anyway
* merged separate var declarations and initializations in
wrapper code
% eliminated local variables where it didn't make code
less obvious
% adujsted a few var scopes
* deleted repetitive comments
% protected hb_parcx() calls changed to hb_parc()
! GDIMAGESTRING(), GDIMAGESTRINGUP(), GDIMAGECHAR(), GDIMAGECHARUP()
fixed for 1 character long strings. Code tried to retrieve a character
by using hb_parni() which (purposefully) isn't supported in Harbour.
The current effect is the same, with negligibly performance
loss for one long strings.
% GDIMAGECHAR(), GDIMAGECHARUP() now use C level forwarder.
% using hb_parnintdef()
! fixed typo in RTE message
% using hb_default() in gd.prg
% number of LOC, source size (-24KB) and generated binary
code greatly reduced by the above.
* src/rtl/tclass.prg
* src/rtl/tobject.prg
* commented code changed to #if 0 blocks
! some commented code fixed
* some obsolete comments deleted
* utils/hbmk2/hbmk2.prg
+ added following options to .hbc files:
keywords=
licenses=
repository=
all only informational, they do nothing ATM.
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.es_PE.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.pt_BR.po
% "-*flag=" options' help text change to include the word
'single' for 'flag'
(though 'flag' is not and never was in plural)
% moved -prgflag= option downwards in the list to
discourage using it by being less visible. In general,
nobody needs this flag as all non-hbmk2 flags are
automatically passed to Harbour compiler.
* contrib/hbdroid/hbdroid.hbp
* minor cleanup
* contrib/rddbm/rddbm.hbp
! missed to add .hbx as source
* contrib/rddsql/tests/arrayrdd.prg
+ fixed to work when run as script.
(Could not achieve the same with SDD tests.)
* utils/hbmk2/hbmk2.prg
+ added very experimental support for using macros
in source filenames. The search for options and
special extensions will be done before macro
expansion, ie. if it doesn't match any options or
special extensions, it will be considered a
source a file and then expanded. Useful f.e. for
'${hb_name}.hbx', but plain '${ENVVAR}' will also
be considered a source filename. Can be abused, too,
but not recommended.
* utils/hbmk2/hbmk2.prg
! fixed to automatically create target directory
for import library, if any.
* extras/hbusb/hbusb.hbp
* making options more uniform
; TODO: apply these to other 'extras' libs
* extras/gfspell/spellc.c
! fixed compilation errors in spellc.c.
! fixed non-ANSI C comments.
! fixed warnings.
* removed excessive parenthesis
+ extras/gfspell/gfspell.hbx
* extras/gfspell/gfspell.hbp
+ added .hbx file
+ added option to build dynamic lib
* extras/gfspell/spell.ch
* extras/gfspell/spell.prg
! fixed to use lower-case filenames
! fixed '=' operators
! fixed BIT() calls to have the 1st param passed by ref
! fixed some formatting errors left by hbformat (notably: "{|xx|")
! disabled permanently enabled debug screen messages
! fixed to not leave temporary index on disk
+ some changes to make code more unicode compatible (incomplete)
* Use F_ERROR
* hbformatted using new .hbx
% use hb_FileExists()
; NOTE: Strangely all this is not enough to make this
work, because crucial files are missing from this packages,
f.e. dict.dic and thes.dic. Anybody has these?
* extras/gfspell/words.dbf
! fixed field name to be WORD (not W_ORD). I'm not even
sure how this can go wrong, byt anyways.
* contrib/hbnf/menuto.prg
* minor
* extras/hbdoc/hbdoc.hbp
+ use $hb_pkg_install.hbm
* utils/hbmk2/pkg_inst.hbm
+ install executables into Harbour bin dir, but
commented with NOTE because hbdoc works only when
put in its current directory location.
+ utils/hbmk2/pkg_dynl.hbm
* utils/hbmk2/hbmk2.prg
+ added built-in package $hb_pkg_dynlib.hbm which adds
hbmk2 options needed to build standard dynamic libs out
of lib projects the same way contribs are built when
using HB_BUILD_CONTRIB_DYN=yes.
* utils/hbmk2/pkg_inst.hbm
! fixed to place target dynamic libs to main project
directory, so they can be used right away
* extras/hbvpdf/hbvpdf.hbp
- extras/hbvpdf/hbvpdf.prg
+ extras/hbvpdf/core.prg
- extras/hbvpdf/hbvpsup.prg
+ extras/hbvpdf/fonts.prg
* renamed source to not collide with .hbx file
* renamed other source to simpler name
* fonts.prg hbformatted
* extras/gtwvw/gtwvw.hbp
* extras/hbusb/hbusb.hbp
* extras/hbvpdf/hbvpdf.hbp
* extras/hbxlsxml/hbxlsxml.hbp
+ added $hb_pkg_dynlib.hbm built-in build rules,
so now these can be built as dynamic libs using
command:
'hbmk2 -hbdyn <name>.hbp'
* extras/gtwvw/gtwvwd.c
! fixed wrong startup code causing GPF when
used as hbrun script.
* extras/hbusb/tests/test.prg
* extras/hbvpdf/tests/pdf_demo.prg
* extras/hbxlsxml/tests/example.prg
* extras/hbxlsxml/tests/example2.prg
* extras/hbxlsxml/tests/example3.prg
+ added #require directives to make
them run as scripts.
* extras/gtwvw/tests/cbtest1.prg
* extras/gtwvw/tests/cbtest6.prg
* extras/gtwvw/tests/drawimg.prg
* extras/gtwvw/tests/ebtest7.prg
* extras/gtwvw/tests/inpfocus.prg
* extras/gtwvw/tests/maincoor.prg
* extras/gtwvw/tests/maximize.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/wvwtest9.hbp
* extras/gtwvw/tests/wvwtest9.prg
- extras/gtwvw/tests/wvwmouse.prg
+ extras/gtwvw/tests/_wvwmous.prg
+ added #require directives and dynamic switching
to GTWVW GT to make them run as scripts.
* renamed one internal .prg to start with an
underscore
* changed the way _wvwmous.prg is added to the
main project source to make it run as
script (though the .rc file won't be available
in this case)
* extras/hbxlsxml/tests/example.prg
! fixed typo in a recent manual cleanup update
; After this, 3rd party addons can easily use this
facility to build and used as dynamic libs, making
it possible to use them from scripts.
; NOTE: I didn't check if these dynamic libs can be
linked statically to dependent projects. Left
for the future.
; TODO: - clean contrib/hbpost.hbm to be more in
sync with utils/hbmk2/pkg_dynl.hbm
- inspect if _HB_DYNSUFF can be avoided in
contrib .hbc files
* contrib/hbnf/any2any.prg
* contrib/hbnf/d2e.prg
! Fixed wrongly cased local macros after last formatting.
These macro names collided with function names used in
other libs. I gave these macros a unique name to avoid that.
Based on Andi Jahja's patch. Thank you.
* include/*.ch
* formatting (except std.ch)
* contrib/xhb/hbcompat.ch
! minor fix to prev
* include/harbour.hbx
! minor fix
* contrib/gtwvg/hbgtwvg.ch
* contrib/hbblink/hbblink.ch
* contrib/hbcairo/hbcairo.ch
* contrib/hbct/ct.ch
* contrib/hbct/ctdisk.ch
* contrib/hbct/ctvideo.ch
* contrib/hbfimage/freeimag.ch
* contrib/hbmxml/hbmxml.ch
* contrib/hbnf/any2any.prg
* contrib/hbnf/d2e.prg
* contrib/hbtip/thtml.ch
* contrib/hbtip/tip.ch
* contrib/hbxpp/hbxpp.ch
* contrib/hbzebra/hbzebra.ch
* contrib/xhb/hbcompat.ch
* contrib/xhb/hbdll.ch
* contrib/xhb/hblog.ch
* contrib/xhb/ttable.ch
* extras/hbdoc/hbdoc.ch
* extras/hbvpdf/hbvpdf.ch
* utils/hbtest/rt_init.ch
* minor cleanups/formatting