* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
+ Added: some methods used internally to provide hbIDE speed advantage.
* contrib/hbide/idesaveload.prg
! Changed: the default behavior of :lTrimTrailingBlanks to FALSE
responsible to strip trailing blanks from saved sources.
Now if this behavior is desired, change the settings from
<Setup><hbIDE Setup><General>.
* contrib/hbide/idethemes.prg
* contrib/hbqt/qtgui/hbqt_init.cpp
+ Added: Slot "QRect$int" for updateRequest(QRect,int) for QPlainTextEdit.
* contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth
* contrib/hbqt/qtgui/qth/HBQSyntaxHighlighter.qth
+ Added: more methods.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
! Fixed: 2 pixel margin around a document text which was causing a
major visual glich which selecting text in an editing instance.
Now it is 0,0 no matter which font and size is used.
* contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.cpp
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.h
+ Synchronized: to apply syntax highlighting per page basis.
Qt applies highlighting to the entire document when supplied
which, conceptually, should be onto the page brought forward.
This has rendered hbIDE extremely fast at startup no matter
how many sources are loaded probably making hbIDE the fastest
IDE at startup.
* src/rtl/gtwvt/gtwvt.c
! fixed regression referred to in 2011-05-18 01:06 UTC+0200 Viktor Szakats
I'm still not exactly sure what's happening (besides I'm tired as hell),
but now it seems that it's not VK_RETURN override at fault, but composited mode
on Vista/7 which I enabled recently. Actually copy worked only
the selection was not visible.
Now I turn off composited on mark and select and renable when finished.
I imagine this is not proper solution though I don't have Bill Gates's number
to make a support call ATM.
+ reenabled VK_RETURN
* ChangeLog
* edited prev entry
* src/rtl/gtwvt/gtwvt.c
! fixed regression in:
2011-02-26 20:07 UTC+0100 Viktor Szakats / patch by Aleksander Czajczynski
VK_RETURN event override caused 'Mark and Copy' menu functionality
to break, it's no longer possible to select an area. Aleksander,
I'd appreciate if you could check and fix this.
For now I commented the VK_RETURN override (it may break some
fullscreen features)
* contrib/xhb/xhb.hbc
* contrib/xhb/xhb.hbp
+ added hbxpp as a dependency for xhb. for dll handling.
+ contrib/xhb/hbdll.ch
+ added header from xhb project, with some basic adaptation.
fully untested.
* src/rtl/hbrandom.c
! fixed wrong random numbers being generated after:
2011-03-11 09:42 UTC+0100 Przemyslaw Czerpak
this is simple revert, Przemek pls recheck/refix original issue.
Values 0x????FFFF and 0x????0000 were returned from these calls:
hb_randomInt( 0xFFFFFFFF )
hb_randomInt( 0xFFFFFFFE )
hb_randomInt( 0x7FFFFFFF )
under mingw32 and mingw64 (both win and linux builds)
* include/harbour.hbx
* src/rtl/hbrandom.c
+ HB_RAND32() -> <32-bit random number>
; TOFIX: random numbers are broken under mingw 4.5.2, only high 16bits are random.
in all HB_RAND*() functions
* src/compiler/gencc.c
! hb_p_pushlong: conditional -gc3 generated code modified to
evaluate the condition at C compile time rather than .c
code generation time. This particular fix would pbly only
affect 16-bit cross builds, which we don't have any ATM.
; TOFIX: same in hb_p_pushlonglong
* harbour/src/rtl/gtxwc/gtxwc.c
* harbour/src/rtl/gtwvt/gtwvt.c
* harbour/contrib/xhb/hboutdbg.c
* harbour/contrib/xhb/xhbfunc.c
! use 'hb_cmdargARGVN( 0 )' instead of 'hb_cmdargARGV()[ 0 ]' to avoid
GPF when no arguments are initialized
* harbour/contrib/hbwin/hbolesrv.hbc
* use {allmingw} instead of {mingw} macro for MinGW64 builds
* harbour/src/codepage/Makefile
* harbour/src/codepage/uc646_yu.c
+ harbour/src/codepage/uc646yuc.c
* harbour/include/hbapicdp.h
+ added JUS I.B1.003 - Cyrillic script variant of ISO-646-YU
for Serbian and Macedonian language
* harbour/src/codepage/Makefile
+ harbour/src/codepage/cpsr646.c
+ harbour/src/codepage/cpsr646c.c
* harbour/include/hbcpage.hbx
+ added SR646 and SR646C Harbour codeapges.
Both code pages uses the same 8-bit representation but different
unicode values - SR646 uses Latin script and SR646C Cyrillic script.
It means that it's useless to make any translations between SR646
and SR646C because both versions uses the same ASCII values but they
can help in translation to other encodings or CPs, i.e. to convert
some Serbian text in one of the above CPs to Latin letters in UTF8
encoding then it's enough to make:
hb_strToUTF8( <cText>, "SR646" ) -> <cUtf8LatinText>
and for conversion to UTF8+Cyrillic:
hb_strToUTF8( <cText>, "SR646C" ) -> <cUtf8CyrillicText>
* include/harbour.hbx
* src/vm/runner.c
+ HB_HRBGETFUNLIST() -> <aArray>: New function posted to the
list by Francesco Saverio Giudice
(NOTE: I changed the name a little bit)
* tests/gfx.prg
! fixed console output. Patch by Tamas Tevesz
* changed rest of ? commands to outstd()
* src/vm/set.c
* _SET_EOF default set to .T. on *nix to match other plaforms
(and Clipper I might guess)
CHECKME!
* formatting
! missing 'break;'. it didn't cause error, anyhow pls check me
maybe it was intentional (in 'case HB_SET_PRN_CON:' branch)
CHECKME!
* contrib/hbunix/hbunix.hbp
* contrib/hbunix/hbunix.hbx
+ POSIX_SLEEP( <n> ) -> <n>
* contrib/hbcurl/hbcurl.ch
* contrib/hbcurl/core.c
+ added changes from latest libcurl version (untested with
latest version)
* utils/hbmk2/hbmk2.prg
! fixed symbol names in hbx generation for watcom/{linux|dos|os2}
* contrib/hbmisc/udpds.prg
! added not very beautiful workaround (how to kill a thread from
caller proc?) to RTE in worker thread loop because of closed
socket after calling hb_UDPDS_Stop()
* contrib/hbwin/hbwin.ch
* contrib/hbwin/win_svc.c
+ added 4th param to WIN_SERVICEINSTALL() to spec start type
+ added related constants
* contrib/hbwin/wapi_misc.c
! cast for win64
* contrib/hbnf/nwsem.prg
* contrib/hbnf/mouse2.prg
* contrib/hbnf/tests/nftest.prg
* examples/gfspell/spell.prg
! fixed = operator to :=/==
; now Harbour SVN is clean. Except quite a few problems in HBIDE and
two more known code lines. Pritpal can you fix HBIDE to not use
ambiguous '=' operator?
* src/rdd/usrrdd/rdds/logrdd.prg
* ltrim(str()) -> ntos()
* harbour/include/hbapi.h
* harbour/src/vm/hashes.c
+ add new public C function: HB_BOOL hb_hashClear( PHB_ITEM pHash )
* do not generate RTE when unexisting key is passed to HB_HDEL()
now code which makes sth like:
if xKey $ hValue
hb_hDel( hValue, xKey )
endif
can be reduced to:
hb_hDel( hValue, xKey )
* harbour/src/vm/hashfunc.c
+ added new PRG function: HB_HCLEAR( <hValue> ) -> <hValue>
* utils/hbmk2/hbmk2.prg
+ added experimental -ldflag+=, -dflag+= cmdline options
and ldflags+= .hbc option. Such flags will be added after
libs, which may be useful in some situations, f.e. pkg-config
% only enclose libnames and paths inside single-quotes if
they contain any non-ascii, non-digig, non-., non-/ chars
! fixed .hbx generation on darwin
* include/hbtrace.ch
* added way to disable HB_TR_ALWAYS
for more: 2011-04-16 23:04 UTC+0200 Viktor Szakats
* contrib/hbxbp/hbxbp.hbp
* contrib/hbqt/hbqt_common.hbm
+ disabled HB_TR_ALWAYS permanent messages from SVN builds
; TODO: move this logic to hbpre.hbm
* contrib/hbide/hbqreportsmanager.prg
* contrib/hbide/ideactions.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpmenubar.prg
! Fixed: many artifacts related with XbpMenu() and MDI
handelling. I did not know Xbase++ diverted from uniform
arguments behavior for every object for XbpMenu() where
:visible instance variable is FALSE by default.
Thanks Shum for code and looking inside the docs.
* harbour/src/vm/hashes.c
! fixed HB_HMERGE() to work correctly when destination and source hash arrays
are the same
! fixed HB_HASH_INTERSECT in HB_HMERGE()
% two minor optimizations
* include/Makefile
+ include/hbstrict.ch
* contrib/hbpost.hbm
+ added experimental -u+ header to catch some common code style
problems. currently IF() is caught, but it interferec with std.ch
hbsix.ch and possibly more, so it's not enabled
* config/global.mk
* src/dynlib/2nd/Makefile
* src/dynlib/Makefile
* secondary harbour dynlib is now enabled by __HB_BUILD_DYN_2ND=yes
* renamed secondary harbour dynlib to harbour2*
+ it's now possible (again) to build harbour .dll in ST mode by
using __HB_BUILD_DYN_ST=yes. if used together with __HB_BUILD_DYN_2ND=yes,
the secondary dynlib will be MT. (pls note the secondary dynlib
is never directly used by hbmk2, so it's there for mere build convenience
only)
* contrib/hbxbp/xbpmenubar.prg
* contrib/hbxbp/xbprtf.prg
* contrib/hbxbp/xbpfiledialog.prg
* contrib/hbxbp/xbpprintdialog.prg
* contrib/hbxbp/xbpscrollbar.prg
* contrib/hbxbp/xbpprinter.prg
* contrib/hbxbp/xbpdataref.prg
! IF() -> IIF() (with the help of hbstrict.ch)
* contrib/hbformat/hbfmtcls.prg
! fixed mistakenly changed '==' to LEFTEQUAL() in prev commit
* harbour/src/rtl/memofile.c
% eliminated two call to hb_fsSeek() and one hb_fsRead() from
non *nix version of MEMOREAD() function
! do not write final EOF character if write failed in MEMOWRIT()
function
; TOFIX: In *nixes support for EOF character in MEMOREAD() and
MEMOWRITE() is disabled by default - IMHO it's wrong
because it's not possible to use these functions to exchange
safely data with CA-Cl*pper applications or even DOS/Windows
versions of Harbour applications.
* harbour/src/rtl/hbcom.c
* replaced infinite waiting for reading/writing from/to serial port
in *nix builds with loops checking periodically (once per second)
for HVM events (i.e. thread interrupting).
* harbour/src/codepage/uc88591b.c
* converted hex digit to uppercase
* harbour/contrib/hbwin/win_dlg.c
+ added support for setting default file name in
WIN_GETOPENFILENAME() and WIN_GETSAVEFILENAME() functions:
WIN_GETOPENFILENAME( [[@]<nFlags>], [<cTitle>], [<cInitDir>],
[<cDefExt>], [<acFilter>], [[@]<nFilterIndex>],
[<nBufferSize>], [<cDefName>] )
-> <cFilePath> |
<cPath> + e"\0" + <cFile1> [ + e"\0" + <cFileN> ] |
""
WIN_GETSAVEFILENAME( [[@]<nFlags>], [<cTitle>], [<cInitDir>],
[<cDefExt>], [<acFilter>], [[@]<nFilterIndex>],
[<nBufferSize>], [<cDefName>] )
-> <cFilePath> |
<cPath> + e"\0" + <cFile1> [ + e"\0" + <cFileN> ] |
""
* src/rtl/listbox.prg
! corrected minor typo in change:
2009-02-18 14:18 UTC+0100 Przemyslaw Czerpak
equality operator stayed '=' in one place. didn't cause
any user level problem
* utils/hbmk2/hbmk2.prg
+ avoiding '=' operator to be _SET_EXACT agnostic
% deleted setting _SET_EXACT
* contrib/hbwin/wapi_misc.c
! trying to make hbwapi_LoadLibrarySystem() really safe
by using LoadLibraryEx() with special flag. On win7/64 tested
with 32-bit or 64-bit exe, it still tries to load f.e. winspool.drv
from the apps own dir, at least as per procmon. GetSystemDirectory()
will return system32 as the .dll dir, though it is SysWOW64, but
this seems to be fixed internall by kernel.
(safety is apparently fully going against MS's will, but anyway,
maybe I'm not getting it)
* contrib/hbwin/wce_simc.c
* contrib/hbwin/wce_smsc.c
* contrib/hbwin/hbwin.hbx
* contrib/hbwin/wce_sim.prg
! fixed to always define wce (and compiler) specific .prg level functions
* contrib/hbwin/hbwapi.h
* contrib/hbwin/wapi_misc.c
* hbwapi_FileNameAtSystemDir() made static
+ hbwapi_LoadLibrarySystem() public function added
this is safe version of LoadLibrary() when loading Windows
system dlls. it will avoid dll hijacking vulnerability.
! deleted HB_EXPORT from hbwapi_t*() functions, they are
public to this lib due to UNICODE setting dependance
; TODO: make hbwapi_LoadLibrarySystem() effective also for WinCE,
for now it will not add any system path under this platform.
* contrib/hbwin/axcore.c
* contrib/hbwin/mapi.c
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/wapi_shellapi.c
! LoadLibrary() -> hbwapi_LoadLibrarySystem()
thus fixing dll hijack vulnerability
+ contrib/hbwin/wapi_misc.c
* contrib/hbwin/hbwin.hbp
* contrib/hbwin/hbwapi.h
* contrib/hbwin/win_prn3.c
* hb_tstrlen() -> hbwapi_tstrlen() and made public
* hb_tstrncat() -> hbwapi_tstrncat() and made public
+ hbwapi_tstrdup()
+ hbwapi_FileNameAtSystemDir() public function
please review it, I'm notoriously bad with 1 byte over/underruns
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvgwin.c
! fixed to use GetModuleHandle() instead of LoadModule() on
user32.dll and kernel32.dll. safer and faster.