* harbour/source/rtl/minmax.c
! fixed min()/max() functions to always return the 1-st item when
items are equal. It's Clipper behavior and can be important when
two items with the same wight have different other attributes
like formatted value size or number of decimal places.
* tests/ac_test2.prg
* Updated.
* source/rtl/achoice.prg
! Fixed to not call user func in AC_NOITEM mode.
! Added more visual corrections for better CA-Cl*pper compatibility.
; Thanks to Vladislav Lavrecky for the above.
* contrib/hbgf/hbgfwin/winapi.c
* Formatting.
* contrib/hbwin/win_misc.c
! Fixed WIN_SHELLEXECUTE() for WinCE (converted to stub).
! Fixed WIN_RUNDETACHED() to compile with WinCE (4th parameter
is ignored and fixed to CREATE_NEW_CONSOLE).
* contrib/hbwin/win_regc.c
! HKEY_CURRENT_CONFIG disabled for WinCE builds.
* source/rtl/gtwvt/gtwvt.c
! Complete "layered" window support disabled for WinCE builds.
* source/rtl/achoice.prg
* tests/ac_test2.prg
! ACHOICE() made more Clipper compatible. Still not fully, pls
continue Clipper/Harbour tests with updated ac_test2.prg.
* harbour/source/rtl/gttrm/gttrm.c
+ added some missing xterm key sequences
* harbour/utils/hbmk2/hbmk2.prg
! fixed curses name in SunOS builds (here we are using native curses
library not ncurses)
* harbour/config/hpux/global.cf
* harbour/config/sunos/global.cf
* enabled GTXWC disabled for default builds
* contrib/hbtpathy/telepath.prg
! Fixed to use __PLATFORM__UNIX instead of __PLATFORM__LINUX.
! Fixed to check for string lengths instead of using Empty().
This way full whitespace data is also handled now.
* source/rtl/memoedit.prg
* Minor formatting.
* source/rtl/achoice.prg
! Fixed to always dehilight active item on exit.
(probably could be done more efficiently, feel free to
optimize it.)
Please test.
; TOFIX: ? gttrm on Darwin changes console color from my
default green, to Harbour default gray on exit.
* doc/whatsnew.txt
* Minor.
* source/rtl/achoice.prg
! Fixed handling of empty items.
* INSTALL
* config/rules.cf
* config/darwin/gcc.cf
* config/hpux/gcc.cf
* config/dos/djgpp.cf
* config/win/mingwce.cf
* config/win/poccce.cf
* config/win/pocc64.cf
* config/win/icc.cf
* config/win/cygwin.cf
* config/win/msvc.cf
* config/win/owatcom.cf
* config/win/xcc.cf
* config/win/msvcce.cf
* config/win/mingw.cf
* config/win/pocc.cf
* config/win/bcc.cf
* config/linux/gcc.cf
* config/linux/icc.cf
* config/os2/gcc.cf
* config/sunos/gcc.cf
* config/bsd/gcc.cf
+ Added support HB_BUILD_DEBUG=yes.
This will work identically to the former non-GNU make
systems.
! Added missing -MT for MSVC. (from non-GNU make)
* Changed a few CPPFLAGS to CFLAGS. (these are currently
synonyms, and both are utilized without any apparent order).
This could use more cleanup.
* harbour/source/common/hbgete.c
! fixed setenv() usage in some OpenWatcom ports
* harbour/source/compiler/cmdcheck.c
! fixed casting for C++ compilation
* harbour/source/rtl/gttrm/gttrm.c
* removed some trailing spaces
* ChangeLog
* Updates.
* contrib/xhb/txml.prg
* Update HB_REGEXMATCH() calls, to keep old logic.
; TOFIX: Above doesn't mean it's now correct, so
someone familiar with this code, please
correct it.
* contrib/hbapollo/apollo.c
* Removed essentially empty comments.
* source/rtl/achoice.prg
! Applied fix from Vladislav Lavrecky.
I didn't test it just assumed okay, please do so.
* source/rtl/hbregex.c
* Fixed HB_REGEXMATCH(). Now the HAS/LIKE mode can be controlled
by 5th logical parameter (was 3rd), so 3rd parameter is solely
controlling case-sensitivity as indicated in the documentation.
Users are recommended to use HB_REGEXHAS() and HB_REGEXLIKE()
functions as unambiguous alternatives, which work equally
well on all Harbour versions. HB_REGEXMATCH() is now deprecated,
but kept for compatibility.
* harbour/include/hbthread.h
* harbour/source/vm/thread.c
* emulate POSIX thread conditional variables in Windows builds.
It should fix some possible bad behavior in MS-Windows Harbour
MT programs.
* harbour/source/rtl/hbinet.c
! fixed typo in HB_INETDATAREADY() - the second parameter (timeout)
was ignored.
* harbour/contrib/examples/uhttpd/uhttpdc.c
* fixed typo in conditional iMsec usage.
* harbour/contrib/examples/uhttpd/uhttpd.prg
* set default timeout for socket operations to 3 sec.
* use timeout parameter in HB_INETDATAREADY() and
increased default timeout for accept to 250 millisecs.
Please correct this modification if you prefer different values.
* harbour/source/rdd/usrrdd/usrrdd.c
! removed unnecessary declaration
* harbour/source/compiler/harbour.yyc
! removed unnecessary ";"
* harbour/source/vm/classes.c
* harbour/source/compiler/hbpcode.c
* pacified some warnings for compilers which can detect that
hb_errInternal() does not returns
* harbour/source/rtl/hbgtcore.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rdd/dbfnsx/dbfnsx1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/contrib/rddads/adsx.c
* marked all places where we put some link time bindings after
hb_errInternal() as: /* not executed, only to force linking ... */
* harbour/include/hbapi.h
* harbour/include/hbwince.h
* harbour/source/common/hbgete.c
* harbour/source/common/hbwince.c
+ added BOOL hb_setenv( const char * szName, const char * szValue )
It sets or deletes (szValue==NULL) environment variable.
Please add support for other compilers/OS-es or define
unsupported platforms to eliminate TODO warning.
For sure OS2 version have to be updated.
* harbour/source/rtl/gete.c
+ added .prg function:
HB_SETENV( <cEnvName>, [<cNewVal>] [, <lOsCP>] ) -> <lOK>
which sets or deletes (when <cNewVal> is NIL) process environment
variable <cEnvName>. <lOsCP> controls character translation to
OS encoding. By default is enabled.
TOFIX: <cEnvName> OS character encoding is missing in [HB_]_GETENV()
* harbour/source/rtl/hbproces.c
* check if some define constants exists before use - it should
fix compilation in some WinCE builds, f.e. with MSVC
* harbour/source/common/hbprintf.c
* disabled _LIB_VERSION setting in DJGPP builds - if we need it
for some reasons then it should be done in different which does
not create multiple instances of this variable
* harbour/source/vm/Makefile
! fixed compilation with C compilers which does not support MT mode
(HB_MT=no) - it's seldom situation but may exists on some platforms,
f.e. in *nixes when PTHREADS is not available
* harbour/config/win/bcc.cf
! fixed compilation in SHELL environment
(if exists ... del ... is COMMAND.COM/CMD.EXE only command)
* harbour/source/rtl/hbstrfmt.c
! casting for C++ compilation
* harbour/contrib/xhb/dbf2txt.c
! casting for C++ compilation
! fixed two bad bugs which can cause GPF or some other bad results
I'd seen after short check. I haven't analyzed this code carefully
for others.
* harbour/bin/postinst.sh
! fixed hb*-mkslib link in cross builds (MinGW/MinGWCE)
* source/rtl/Makefile
* include/hbextern.ch
+ source/rtl/hbstrfmt.c
+ Added HB_STRFORMAT() sprintf()-like formatting.
+ Added hb_StrFormat() C level function.
; Work of Mindaugas sent to the list, with some minor
cleanups applied. Please test on your platform/compiler.
* contrib/examples/uhttpd/uhttpd.prg
* contrib/examples/uhttpd/cgifunc.prg
* contrib/examples/uhttpd/session.prg
* contrib/examples/uhttpd/uhttpd.hbm
* xhb compatibility cleanups.
- xhb lib and header dependency removed.
* utils/hbmk2/hbmk2.prg
* Changed so that libs won't inherit their .hbm file paths.
+ Embedded .hbm files will inherit their parents dir.
* INSTALL
* make_b32.bat
* doc/gmake.txt
* bin/postinst.bat
* bin/hb-mkdyn.bat
* make_gnu.bat
* contrib/hbfimage/readme.txt
* contrib/examples/uhttpd/modules/bldhrb.bat
* source/vm/Makefile
* source/rtl/console.c
* source/compiler/gencobj.c
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/examples/winapi.hbp
- config/win/bcc32.cf
+ config/win/bcc.cf
* Long time TODO done: Renamed bcc32 compiler name to bcc.
bcc32 is still accepted by make_gnu.bat, but will be
removed in the future, so it's recommended to update
your local settings to use:
set HB_COMPILER=bcc
- config/dos/bcc16.cf
- Deleted bcc16 compiler support. I didn't work since ages,
and Harbour doesn't support 16-bit compilers anyway.
* harbour/source/rtl/gtwvt/gtwvt.h
* harbour/source/rtl/gtwvt/gtwvt.c
+ added support to set codepage for box drawing characters using
HB_GTI_BOXCP as numeric value just like in HB_GTI_CODEPAGE for
non UNICODE builds. In Windows CP encoding has even higher priority
then font name so such functionality is necessary for users who
have to keep normal and box font synced
% do not allocate separate font handle for BOX drawing characters
when they have the same encoding as normal characters
! keep box and normal font handles synced and free then on exit
! respect HB_GTI_RESIZABLE settings when new window is created
+ harbour/config/linux/icc.cf
* harbour/config/linux/gcc.cf
* harbour/bin/hb-func.sh
* harbour/bin/postinst.sh
* harbour/source/common/hbver.c
+ added support for Intel(R) C/C++ compiler
* harbour/bin/postinst.sh
% use hb-mkdyn symlink instead of regenerating it as hb-mkslib
It will work also in DOS/Windows (MSys/DJGPP emulates ln -s ...)
* harbour/source/vm/thread.c
* removed all references to HB_THREAD_EQUAL()/HB_THREAD_SELF() in
non MT builds
* harbour/source/rtl/console.c
! fixed default color setting in hb_dispOutAtBox()
* harbour/contrib/gtwvg/wvggui.h
* harbour/contrib/gtwvg/wvgwin.c
* harbour/contrib/gtwvg/wincallb.c
* harbour/contrib/gtwvg/wvgsink.c
! fixes for C++ compilation:
- this is reserved word in C++ - do not use it as variable name
- class is reserved word in C++ - do not use it as variable name
- use macros to hide differences between C and C++ WinAPI
- casting
* harbour/source/rtl/gtxwc/gtxwc.c
! fixed typo which caused GPF when palette was set before console window
initialization
* harbour/source/rtl/gttrm/gttrm.c
* reset console color palette to default on application exist
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gttrm/gttrm.c
* reverted the RGB numeric color definition to be compatible
with Windows GTs which seems to use RGB values directly.
Users who use to define RGB colors in hex notation (0xRRGGBB)
should now remember that it's BGR definition (0xBBGGRR).
Why MS have to make everything in reverted way?
* harbour/source/vm/classes.c
* cleanup comment
* harbour/source/rtl/gttrm/gttrm.c
+ added support for HB_GTI_PALETTE - it's supported only by Linux console
and PuTTY/PTerm
* harbour/source/rtl/gtxwc/gtxwc.c
* harbour/source/rtl/gtwvt/gtwvt.c
* harbour/contrib/gtwvg/gtwvg.c
! fixed indexes in
hb_gtInfo( HB_GTI_PALLETE, <nIndex> [, <nNewRGBcolor> ] )
They should be the same as in our screen buffer: 0-based not one
based.
* harbour/include/hbgtinfo.ch
+ added HB_GTI_FONTSEL
* harbour/source/rtl/gtxwc/gtxwc.c
+ added support for HB_GTI_FONTSEL
+ added support for HB_GTI_PALETTE
+ harbour/tests/gtxfnt.prg
+ added small demonstration/test code for HB_GTI_FONTSEL
and XWindow GTs
* harbour/source/rtl/hbproces.c
* replaced execv() with execvp() in *nix builds
* harbour/source/rtl/gtwvt/gtwvt.c
* Fixed not to generate RT if class is already been registered.
Useful in cases where multiple windows are implemented.
* config/win/bcc32.cf
* Synced flags with non-GNU make. This adds MT support.
* config/win/install.cf
! Install command modified to not give errors and block
the whole build process if the target file already exists.
The workaround consisted of changing 'copy' to 'xcopy /d /y'.
* include/inkey.ch
+ Added comments on K_MM*DOWN codes.
These also should be protected, and moved to
local the local headers belonging to GTs
supporting this feature (GTWVG notably).
* source/rtl/gtwvt/gtwvt.c
+ Protected non-Clipper compatible extension regarding
K_MM*DOWN with __HB_GTWVT_GEN_K_MMDOWN_EVENTS #define.
Also see notes in about app level code modification
needed if you want to continue using default Harbour build:
2009-02-18 12:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
* common.mak
* source/rtl/Makefile
* source/rtl/mouse53.c
+ Added HB_MMIDDLEDOWN() functions, plus MMIDDLEDOWN() alias.
These are always available regardless of the CLIP53
compatibility setting.
; TOFIX: K_MM*DOWN events _override_ C5.3 compatible
K_MOUSEMOVE events (in GTWVT only), which created
an unfortunate incompatibility with our target
C5.x compiler when using some specific GT. Ideas
are welcome how to fix this. We should probably
either send out both codes and let the inkey queue
do the filtering as requested by app (we need a
new filter then), or remove these event code and
generate proper K_MOUSEMOVE events instead. Apps
using this these incompatible keycodes are encouraged
to replace expressions:
'( key == K_KK*DOWN )' with the compatible:
'( key == K_MOUSEMOVE .AND. M*DOWN() )' to prepare
for the fix.
* harbour/include/hbapi.h
* harbour/source/vm/cmdarg.c
* harbour/source/vm/hvm.c
* added hb_cmdargUpdate() function which makes final argc/argv updating
(code moved from hb_cmdargInit())
! use hb_cmdargUpdate() - it fixes GPF in MT mode when some fs* functions
were called before allocating HVM stack
; TOFIX: change some hb_setGet*() functions to work without HVM stack.
* harbour/source/rtl/hbtoken.c
* formatting
* source/rtl/listbox.prg
! Restored _SET_EXACT dependent code parts to have the
same logic as before my modifications a few years ago.
Przemek, is it right now? I honestly didn't understand
the issue here.
* doc/dirstruc.txt
* Updated to reflect current state.
* source/compiler/hbusage.c
* source/lang/msghe862.c
* source/lang/msghewin.c
* source/rtl/tone.c
* source/rtl/gtos2/gtos2.c
* Update my email on source files
(didn't bother to change those under doc).
* harbour/include/hbpp.h
* harbour/source/pp/hbpp.c
* harbour/source/pp/ppcore.c
* harbour/source/compiler/hbmain.c
+ added support for dynamically calculated #define results
! removed old code which was adding __FILE__ #define constant
It was not working correctly like in other compilers ignoring
#include
+ added __FILE__ and __LINE__ #define directives using dynamically
calculated results - now it works as expected respecting #include
directives and the implementation is local to PP without any hacks
in core compiler code.
* harbour/contrib/hbct/files.c
* added support for optional milliseconds part in HB_FSETDATETIME()/
HB_FGETDATETIME().
* harbour/source/rtl/philes.c
! minor fix in return value
* source/rtl/binnumx.c
* Added rewritten versions of these functions:
a proper license: BIN2U(), W2BIN(), U2BIN()
; Work of Przemek.
* source/rtl/binnum.c
! Readded old copyright holder as co-holder.
* COPYING
* doc/license.txt
* source/rtl/binnum.c
* Added rewritten versions of these functions, now with
a proper license: BIN2W(), BIN2I(), BIN2L(), I2BIN(), L2BIN()
; Thanks to Przemek.