* mpkg_nightly.sh
+ Added patch by Tamas Tevesz. Thank you very much.
+ Will now use simple cp to put nightlies in place if
the scripts detects that it's run in sf.net server shell.
* mpkg_nightly.sh
+ Added instructions to setup unattended file upload on sf.net.
If SSH key pair is setup and public key uploaded to sf.net
user account, nightlies can be created and automatically
upload to sf.net, using these commands:
---
$ export HB_SFNET_FRS_PRIVATE_KEY=~/.ssh/id_dsa
$ export HB_SFNET_USER=myuser
$ ./mpkg_nightly.sh
---
* src/vm/set.c
* Reset default value to "hb_out.log".
+ mpkg_nightly.sh
+ Added script to generate nightly sources.
; TODO: Upload nightlies to sf.net.
; TODO: Change nightly filenames to match our normal source releases.
; TOFIX: Current .zip nighly has wrong (*nix) EOLs. This has to be
changed to CRLF.
* INSTALL
* Changed nightly script URLs to point to sf.net file area.
! Minor fix to bug tracker address.
* contrib/xhb/regexrpl.prg
* contrib/hbtip/httpcli.prg
* contrib/hbtip/mail.prg
! Fixed to use EMPTY() on HB_REGEX[ALL]() return
value instead of NIL check.
Required after recent change in HB_REGEX*()
return values in no-match case.
* contrib/hbcurl/hbcurl.c
* contrib/hbcurl/hbcurl.ch
+ Added support to download-to/upload-from file handle.
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtcore/Makefile
* contrib/hbqt/Makefile
* contrib/hbqt/gtqtc/Makefile
* contrib/hbqt/qtnetwork/Makefile
! Fixed to not build separate HBQT libs for static
linkage for non-win/wce targets.
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.nsi
* Changed to use 'Harbour Project' as folder name in registry.
(instead of 'Harbour'). Just to be consistent.
* package/winuni/mpkg_win_uni.nsi
+ Add major.minor version number to registry folder names.
This allows multiple major versions of Harbour to be installed
in parallel.
* contrib/xhb/ttable.prg
% '&("{||" + c + "}")' -> HB_MACROBLOCK()
* contrib/xhb/trpccli.prg
* contrib/xhb/hblognet.prg
* contrib/xhb/xcstr.prg
* contrib/xhb/tedit.prg
* contrib/xhb/xdbmodst.prg
* contrib/xhb/trpc.prg
* contrib/xhb/thtm.prg
* contrib/xhb/dumpvar.prg
* contrib/xhb/xhbmt.prg
* contrib/xhb/xhberr.prg
* contrib/xhb/ttable.prg
* contrib/xhb/txml.prg
* '.NOT.' -> '!'
% ValType( x ) == "Y" -> IS*()
* Some other basic formatting and cleanup.
* src/rtl/hbini.prg
* examples/httpsrv/session.prg
* Formatting.
* tests/db_brows.prg
* tests/server.prg
* tests/testrdd2.prg
* tests/setkeys.prg
* contrib/hbtip/tests/tiptest.prg
* contrib/hbtip/tests/loadhtml.prg
* examples/hbsqlit2/tests/hbsqlite.prg
* examples/gtwvw/tests/wvwtest9.prg
* examples/gtwvw/tests/ebtest7.prg
* '.NOT.' -> '!'
* contrib/hbqt/hbqt_base.cpp
+ Added QVERSION() function which returns QT lib version as string.
Wrapper to QT function with the same name.
+ Added QSHAREDBUILD() function which returns whether QT lib used
are shared or static. Wrapper to QT function with the same name.
- Deleted HBQT_ISSTATICLINK() which was not portable implementation.
+ contrib/hbqt/tests/qtver.prg
+ Added test code to display all detecable QT version/lib information.
* INSTALL
* contrib/hbqt/hbqts.hbp
* contrib/hbqt/hbqtguis.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtnetworks.hbp
* contrib/hbqt/hbqts.hbc
% Fixed to avoid building separate, but completely idendical
HBQT libs on Linux platform for linking to static QT libs.
Please note that on all platforms except Windows and Symbian,
it's not necessary to create separate HBQT builds for
static and dynamic QT libraries. Instead, on these
platforms (Linux, Darwin and possible OS/2) it's enough to
just link the same HBQT libs with either static or dynamic
QT libs. For this reason, recently added HBQT_ISSTATICLINK()
function will only work on Windows, thus it's not portable.
It needs to be redesigned to use QT API to retrieve lib type,
or if such API doesn't exist, this function should be deleted
from Harbour.
* external/zlib/deflate.c
* external/zlib/zutil.c
* external/zlib/deflate.h
* external/zlib/zutil.h
* external/zlib/crc32.c
* external/zlib/trees.c
* external/zlib/uncompr.c
* external/zlib/zconf.h
* external/zlib/compress.c
* external/zlib/adler32.c
! Restored original version ID to help creating more meaningful
.dif of local patches.
* include/hbcom.ch
* Changed functions names to use proper camelcasing so that
they also hold true for C level API.
* include/hbsocket.ch
+ Readded .prg level function names to address array constant
comment.
+ Added 'this is also used in C file' comment.
* contrib/hbsms/hbsms.prg
! Fixed COM port reading function after last update.
I finally restored original defaulting logic (instead of
FETCHCHARS() method) which by default waits for 64 bytes
and 5 seconds. Pls check me.
* 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.