* include/hbsetup.h
% Optimized out HB_OS_UNIX_COMPATIBLE. HB_OS_UNIX should be used
instead. Since the definition logic for HB_OS_UNIX was completely
different from HB_OS_UNIX_COMPATIBLE, it may be possible that
it's not 100% the same as before, although their meaning was
the same.
HB_OS_UNIX_COMPATIBLE is still available for compatibility, but
it's now marked with HB_LEGACY_LEVEL2 and will be removed in next
major release.
* include/hbapifs.h
* include/hb_io.h
* include/hbsocket.h
* source/vm/set.c
* source/debug/dbgentry.c
* source/common/hbffind.c
* source/rtl/fscopy.c
* source/rtl/fstemp.c
* source/rtl/gtstd/gtstd.c
* source/rtl/gttrm/gttrm.c
* source/rtl/version.c
* source/rtl/hbsocket.c
* source/rtl/copyfile.c
* source/rtl/filesys.c
* source/rtl/console.c
* source/rtl/cputime.c
* source/rtl/gtpca/gtpca.c
* source/rtl/fssize.c
* source/rtl/memofile.c
* source/compiler/hbcomp.c
* source/compiler/gencobj.c
* contrib/hbct/files.c
* contrib/xhb/xhbcopyf.c
* contrib/xhb/hbserv.c
* contrib/hbnf/getenvrn.c
* HB_OS_UNIX_COMPATIBLE -> HB_OS_UNIX
* config/global.cf
* HB_UNIX_COMPATIBLE -> HB_OS_UNIX
* include/hbver.ch
* source/rtl/version.c
+ Added hb_Version( HB_VER_COMPILER_CPP ) which
returns if the C compiler was used in C++ mode.
Mainly added for HB_BUILDINFO() emulation, maybe it
can be useful to set defaults in hbmk2, we will see.
* contrib/xhb/Makefile
+ contrib/xhb/xhbver.prg
+ Added emulation of HB_BUILDINFO() xhb function.
+ contrib/xhb/xhbver.ch
+ Copied xhb's hbver.ch under this name.
(borrowed from xhb, work of Andi Jahja)
* harbour/include/hbgtcore.h
* harbour/source/rtl/hbgtcore.c
* changed BYTE bClearColor to USHORT uiClearColor
The following modifications were made by Viktor Szakats,
(2008-11-22 16:15 UTC+0100 - 2008-12-19 12:56 UTC+0100)
Many thanks. It's the first part without CP conversions in OS calls which
I will want to check yet. Please tests MS-Windows only modifications.
* harbour/make_vc.mak
* harbour/contrib/mtpl_vc.mak
+ Added support for A_USR.
* harbour/include/set.ch
* harbour/include/hbextern.ch
* harbour/source/vm/cmdarg.c
* harbour/source/vm/set.c
* harbour/source/rtl/tgetlist.prg
* harbour/source/rtl/gete.c
* harbour/contrib/hbhpdf/harupdf.c
* formatting
* harbour/source/rtl/hbffind.c
* Changed few places to use sizeof() instead of
explicit size macro.
* harbour/source/vm/extrap.c
+ Added module listing. (also supports Win64)
* harbour/source/common/hbver.c
+ Added Intel C compiler detection. (from xhb)
+ Added Wine detection (unofficial but stable looking
detection method. There intentionally doesn't exist
an official method to do this detection, yet there
are cases when this is necessary. It's also essential
for error reports.)
See also:
http://www.mail-archive.com/wine-devel@winehq.org/msg48659.html
* harbour/source/common/hbfopen.c
! Reverted recent change to use fopen_s(). fopen_s()
will always open in exclusive mode, so it could create
incompatibilities.
* harbour/source/codepage/cpbgmik.c
! Fixed BGMIK collation encoding. Someone familiar with
BG CPs please confirm this, but previously it was
almost certainly broken, as the collation was identical
to BG866.
* harbour/source/rtl/diskspac.c
* harbour/source/rtl/disksphb.c
! GetModuleHandleA() -> GetModuleHandle()
; NOTE: GetModuleHandleA() WinCE emulation in
source/common/wince.c might be unnecessary
after this change.
* harbour/source/rtl/memoedit.prg
* harbour/source/rtl/teditor.prg
! Cleaned insert handling. It now won't anymore mess up
the cursor on instantiation (in New() method). Internal
:lInsert state replaced by Set( _SET_INSERT ). Cursor
is only touched in the editing loop.
* harbour/source/rtl/version.c
! HB_VERSION( HB_VERSION_BUILD_DATE ): Fixed month
being off by one.
* harbour/contrib/hbmzip/hbmzip.c
! Fixed typo which caused timestamps stored in .zip files
to be wrong.
* harbour/contrib/hbhpdf/tests/harupdf.prg
! Minor typo in code.
* harbour/contrib/rddads/rddads.h
+ Added detection for ACE 9.10.
* harbour/contrib/hbtip/sendmail.prg
! Stricter parameter checking in hb_SendMail().
* harbour/contrib/examples/dbu/hb_dbu.dif
+ Added SET DATE ANSI and SET CENTURY ON
* harbour/source/rtl/gtxwc/gtxwc.c
+ Generating HB_K_RESIZE keystrokes on screen resize.
This way it's working similarly to gtwvt.
! Typos in comments.
* harbour/source/rtl/gtwin/gtwin.c
! Fixed HB_GTI_KBDSHIFTS not working in console mode.
Replaced GetKeyboardState() call with GetKeyState() calls.
* harbour/source/rtl/gtwvt/gtwvt.c
+ Added 'layered' window support. It's enabled on W2K
and above (and only when not in Terminal Services
environment, because it makes it perform worse). This
way the screen is also properly displayed regardless
of what the Harbour application does. It also fixes
numerous paint artifacts, when GTWVT window was in
the background and another window is moved in front
of it.
! Fixed only generate HB_K_RESIZE keystrokes when
resize mode is HB_GTI_RESIZEMODE_ROWS.
* bin/hbmk.bat
+ Added support for 'owatcom' as HB_COMPILER.
; NOTE: If there are no objections I'll remove Harbour
support for 'watcom' HB_COMPILER, which was
used for old non-opensource version of this
compiler, but I guess it doesn't make too much
sense having them anymore.
* source/common/hbverdsp.c
* Minor change in /build output.
* include/hbver.ch
* source/rtl/version.c
* Changed ordering of parameter constants to make more sense.
* bin/hbmk.bat
* config/w32/owatcom.cf
* Removed 'debug all' linker option to make executable sizes
significantly smaller by default. If you need debug info,
use 'L_USR=debug all'.
; NOTE: I'd suggest doing the same for other platform supported
by owatcom. If there are no objections I can do this.
* source/rtl/gtwvt/gtwvt.c
* Typo, minor formatting.
* contrib/hbcurl/hbcurl.c
% Removed two Harbour level functions not really
adding to functionality but forcing linkage of these
(otherwise unused) curl interfaces.
CURL_SHARE_STRERROR()
CURL_MULTI_STRERROR()
INCOMPATIBLE (but I doubt even a single user would be affected)
* source/rtl/version.c
! Fix to prev.
* make_vc.mak
* -GA option only used for HB_VISUALC_VER >= 70.
Please update this if older versions also support it.
* include/hbver.ch
* source/common/hbver.c
* Some more fiddling with version number terminology and
hb_version() values:
HB_VERSION_MICRO -> HB_VERSION_RELEASE
HB_VERSION_BLD_DATE_STR -> HB_VERSION_BUILD_DATE_STR
HB_VERSION_BLD_DATE -> HB_VERSION_BUILD_DATE
HB_VERSION_BLD_TIME -> HB_VERSION_BUILD_TIME
HB_VERSION_CHANGELOG_REV -> HB_VERSION_CHANGELOG_ID
Third part of version number could also be: PATCH, MICRO, BUILD
SVN revision could also be: BUILD
BUILD is inherently connected with a physical binary, so
I dropped it, PATCH is limiting and negativ, MICRO is not
very common (otherwise good), so a finally opted for
RELEASE. REVISION kept as is.
; If there are no objections I'll HB_VER_REVISION macro to
HB_VER_RELEASE. This will be an INCOMPATIBLE change, but
I expect not too many ppl being affected.
* TODO
- Removed MT as a TODO. Thanks Przemek for the nice job.
* include/hbextern.ch
* common.mak
* source/rtl/Makefile
+ source/rtl/hbi18n.c
+ Added basic/low level i18n functions:
__I18N_SAVE( cFileName | nHandle, aSortedTable [, cComment ] ) => lSuccess
__I18N_LOAD( cFileName | nHandle ) => trs
__I18N_GETTEXT( @cText, trs ) => NIL
; NOTE: These were originally based on Giancarlo Niccolai's work in xhb,
but everything was completely reworked, fixed, internals removed,
made portable, lighter, shorter and probably quicker. The used file
format is incompatible, slightly smaller and portable.
; NOTE: The internal format of 'trs' (loaded translation) is also
different. For minimal memory/speed overhead, I've choosen a one
dimensional array, as opposed to the original two dimensional
(like the input aSortedTable array).
; TODO: Higher level functions to handle selecting a default
language, loading files automatically, possibly caching
multiple loaded language translations in memory and providing
a high level HB_I18N_GETTEXT() function. We may also readd
a low-level function to create 'trs' from a memory object
instead of loading it from the disk. We should in any case make
the higher level the lightest and less app specific as possible.
* include/hbver.ch
* source/rtl/version.c
* utils/hbtest/rt_str.prg
* ChangeLog
! Fixed returning bit width.
* Reworked hb_version() parameter values as follows:
(also fixed some differences between docs here in the
previous entry and actual code)
HB_VERSION_HARBOUR (was: HB_V_HARBOUR )
HB_VERSION_COMPILER (was: HB_V_COMPILER )
HB_VERSION_MAJOR (was: HB_V_MAJOR )
HB_VERSION_MINOR (was: HB_V_MINOR )
HB_VERSION_MICRO (was: HB_V_REV )
HB_VERSION_STATUS (was: HB_V_STATUS )
HB_VERSION_REVISION (was: HB_V_COUNT )
HB_VERSION_BLD_DATE_STR (was: HB_V_DATE_TIME )
HB_VERSION_BLD_DATE (was: HB_V_DATE )
HB_VERSION_BLD_TIME (was: HB_V_TIME )
HB_VERSION_PCODE_VER (was: HB_V_PCODE )
HB_VERSION_PCODE_VER_STR (was: HB_V_PCODE_STR )
HB_VERSION_CHANGELOG_LAST (was: HB_V_CHANGELOG_LAST )
HB_VERSION_CHANGELOG_REV (was: HB_V_CHANGELOG_REV )
HB_VERSION_FLAG_PRG (was: HB_V_FLAG_HARBOUR )
HB_VERSION_FLAG_C (was: HB_V_FLAG_C )
HB_VERSION_FLAG_LINKER (was: HB_V_FLAG_LINKER )
HB_VERSION_BITWIDTH (was: HB_V_BITWIDTH )
HB_VERSION_ENDIANNESS (was: HB_V_ENDIANNESS )
This function makes deprecated following functions:
- HB_COMPILER() => hb_version( HB_VERSION_COMPILER )
- HB_PCODEVER() => hb_version( HB_VERSION_PCODE_VER_STR )
- HB_BUILDDATE() => hb_version( HB_VERSION_BLD_DATE_STR )
and macros:
- __ARCH16BIT__
- __ARCH32BIT__
- __ARCH64BIT__
- __LITTLE_ENDIAN__
- __BIG_ENDIAN__
- __PDP_ENDIAN__
- HB_VER_SVNID
- HB_VER_CHLID
- HB_VER_LENTRY
- HB_VER_C_USR
- HB_VER_L_USR
- HB_VER_PRG_USR
; TOFIX: Some term anomalies regarding 'REVISION'.
* source/vm/runner.c
* Minor formatting and added "s_" prefix to static var.
* harbour/include/hbapi.h
* harbour/source/rtl/console.c
* changed hb_conOutAlt() from static to global function.
* harbour/include/hbapi.h
* harbour/source/common/hbver.c
+ added hb_verBuildDate()
* harbour/source/rtl/accept.c
! Fixed ACCEPT to respect SET CONSOLE and similar sets.
* harbour/source/rtl/hbgtcore.c
* harbour/contrib/libct/ctwin.c
! fixed chr(8) console output - it should erase character on the screen
* harbour/include/set.ch
* harbour/include/hbset.h
* harbour/source/rtl/set.c
* harbour/source/rtl/filesys.c
+ added _SET_TRIMFILENAME - when enabled low level hb_fs*() functions
strip trailing and leading spaces from file names to emulate DOS
like behavior - switch compatible with xHarbour
* harbour/source/rtl/run.c
* remove compiler type checking - if system() is not supported by
some platform/compiler then I'd prefer to exclude it explicitly.
* harbour/source/rtl/dircmd.prg
+ added support for extended DBF types and replaced some of
Bin2W() by ASC()
* harbour/source/rtl/defpath.c
* use OS_HAS_DRIVE_LETTER macro to detect if platform supports drive
letters
* harbour/source/rtl/philes.c
+ added HB_FCOMMIT(), HB_OSERROR(), HB_OSDRIVESEPARATOR()
Question: why we have HB_F_EOF() instead HB_FEOF()
* harbour/source/rtl/oldbox.c
* harbour/source/rtl/box.c
! fixed __BOX() to be Clipper compatible
* harbour/source/rtl/math.c
* harbour/source/rtl/dateshb.c
* formatting and some minor improvements
* harbour/source/rtl/isprint.c
* harbour/source/vm/itemapi.c
* harbour/source/rtl/ampm.c
* harbour/source/rtl/inkey.c
* harbour/source/rtl/gete.c
* harbour/source/rtl/fkmax.c
* harbour/source/rtl/langapi.c
* harbour/source/rtl/colorind.c
* harbour/source/rtl/mouseapi.c
* harbour/source/rtl/readvar.prg
* harbour/source/rtl/devoutp.prg
* harbour/source/rtl/readkey.prg
* code checking and formatting
! some minor fixes
% some speed improvements
* harbour/source/rtl/menuto.prg
* harbour/source/rtl/radiogrp.prg
* harbour/source/rtl/listbox.prg
* harbour/source/rtl/checkbox.prg
* harbour/source/rtl/pushbtn.prg
* harbour/source/rtl/radiobtn.prg
* code checking and formatting
! added fixes borrowed from xHarbour
! some other fixes
% some speed improvements
* harbour/source/rtl/filehb.c
+ added commment
* harbour/source/rtl/transfrm.c
! fixed integer numbers transformation when _SET_FIXED is on to
be Clipper compatible
* harbour/source/rtl/version.c
+ added HB_PCODEVER() and HB_BUILDDATE()
* harbour/source/rtl/copyfile.c
! fixed __COPYFILE() - source and destination files should respect
_SET_DEFAULT