* 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
* 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
* 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.
* 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/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>
* 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
* .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
* 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
- src/lang/a/*.c
- src/lang/l_en.c
- deleted mistakenly autocommitted files
* config/lang.hb
! exclude base lang from automatically formed list of core languages
* src/rtl/hbi18n2.prg
* minor code clarification (but worse performance)
* include/hblang.hbx
* src/lang/Makefile
* src/rtl/langcomp.prg
+ src/lang/l_es_419.c
+ added 'es_419' - Spanish (Latin America) to Harbour
core languages
! fixed typo in language mapping of 'sr-sp-cyrl' to 'sr_cyr'
+ accept 'zh' for Chinese (Traditional)
* bin/check.hb
+ added file fixup feature (not yet activated)
+ refined detection of some problems
* src/lang/l_de.c
* src/lang/l_hu.c
* src/lang/l_nl.c
* src/lang/l_pl.c
! manual whitepsace/punctuation corrections
* src/lang/l_el.c
+ manually applied translation from Transifex by Pete_wg
* some manual whitepsace/punctuation corrections
* src/rtl/langapi.c
- deleted reference of unused and not needed RFC ID in language modules
; TODO: delete it from the language module string list
* src/rtl/tgetlist.prg
+ handle the translation error where _GET_INSERT_OFF and _GET_INSERT_ON
length doesn't match. Draw spaces instead of _GET_INSERT_OFF in that case
* tests/lang2po.hb
* tests/po2lang.hb
+ finalized two way .po <-> l_*.c file conversion
(copyrights and RFC ID will be lost)
+ bin/check.hb
+ new source verifier. Able to all documented (and more)
required text file and filename properties.
* bin/commit.hb
+ added feature to verify all files to be committed to
conform with certain naming and text file content rules
+ added some more feedback
* config/postinst.hb
+ include commit.hb and check.hb in 'install'
* include/extend.h
* contrib/hbcairo/paths.c
* contrib/hbcairo/png.c
* contrib/hbcairo/util.c
* contrib/hbtpathy/readme.txt
* tests/harbour.ini
* tests/parseins.ini
! multiple EOL at EOF
* contrib/hbhpdf/tests/files/cp932.txt
* contrib/hbhpdf/tests/files/cp936.txt
* contrib/hbhpdf/tests/files/elic_jp.txt
! line ending spaces
! missing EOL at EOF
* contrib/hbhttpd/tests/tpl/app/account/edit.tpl
* contrib/hbhttpd/tests/tpl/app/login.tpl
* contrib/hbhttpd/tests/tpl/app/logout.tpl
* contrib/hbhttpd/tests/tpl/app/main.tpl
* contrib/hbhttpd/tests/tpl/app/register.tpl
* lib/3rd/win/bcc/unicows_license.txt
* lib/3rd/win/mingw/libunicows_license.txt
! missing EOL at EOF
* COPYING.txt
* src/rtl/gtcrs/hb-charmap.def
* tests/big5_gen.prg
! tabs
* extras/gfspell/spell.prg
* src/rtl/gtwin/gtwin.c
! ASCII 127
* src/codepage/cp_tpl.c
! converted to UTF-8 (just guessing what the original CP was)
* src/pp/hbpp.c
! do not generate SVN header in hbverbld.h
+ avoid SVN header string in source as is to miss matched
in source verifier
* src/vm/extrap.c
! do not generate whitespace at EOL in output
* tests/lang2po.hb
* tests/po2lang.hb
+ minor improvements
! fixed to generate consistent EOL
* bin/3rdpatch.hb
* newline at top deleted
* extras/hbdoc/hbdoc.hbp
* extras/hbdoc/hbdoc.prg
* extras/hbdoc/_tmplates.prg -> extras/hbdoc/_tmplate.prg
* contrib/hbcairo/tests/lightning.prg -> contrib/hbcairo/tests/lightnin.prg
! long filename
* .gitattributes
* extras/guestbk/guestbk.prg
* extras/guestbk/guestbk.txt
* extras/guestbk/guestbk.htm -> extras/guestbk/guestbk.html
* deleted .htm file, now all HTML has extension .html
* .exe references in doc made OS neutral
; Can only be used on non-MS-DOS systems, so it's okay
* src/rtl/hbi18n2.prg
! __i18n_potArrayClean() to evaluate transformation
codeblock in normal order (was reverse)
* tests/lang2po.hb
+ made all necessary modification to allow two-way conversion
+ tests/po2lang.hb
+ added script that converts a core .po back to a lang module
* src/rtl/strc.c
* casing in comments
* config/lang.hb
+ added std script options
* src/rtl/hbi18n2.prg
* __i18n_potArrayClean() will now call transformation callback
first again
* __i18n_potArrayClean() transformation callback returning non-string
will now be ignored instead of deleting the item
* utils/hbmk2/hbmk2.prg
* TOFIX added to a help text
* src/rtl/hbi18n2.prg
! __i18n_potArraySort() fixed to not RTE when no source is present
+ __i18n_potArraySort() tweaked to sort items w/o source info to always
come before ones with source info
+ __i18n_potArrayClean() wlll now call transformation callback before
deleting items
+ __i18n_potArrayClean() will now remove the item in question if the
callback returns any non-string value
+ __i18n_potArrayClean()'s second lKeepVoidTranslations = .F. option will
now also remove items where the translation is identical to the msg id
- utils/hbmk2/_po_pull.hb
- utils/hbmk2/_po_push.hb
- utils/hbmk2/_md_make.hb
+ utils/hbmk2/hblang.hb
* merged separate management scripts into one
+ sort pulled .po files before stripping/processing
! do not process .po files in place to avoid race conditions
between parallel script sessions
* minor tweaks
* README.md
! minor
* include/harbour.hbx
* src/rtl/hbi18n2.prg
+ added __i18n_potArrayClean() function that can clean source comments,
empty translations and able to do transformations on translations via
use supplied callback.
* utils/hbmk2/_po_pull.hb
+ do cleansing on .po files pulled from Transifex:
% strip source comments
% strip empty translations
! strip right/left padding from translated strings
! convert multiple spaces to single one in translated strings
; This will help keeping the diffs nice and tight and the
.po files in repo minimal in size
- utils/hbmk2/po/!
- deleted another accindental file :( fixed auto-script to be
more selective.
* include/harbour.hbx
* src/rtl/hbi18n2.prg
+ added __i18n_potArraySort( aTrans ) -> aTrans
to sort .pot files to a predictable order (of first
occurrence in file). It helps reducing unnecessarily
large and unusable diffs when updating .pots and their
related .po files
* utils/hbmk2/hbmk2.prg
* marked some string previously (and intentionally) marked
as non-translatable, as translatable. One exception less.
* utils/hbmk2/_po_push.hb
+ sort .pot before saving and pushing to localization service
* .gitignore
* deleted .def file as they are now covered by bin/*/ and
otherwise .def files do exist in source repo
* contrib/rddads/doc/en/adsfuncs.txt
* doc/en/string.txt
* cleanups
* utils/hbmk2/hbmk2.prg
* cleaned function skeletons in help
* extras/hbdoc/hbdoc.prg
+ include unknown COMPLIANCE value as in is doc instead of an error msg
* src/compiler/compi18n.c
* uncrustified, tweak formatting manually
% optimized variable scopes
* src/rtl/hbi18n2.prg
* minor formatting
* (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