* /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
* 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
+ 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>
- 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
* harbour/contrib/rddads/ads1.c
+ run error on invalid SQL query, ex.,
DBUSEAREA(,, "SELECT * FOM syntax_error")
* changed ADS error description to be much more informative
+ contrib/gtqtc/gtqtc.cpp
+ contrib/gtqtc/gtqtc.h
+ contrib/gtqtc/gtqtc.hbc
+ contrib/gtqtc/gtqtc.hbp
+ contrib/gtqtc/gtqtc.hbx
+ contrib/gtqtc/hbmk2_qtmoc.hb
* contrib/hbplist.txt
+ added new QT based GT driver: GTQTC.
This implementation is slightly based on GTQTC created by
Pritpal Bedi - many thanks.
Now GTQTC supports nearly all GT features existing in all other GTs,
i.e.
fullscreen mode:
hb_gtInfo( HB_GTI_ISFULLSCREEN, <lFullScreen> )
automatic fullscreen switch after ALT+ENTER:
hb_gtInfo( HB_GTI_ALTENTER, <lEnable> )
maximized mode controlled by user:
hb_gtInfo( HB_GTI_MAXIMIZED, <lEnable> )
clipboard selection with SHIFT + MouseLeftButton:
hb_gtInfo( HB_GTI_SELECTCOPY, <lEnable> )
terminal window resizing:
hb_gtInfo( HB_GTI_RESIZABLE, <lCanResize> )
both resize modes
a) change number of rowas and columns:
hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS )
b) keep number of rows and clomuns and update font size
hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT )
blocking ALT+F4 and [X] window buttons:
hb_gtInfo( HB_GTI_CLOSABLE, <lCanClose> )
all cursor shapes and setting cursor blink rate:
hb_gtInfo( HB_GTI_CURSORBLINKRATE, <nMilliSec> )
window positioning in screen pixels:
hb_gtInfo( HB_GTI_SETPOS_XY, <aNewPosXY> ) -> <aPrevPosXY>
mouse positioning in screen pixels:
hb_gtInfo( HB_GTI_MOUSEPOS_XY ) -> <aPosXY>
full control on font behavior with:
a) box characters shown as predefined internally pixmapos:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_DRAWBOX,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
b) forcing fixed size font metric:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_FIXMETRIC,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
c) independent character cell clearing:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_CLRBKG,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
d) displaying control characters ( ASC( x ) < 32 ) in row form:
hb_gtinfo( HB_GTI_FONTATTRIBUTE,
hb_bitOr( HB_GTI_FONTA_CTRLCHARS,
hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
and many others like palette settings (HB_GTI_PALETTE), displaying
pictures (HB_GTI_DISPIMAGE), keyboard modifiers (HB_GTI_KBDSHIFTS),
clipboard reading and setting (HB_GTI_CLIPBOARDDATA) or icon and
window title settings (HB_GTI_ICONFILE, HB_GTI_WINTITLE)
GTQTC also supports GFX graphic primitives (hb_gfx*()) and it operates
on new Harbour extended mouse and keyboard key codes.
The console window is shown when some user outputs appears so
it can be linked with GT GUI application been invisible by default.
It's pure QT code so now is the most portable Harbour GT driver which
can be used on platforms where we haven't native any GT so far or
current GTs like GTXWC do not have native appearance.
Because it uses only high level GUI interface then it should be quite
easy to convert it to other GUI libraries, i.e. GTK.
* harbour/contrib/rddads/adsfunc.c
* ADSREGCALLBACK() implemented using AdsRegisterCallbackFunction() instead
of obsolete AdsRegisterProgressCallback(). This enables draw progress
bar for both indexing and SQL query processing.
; implementation unchanged for old ADS versions (<= 6.1)
* harbour/contrib/rddads/adsx.c
! fixed adsSeek() if seek string length is less than index key length
* harbour/src/compiler/hbopt.c
! improved BEGIN/END SEQUENCE support in code trace optimizer. Problem
of false positive warning 'Variable is assigned but not used' is solved
in cases like:
FUNC TEST()
LOCAL n := 1
BEGIN SEQUENCE
IF n == 1
n := 2
BREAK
ENDIF
n := 3
END SEQUENCE
RETURN n
; TODO: test for more complicated cases like nested BEGIN/END SEQUENCE
* harbour/src/rdd/dbf1.c
* added :GetValue() GPF protection if area is "half opened" (ex.,
enumerating field values in error handler on area open failure).
More general solution for "half opened" workareas is welcome
* .gitignore
! removed executable file permission
* package/mpkg_src.sh
! added executable file permission
* contrib/hbct/screen2.c
% use STR API for parameters instead of using local conversions
* contrib/hbct/token1.c
% small simplification
* contrib/hbnetio/netiosrv.c
+ respect timeout parameter also in send operation
* contrib/make.hb
! moved project name normalization and directory verification to
AddProject() function. It fixes HB_BUILD_ADDONS envvar functionality.
* doc/xhb-diff.txt
+ added new paragraph: DECLARATION AND INITIALIZATION OF VARIABLES
* src/rtl/hbcom.c
* added 3-rd parameter to TIOCEXCL and TIOCNXCL ioctl() codes
to pacify valgrind warnings
* include/hbexpra.c
! fixed compilation with HB_USE_ENUM_FUNCTIONS macro
* include/hbapicls.h
* include/hbcompdf.h
* include/hbexpra.c
* src/compiler/harbour.y
* src/vm/classes.c
+ added support for :__enumIsFirst() iterator message. It's opposite
to recently added :__enumIsLast()
+ added support for overloading :__enumIsFirst() and :__enumIsLast()
functionality in custom FOR EACH implementations
* include/hbcompdf.h
* include/hbexpra.c
* src/compiler/harbour.y
+ added support for reverting :__enumIsFirst() and :__enumIsLast()
messages in descendant FOR EACH loops. It's disabled now by 2 #if 0
but I think it should be discussed. Should we keep it enable it?
The answer is not trivial when FOR EACH is used to iterate some
objects. In general such names are confusing.
* src/compiler/harbour.yyc
* src/compiler/harbour.yyh
* regenerated using bison 2.5
* tests/foreach.prg
+ added :__enumIsFirst() to test code
* tests/foreach2.prg
! typo in comment
* config/postinst.hb
! updated dir where .po files are looked for
for util .hbl creation
* contrib/make.hb
! fixed to convert dirseps and missing trim before
existence check of hbplist.txt items
2013-04-09 17:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/gtwvg/wvgwin.c
! Fixed: Loading of resource of type icon if pulled from a resource
file.
* contrib/hbhpdf/3rd/libhpdf/hpdfimap.c
* contrib/hbhpdf/3rd/libhpdf/libhpdf.dif
+ patched to build with libpng 1.6 w/o warning
identical to this upstream patch:
f1817baea4
* bin/commit.hb
! fixed to add shebang to newly created commit hook
* bin/check.hb
! exclude maskimag.png from processing
! typo in png processor name
! minor syntax clarification
* contrib/hbhpdf/tests/files/maskimag.png
! restored original version, as any optimized version will
cause libharu to GPF (visible when running the demo)
* bin/check.hb
* deleted one more contrib exception
* contrib/make.hb
* do not try to build contribs/addons that don't exist
* contrib/hbmisc/tests/pe.prg
- contrib/hbmisc/tests/sample.txt
* avoid storing non-ASCII, non-UTF8 file on disk
* load above if no parameter given
! use hb_MemoWrit() to write result
* bin/check.hb
! fixed --fixup-case when used with single file
+ deleted few more exceptions (contribs in particular)
* tests/clipper.ch
+ added few items
+ tests/bldtest/bldtext.hbp
+ added hbmk2 build file
* tests/hbpptest/compare.bat -> tests/hbpptest/compare.hb
* tests/hbpptest/pp_test.prg -> tests/hbpptest/_pp_test.prg
* converted batch file to Harbour script
* updated comments
- contrib/hbhpdf/tests/files/cp932.txt
- contrib/hbhpdf/tests/files/cp936.txt
- contrib/hbhpdf/tests/files/elic_jp.txt
- contrib/hbhpdf/tests/files/euc.txt
- contrib/hbhpdf/tests/files/sjis.txt
- turns out these were not used. deleted.
* contrib/hbnetio/tests/netiomt1.prg
* contrib/hbnetio/tests/netiot02.prg
* contrib/hbnetio/tests/netiot03.prg
* contrib/hbnetio/tests/netiotst.prg
* hbformat, fix case, manual corrections
(I like the former style better, because it's much
easier to type and looks much less antique than
std code format, but for now consistency won)
* contrib/xhb/thtm.prg
* code slightly altered to avoid embedded JS code to be
case fixed
* contrib/Makefile
! do not ignore failures in contribs in GNU Make build process
(this will ensure a 'build failed' status in Travis)
* bin/check.hb
* tests/fixcase.hb
! fixed to the way search hits are replaced. Now it replaces
only what it found and where it found it, instead of previous
brute-force method of replacing each similar hit in the file,
causing the errors experienced in 2013-04-05 16:24 UTC+0200.
(plus also few similar cases in the past)
* tests/fixcase.hb
! fixed to do comment only fix on .c files even when run in
single file mode
* contrib/hbct/trig.c
! another fix
* contrib/hbwin/wapi_winuser.c
* deleted comment in some foreign programming language
* src/rtl/hbmd5.c
* cleaned comment
* bin/check.hb
! made it work regardless of cwd
+ added --fixup option to fix/process files
+ extended detection of SVN IDs based on 'ident' option
in .gitattributes. Now also warn if missing.
+ added detection of C++ style comments in C files
+ ported Harbour function name casing fixup code, so
it can now be done automatically before commit
* bin/commit.hb
* minor change in option name
* contrib/gtwvg/wvgwin.c
* contrib/gtwvg/wvgwing.c
! deleted large amount of MSDN documentation in C++ comments
! fixed C++ comments
* src/pp/ppcore.c
* avoid false C++ comment detection in deffed out
non-code section
* src/rtl/gttrm/gttrm.c
* contrib/rddads/adsx.c
* contrib/xhb/filestat.c
! fixed C++ comment
* contrib/hbrun/hbrun.hbp
* utils/hbmk2/hbmk2.hbp
+ better comment
* extras/gtwvw/hbgtwvw.h
* extras/gtwvw/*.c
! fixed C++ comments
* bin/check.hb
! fixed to use local implementation instead of hb_DirScan()
which has known bug of missing extensionless files on win.
(due to hb_FileMatch() problem)
+ added support to optimize images and uncrustify C source
before upload (inactive yet)
+ added necessary exceptions now that extensionless files
properly found
+ checks for filenames without extensions
+ checks for filenames with extensions not in .gitattributes
* bin/commit.hb
+ show helpful advice when pre-commit hook check fails
! fixed to propely pick filenames that result from rename operations (for check)
! fixed to not pick filenames of deleted files (for check)
* config/lang.hb
* doc/en/lang.txt
* include/hblang.hbx
* src/lang/Makefile
* src/lang/l_zh_tra.c -> src/lang/l_zh.c
* src/rtl/langcomp.prg
* Language renamed: zh_tra -> zh (in sync with recently laid rules)
The 'REQUEST HB_LANG_*' value become INCOMPATIBLE compared
to previous dev versions
* src/rtl/cdpdet.prg
+ added 'zh' country code to codepage detection
* contrib/make.hb
* contrib/hbplist -> contrib/hbplist.txt
* renamed to have an extension
* contrib/hbrun/doc/_GENERATED_ -> contrib/hbrun/doc/_autogen.txt
* utils/hbmk2/doc/_GENERATED_ -> utils/hbmk2/doc/_autogen.txt
* renamed to have names fitting naming rules
+ added warning message inside
- extras/httpsrv/logs/empty
- deleted unnecessary file with non-compliant filename
- tests/stripeol.hb
% deleted, now similar functionality is implemented in bin/check.hb
* .gitattributes
! added missing .log and .ucf
* contrib/hbtinymt/3rd/tinymt/tinymt.hbp
! deleted SVN ID
* debian/copyright
! synced with COPYING.txt
* debian/postinst
* debian/postrm
! deleted multiple EOL at EOF