* contrib/gtqtc/gtqtc.hbc
* contrib/gtqtc/gtqtc.hbp
! fixed detecting QT when both QT4 and GT5 versions are installed
in OSX (synced with Viktor's branch)
* src/rtl/gttrm/gttrm.c
* small modification for future usage
* src/rtl/cdpapi.c
* src/rtl/iousr.c
* src/rtl/hbjson.c
* src/rtl/gtcrs/gtcrs.c
* src/rtl/gtsln/gtsln.c
* src/rtl/gttrm/gttrm.c
* src/rtl/gtxwc/gtxwc.c
* src/rdd/workarea.c
* src/rdd/hbsix/sxcompr.c
* contrib/hbct/token2.c
* contrib/hbsqlit3/core.c
* pacified some of -Wshadow warnings
* include/hbapicdp.h
! typo in comment: bytes -> bits
* src/vm/garbage.c
* src/vm/thread.c
* disabled some code with spinlocks when HB_HELGRIND_FRIENDLY macro
is defined. It causes that final MT HVM code is slower using native
platform mutexes but only such ones helgrind can recognize so the
new macro can be useful for people who want to make some tests with
helgrind. In such case they should rebuild Harbour with
HB_USER_CFLAGS=HB_HELGRIND_FRIENDLY
We use spinlocks and atomic integer operations also in few other
places so it's possible that deeper tests can exploit them and
we will have to cover them by HB_HELGRIND_FRIENDLY too just to
easy detect real problems.
* src/rtl/gttrm/gttrm.c
* send ST (ESC \) after Linux console palette set sequence (ESC ] P).
ESC ] is Operating System Command (OSC) which by default should
be terminated by ESC \ (ST). Some terminals which sets LINUX
TERM envvar but do not correctly understand Linux console palette
set sequence may hang waiting for ST. Now ST is sent to avoid such
situation. Linux console simply ignore ST terminator so nothing
wrong should happen.
* src/rtl/gttrm/gttrm.c
! fixed terminal ISO mode auto detection (broken in previous patch)
% use position from UTF8/ISO mode detection instead of double asking
terminal cursor position. With the minor cost of unknown initial
column position we have faster start on slow connections.
* src/rtl/hbgtcore.c
+ added support for GT parameters passed in //GT<NAME>
parameter after ":", i.e. //GT<NAME>:<params>
* src/rtl/gttrm/gttrm.c
+ added new parameters set in //GTTRM:<params>
1) "NOPOS" - inform GTTRM that terminal does not support
cursor position query: ESC [ 6 n
At startup GTTRM asks terminal about cursor position
and waits for answer for 2 seconds. If terminal doesn't
support it then it's unnecessary delay at application
startup.
2) "UTF8" or "UTF-8" - force UTF-8 terminal output
Useful when terminal does not support cursor position
query so it cannot be used to detect automatically
UTF-8 or ISO terminal mode.
3) "ISO" - force ISO terminal output
4) "XTERM", "LINUX", "PUTTY", "CONS" - force given terminal
type
f.e. working with Android Terminal Emulator it's good to use
//GTTRM:UTF8,NOPOS
because it still does not support cursor position query and
LANG variable is not set.
* 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
* include/hbapi.h
* include/hbapigt.h
* include/hbvm.h
* src/rtl/inkeyapi.c
* src/vm/cmdarg.c
* src/vm/hvm.c
* replaced hb_cmdargProcessVM() with hb_cmdargProcess() and removed
unused for long time custom user cancel key functionality.
- removed dummy hb_inkeySetCancelKeys() C function.
- removed not used for long time HVM C functions and macros:
hb_vmFlagEnabled(), hb_vmFlagSet(), hb_vmFlagClear(),
HB_VMFLAG_HARBOUR, HB_VMFLAG_ARRSTR
* include/hbgtinfo.ch
+ added new HB_GTI_* actions:
HB_GTI_WINHANDLE - Get console window low level handle
HB_GTI_MOUSEPOS_XY - Get mouse position in pixels
HB_GTI_DISPIMAGE - Display image with given name
* include/hbapigt.h
* src/rtl/inkeyapi.c
+ added new C function: int hb_inkeyKeyMod( int iKey )
+ added code for translation from extended key codes to
standard Clipper ones
* include/harbour.hbx
* src/rtl/inkey.c
+ added new PRG function hb_keyMod( <nExtKey> ) -> <nModifiers>
It extract keyboard modifiers (HB_KF_*) from extended key code.
* include/hbgtcore.h
* src/rtl/hbgtcore.c
+ added new macros for generating extended key codes with keyboard
modifiers for ASCII and UNICODE characters
% strip repeated extended key codes for mouse move
! use standard key codes in extended ALERT() GT method
* include/inkey.ch
+ added key modifiers/flags for extended key codes: HB_KF_*
+ added extended key codes: HB_KX_*
- removed unused HB_K_MULTICODE macro
* src/rtl/gttrm/gttrm.c
* replaced old keyboard and mouse code with new one using
extended key codes for keyboard and mouse
+ added support for keyboard modifiers in GPM events
+ added support for keyboard modifiers in terminal mouse events
* src/rtl/gtwvt/gtwvt.h
* src/rtl/gtwvt/gtwvt.c
! invert selection region in WinCE builds
! fixed selection in fullscreen or maximized modes with margins
* do not add EOL to one line selections
+ added support for painting box drawing characters.
This mode can be enabled by:
hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_DRAWBOX )
and it causes that GTWVT draws all box characters as pixmap
regardles of used font.
So far this functionality existed only in GTXWC.
+ added support for HB_GTI_FONTA_FIXMETRIC and HB_GTI_FONTA_CLRBKG
So far this functionality existed only in GTXWC.
+ added support for HB_GTI_WINHANDLE
! do not add EOL at the end of one line selection
* src/rtl/gtxwc/gtxwc.h
* src/rtl/gtxwc/gtxwc.c
* replaced old keyboard and mouse code with new one using
extended key codes for keyboard and mouse
* renamed HB_GTXWC_* box drawing macros to HB_BOXCH_* ones
* do not add EOL to one line selections
! fixed few keypad keycodes
* use cursor blinking rate HB_GTI_CURSORBLINKRATE for whole
show/hide period not only half of them. If someone use this
GTI action in his code then now he should double passed
value. [incompatible]
! fixed return value for HB_GTI_SETPOS_ROWCOL
* few minor cleanups
* tests/gtkeys.prg
* replaced old keyboard and mouse code with new one using
extended key codes for keyboard and mouse
+ added description for some key codes
+ added some initial HB_GTI_* actions
+ change cursor size by K_INS
+ display terminal size after HB_K_RESIZE
+ display mouse position after mouse key codes
! display all characters created by hb_keyChar()
! fixed formatting
* src/rdd/dbf1.c
* added more general protection against GPF in not fully
initialized workarea
* 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
* (all files)
* stripped svn header
* minor cleanups
; use following command to find out the history of files:
git log
git log --follow
git blame
git annotate