* 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
* contrib/rddads/adsfunc.c
* Minor cleanup.
* doc/dirstruc.txt
* utils/hbmk2/examples/contribf.hbc
* contrib/Makefile
- contrib/rddado
+ examples/rddado
+ examples/rddado/rddado.hbp
- examples/rddado/Makefile
* Moved rddado from contrib to examples area.
It's an almost working example.
* harbour/ChangeLog
* marked last TOFIX note as [DONE] - thanks to Mindaugas
* harbour/src/rtl/cdpapi.c
* use 1-st upper<->lower conversion pair instead of last one
if more then one conversion pair exist - it's more natural
form in most of cases
% skip translation code when two different CDP modules use
the same Unicode table
* harbour/tests/cpinfo.prg
+ detect CPs which have corresponding upper or lower characters
for non alpha characters and inform about it.
Such situations is in NTXSPA.OBJ so such CP can be fully
replicated in Harbour using alternative CP definition only
which uses static tables.
* harbour/src/codepage/cpes850c.c
* harbour/src/codepage/cpesisoc.c
* harbour/src/codepage/cpeswinc.c
! removed the hack with changed order for characters which do not
have corresponding upper latter.
Now there is only one difference between ES850C and Clipper NTXSPA.OBJ
In NTXSPA 'UPPER( Chr( 163 ) )' gives "U" though Chr( 163 ) is not
marked as letter and not sorted with other letters. For me it looks
like a bug anyhow if you want to fully replicate NTXSPA.OBJ in Harbour
then current cpes850c.c code should be replaced by code generated
using tests/cpinfo.prg compiler by clipper and linked with ntxspa.obj.
Such code should be generated using:
cpinfo.exe es850c "Spanish CP-850 (ntxspa.obj compatible)" 850
Now translations can be done between CPs using different number of
letters or even defined for different languages so I have question
to Spanish users: Do you need ESISOC and ESWINC for anything?
If not then I would like to remove them.
Similar situation is with HUISOS and HUWINS.
* harbour/include/hbapicdp.h
* harbour/src/rtl/cdpapi.c
* harbour/src/codepage/ucmacce.c
* harbour/src/codepage/uckoi8.c
* harbour/src/codepage/uc885910.c
* harbour/src/codepage/ucmacice.c
* harbour/src/codepage/uc885914.c
* harbour/src/codepage/uc874.c
* harbour/src/codepage/uc857.c
* harbour/src/codepage/uc1250.c
* harbour/src/codepage/uc1254.c
* harbour/src/codepage/uc1258.c
* harbour/src/codepage/uckoi8u.c
* harbour/src/codepage/uckam.c
* harbour/src/codepage/uc424.c
* harbour/src/codepage/ucmacrom.c
* harbour/src/codepage/uc862.c
* harbour/src/codepage/cpesisoc.c
* harbour/src/codepage/uc866.c
* harbour/src/codepage/uc8859_3.c
* harbour/src/codepage/cpes850c.c
* harbour/src/codepage/uc8859_7.c
* harbour/src/codepage/ucmacgrk.c
* harbour/src/codepage/uc037.c
* harbour/src/codepage/uc850.c
* harbour/src/codepage/uc885911.c
* harbour/src/codepage/uc885915.c
* harbour/src/codepage/uc875.c
* harbour/src/codepage/uc1251.c
* harbour/src/codepage/uc1255.c
* harbour/src/codepage/uc863.c
* harbour/src/codepage/ucmaz.c
* harbour/src/codepage/uc1026.c
* harbour/src/codepage/uc8859_4.c
* harbour/src/codepage/uc8859_8.c
* harbour/src/codepage/uc855.c
* harbour/src/codepage/cpeswinc.c
* harbour/src/codepage/uc885916.c
* harbour/src/codepage/ucascii.c
* harbour/src/codepage/uc1252.c
* harbour/src/codepage/uc1256.c
* harbour/src/codepage/ucatari.c
* harbour/src/codepage/uc860.c
* harbour/src/codepage/ucmaccyr.c
* harbour/src/codepage/ucmik.c
* harbour/src/codepage/uc864.c
* harbour/src/codepage/uc1006.c
* harbour/src/codepage/uc1125.c
* harbour/src/codepage/uc8859_1.c
* harbour/src/codepage/uc88591b.c
* harbour/src/codepage/uc8859_5.c
* harbour/src/codepage/uc8859_9.c
* harbour/src/codepage/uc852.c
* harbour/src/codepage/ucnext.c
* harbour/src/codepage/uc737.c
* harbour/src/codepage/uc885913.c
* harbour/src/codepage/ucmactrk.c
* harbour/src/codepage/uc856.c
* harbour/src/codepage/uc775.c
* harbour/src/codepage/uc1253.c
* harbour/src/codepage/uc1257.c
* harbour/src/codepage/uc500.c
* harbour/src/codepage/uc861.c
* harbour/src/codepage/uc865.c
* harbour/src/codepage/uc869.c
* harbour/src/codepage/uc8859_2.c
* harbour/src/codepage/uc8859_6.c
% declare Unicode tables with 'const' qualifier
* harbour/bin/hb-func.sh
! added links with full version number to harbour shared library
It fixes problem with Harbour tools linked with libharbour-*.so
in system wide installation (i.e. in RPM or DEB packages)
* harbour/config/win/bcc.mk
* increased library page size for 64 to 96
* harbour/src/vm/thread.c
* harbour/include/hbthread.h
% removed 'BOOL fSync' parameter from hb_threadMutexCreate().
This parameter was added in the past to emulate xbase++ behavior
when oSignal:wait() is called from SYNC method but real life tests
shows that such feature works in xbase++ in different way then
it was initially described and Harbour code was updated to use
different solution making above parameter unusable.
* harbour/src/vm/hvm.c
* harbour/src/vm/thread.c
* harbour/src/vm/classes.c
* harbour/src/rtl/hbgtcore.c
* harbour/contrib/hbnetio/netiocli.c
* harbour/contrib/hbqt/hbqt_slots.cpp
* updated to use hb_threadMutexCreate() without parameters
* harbour/src/rtl/cdpapi.c
! fixed very bad typo in new CDP API code - hb_cdpnDup2() was not updating
original string size. This bug was critical for RDDs.
* harbour/include/hbdefs.h
! fixed PHB_FUNC declaration. 'extern "C"' can be removed only for
BORLAND and other buggy compilers which may not accept it but
not for. In some platforms it's very important to keep correct
declarations because without this flag final binaries will not
work.
* include/hbdefs.h
! Fixed compiling of .cpp sources in BCC55 by removing prefix declaration
HB_EXTERN_C_ from "typedef HARBOUR" and "typedef PHB_FUNC" declarations