* 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.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/moc_gtqtc.cpp
* harbour/contrib/gtqtc/tests/wvtext.prg
! Code cleanup.
! Adopted KDE's calss variable naming convention.
Class variables now begin with "_" (underscore character).
Please follow this convention strictly.
+ IMPLEMENTED : hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS ).
! Tweaked caret implementation.
! Renamed :consoleArea => :drawingArea. More natural for hbqtxbp.lib.
/* Please try like this:
1.
- Execute wvtext.exe
- Press F10 -> New Window
- Press <ESC> -> Boooooom GPF (inkey(0))
2.
- Execute wvtext.exe
- Press F10 -> New Window
- Click on Main Window
- Click on New Window
- Press <ESC> -> Normal Exit
I am trying to find why to click on Main Window for
closing the New Window. I have not been able to reach any
logical reasoning. Help is requested.
Play : Resize New Window - Browser expands by rows and columns.
*/
* harbour/contrib/hbole/olecore.c
* harbour/contrib/hbole/oleauto.prg
+ implemented FOR EACH enumeration. The code was proposed by
Przemyslaw on mailing list. Some fixes applied.
* harbour/include/hbapi.h
* harbour/source/common/hbprintf.c
* harbour/source/common/hbstr.c
+ added hb_vsnprintf() - vsnprintf() replacement
* synced type of parameters in hb_snprintf() used for builds with and
without HB__USE_OWN_SNPRINTF
* bin/postinst.bat
+ Added support for HB_BUILD_IMPLIB for mingw.
(only when using Windows shell to build it, which is now the
preferred method.)
ace32 implib method was applied to most other libs, too. I didn't
test it, it may need further tweaks. I'll tweak it gradually, with
hbmk2 it is probably better to use implibs from native locations
where possible (like we do for QT on all platforms and like we do
for all non-Win platforms), so even other compilers may get
further changes.
* INSTALL
* Changed QT examples according to 4.5.1 new default dir layout.
* contrib/gtqtc/tests/demoqtc.prg
! Removed zip dependency.
* contrib/gtqtc/tests/wvtext.prg
! Fixed non-lower case filename.
! Fixed wrong reference to test .ico file.
BTW, is .ico portable? I doubt, so we should probably
switch to .png in context of QT.
! Fixed wrong reference to test.dbf.
* contrib/hbqt/tests/hbqt.hbp
* contrib/gtqtc/tests/gtqtc.hbp
+ Added support for HB_QT_DIR envvar to find QT libs.
This is the same envvar which is needed for Harbour
builds, so you may already have it set up.
; TODO: If this works out well, I'll add the same method
for other contribs too.
* utils/hbmk2/hbmk2.prg
+ libpaths will now be checked for existance before being
added to the list.
* harbour/include/hbapiitm.h
* harbour/source/vm/itemapi.c
* declared return value of hb_itemTypeStr() as const
* harbour/harbour.spec
* removed hbsqlite3 from default builds - it has to be optional due
to external dependencies in current version
* harbour/source/vm/hvm.c
% optimized memory allocation in cloned symbol tables to store
whole symbol table with all symbol names in single memory block
* contrib/hbqt/tests/hbqt.hbp
* Minor adjustment to supc++ lib inclusion filter.
- contrib/gtqtc/tests/hbqt.hbp
+ contrib/gtqtc/tests/gtqtc.hbp
- Removed .hbp with wrong name. This file also contained
local, environment dependent QT libpath.
Please don't add such lines to SVN !!
Instead use a local .hbp file which points to the QT path
in your environment:
--- qt_path.hbp
{win}libpaths=C:\devl\Qt\2009.01\qt\lib
--- (don't commit this file, keep it local !)
or, add the same line to your local hbmk.cfg file.
+ Added new .hbp file with multiplatform content.
* harbour/contrib/gtqtc/gtqtc.cpp
* harbour/contrib/gtqtc/gtqtc.h
* harbour/contrib/gtqtc/moc_gtqtc.cpp
! IMPLEMENTED : MT protocol. GTQTC now responds to it but
there are still glitches. I think this is the
result of improper implementation of C++ code
and QT's underlying SIGNAL/SLOT mechanism.
! FIXED : SetMode()
Resizing behavior, now it is acceptable.
Cursor blinking rate, now responds quickly.
Code cleanup.
* harbour/contrib/gtqtc/tests/hbqt.hbp
! Updated for MT compilation.
* harbour/contrib/gtqtc/tests/demoqtc.prg
* harbour/contrib/gtqtc/tests/wvtext.prg
! GTQTC is now MT compliant. You may experience bumps
as QT event loop has not been adapted to Harbour's completely.
There are glitches which are under investigations, but
proof of fruitation is there. Play with wvtext.exe, Press F10
for new window, please copy /tests/tests.dbf to this folder first.
Try to open many windows.
NOTE: You will have to click main window twice to make it
respond to key events. Still I do not know why it does not
get the keyboard focus with one click.
Try to close the windows with ESC or clicking on the X button.
/* I NEED YOUR INTEREST AND EFFORTS TO MAKE THIS PROJECT A SUCCESS */
/* */
/* Przemek, please review the code and guide me what way it should go */
* utils/hbmk2/hbmk2.prg
* Finished to .pot support (changed po to pot).
* Renamed po= .hbp setting to pots=.
! Few minor fixes in error cases in .hbl generation.
* utils/hbi18n/hbi18n.prg
! Typo in header.
* utils/hbmk2/hbmk2.prg
* Changed to not try to create an .hbl automatically if no
explicit .hbl file is passed or -hbl option used. Instead
now -hbl= or -hbl option will force creation of an .hbl
file with an automatic name.
+ Implemented .po to .hbl conversion inside hbmk2, with
incremental feature (.hbl will only be regenerated if any
.po file dependencies are newer). This is currently the
default, no -inc switch is needed for that.
You can specify .po files in the command line, in po=
lines in .hbp files, output file is passed via -hbl= option.
To handle multiple languages without hassle, you can use
${lng} macro in .po and .hbl filenames, plus pass the list
of languages in -lng=<lang comma list> option:
app_${lng}.po -hbl=lang/${lng}.hbl -lng=en,hu,sk,pl
[ Actual .po -> .hbl conversion code was taken from hbi18n
tool made by Przemek, with little modifications. ]
! Fixed to check included .res file timestamp, but not parse it.
+ Added macro support in libs= .hbp lines.
* utils/hbmk2/hbmk2.prg
+ Added new CPU architecture filters: x86, x86_64, ia64, arm
+ Added new CPU macro: ${hb_cpu} (returning values above)
! Fixed filter keyword detection on darwin due to typo.
* utils/hbmk2/hbmk2.prg
+ Added filter support to -o option.
+ Added macro support to -o option.
! Fixed missing win system libs from bcc linker command.
IMPORTANT: bcc users will have to make sure they add bcc PSDK
lib to their bcc32.cfg and ilink32.cfg files,
otherwise hbmk2 won't work for them:
--- bcc32.cfg
-I"C:\devl\BCC55\Include"
-L"C:\devl\BCC55\Lib";"C:\devl\BCC55\Lib\PSDK"
--- ilink32.cfg
/L"C:\devl\BCC55\Lib";"C:\devl\BCC55\Lib\PSDK"
---
(or manually pass that with -L option to hbmk2)
* -i option moved to main help screen.
* utils/hbmk2/examples/fwh.hbp
+ Added odbc32 lib.