* contrib/xhb/hbcompat.ch
* contrib/xhb/xhbfs.c
! Deleted FILESIZE(). It's not an xhb compatibility function,
but one offered as part of CT lib in xhb, and HBCT in Harbour.
* src/common/hbver.c
+ Added compiler version detection for clang 2.x (and newer)
Patch by Tamas Tevesz.
* INSTALL
* Minor.
* config/bsd/clang.mk
* config/linux/clang.mk
+ Clearing forced C++ mode if clang 1.x is detected.
(Patch from Tamas Tevesz. Slight fix added by me to
set HB_CMP when falling back to C mode. I didn't make
tests though.)
; NOTE: Probably HB_BUILD_MODE=c should be export-ed
to avoid double evaluation. Pls test it.
* config/postinst.prg
* config/ren_sfn.prg
+ Raised warning level to 3.
* contrib/hbqt/generator/hbqtgen.prg
! A minor fix, no effect on sources.
* contrib/hbqt/doc/en/class_hbqplaintextedit.txt
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
* contrib/hbqt/hbqt_hbqplaintextedit.h
* contrib/hbqt/qtgui/HBQPlainTextEdit.cpp
* contrib/hbqt/qtgui/THBQPlainTextEdit.prg
* contrib/hbqt/qth/HBQPlainTextEdit.qth
+ Added more PRG callable methods.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idedocwriter.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefunctions.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/ideshortcuts.prg
+ Implemented: selection "persistancy" controllable programatically"
Ctrl+F11 is designated for this task. A slot in "Keyboard Mappings"
is also provided. By default persistant selection is disabled and
hence behaves exectly like it was before persistancy and more natural
like other editors. Ctrl+F11 toggles it on/off and if switched on,
behaviour will follow the implemenation just before this commit.
If selection mode is activated programatically, behavior remains
the same as before. Please test, bumps are expected.
% Some major artifacts how cursor should behave after paste, etc.
+ Implemented: document writer is now capable to pulls the existing
help body and correctly reinstates the changes. This implies that
for your sources help it can be used in real-time. Please test
and post if you find difficulties.
TODO: the same behavior with disk files.
* contrib/hbqt/Makefile
* contrib/hbqt/qtgui/Makefile
* contrib/hbqt/qtcore/Makefile
* contrib/hbqt/qtnetwork/Makefile
+ Enabled HB_QT_STATIC for all OSes.
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqts.hbc
- Deleted no more needed special Windows system libs.
* contrib/hbqt/hbqts.hbc
- Deleted webkit libs.
+ Enabled static libs for linux. (they are named the
same as on Windows)
* contrib/gtwvg/tests/demowvg.hbp
! Missing SVN header.
! Missing SVN props.
! Deleted local system specific absolute paths.
TOFIX: HBIDE should make the working (what is it BTW)
and destination folders relative to the location
of .hbp. BTW destination is redundant, since -o
already specifies that.
! Deleted -trace -info. These should be user decisions.
* utils/hbmk2/hbmk2.prg
+ Beefed up and fixed -reqpkg feature:
+ Possible to pass multiple alternate pkg names:
-reqpkg=cairo|cairo2|cairo.h
+ Possible to attach header name, in which case it
will automatically satify the -reqheader= parameter
with same header name, if it exists. Headers without
extension can be specified as 'header.'
! Fixed to use case-insensitive lookup in header list
on non-*nix systems.
+ Added -info messages regarding pkg detection.
! Fixed parsing of -l/-L/-I parameters in pkg detection
code.
* INSTALL
* config/global.mk
+ Added support for configurations where PATH contains the same
compiler multiple times. (and all similar cases when a files
is looked for in a list of possible dirs). From now on only
the first one will be extracted. Dirs can still contain spaces.
Such configurations started to appear like mushrooms just
recently. Maybe it's something seasonal. Anyhow I'd suggest
to fix such configurations, since it may cause misc problems,
outside the real of Harbour. So the INSTALL is still not
lying:
Keep only one compiler in PATH at any time, and especially
don't keep the same C compiler multiple times in PATH, and
especially not two different versions of the same C compiler.
If you're is interested in GNU Make black magic for some (pervert)
reason, you may want to take a closer look at the implementation.
* harbour/contrib/hbwin/olecore.c
! fixed old bug in passing parameters by reference to OLE objects
(they were cleared in reverted order so half of the complex variants
were cleared before coping to HVM items)
+ harbour/contrib/hbwin/tests/oletst4.prg
+ harbour/contrib/hbwin/tests/olesrv4.hbp
+ harbour/contrib/hbwin/tests/olesrv4.prg
+ harbour/contrib/hbwin/tests/oletst4.hbp
+ added example of OLE server returning to client HVM objects as
OLE object and also some other values using parameters passed by
reference with client code.
Remember about registering the server by 'regsvr32 olesrv2.dll'
before testing the client code.
* utils/hbmk2/hbmk2.prg
! Fixed silly variable initialization bug after last commit.
* contrib/hbwin/wapi_shellapi.c
! Fixed WAPI_SHELLEXECUTE() having HB_PARSTRDEF() one
position off.
* examples/rddado/tests/access1.prg
* Minor update. Still doesn't work.
+ contrib/gtwvg/tests/demowvg.hbp
+ Project definition.
+ contrib/gtwvg/tests/wvgactivex.prg
+ contrib/gtwvg/tests/wvgcuigdialog.prg
+ contrib/gtwvg/tests/wvgdyndialogs.prg
+ contrib/gtwvg/tests/wvgmodal.prg
+ contrib/gtwvg/tests/wvgqt.prg
+ contrib/gtwvg/tests/wvgtbrowser.prg
+ contrib/gtwvg/tests/wvgutilities.prg
+ contrib/gtwvg/tests/wvgwvtclasses.prg
+ contrib/gtwvg/tests/wvgxbp.prg
+ Code organized in logical units.
* contrib/gtwvg/tests/demowvg.prg
- Code moved to smaller modular sources as logical units.
This demo was written few years back and then at that point of time
no standradized make system was aavailable which led me to club
everything in one source. Now because we have an excellent hbMK2
in place so this move has been possible.
It is the first in series of reforms pertaining to GTWVG.
More are scheduled to be followed.
* contrib/hbmisc/calldll.prg
! Fixed to use Windows system .dll calling convention
(stdcall) by default, to emulate original function's
behavior. Note that on non-Windows systems, calling
convention will be set to the default (cdecl).
* contrib/hbmisc/tests/testcall.prg
* Replace examples with a Windows system .dll call.
* utils/hbmk2/hbmk2.prg
+ Added untested, experimental support for -reqpkg=/reqpkgs=
(.hbp/.hbc) options. F.e. '-reqpkg=libcurl' option causes
hbmk2 to query library, library path and include path
information from 'pkg-config' tool and if not found using
'*-config' script, and to automatically pass these information
to C compiler/linker. In addition, it will automatically add
a macro named HBMK2_HAS_LIBCURL to C compiler cmdline, so
that the sources get to know that this package was found.
; NOTE: Nothing is finalized, it is still a question how to
setup obligatory and optional components, current
implementation is rather a mixture, but anyway pls
feel free to test it. It's also a question how to merge
this method with the -inctrypath/-reqheader one.
Later we can consider adopting extra C flags, too,
and it can be extended to know about more package
detection methods (even platform dependent ones can
be used if they adhere to more or less the same
principle of 'pkgname->IN incpaths/libpaths/libs->OUT')
Thanks to Tamas Tevesz for sparking the idea.
* src/common/hbver.c
+ Fine tuned SunPro version detection.
Patch submitted by Tamas Tevesz.
* contrib/hbwin/win_shell.c
* contrib/hbwin/tests/testcopy.prg
! WIN_SHFILEOPERATION() fixed after initial upload.
+ Added more test code.
* utils/hbmk2/hbmk2.prg
+ Added ${hb_filename} macro.
+ "hbexe", "hblib", "hbdyn", "hbdynvm", "hbimplib" can now
be used as filter keywords to detect target type.
* contrib/hbwin/hbolesrv.hbc
+ Will now show warning message if not used together with
-hbdynvm option.
+ Will will now be ignored if not used together with
-hbdynvm option.
; Tried to add hbolesrv.c as direct source 'sources=hbolesrv.c',
but it requires this source (+ headers) to be distributed along
the binaries, plus it didn't resolve the watcom issue, so
I dropped it.
* contrib/hbmisc/calldll.prg
+ HB_DYNCALL1() will now cut the number of parameters
according to passed nCount parameter, just to mimic
exact behavior of original function.
+ contrib/hbmisc/tests/testcall.prg
+ Added test code for CALLDLL32() and HB_DYNCALL1().
* contrib/hbwin/tests/testcopy.prg
* Copyright year.
* contrib/hbmisc/Makefile
+ contrib/hbmisc/calldll.prg
+ Added CALLDLL compatibility API interface:
CALLDLL32(), HB_DYNACALL1(), STRPTR(), PTRSTR(), UNLOADALLDLL().
; Lightly tested, it's based on core .dll functions, so it may only
need easy tweaking. Notice that this API support all platforms,
not just 32-bit Windows.
The original library is found in MINIGUI f.e.
* contrib/hbwin/win_shell.c
* Minor formatting.
* contrib/hbwin/wapi_wingdi.c
* contrib/hbwin/hbolesrv.c
! Fixed for msvcarm.
* contrib/hbwin/hbwin.ch
* contrib/hbwin/win_shell.c
+ contrib/hbwin/tests/testcopy.prg
+ Added:
WIN_SHFileOperation( [<hWnd>], [<nFunction>], [<cFrom>|<aFrom>], [<cTo>|<aTo>],
[<nFlags>], [<@lAnyOperationAborted>],
[<aNameMappings>], [<cProgressTitle>] ) -> <nResult>
; Przemek, if you have some time pls review s_StringList()
function which I adapted from similar function in win_dlg.c,
but it might not be perfect. '<s1><\0><s2><\0><\0>' format
is required by this SHFileOperation() Windows function.
* harbour/contrib/hbwin/hbolesrv.c
% improved the performance and reduced memory usage by using hash
array with strict assign order for message names to number translation
in OLE objects accepting any message names
* harbour/contrib/xhb/Makefile
+ harbour/contrib/xhb/xhbhasha.c
+ added xHarbour Hash with Associative Array compatibility functions:
HAAGETKEYAT( <hValue>, <nPos> ) -> <value>
HAAGETVALUEAT( <hValue>, <nPos> ) -> <value>
HAASETVALUEAT( <hValue>, <nPos>, <value> ) -> NIL
HAADELAT( <hValue>, <nPos> ) -> NIL
HAAGETPOS( <hValue>, <xKey> ) -> <nPos>
HAAGETREALPOS( <hValue>, <nPos> ) -> <nRealPos>
HGETVAAPOS( <hValue> ) -> <aOrder>
HSETAACOMPATIBILITY( <hValue>, <lAACompat> ) -> <lDone>
HGETAACOMPATIBILITY( <hValue> ) -> <lAACompat>
These functions were added only for compatibility with existing
xHarbour code. Harbour does not emulate associative arrays by
special index but it uses real natural order for them. It means
that associative array indexes are equal to regular hash indexes
so we do not need any translation between them and Harbour users
can use regular hash array functions for associative array indexes,
i.e. instead of using HAAGETKEYAT() they can use HB_HKEYAT().
* contrib/xhb/xhbfunc.c
+ Added XHB_NETNAME(), XHB_MEMOWRIT()
* contrib/xhb/hbcompat.ch
! Fixed MEMOWRIT() translation. Someone pls test it with
real xhb.
* contrib/xhb/hbcompat.ch
* contrib/xhb/xhb.ch
! Moved xhb_*() function dependent translations to xhb.ch.
(since the promise is that hbcompat.ch translations don't
need xhb lib)
* contrib/xhb/hbcompat.ch
* Grouped together all translations which cannot be
replaced using wrapper technique.
* contrib/xhb/xhbgt.c
* contrib/xhb/xhbfunc.c
! Deleted two wrappers which cannot be wrappers.
(dirty extensions)
* contrib/xhb/Makefile
- contrib/xhb/hbcompat.prg
+ contrib/xhb/xhbfunp.prg
* Renamed.
* contrib/xhb/Makefile
* contrib/xhb/xhbmt.prg
+ contrib/xhb/xhbmtc.c
* contrib/xhb/xhbfunp.prg
% Some .prg wrappers changed to .c ones.
! This also fixed some double implementation
after previous commit.
* contrib/xhb/xhbarr.c
* contrib/xhb/xhbfunp.prg
% Converted RASCAN wrapper to .c and moved to
existing array wrapper source file.
* contrib/xhb/Makefile
* contrib/xhb/xhbfunc.c
+ contrib/xhb/xhbhash.c
% Moved hash wrappers to separate file.
(also synced with xhbfunp.prg content)
- Deleted special macro to disable these wrappers.
* contrib/xhb/Makefile
* contrib/xhb/xhbfunc.c
+ contrib/xhb/xhbinet.c
% Moved inet function wrappers to separate file.
(also synced with xhbfunp.prg content)
- Deleted special macro to disable these wrappers.
* contrib/xhb/Makefile
* contrib/xhb/xhbfunp.prg
+ contrib/xhb/xhbgt.c
+ contrib/xhb/xhbini.c
+ contrib/xhb/xhbproc.c
+ contrib/xhb/xhbregx.c
+ contrib/xhb/xhbmtc.c
+ contrib/xhb/xhbfs.c
+ contrib/xhb/xhbdate.c
+ contrib/xhb/xhbi18n.c
% Rewritten wrappers in .c and moved them to
separate files.
; Few other double definitions fixed after previous commit.
Hopefully now it's optimal and modular, and the best wrappers
were kept.
; Basically hbcompat.ch is now not of too much use, unless
someone specifically want to avoid linking xhb.
* contrib/xhb/Makefile
+ contrib/xhb/hbcompat.prg
+ Added equivalent function wrappers for all hbcompat.ch
translations where such was possible (everywhere besides
"dirty" extensions of original Clipper functions)
; NOTE: This method, as is now, has some advantages:
- doesn't require modification of app source code.
- doesn't require knowledge about hbcompat.ch.
and disadvantages:
- is slightly slower
- will pull unnecessary code parts into the executable
If this change gets positive feedback, the two
disadvantages can be easily mitigated by splitting
hbcompat.prg into multiple .prg sources and replacing
wrappers with .c code where possible.
; Pls review me.
* contrib/xhb/hbcompat.ch
! Minor cleanup.
* contrib/hbcomm/hbcomm.prg
! Fixed return value of OUTCHR(). Thank you Przemek for reviewing.
* contrib/hbqt/generator/hbqtgen.prg
+ Tweaked to operate on local folder and definitions there.
+ contrib/hbqt/hbqscintilla
+ contrib/hbqt/hbqscintilla/doc
+ contrib/hbqt/hbqscintilla/doc/en
+ contrib/hbqt/hbqscintilla/qth
+ contrib/hbqt/hbqscintilla/qth/HBQsciScintilla.qth
+ contrib/hbqt/hbqscintilla/qth/QsciAbstractAPIs.qth
+ contrib/hbqt/hbqscintilla/qth/QsciAPIs.qth
+ contrib/hbqt/hbqscintilla/qth/QsciCommand.qth
+ contrib/hbqt/hbqscintilla/qth/QsciCommandSet.qth
+ contrib/hbqt/hbqscintilla/qth/QsciDocument.qth
+ contrib/hbqt/hbqscintilla/qth/QsciLexer.qth
+ contrib/hbqt/hbqscintilla/qth/QsciLexerCPP.qth
+ contrib/hbqt/hbqscintilla/qth/QsciLexerFlagship.qth
+ contrib/hbqt/hbqscintilla/qth/QsciScintilla.qth
+ contrib/hbqt/hbqscintilla/qth/QsciStyle.qth
+ contrib/hbqt/hbqscintilla/qth/QsciStyledText.qth
+ contrib/hbqt/hbqscintilla/doc/en/class_*.txt
+ Auto generated
+ contrib/hbqt/hbqscintilla/Qsci*.cpp
+ Auto generated.
+ contrib/hbqt/hbqscintilla/THBQsci*.prg
+ Auto generated.
+ contrib/hbqt/hbqscintilla/hbqt_garbage.h
+ Auto generated.
+ contrib/hbqt/hbqscintilla/hbqscintilla.ch
+ Constants for PRG code.
+ contrib/hbqt/hbqscintilla/hbqscintilla.hbp
+ To build hbqscintilla.a/lib
+ contrib/hbqt/hbqscintilla/hbqscintilla.qtp
+ .qth info file.
+ contrib/hbqt/hbqscintilla/hbqt_hbqsciscintilla.cpp
+ contrib/hbqt/hbqscintilla/hbqt_hbqsciscintilla.h
+ contrib/hbqt/hbqt.h
+ Added: constants hbqt_par_Qsci*
; TODO make them local.
+ Initial upload of wrappers for QScintilla.
To generate the sources auto you need to stay in hbqt/hbqscintilla
and issue ../generator/hbqtgen.
HB_WITH_QSCINTILLA and HB_WITH_QT need be properly defined.
I am still finding where to host modified QScintilla, any tips ?
* utils/hbmk2/examples/contribf.hbc
* contrib/Makefile
+ contrib/hbcomm
+ contrib/hbcomm/Makefile
+ contrib/hbcomm/hbcomm.hbc
+ contrib/hbcomm/hbcomm.prg
+ contrib/hbcomm/hbcomm.hbp
+ contrib/hbcomm/tests
+ contrib/hbcomm/tests/hbmk.hbm
+ contrib/hbcomm/tests/test.prg
+ Added HBCOMM compatibility library. It's based on hbct
COM functions. Not tested with real port. Also see one
TOFIX and one INCOMPATIBILITY note inside. The latter
belongs to INCHR() function which in original HBCOMM
library will do HVM corruption by overwriting string
content passed as 3rd parameter. In Harbour 3rd
parameter needs to be passed by reference.
Also added fully adapted test code from HARBOUR MINIGUI
project. Interestingly this code was using the return
value of INCHR() to get the returned buffer, which was
in sync with included HBCOMM code. Anyway, hopefully
this can be finalized based on report from real users.
; DISCLAIMER:
EXPERIMENTAL CODE. USE AT YOUR OWN RISK. NO GUARANTEES.
+ contrib/hbfbird/hbfbird.hbp
+ contrib/hbsms/hbsms.hbp
+ Added early bird experimental .hbp files for contrib
two projects.
* utils/hbmk2/hbmk2.prg
+ Added support for ${hb_dirname} macro which returns the
directory in which the script file is where the macro is
used.
! Fixed so that '-build' option doesn't require a configured
C compiler.
+ Extended hack for bcc autoconfiguration with 5.8 support,
adding an extra system header directory to the include
dir list if it exists. bcc 5.8 appears to be well installed,
so this is probably not needed for most users.
+ Documented dir casing differences between bcc 5.5 and 5.82.
This may be important for autoconfiguration hack to work with
bcc under wine using native hbmk2 build. I'm not even sure
such scenario is possible at all ;)
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/olecore.c
* modified hb_oleVariantUpdate() parameters
+ added automatic conversion of HVM objects to OLE objects for
for parameters passed by reference to Harbour OLE server methods.
* harbour/contrib/hbwin/hbolesrv.c
+ added automatic conversion of HVM objects to OLE objects for
memvars redirected to OLE instance variables.
! fixed typo
* utils/hbmk2/hbmk2.prg
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
+ Added support for 'psources=' and 'pflags=' directives in
.hbc files. They serve the same purpose as cmdline '-pi='
and '-pflag=' options; passing parameters to plugins.
% Minor internal optimizations, also fixing some very rare
and light potential problems with letting to add double
parameters when passing them using different pathseps.
* include/hbapifs.h
+ Added some more HB_EXPORT flags. Pls check me.
* contrib/hbwin/hbolesrv.hbc
+ Added reference to hbwin.hbc, so that it can be used
standalone accompanied by -hbdynvm option to create
OLE servers easily: 'hbmk2 -hbdynvm hbolesrv.hbc ...'
* contrib/hbwin/hbolesrv-watcom.def
! Fixed comments to watcom format.
* utils/hbmk2/hbmk2.prg
! Fixed RTE when parsing certain rarer Windows file types
in sources= directive in .hbc files in *nix hbmk2 builds.
(could only kick in when using hbmk2 under *nix to cross
compile for Windows). Thanks Przemek for the report.
- Deleted doubly added support for .def file parsing in sources=
directive.
* harbour/contrib/hbwin/hbwinole.h
! fixed typo in added extern declarations
* harbour/contrib/hbwin/hbwinole.h
* harbour/contrib/hbwin/axcore.c
* harbour/contrib/hbwin/olecore.c
* harbour/contrib/hbwin/hbolesrv.c
+ added support for automatic conversion of HVM objects returned by
Harbour OLE server methods to OLE objects.
Please test. I cannot make any tests now.
; TODO: if it works then update this code to create some more general
version.
* include/hbapi.h
! Added HB_EXPORT to hb_memvarGet() and hb_memvarSetValue()
used by new OLE server code in hbwin when created -shared
OLE server .dlls.
+ contrib/hbwin/hbolesrv.hbc
+ Added .hbc file to help creating OLE servers.
* contrib/hbwin/tests/olesrv1.hbp
* contrib/hbwin/tests/olesrv2.hbp
* contrib/hbwin/tests/olesrv3.hbp
% Changed to use hbolesrv.hbc.
- Deleted '-static' option to also allow to build -shared
OLE servers. (I tested them OK)
* contrib/hbwin/tests/olesrv2.prg
+ Tweak to allow case-insensitive access of OLE functions.
* utils/hbmk2/hbmk2.prg
+ Added support for .def files in source= .hbc line.
* contrib/hbwin/tests/oletst1.hbp
* contrib/hbwin/tests/olesrv1.hbp
* contrib/hbwin/tests/oletst2.hbp
* contrib/hbwin/tests/olesrv2.hbp
* contrib/hbwin/tests/oletst3.hbp
* contrib/hbwin/tests/olesrv3.hbp
* Changed to reference .hbp files instead of libs.
% Deleted redundant settings already supplied
by .hbm files. (if the goal is to make them
current dir independent, we can add a simple
@hbmk.hbm reference to them)
* contrib/hbwin/hbolesrv-mgw.def
* contrib/hbwin/hbolesrv.def
* contrib/hbwin/hbolesrv-ow.def
+ Added SVN ID as comments.
(I hope watcom supports it, if not pls tell)
; TODO: We should somehow merge these into one .def,
even if it requires some extra hbmk2 "magic".
* contrib/hbwin/tests/oletst1.hbp
* contrib/hbwin/tests/olesrv1.hbp
* contrib/hbwin/tests/oletst2.hbp
* contrib/hbwin/tests/olesrv2.hbp
* contrib/hbwin/tests/oletst3.hbp
* contrib/hbwin/tests/olesrv3.hbp
* contrib/hbwin/hbolesrv-mgw.def
* contrib/hbwin/hbolesrv.def
* contrib/hbwin/hbolesrv-ow.def
+ Added SVN props.