* include/hbdefs.h
- Deleted HB_ERRCODE. It already existed as HB_ERRCODE,
mainly used in RDD. That makes this change a bit more
complicated than I thought. Plus two more issues:
1) Some places use ULONG already to pass error code,
changing these to HB_ERRCODE will instantly break
binary compatibility.
2) I wonder if DOSERROR() and friends will stay compatible
after moving to ULONG HB_ERRCODE.
; Please comment.
* include/hbdefs.h
+ Added HB_ERRCODE. Currently the same as USHORT. Will be
changed to 'unsigned int' once all USHORT types have been
converted to HB_ERRCODE (where applicable).
* src/rtl/errapi.c
! Typo in comment.
* Deleted unnecessary casting.
% Minor opt in hb_errPutOperation() string parameter defaulting.
* ChangeLog
* contrib/hbqt/hbqt_misc.prg
* contrib/hbxbp/xbpgeneric.prg
% Minor opt.
! Fixed variable name prefixes of STATIC/THREAD STATIC vars.
! Fixed to create mutex directly in STATIC var assignment instead of INIT function.
% Fixed to use hb_releaseCPU() instead of hb_idleSleep( 0.01 ).
Notice that latter actually slows down execution unnecessarily,
so it should only be used when we do actually want to wait.
* contrib/hbxbp/tests/demoxbp.prg
! Eliminated warnings after latest changes.
* contrib/hbqt/hbqt.h
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.ch
* contrib/hbqt/hbqt_destruct.cpp
* contrib/hbqt/tests/demoqt.prg
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/Makefile
* contrib/hbxbp/xbpappevent.prg
* contrib/hbxbp/xbpsle.prg
* contrib/hbxbp/xbplistbox.prg
* contrib/hbxbp/xbppresspace.prg
* contrib/hbxbp/xbpcheckbox.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbpradiobutton.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/tests/demoxbp.prg
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbptabpage.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbxbp/xbpcombobox.prg
* contrib/hbxbp/xbpstatusbar.prg
* contrib/hbxbp/xbppushbutton.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpbitmap.prg
* contrib/hbxbp/xbp.ch
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpfontdialog.prg
* contrib/hbxbp/xbphtmlviewer.prg
* contrib/hbxbp/xbpstatic.prg
* contrib/hbxbp/xbptreeview.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpstyle.prg
* contrib/hbxbp/xbptoolbar.prg
* contrib/hbxbp/xbp3state.prg
* contrib/hbxbp/xbpspinbutton.prg
* contrib/hbxbp/xbpdataref.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpmle.prg
! Fixed to include hbqt.ch from xbp.ch instead of doing it in each file manually.
* Renamed __debug__ to __HB_DEBUG__
! Fixed just_debug() to work in UNICODE mode.
* Renamed hb_getMemUsed() to hbqt_getmemused()
* Renamed just_debug() to hbqt_debug()
+ Added multiple parameter support to HB_OUTDEBUG().
* Renamed HB_OUTDEBUG() to HBQT_DEBUG() in hbqt and HBXBP_DEBUG() in hbxbp.
! Fixed #include <Psapi.h> to #include <psapi.h>.
! Replaced all debug calls to use HBQT_DEBUG() / HBXBP_DEBUG().
; NOTE: After this change __HB_DEBUG__ controls debug mode in both .c and .prg mode.
Windows specific debug output can still be enabled with __HB_WINDEBUG__.
; NOTE: I didn't test any of these. Pls do so.
; NOTE: All above is temporary as it would be better add OutputDebugString() support
to our RTL trace engine (enabled with a flag), plus multiple parameter
support (preferably accepting any types) to HB_TRACESTRING().
Since my .c skill would kill this effort, or at least make it quite bumpy,
I'd kindly ask someone (Przemek, are you there? ;) to implement it.
Preferably both.
; TODO: Regenerate all hbqt sources.
* src/rtl/hbi18n1.c
! Fixed bcc warning in recent commit.
* contrib/gtwvg/tests/demoxbp.prg
! Fixed to use HB_SYMBOL_UNUSED() instead of local solution.
* contrib/gtwvg/tests/demowvg.prg
+ Added dirbase to icon filenames
* contrib/gtwvg/Makefile
+ Enabled for msvc64 and pocc64.
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
! Fixed double freeing of HbDbfModel::block because of
recalling the same function twice.
Przemek ValGrind really helped here, thanks.
* contrib/gtwvg/Makefile
* contrib/gtwvg/wvgsysw.prg
* contrib/gtwvg/wvgwing.c
* contrib/gtwvg/wvgwnd.prg
- contrib/gtwvg/wincallb.c
- contrib/gtwvg/wincback.prg
* contrib/gtwvg/tests/demoxbp.prg
! Removed 32 bits only code which made GTWVG unusable on 64 bits
opering systems. I just discoved a way to assign WndProc to
system dialogs and hence this major change is effected.
Viktor, please let me know if GTWVG now compiles fine on 64 bits.
* contrib/hbqt/hbqt_destruct.cpp
! Fixed the way windows.h is included.
! Fixed to exclude Windows stuff on non-Windows systems (in debug mode).
; PLEASE KEEP IT THIS WAY.
* contrib/hbsms/Makefile
! Fixed dependency on tpathy headers.
* contrib/hbsms/hbsms.prg
* contrib/hbsms/hbsms.hbc
- Deleted implementation based on hbwin com port support.
* config/global.mk
* config/win/bcc.mk
+ Added hack to hack so that bcc autoconfiguration works
even when bcc is explicitly selected.
Now I wonder what will be the next corner case bcc users
will come up with.
* config/win/bcc.mk
+ Changed to use ilink32 directly to link executables instead of
relying on bcc32.
This changed synced this details with hbmk2.
Please test, especially on Linux+Wine.
Also please don't hesitate to make adjustments to this change
if needed. BCC isn't my bread and butter and I didn't make
extensive tests.
* contrib/hbqt/hbqt.ch
* contrib/hbqt/tests/demoqt.prg
+ Changed to use same .prg level debug trace call method as in hbxbp.
Enable it with __HB_OUTDEBUG__.
On Windows to use OutputDebugString() instead of regular Harbour
trace calls, also #define __HB_WINDEBUG__. In this case, also link
hbwin lib (not xhb lib).
* Moved QT_PTROF() macro from demo code to header.
* harbour/src/rtl/cdpapi.c
* updated to work well with CPs where CHR( 0 ) is not sorted as 1-st
character
* harbour/tests/cpinfo.prg
* chose binary form for CPs where upper and lower letters are sorted
in different order
* harbour/src/codepage/cpnl850.c
* updated to binary form
* harbour/include/hbdefs.h
* added small hack to eliminate negative handles from 32 bit windows
builds. Please remember that this trick can work only in 32 bit
windows version. In 64 bit ones valid handle after casting to integer
value can give negative 64 bit number so checking for wrong handle
please compare them with FS_ERROR (-1) instead of using < 0 or sth
like that. Otherwise your code may not work properly with some new
windows versions or may even suddenly stop to work with existing
ones even if they worked for some time without problems.
* harbour/src/rdd/dbf1.c
* pacified warning after adding above hack
* harbour/tests/cpinfo.prg
! removed unnecessary EOL reported by Viktor
* harbour/contrib/rddads/ads1.c
* changed ulRetVal to u32RetVal to be the same name in all file
* added RTE if AdsSkip(), AdsGotoRecord(), AdsGotoTop(), and
AdsGotoBottom() return not AE_SUCCESS. All these functions
return 7022 (Maximum index levels) on unbalanced ADS indexes.
; TODO: test and add RTE on AdsSeek() and the other remaining record
positioning function calls
* INSTALL
* Updated dev list max attachment size.
* INSTALL
* config/beos/libs.mk
* config/global.mk
* config/bsd/libs.mk
* config/bin.mk
* config/wce/global.mk
* config/hpux/libs.mk
* config/darwin/libs.mk
* config/dos/djgpp.mk
* config/win/global.mk
* config/linux/libs.mk
* config/os2/gcc.mk
* config/sunos/libs.mk
+ Added support for HB_USER_LIBS build option to specify
extra libs. Note: This is useful only in very special
cases, so pls don't use it unless you exactly know what
you want to do. The libs have to be specced without
prefixes and extensions. It will be added after Harbour
libs and before system libs.
* harbour/include/hbcdpreg.h
* use macro instead of direct value
* harbour/tests/cpinfo.prg
+ generate .c files with CP definition in human readable form
when it's can be safely use or with optional binary table when
it should be verified if such form is acceptable.
* harbour/tests/cpinfo.prg
* harbour/include/hbapicdp.h
* harbour/include/hbcdpreg.h
* modified format used for CP definition using binary tables
+ added Latin character striping from non Latin based CPs
* changed warning message to be more clear. In most of cases when
this message is shown:
Warning: irregular CP which needs verification for human
readable definition in Harbour
it should be possible to create human non binary CP definition.
Usually it should be enough to copy HB_CP_UPPER and HB_CP_LOWER
strings and verify if final result are compatible by comparing
automatically generated .c file with binary tables. If you will
find some CPs where it's not compatible then please inform me
about it and I'll try to update cpinfo.prg
When this message is shown:
Warning: irregular CP which needs special definition in Harbour
using binary tables generated by this program
then binary tables have to be used to replicate exact CP conditions.
If no warning message is shown then human readable form of CP
definition can be used without (I hope ;)) additional verification.
* harbour/src/codepage/cpno865.c
* harbour/src/codepage/cpit850m.c
* harbour/src/codepage/cpis850.c
* harbour/src/codepage/cpfr850.c
* harbour/src/codepage/cpes850c.c
* harbour/src/codepage/cpsv850m.c
* harbour/src/codepage/cpde850m.c
* harbour/src/codepage/cppt860.c
* harbour/src/codepage/cpnl850m.c
* harbour/src/codepage/cpnl850.c
* harbour/src/codepage/cpde850.c
* harbour/src/codepage/cpfi850.c
* harbour/src/codepage/cpit850.c
* harbour/src/codepage/cpis861.c
* harbour/src/codepage/cpes850m.c
* harbour/src/codepage/cpfr850m.c
* harbour/src/codepage/cpsv437c.c
* harbour/src/codepage/cpdk865.c
* harbour/src/codepage/cpgr437.c
* updated for new format
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbptabpage.prg
! Fixed some stupid typos and changed the way signals are disconnected.
* include/hbextcdp.ch
* Updated to reflect recent couple of commits.
* src/codepage/Makefile
+ src/codepage/cpit850m.c
+ src/codepage/cpde850m.c
+ src/codepage/cpsv850m.c
+ src/codepage/cpnl850m.c
+ src/codepage/cpes850m.c
+ src/codepage/cpfr850m.c
+ Added mdx*.obj compatible CPs, created by cpinfo.prg.
; TOFIX: I didn't added mdxuk and mdxusa, simply because
it cannot fit in current filename scheme, which
uses only two chars to denote language.
* codepage/Makefile
- codepage/cpesisoc.c
- codepage/cpeswinc.c
- Deletes ISO and Win pairs of ES850C.
* codepage/Makefile
+ codepage/cpgr437.c
+ codepage/cpgr851.c
+ codepage/cpis850.c
+ codepage/cpis861.c
+ codepage/cpdk865.c
+ codepage/cpfi850.c
+ codepage/cpnl850.c
+ codepage/cpno865.c
+ codepage/cppt860.c
+ Added CPs generated via cpinfo.prg from ntx*.obj (C5.2e).
For these language, I've only 'guessed' the CP assigment:
cpdk865
cpfi850
cpnl850
cpno865
cppt860
TOFIX: Any mistakes in above.
* codepage/Makefile
- codepage/cpsvclip.c
+ codepage/cpsv437c.c
* Renamed to use naming scheme like all others.
; TOFIX: 437 is most certainly wrong CP assigment, and
it should probably be 850 or 865.
* codepage/cpfr850.c
* codepage/cpes850c.c
* codepage/cpde850.c
* codepage/cpit850.c
* Replaced with versions generated by cpinfo.prg.
; TODO: cpinfo.prg isn't generating short format of CP source files,
so all above may need to be converted to it for better readability.
* harbour/tests/cpinfo.prg
+ added additional information that binary tables generated by cpinfo.prg
have to be used instead of human readable form when such situation can
be easy detected
* harbour/src/codepage/cpsvclip.c
* replaced old definition with binary tables generated by cpinfo.prg
to fully replicate wrong Clipper NTXSWE.OBJ definition.
* harbour/tests/cpinfo.prg
+ try to generate HB_CP_UPPER and HB_CP_LOWER strings which are ready to
use in Harbour CP definition using human readable form.
Warning: please remember that not all CPs can be created in human
readable form and if you want to create Clipper compatible
definition then it should be always verified by comparing .c
files generated by cpinfo compiled using Clipper and Harbour.
* src/codepage/cphu852.c
+ src/codepage/cphu852c.c
- src/codepage/cphu852s.c
* src/codepage/Makefile
* include/hbextcdp.ch
* Changed HU852 CP to be the same as HUISO and HUWIN.
I kept the extra non-Hungarian char, which makes this CP
fully compatible with sixhu852.obj.
+ Added HU852C which is fully C5.2e compatible, this file
was generated by cpinfo using C5.2e Intl + ntxhu852.obj.
This may fix some C5.2e incompatibilities that existed
in former HU852 CP.
- Deleted HU852S, it's now called HU852.
; NOTE: Since there is no 'default' HU852 CP in Harbour I
find it ok to provide C5.2e compatible CP by the
name 'HU852C'. If this seems bothering to Hungarian
users in general, we may think out something.
- src/codepage/cphuisos.c
- src/codepage/cphuwins.c
- Deleted these variants which are no longer needed.
* src/codepage/cphuiso.c
* src/codepage/cphuwin.c
* Updated comments.
; TOFIX: Remove or not remove ASCII 196/228 char pair?
It's not a Hungarian accented char, it was present
in sixhu852, but since we don't have any obligations
to keep compatibility as the CP is different anyway,
maybe the best would be to clean it.
What is the general opinion in this regard in Harbour?
* harbour/src/rtl/cdpapi.c
* harbour/include/hbapicdp.h
+ added new C functions:
hb_cdpU16AsStrLen(), hb_cdpU16ToStr(),
hb_cdpStrAsU16Len(), hb_cdpStrToU16()
* harbour/contrib/gtwvg/wvgutils.c
! fixed NULL used by mistake instead of 0