* contrib/hbqt/plug_moc.prg
* utils/hbmk2/hbmk2.prg
+ Implemented separate filename notation setting for scripts
and cmdlines (just like with filename escaping).
This should aid the win/bcc on linux cross-build scenario.
(not testing done though)
* harbour/src/rdd/dbf1.c
* minor formatting
* harbour/doc/xhb-diff.txt
+ added section about pre/post incrementation/decrementation and
<op>= operators.
I think that you may find it interesting. I do not remember if I
documented it in the past and it's important feature which allows
Harbour programmers safely use pre/post ++/-- and <op>= operations
for complex expressions with side effects.
* config/global.mk
! Reverted one optimization from yesterday's late
night programming jam session.
* contrib/hbqt/hbqt_base.cpp
* Renamed HBQT_ISQTSTATICLINKED() to HBQT_ISSTATICLINK().
(enough to have one 'QT' in the name)
* config/win/bcc.mk
+ More changes targeting bcc support under WINE scenario.
; Here it now works "out of the box"
* INSTALL
+ Added example for win/bcc build under WINE.
(kudos go to Tamas Tevesz for the setup example)
+ Added win/bcc to supported cross(ish)-builds.
* examples/httpsrv/uhttpd.prg
! Fixed bogus newlines in RTE ALERT() windows.
+ contrib/hbqt/qth/QHideEvent.qth
+ contrib/hbqt/qth/QShowEvent.qth
+ contrib/hbqt/qth/QWindowStateChangeEvent.qth
+ Added new classes.
+ contrib/hbqt/qtgui/QHideEvent.cpp
+ contrib/hbqt/qtgui/QShowEvent.cpp
+ contrib/hbqt/qtgui/QWindowStateChangeEvent.cpp
+ contrib/hbqt/qtgui/TQHideEvent.prg
+ contrib/hbqt/qtgui/TQShowEvent.prg
+ contrib/hbqt/qtgui/TQWindowStateChangeEvent.prg
+ Auto generated.
* contrib/hbqt/qtgui/filelist.mk
+ Classes auto added.
* contrib/hbide/resources/fullscreen.png
+ Added image for trayicon context menu.
* contrib/hbqt/generator/qt45.qtp
+ Added new classes.
* contrib/hbqt/hbqt.ch
+ Added QSystemTrayIcon_* constants.
* contrib/hbqt/hbqt.h
+ Constants for new classes.
* contrib/hbqt/hbqt_base.cpp
+ HBQT_ISQTSTATICLINKED() function provided by CarozoDeQuilmes.
* contrib/hbqt/hbqt_garbage.h
* Auto generated.
* contrib/hbqt/hbqt_hbslots.cpp
* contrib/hbqt/hbqt_hbslots.h
+ Signal/Slots for QSystemTrayIcon():activated(...).
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideobject.prg
+ Implemented: minimize action on hbIDE window landing in system tray
instead of statusbar. For now this is the default but provision is
in place to base it on user request. Once minimized in system tray,
left-click will restore the window and icon in tray will disappear.
Right-click on tray icon will bring forward a menu with "Show" and
"Exit" options. Exit is equivalant to toolbar's exit icon.
This feature will be available only on those OSes which support
system tray area. Please test on all aupported systems. I am also
interested to know which other actions can make-up in the
icon's context menu.
* config/global.mk
% Minor optimization, in bcc location detection. I hope.
+ Changed autodetection to look for fixed .exe extension
for tools which have no native *nix versions, so their
name always ends with .exe regardless of host platform.
This should make these tools usable under WINE.
* config/win/bcc.mk
+ Attempt to better support bcc on linux build scenario,
by using backslash escaping in this case.
* utils/hbmk2/hbmk2.prg
* Cleaned up to use hard-coded .exe extensions in autodetection
code for tools which have no other version. (syncing with
above GNU Make change). This has no effect yet.
* config/global.mk
* utils/hbmk2/hbmk2.prg
! xcc.exe -> xCC.exe
* config/global.mk
! Attempt to fix rare case when Windows cross-build on Linux
platform wrongly changed HB_BUILD_SHARED mode on. IOW now
automatic HB_BUILD_SHARED defaulting logic (based on install
location) only kicks in if the target platform is *nix.
Tamas could you please retest it?
* harbour/src/rdd/dbf1.c
+ allow to open DBF files with 0x07 and 0x87 signature created by
CA-VO DBFNTX when ANSI encoding is enabled.
Thanks to Vitomir Cvitanovic for CA-VO tests.
Warning! After any modifications in such files Harbour DBF* RDDs
will correct above signatures to standard DBASE ones (0x03 and 0x83).
* examples/uhttpd2/umain.prg
* examples/uhttpd2/uhttpd2.hbp
- examples/uhttpd2/socket.c
+ Changed to use core SOCKET API.
* examples/uhttpd2/run.prg
+ Displays port it listens on.
* examples/httpsrv/uhttpd.prg
+ Using hbsocket.ch constant instead of local one.
* utils/hbmk2/hbmk2.prg
! Tuned watcom filename escaping behavior:
It will now use *nix notation on *nix builds.
It will now use double quoting on Windows builds.
It will now use single quoting in script files on all builds.
No quoting on other platforms. [ watcom is special because
each platform native compiler can create builds for other
platforms, so we must use platform native fn quoting. ]
This should in theory (hopefully) fix the remaining
combinations for watcom, though I didn't test any
of these. [ The only exception is using watcom Windows
.exe via WINE on *nix systems. But that seems a little
bit exotic of an option ;)
Oh for testing pass some source filenames with spaces
in them.
; TOCHECK: Whether watcom script files (@<fn>) use the same
single quoting ('filename') on all platforms.
For some reason so far it was only used for
win targets, so I may have broken it, if it
was done for good reason.
* utils/hbmk2/hbmk2.prg
! Fixed to use *nix-style filename escaping when calling
Windows cross tools only available via WINE (bcc, msvc*, pocc).
! Better *nix-style char escaping in filenames.
* ChangeLog
! Typos in last commit log.
* contrib/hbqt/plug_moc.prg
* utils/hbmk2/hbmk2.prg
! Fixed to use proper filename notation also in plugins.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* Minor cleanups.
* utils/hbmk2/hbmk2.prg
+ Quite big commit aiming to clean path forming in different
situations. After this is change it should be more or less
true that internally hbmk2 always uses native path format,
it should accept _any_ format regardless of platform,
and it should convert filenames to proper format only when
calling external compiler tools, according to their specific
taste.
F.e. this should fix problems when doing Windows cross-build
on *nix systems, with watcom, or other compilers (except
mingw) which has native compiler. It should continue to
work with WINE based on compilers in similar situations.
There is one specific exception when passing around
filenames as part of options. In this case hbmk2 cannot do
too much magic, so try to avoid it.
Though I never actualluy tried this latter case.
Please test it, regressions are possible. I'd be happy to
see stress tests with passing various combination of pathseps
and watching -trace output whether everything is properly
converted to right format.
+ Will now convert filenames to Cygwin format for Cygwin
targets.
! Fixed to accept .hbi files without '@' prefix.
* config/postinst.prg
% Do not add '@' prefix when referring to .hbi files.
* src/vm/extend.c
! Fixed TRACE message of new hb_parnintdef() function.
* src/rtl/hbcomhb.c
* Minor correction to one function description in comment.
* src/rtl/hbsocket.c
* Minor formatting.
* include/hbcom.ch
+ Added comments.
* Formatting.
+ Added comment that code is used by .c code.
* contrib/hbtpathy/telepath.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
+ tp_send() code rewritten to use core timeout functionality.
+ Implemented formerly disabled tp_ctrldtr() function.
(pls review it)
% FetchChars() internal function simplified.
* contrib/hbcomm/hbcomm.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* contrib/hbsms/hbsms.prg
* Rewritten to use native HB_COM*() API (instead of hbct
specific COM_() one).
* Receive code rewritten to rely on core timeout functionality
instead of rolling local implementation.
; I didn't make any tests with API converted COM code, so please
review and test these changes.
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbcomm/hbcomm.hbc
* contrib/hbsms/hbsms.hbc
- Deleted hbct dependency.
* INSTALL
* package/winuni/RELNOTES
* QT 4.6.2 -> 4.6.3
* harbour/src/rtl/hbsockhb.c
* changed return values of some functions: nSuccess to lSuccess
* HB_SOCKET_PF_* changed to HB_SOCKET_AF_*
- hb_parnintdef() (moved to extend.c)
! some bug fixes
! some typo in documentation
* harbour/examples/udpds/udpds.prg
* sychronized with hb_socket*() changes
* changed server thread exit condition (proposed by Przemek)
* harbour/include/hbapi.h
* harbour/src/vm/extend.c
+ hb_parnintdef()
* harbour/src/rtl/hbsocket.c
* harbour/include/hbsocket.ch
! cleaned a little bit HB_SOCKET_AF_*/HB_SOCKET_PF_* usage to not confuse
other developers and users.
* include/hbsetup.h
* Renamed HB_OS_IPHONE -> HB_OS_IOS
(naming will become ambiguous once Harbour will support
Cisco IOS, which may not happen tomorrow, well Apple iOS
is also a pending question)
* utils/hbmk2/hbmk2.prg
+ Modified regex expression to be POSIX compliant.
Thanks to Tamas Tevesz for this modification.
Now hbmk2 should be compatible with supported regex engines,
though it continues to fail (gracefully) if Harbour core is built
using 'HB_WITH_PCRE=no' option.
* include/hbextern.ch
+ Added new HB_SOCKET*() functions.
* config/postinst.prg
! Fixed to exclude whole extra shared binary creation for
all platforms except win/wce/os2.
+ examples/udpds/udpds.hbp
+ Added hbmk2 make file.
* src/rtl/hbregexc.c
+ Restored RTE which is thrown when unsupported regex string is
found in any .prg level regex API calls except HB_REGEXCOMP().
The only difference compared to previous solution is different
error code (3015) to differenciate this case from wrong
parameter _type_ error cases.
; TOFIX: IMO even current solution is not ideal, because it just
forces developers to use HB_ISREGEX() to pre-evaluate regex
strings before actually using them (causing performance hit),
or it forces them to use HB_REGEXCOMP() to pre-compile and
pre-evaluate the expressions before passing them to actual
regex functions, in the valid case they want to avoid unexpected
RTEs due to missing or unsupported regex (PCRE) subsystem.
IOW it makes plain HB_ATX( <cRegExp>, ... ) style calls
prone to fail with RTE in certain, very hard to predict
situations in officially supported Harbour builds.
Comments are appreciated.
* utils/hbmk2/hbmk2.prg
* Deleted unused code.
* Formatting.
* harbour/src/rtl/hbsocket.c
! added missing code to duplicate IP6 address passed explicitly
to hb_socketResolveAddr() - thanks to Mindaugas for reporting
the problem
* contrib/gtwvg/gtwvg.h
* contrib/gtwvg/wvggui.h
* contrib/hbwin/win_shell.c
! Fixed MinGW-w64 cross compiler detection with the recommended "official" method.
MinGW-w64 can also compile for x86, in this case are the same built-in macros.
* src/rtl/hbregexc.c
* Changed to not throw RTE, just gracefully return
error value when invalid PCRE expression is used.
It will continue to throw RTE only for user-controllable
error situations, f.e. when wrong argument type is passed.
! Fixed to not contain English text hard-coded in RTE message.
* src/rtl/hbregex.c
* HB_ATX() changed to fill parameters passed by reference with
error values (zeros) in case of error.
* HB_REGEX(), HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
functions changed to consistently return arrays. If there
is no match, the array will be empty. This gives a more
natural (and Clipper/Harbour-like) interface (f.e. return
value can be passed to FOR EACH loop without extra checks
and extra local variable).
Slight INCOMPATIBILITY for those who did 'r == NIL' check
to verify non-match and something special in this case.
For code simply evaluating the returned matches, the NIL
check can be deleted, and for code which wants to be
backward/forward compatible _and_ to specifically check
for no match situation it's suggested to use 'EMPTY( r )'.
Please check me.
* HB_REGEXMATCH() marked as HB_LEGACY_LEVEL4. (this leaves
quite some headstart to change it)
* include/hbextern.ch
- Deleted HB_REGEXMATCH().
* utils/hbmk2/hbmk2.prg
% Simplified regex usage after above changes.
+ Will now show an internal error in case the used
regex is invalid in current Harbour context
(f.e. when no PCRE engine was forced by user, or
the one used doesn't support the expression used by
hbmk2). I don't know how special current expression
is (it doesn't seem very much so), but it can be
streamlined to something more compatible if current
is deemed not ideal.
* src/compiler/hbusage.c
* Changed to enclose e-mails between '()' instead of '<>'.
* include/hbsetup.h
! Patch by Tamas Tevesz for SunPro compiler.
* ChangeLog
- Deleted my personal exception from ChangeLog license.
+ contrib/hbide/resources/setup.ui
+ contrib/hbide/resources/setup.uic
+ New dialog to hold setup and ini information - in the making.
* contrib/hbide/hbide.prg
! "Output Console" made hidded even if at previous run it was visible.
* contrib/hbide/ideactions.prg
+ New menu option <Setup><hbIDE Setup> to invoke Setup dialog.
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
! Fixed error reported by few which appears randomely
and I could not reproduce.
* contrib/hbide/idesaveload.prg
+ Added class IdeSetup() - in the making.
* src/rtl/gtgui/gtgui.c
* src/rtl/gtwin/gtwin.c
* src/rtl/gtwvt/gtwvt.c
* contrib/gtwvg/gtwvg.c
* contrib/gtwvg/wvggui.c
* examples/gtwvw/gtwvw.c
+ Will now put to clipboard and request from clipboard UNICODE
text in UNICODE (default) mode. This should fix CP conversion
problems experienced in non-UNICODE mode (more in a separate
bug report).
Please review me.
* contrib/hbtpathy/Makefile
* contrib/hbtpathy/hbtpathy.hbp
* contrib/hbtpathy/hbtpathy.hbc
* contrib/hbtpathy/telepath.ch
- contrib/hbtpathy/tpcommon.c
- contrib/hbtpathy/tpwin.c
- contrib/hbtpathy/tpos2.c
- contrib/hbtpathy/tpunix.c
- contrib/hbtpathy/tpdos.c
* contrib/hbtpathy/telepath.prg
* Changed to use hbct lib COM functions.
* Changed some misc functions to .prg from .c.
- Deleted all .c files.
; NO GUARANTEES. PLEASE TEST AND REVIEW IT. All my testing
was to make sure the lib and test app builds properly.
* contrib/hbtpathy/tests/testtp.prg
* Formatting.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
+ Installation will now create 'Harbour' registry key under
'Software', and in it write 'InstallDir' value with the
location of Harbour dir structure.
With this, additional tools (addons) can easily locate
Harbour on a system and install themselves indide the
dir structure or make necessary configuration settings
which need this information. F.e. HBIDE installer (which
can go even to '%ProgramFiles%/Harbour IDE' or '%ProgramFiles%/HBIDE'
can locate Harbour and configure its .ini to point to
proper hbmk2 location.
* contrib/hbide/idetools.prg
! Changed: macro notation for "Tools and Utilities" to confirm
to hbMK2 standards.
{source_fullname} => ${source_fullname}
{source_name} => ${source_name}
{source_path} => ${source_path}
=> ${source_ext} [Added]
{%MY_ENV_VAR%} => ${MY_ENV_VAR}
If marco keywords are not recognized, they are assumed to be
environment variables and return value of hb_GetEnv( cMacro )
is substituted.
+ contrib/hbide/resources/go-bottom.png
+ contrib/hbide/resources/go-down.png
+ contrib/hbide/resources/go-first.png
+ contrib/hbide/resources/go-jump.png
+ contrib/hbide/resources/go-last.png
+ contrib/hbide/resources/go-next.png
+ contrib/hbide/resources/go-prev.png
+ contrib/hbide/resources/go-top.png
+ contrib/hbide/resources/go-up.png
+ contrib/hbide/resources/hilight-all.png
+ contrib/hbide/resources/updown.ui
+ contrib/hbide/resources/updown.uic
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! An important fix.
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/idetools.prg
+ Extended: in addition to next/previous buttons to naviagte
occurances of selected text, three more buttons are added:
"first", "last", occurance and "highlight all" occurances.
+ Implemented: macros parsing in "Parameters" list of
"Tools and Utilities" protocol. Currently following macros
are parsed:
{source_fullname} => full sourcename of current edit instance
{source_name} => mere name of current edit instance
{source_path} => only path of source in current edit instance
{%MY_ENV_VAR%} => result of hb_GetEnv( "MY_ENV_VAR" )
C:\temp\mycopy.bat {source_fullname} {source_path}\mysource.bkp
=>
C:\temp\mycopy.bat C:\harbour\contrib\hbide\hbide.prg C:\harbour\contrib\hbide\mysource.bkp
( assuming that current editor is containe hbide.prg )
* INSTALL
* external/sqlite3/Makefile
* utils/hbmk2/hbmk2.prg
* config/global.mk
* config/wce/msvcarm.mk
* config/win/msvc.mk
* Changed HB_COMPILER_VER values for msvc targets. Previously it was
the Visual Studio version, now it is the C compiler version,
the same value used in _MSC_VER predefined macro:
Name old NEW
-------------------------------------- ---- ----
C Compiler version 6.0 600
C/C++ compiler version 7.0 700
Visual C++, Windows, version 1.0 100 800
Visual C++, 32-bit, version 1.0 100 800
Visual C++, Windows, version 2.0 200 900
Visual C++, 32-bit, version 2.x 200 900
Visual C++, 32-bit, version 4.0 400 1000
Visual C++, 32-bit, version 5.0 500 1100
Visual C++, 32-bit, version 6.0 600 1200
Visual Studio .NET (2002), version 7.0 700 1300
Visual Studio .NET 2003, version 7.1 710 1310
Visual Studio 2005, version 8.0 800 1400
Visual Studio 2008, version 9.0 900 1500
Visual Studio 2010, version 10.0 1000 1600
INCOMPATIBLE for users setting HB_COMPILER_VER manually, pls
change the value as indicated above. For most users it's
recommended to rely on autodetection and not to set this
variable at all.
* config/postinst.prg
! Fixed to use hb_osFileMask() instead of hard-coded '*' mask.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
+ Implemented: interface to find next/previous occurance of selected
text in the current editing instance.
The moment some text is selected in the editor, two tool-buttons will
automatically show-up on the lower-right corner of the editing window
to facilitate you execute "find" operation for selected text up or down.
Buttons will disappear where there is no more selected text.
The feature was requested by Antonio Linares.
* contrib/hbwin/win_shell.c
+ Added protection to typedef SHNAMEMAPPING, LPSHNAMEMAPPING for MINGW64.
MinGW-W64 provides these definitions and cause error when building hbwin.