* harbour/include/hbcomp.h
* harbour/source/compiler/hbmain.c
* harbour/source/compiler/hbcomp.c
* harbour/source/compiler/compi18n.c
* changed -j<path>/ and -j<file> behavior when more the one .prg file
is compiled. Now when <path>/ is used then it's respected by all
compiler .prg modules. When <file> is used then only single .pot
file is generated but it contains i18n entries from all compiled
.prg modules.
* harbour/ChangeLog
+ added two thanks notes, one to Miguel and using HeapAlloc() and
second to Walter Negro for his DATETIME work in xHarbour what gives
valuable test platform for Harbour and was important inspiration for
Harbour TIMESTAMP implementation.
* harbour/contrib/gtwvg/gtwvg.h
* harbour/contrib/gtwvg/hbgtwvg.ch
* harbour/contrib/gtwvg/gtwvg.c
* harbour/contrib/gtwvg/wvgcore.c
* harbour/contrib/gtwvg/wvgcuig.c
* harbour/contrib/gtwvg/wvgcrt.prg
! Fixed many artifacts. Probbaly it is difficult to jot down all.
* harbour/source/rtl/hbi18n2.prg
+ added new Harbour internal i18n functions:
__I18N_POTARRAYTRANS() and __I18N_HASHJOIN()
* harbour/utils/hbi18n/hbi18n.prg
+ added new switch to hb18n tool:
-a add automatic translations to 1-st .pot file using
translations from other .pot or .hbl files
* contrib/hbole/tests/testole.prg
+ Readded CDO and OO open examples (working).
* utils/hbmk2/hbmk2.hbm
+ Added .hbl file generation.
* utils/hbmk2/hbmk2.prg
+ Added translator info to banner.
! Minor fix to now display job # if single-threaded compilation is done.
(Thanks for __enumBase() trick to Przemek)
* Some steps to better support xhb shared mode (untested).
+ Added filter support for .prg and .c/.cpp input files.
(This also means that input files with '{' '}' char pairs in them
aren't supported anymore).
! Minor terminology fix in one of the rare error messages.
; TODO: ? Adding GNU Make support to .pot -> .hbl generation, plus
we'd also need to develop a common rule for naming and
placement for these translation files. Current hbmk2 method
cannot be considered final.
+ utils/hbmk2/hbmk2.hu_HU.pot
+ Added Hungarian translation (not complete/final yet).
* harbour/contrib/hbole/oleauto.prg
* harbour/contrib/hbole/olecore.c
* added runtime error on descend FOR EACH ICollection enumeration
* added a few more runtime errors
* fixed reference counter managament if OLE object is used as
parameter for another OLE function call
+ implemented array parameter support
TODO/TOCHECK: multidimentional array support
* harbour/contrib/hbole/tests/testole.prg
* changed test to work with current hbole library
+ added new OppenOffice tests
* utils/hbmk2/hbmk2.prg
+ Added experimental and partial support to build using/for xhb.
This is to help some 3rd party lib developers who'd like to
target both compilers. Some aspects of xhb support aren't working
or working slightly differently: Default Harbour switch is
-n instead of -n2 which isn't supported in xhb. Everything
related to dll handling won't currently work. Cross-compiling
won't work either due to at least differences in __PLATFORM__
macros. Anyway, play with it and tweak the source if needed.
I hope we can add support without adding too much hacks into
hbmk2 source, if however we need to bend logic too far, I'd
rather leave those problematic parts of to keep the code
maintainable. F.e. xhb compatible COMP/ARCH values aren't
supported and I don't plan to add them.
Enable support by renaming hbmk2 to have an 'x' prefix: xhbmk2,
or use -xhb command line switch. The only intent is be able
to use hbmk2 to build binaries from sources using xhb compiler
and libs. Also notice that I've made just very light tests
only with bcc55 compiler.
[ notice: xhb support doesn't mean you can compile hbmk2 with
xhb. This wasn't intented or planned. ]
* utils/hbmk2/examples/contribf.hbp
! Fixes.
* utils/hbmk2/hbmk2.prg
* Cleanup: Added few internal constants.
* Cleanup: Some debug strings marked as non-translatable.
+ Help screen forming changed to be friendly to translators.
Please update .pot files.
* utils/hbmk2/hbmk2.prg
+ Added multilanguage support. Now LC_ALL, LC_MESSAGES and
LANG envvar will be checked for language ID and loading
of translation will be attempted from <hbmkdir>hbmk2.<lang>.hbl
file (not final name yet). You can compile such .hbl file by using
command:
> hbi18n -g -ohbmk2.<lang>.hbl hbmk2.<lang>.pot
You can create .pot using this command:
> ..\..\bin\harbour hbmk2.prg /jhbmk2-<lang>.pot /i..\..\include
Where <lang> is preferable the std ISO language ID, like: pt_BR.
* utils/hbmk2/hbmk2.prg
+ Changed all output texts to translatable format, using hb_StrFormat().
+ Added hb_i18n_gettext() to all translatable texts, so now it's possible
to create a .pot file. It's not yet perfect for the help text yet.
* utils/hbmk2/hbmk2.prg
+ Added MT support for rest of C compilers (gcc, pocc).
Please test. MT support is now complete, maybe in the
future it can be added for resource compiling if that's
a bottleneck for some users.
* bin/postinst.bat
+ Added generation of libpq.lib from .dll for msvc. (not tested)
+ Added generation of QT implibs for msvc. (not tested)
+ Copying QT implibs for mingw.
* source/common/hbverdsp.c
! Minor in comment.
* utils/hbmk2/hbmk2.prg
+ Added MT support for C compilation phase.
Single input compilers aren't covered yet (gcc, pocc).
+ Added -debugtime internal option to measure running time.
* utils/hbmk2/hbmk2.prg
+ Added -vcshead=<file[.ch]> option. This will generate
a header with local repository information: type of
repository and unique ID (in case of SVN this is the
revision number).
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.hbm
* utils/hbmk2/Makefile
+ Added experimental support for multithreaded compilation.
Enable with -jobs=<x>.
Currently Harbour compilation phase supports MT.
If it works out well and details are polished, the same
can be implemented for C/resource compilation phases, too.
I'd appreciate of someone with MT experiences could review
current code and spot bugs/problems with it before I go
any further.
* Changed to build hbmk2 in MT mode.
* utils/hbmk2/hbmk2.prg
! Readded -map support for *nixes.
! Changed -strip support for darwin to use separate strip command.
+ .hbmk dir is now set hidden.
+ Target name is displayed on screen.
* ChangeLog
- Removed one empty line from license header after last commit.
(Przemek pls update your script to reflect that)
* harbour/include/hbexprb.c
! modified := optimization to keep alive original LValue name
used in the assign expression. It fixes FOR / NEXT loops which
in which such optimized expression were used, f.e.:
FOR n := n + 1 TO 10; ? n; next
In fact it's only workaround for potentially bigger problem with
multiple references to single expression which we probably have to
resolve if we extend the compiler to not generate PCODE online
for each compiled statement but only after preprocessing and
optimizing at least whole function or procedure.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
* contrib/gtqtc/gtqtc.h
* contrib/gtqtc/Makefile
! Fixed to use no dir when including qglobal.h. This fixes
darwin compile error.
* utils/hbmk2/hbmk2.prg
! Fixed static lib output extension for rest of compilers (*nix/gcc).
! Fixed 'lib' prefix handling for static lib output names when dir
was present in the name.
* Now -inc files will be put into .hbmk/* dirs.
! Disabled -map option for *nix gcc as it doesn't seem supported
(probably isn't needed on these platforms anyway).
% Cleaned code redundancy in forming output names.
; TOFIX: gcc/darwin complains that -s switch is obsolete and being ignored.
* COPYING
+ Added Creative Commons Attribution-ShareAlike 3.0 Unported (CC-by-sa)
license section. To be used for misc text, documentation and typically
everything which isn't source/program code. Currently these files
(in part or whole) are covered by this license:
INSTALL
ChangeLog
doc/whatsnew.txt
; TODO: If this works out well, IMO we should apply this license to
all non-code parts of our repository. /doc, /man sections
and some files in the root specifically. We can also cover
the homepage content with this license.
* INSTALL
+ Added CC-by-sa license.
* doc/whatsnew.txt
* ChangeLog
+ Added CC-by-sa license. I've covered all my past entries with
this license, besides these, only the new entries will fall
under the license.
* contrib/hbblat/blatwrp.c
! Fixed extern declaration to work in C++ mode.
* source/lang/msgtrwin.c
* source/lang/msgtr857.c
! Typos in comments.
* source/vm/set.c
+ Added copyright for few functions (hb_osEncode()/hb_osDecode()).
* utils/hbmk2/hbmk2.prg
! Fixed RTE in Harbour-only (-gh) mode.
* harbour/ChangeLog
* removed TOVERIFY note - Viktor checked it.
* harbour/contrib/hbct/ctwin.c
! redraw windows after each WCENTER() call
* harbour/contrib/rddads/ads1.c
+ added support for ADS_VARCHAR_FOX and ADS_VARBINARY_FOX fields
in ADS_VFP tables
* harbour/include/dbinfo.ch
* harbour/include/hbrdddbf.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrddnsx.h
* harbour/include/hbrddntx.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/workarea.c
+ added support for VFP tables with VARCHAR and VARBINARY fields
+ added support for VFP tables with NULLABLE fields
+ added new dbFieldInfo() action to check if given field is NULL, f.e.:
? dbFieldInfo( DBS_ISNULL, FieldPos( <cFieldName> ) )
The above modifications were not tested with real VFP files. I do
not have VFP. VFP users should make some real life tests with tables
created by VFP.
* harbour/contrib/rddads/ads1.c
! fixed very bad bug in code compiled for ADS_LIB_VERSION < 600
in ANSI<->OEM translations - the HVM item value was overloaded
with translation results
+ added direct support for ADS_TIME, ADS_TIMESTAMP and ADS_MODTIME
fields and HVM TIMESTAMP values in field get/put operations, seek
and scopes.
Warning! Support for timestamp values in VFP tables is limited
and does not fully respect whole Harbour timestamp arithmetic, f.e.
timestamp values read from index keys are rounded to whole seconds
or setting scopes to data values on timestamp indexes does not work
like in native RDDs or in ADT tables.
TOVERIFY: please check in which ACE version Ads[SG]etMilliseconds()
functions were added and if necessary add
#if ADS_LIB_VERSION >= ???
protection. I do not have older ACE headers and I cannot
make it myself.
To ADS users: please make some real life tests and report problems
if any.
* harbour/contrib/gtqtc/gtqtc.cpp
! Fixed a very important issue of focussing. Now F3 and F4
correctly set the focus to window in question.
The flickering cannot be avoided as QT hides the window
before setting the flags until I come up with another way.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/tests/wvtext.cpp
+ Implemented all BOX characters including B_THIN and B_FAT.
B_THIN protocol respects the aspect ratio means half column
characters are exactly of size column width.
/* Press F9 to view all box types. */
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/tests/wvtext.cpp
+ Implemented destructors. Now opening/closing new windows
release memory properly. There is a small leakage remains yet,
about 40 kb per window, but I am not been able to figure out
what action causes it. May be in future...
! Optimized "Mark & Copy" operation. Now previous buffer is used
instead of creating a new image.
! "Mark & Copy" operation now do not generate INKEY() events.
Important until we find a solution via SysMenu.
/*
So far I did not receive any input from anybody.
Does it mean this project do carry little importance
to be pushed forward ?
*/
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
+ Implemented "Mark & Copy" operation.
Just drag the mouse while left button is pressed.
I could not access SysMenu to initiate this operation
as is implemented in GTWVG but still it is a much needed
feature to have it.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
+ Implemented Box Characters independant of fonts and OS.
At this moment only B_SINGLE.
This feature relies on the DispBox()* functions which
sets the attributes in GT. Final goal should be recognizing
Box characters from the char itself, but it may be trivival to
handle as Harbour must be heading for UNICODE.
Przemek, your attention to this fact is requested.
* harbour/contrib/gtqtc/tests/wvtext.prg
! Tweaked for inkey( 0.1 ). No more GPFs now. Play freely.
* harbour/source/compiler/complex.c
! fixed bug reported by Ranier
* harbour/ChangeLog
* added information to old ChangeLog entry that the idea of parsing the
code inside #pragma begindump to detect static harbour functions in
C code inside was 1-st time implemented by Andi Jahja in xHarbour.