* utils/hbmk2/hbmk2.prg
! reverted 2nd hunk of 2013-06-03 16:45 UTC+0200. It
introduced unnecessary and confusing disparity between
command-line and .hbp/.hbm while they are supposed to
be working similarly. It also breaks syntax supported
in .hbc directives, and it also makes behavior contracting
with the way documented in hbmk2 help and hbmk2 examples.
All this, to resolve the problem of space containing option
values for one specific and rare subcase of reverted apostrophs.
To pass option/directive value containing a space, put
the whole option (or the option value) in double quotes
(as documented in help), this works equally well on the
command line and in .hbp/.hbm/.hbc files.
* ChangeLog.txt
! ending whitespaces
! explicitly filled git $Id
* include/hbpp.h
* src/pp/ppcore.c
* replaced compile time macro HB_PP_MULTILINE_STRINGS with
runtime #pragma setting, i.e.:
#paragma multilinestrings = on
* src/vm/hashes.c
% resize index during hash arrays sorting, i.e. when strict order
is disabled or user call HB_HSORT() function
! fixed typo in timestamp value comparison - in practice only date
part was significant
! fixed new code I added recently for resorting hash arrays with
strict order
* contrib/hbtip/client.prg
! Fixed: to test if a connection is available actually or not
before sending other info. This fixes a RTE when a SSL over
HTTP request was made and internet access was not available.
* contrib/hbtip/httpcli.prg
+ Added: METHOD Head() for HEAD verb of HTTP interface.
METHOD SetConnectionPersistent()
This does not send "Connection: close" header entry.
Useful in cases where many requests are required to
be submitted under one session. :close() may be
called to close the connection explicitly.
METHOD IsConnectionAlive()
It allows the application to test connection's state
and facilitates to take alternate action.
* src/vm/hashes.c
! remove index when natural order is disabled by
hb_hKeepOrder( hVal, .f. )
! do not update index when item is deleted and hash array
is marked to be resorted
% few minor optimizations
* contrib/sddoci/sddoci.hbc
* use ocilib as library name in Linux builds.
; I do not know on which platforms ocilib[wma] is used but it's
possible that this modification should be done also for other
platforms not only for Linux.
* src/rtl/gtwvt/gtwvt.c
! added workaround for AltGR and German keyboard
* src/rtl/inkeyapi.c
! added missing 'static' in function declaration
* src/rtl/hbgtcore.c
! added workarounds for HB_GTI_COMPAT_BUFFER switched to .F. by
default.
* tests/gtkeys.prg
* switched to UTF8 CP by default
+ extended keycode information in Harbour
* tests/mt/mttest10.prg
+ allow to chose GT passing it's name as command line argument
+ initialize GT in main thread if GT needs it
(currently QTC needs initialization in main thread)
* contrib/gtqtc/gtqtc1.cpp
* added workaround for missing MT synchronization in QT for XLIB
QT was designed to use screen widgets only in main thread so
it's only workaround which helps but I cannot guaranti
* contrib/hbmzip/mzip.c
* workaround for wrong st_mtime type in struct stat on android
* src/rtl/hbsocket.c
* do not check if IPPROTO_IP is defined, on some platforms like
android it's only enum type. Warning if it exploits some problems
on some seldom used platforms/compilers then please report it.
* src/vm/hvm.c
* minor
* package/mpkg_ver.sh
* do not use bash extensions
* package/harbour-wce.spec.in
* package/harbour-win.spec.in
* package/harbour.spec
* package/mpkg_rpm.sh
* package/mpkg_rpm_wce.sh
* package/mpkg_rpm_win.sh
* removed bash from dependencies list
* src/rtl/hbtoken.c
+ added support for passing token parser parameters as bit field number.
The goal is to replace last to parameters with single bit field which
allows to set many different parsing aspects instead of adding many
new parameters.
+ added support for reverted apostrophes quoting: `a b c`
; TODO: add constant values to control parser in token functions
* utils/hbmk2/hbmk2.prg
! respect reverted apostrophes quoting in options read from .hbp/.hbm
files.
! do not ignore tool parameters passed in -*flags= hbmk2 params if
they do not start with '-'. It resolves problems with shells which
need special quoting to pass parameters, i.e. with both modifications
it's possible to use in hbp files dynamic parameters encapsulated in
different forms, depending on used platform, shell and parameter type,
i.e. parameters are passed as set of separated arguments:
-cflag=`config-tool1`
or paramters are passed as single argument:
-cflag="`config-tool2`"
or parameters are passed in file which name shows config-tool3:
-cflag="@`config-tool3`"
In short words now things like:
-cflag=`pkg-config --cflags gtk+-3.0`
will work correctly with .hbp files
* src/vm/hashes.c
% changed sorting algorithm for hash arrays which keeps item order.
% do not resort hash arrays when KEEPORDER flag is cleared but use
existing internal index to create new order.
* changed the behavior of hb_hSort() function. Now for hash arrays
which keep item order it changes internal item pair position sorting
them. The sort order depends on binary and case sensitivity hash
array flags.
* src/vm/hvm.c
! for literal hash array with repeated keys store the last item
with the given key instead of the first one. It restores
previous behavior.
* contrib/rddads/rddads.hbx
+ added AdsSetIndexDirection()
* contrib/rddads/adsfunc.c
! fixed formatting of AdsSetIndexDirection()
* /contrib/sddpg/core.c
+ enhanced connection parameters support. Now it is possible to connect
to PostgreSQL server using:
1) URI string
RDDINFO(RDDI_CONNECT, {"POSTGRESQL", "postgresql://host"})
2) Key=value parameter pairs
RDDINFO(RDDI_CONNECT, {"POSTGRESQL", "host=localhost port=5432"})
3) separate parameters. Support for port, options, tty is added
RDDINFO(RDDI_CONNECT, {"POSTGRESQL", "host", "user", "passwd", "db",
"port", "options", "tty"})
; Please, test
* contrib/3rd/sqlite3/sqlite3.hbp
* Disable on Minix (no MAP_SHARED which is needed by SQLite WAL);
(Hopefully a temporary measure.)
* src/rtl/filesys.c
! Disable hb_fsPipeUnblock() on Minix;
makes hb_processRun() work. Thanks to Przemek for the idea.
2013-05-16 17:00 UTC+0200 Jfl mafact (jfl/at/mafact.com)
* contrib/rddads/adsfunc.c
! Adding 2nd param to function ADSCOPYTABLECONTENT to allow filtering
like in ADSCOPYTABLE
* src/pp/hbpp.c
! fixed ChangeLog file name detection broken after adding .txt
extension.
* src/rtl/hbproces.c
+ added support merged stdout and stderr output in hb_fsProcessRun()
* src/rtl/hbprocfn.c
+ added support merged stdout and stderr output in hb_processRun()
PRG function. To extract merged stdin and stdout application output
it's enough to pass by reference in 3-rd and 4-th parameters the same
variable, i.e.:
nResult := hb_processRun( cCommand,, @cOutErr, @cOutErr )
* utils/hbmk2/hbmk2.prg
! use hb_processRun() intead of hb_processOpen() to extract merged
stdout and stderr output. It fixes all builds in which hb_processOpen()
does not exists due to some system limitations like missing pipes,
i.e. DOS builds.
* src/vm/fm.c
! fixed typo in DOS builds
* src/rtl/gtwin/gtwin.c
! ignore mouse position reported in mouse wheel events which use
screen based coordinates instead of console window ones.
* include/hbgtinfo.ch
+ added HB_GTI_REDRAWMAX
It sets maximum number of unchanged neighboring chars in redrawn
line. It may help to optimize screen updates in some GTs.
* include/hbgtcore.h
* src/rtl/hbgtcore.c
* contrib/hbct/ctwin.c
+ respect HB_GTI_REDRAWMAX in default REDRAWDIFF() GT methods.
* contrib/gtqtc/gtqtc1.cpp
! added protection against font resizing for degenerated console
window size.
% set HB_GTI_REDRAWMAX to 1
* src/rtl/gtwvt/gtwvt.c
! translate screen base mouse wheel cords to window based ones.
% set HB_GTI_REDRAWMAX to 1
* src/rtl/gttrm/gttrm.c
% set HB_GTI_REDRAWMAX to 8
* src/rtl/gtwin/gtwin.c
% set HB_GTI_REDRAWMAX to 4
* contrib/gtqtc/gtqtc1.cpp
* minor: removed {}
* src/rtl/gtwin/gtwin.c
* reenabled code to get/set palette in GTWIN
! fixed console window resizing when palette is set
! do not change default console palette at application startup.
It's Clipper compatible behavior which allows to inherit colors
set by some initialization program executed before or by some
parent processes which control console environment, i.e. other
Harbour GTWIN applications.
% reset palette on exit only if it was changed.
+ return predefined MS-Windows console palette also in systems where
GetConsoleScreenBufferInfoEx() is not available.
* src/rtl/gtwvt/gtwvt.c
! use predefined BLACK color for building box character bitmaps
instead of palette color[ 0 ] because user can redefine palette.
* contrib/gtqtc/gtqtc1.cpp
! reverted HB_GTI_DISPIMAGE cords
! keep maximized and fullscreen internal flags synced with QT window
! return HB_TRUE from SETMODE() method.
! updated font selection for better size approximation
! accept window size reported by QT in fullscreen and maximized modes
! set size increment steeps separately for ROWS and FONT resize modes
! respect resize step setting minimum window size - it fixes infinite
resize loop in some WM
% strip repeated HB_K_RESIZE keys
* README.md
* contrib/gtqtc/gtqtc.hbc
* contrib/gtqtc/hbmk2_qtmoc.hb
* synced with Viktor's patches for QT
; Pritpal, please verify if it works with QT5
* ChangeLog.txt
! Fixed: BOM troubled by wrong editor, now with Notepad++
and proper settings. I am unable to change Przemek's name
changed in previous commit, rather unable to understand
what should be changed.
+ contrib/xhb/xhbinkey.ch
+ contrib/xhb/xhbkey.c
* contrib/xhb/xhb.hbp
* contrib/xhb/xhb.hbx
+ added support for xHarbour compatible extended Inkey() key codes
This functionality works with GTs which can operate on Harbour
extended key codes which are translated at runtime to xHarbour
extended keys (HB_EXT_INKEY).
+ added new PRG function:
xhb_Inkey( [ <nDelay> ] [ , <nKeyMask> ] ) -> <nKey>
which works like Inkey() but returns xHarbour extended key codes.
+ added new PRG function:
xhb_KeyTrans( <nExtKey> ) -> <nXhbKey>
which translates Harbour extended key code to xHarbour one.
* include/hbapigt.h
* src/rtl/inkeyapi.c
+ added new C function:
int hb_inkeyKeyVal( int iKey );
It extract key/character code from Harbour extended key code
* include/harbour.hbx
* src/rtl/inkey.c
+ added new PRG function:
hb_keyVal( <nExtKey> ) -> <nKeyVal> | <nCharVal>
* package/harbour.spec
* package/mpkg_rpm.sh
+ addded --with openssl switch
* src/3rd/png/pnglconf.h
* disable PNG_STDIO_SUPPORTED macro when from autoconf file when
PNG_NO_STDIO is set
* src/3rd/png/Makefile
! disable stdio in WinCE builds by PNG_NO_STDIO macro
- contrib/gtqtc/gtqtc.cpp
+ contrib/gtqtc/gtqtc1.cpp
* contrib/gtqtc/gtqtc.hbp
* renamed file gtqtc.cpp -> gtqtc1.cpp
It fixes dynamic library creation by HBMK2 which tires to link
gtqtc.o file twice adding second copy indirectly for gtqtc.hbx