+ contrib/hbqt/hbqt_common.hbc
* contrib/hbqt/hbqt_common.hbm
* contrib/hbqt/hbqtcore.hbc
- contrib/hbqt/hbqtcore.hbp
- contrib/hbqt/hbqtcores.hbp
- contrib/hbqt/hbqtcore_filelist.hbm
+ contrib/hbqt/qtgui/hbqtgui.hbc
+ contrib/hbqt/qtgui/hbqtgui.hbm
+ contrib/hbqt/qtgui/hbqtgui.hbp
+ contrib/hbqt/qtgui/hbqtguis.hbp
- contrib/hbqt/hbqtgui_filelist.hbm
+ contrib/hbqt/qtcore/hbqtcore.hbc
+ contrib/hbqt/qtcore/hbqtcore.hbm
+ contrib/hbqt/qtcore/hbqtcore.hbp
+ contrib/hbqt/qtcore/hbqtcores.hbp
- contrib/hbqt/hbqtgui.hbp
- contrib/hbqt/hbqtguis.hbp
- contrib/hbqt/hbqtnetwork.hbp
- contrib/hbqt/hbqtnetworks.hbp
+ contrib/hbqt/qtnetwork/hbqtnetwork.hbc
+ contrib/hbqt/qtnetwork/hbqtnetwork.hbp
+ contrib/hbqt/qtnetwork/hbqtnetworks.hbp
* contrib/hbplist
* Moved as much as possible make logic to components.
(left central .hbc file to make autofind happy
and hide internal layout details from users)
! Missed some files form prev commits.
+ contrib/hbqt/hbqt.hbp
+ Readded central make file to make it easy to build all
sub-components at once.
- contrib/hbqt/generator2
+ contrib/hbqt/generator/hbqtgen2.prg
+ contrib/hbqt/generator/QtGui.txt
+ contrib/hbqt/generator/QtCore.txt
+ contrib/hbqt/generator/QtNetwork.txt
* Moved generator2 code to generator dir.
* contrib/hbqt/generator/qtcore.qtp
* contrib/hbqt/generator/qtgui.qtp
- contrib/hbqt/qtcore/THBQAbstractItemModel.prg
- contrib/hbqt/qtcore/HBQAbstractItemModel.cpp
+ contrib/hbqt/qtgui/THBQAbstractItemModel.prg
+ contrib/hbqt/qtgui/HBQAbstractItemModel.cpp
* contrib/hbqt/qtgui/filelist.hbm
* contrib/hbqt/qtcore/filelist.hbm
* contrib/hbqt/qtgui/hbqtgui_garbage.h
* contrib/hbqt/qtcore/hbqtcore_garbage.h
* contrib/hbqt/hbqtgui_filelist.hbm
* contrib/hbqt/hbqtcore_filelist.hbm
* Moved GUI dependent classes to hbqtgui.
* contrib/hbqt/hbqt_common.hbm
* contrib/hbqt/hbqtcore.hbc
+ Added my copyright.
* contrib/hbqt/hbqtcore.hbc
+ Added TOFIX about slots subsystem making qtgui references.
* contrib/hbqt/generator/hbqtgen.prg
- Deleted more inactive code.
* contrib/hbqt/hbqt_errorsys.prg
* contrib/hbqt/THbQtUI.prg
* contrib/hbqt/hbqtgui_filelist.hbm
* contrib/hbqt/hbqtcore_filelist.hbm
* contrib/hbqt/hbqt_misc.prg
! Fixed to throw RTE instead of displaying uncontrollable msgbox.
* QT errorsys now calls hbqt_messagebox() directly.
% hbqt_messagebox() moved inside errorsys code and made static.
! Moved QT errorsys to hbqtgui subsystem. Overriding default
errorsys is only required for apps using QT GUI subsystem.
; I didn't test the actual code, so there might be stupid typos
left, pls test me.
* contrib/hbqt/doc/en/*
* Changed after regeneration (due to some last minute changes in
prev commit)
* utils/hbmk2/hbmk2.prg
% normalize rebased sources paths (mingw, *nix/gcc).
- contrib/hbqt/generator/qt45.qtp
+ contrib/hbqt/generator/qtcore.qtp
+ contrib/hbqt/generator/qtnetwork.qtp
+ contrib/hbqt/generator/qtgui.qtp
* Split monolithic .qtp to components.
! Moved QUiLoader to qtgui (from qtcore) to fix circular component
dependency.
* contrib/hbqt/generator/hbqtgen.prg
+ Rewrote to avoid internal tricks to detect which class belongs to
which component.
+ Changed to create GC related functions on a per-component bases
(instead of monolithic hbqt_garbage.h).
* Changed to save documents using core hbdoc API.
% Deleted some unused functions and variables.
; After these changes the generator doesn't have any hard-coded
information about components, so it can be extended with new
one via new .qth files.
* contrib/hbqt/qtgui/*
* contrib/hbqt/qtcore/*
* contrib/hbqt/qtnetwork/*
* contrib/hbqt/doc/en/*
* Regenerated.
- contrib/hbqt/qtcore/TQUiLoader.prg
- contrib/hbqt/qtcore/QUiLoader.cpp
+ contrib/hbqt/qtgui/QUiLoader.cpp
+ contrib/hbqt/qtgui/TQUiLoader.prg
! Moved QUiLoader to qtgui (from qtcore) to fix circular component
dependency.
* contrib/hbqt/qth/QUrl.qth
! Fixed to not inherit from class present in qtgui.
(fixes dependency)
* contrib/hbqt/hbqt.h
- contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/hbqt_hbevents.h
* contrib/hbqt/hbqt_hbslots.h
+ contrib/hbqt/qtcore/hbqtcore_garbage.h
+ contrib/hbqt/qtgui/hbqtgui_garbage.h
+ contrib/hbqt/qtnetwork/hbqtnetwork_garbage.h
- Deleted central header for GC functions.
+ Added per component GC function header.
- contrib/hbqt/filelist.hbm
- contrib/hbqt/hbqt.hbc
- contrib/hbqt/hbqt.hbp
- contrib/hbqt/hbqtmain.hbp
- contrib/hbqt/hbqtmains.hbp
- Deleted central hbqt holder project and .hbc file.
+ contrib/hbqt/hbqtcore.hbc
* contrib/hbqt/hbqtcore.hbp
* contrib/hbqt/hbqtcores.hbp
* contrib/hbqt/hbqtgui.hbp
* contrib/hbqt/hbqtguis.hbp
+ contrib/hbqt/hbqtgui_filelist.hbm
* contrib/hbqt/hbqtnetwork.hbp
* contrib/hbqt/hbqtnetworks.hbp
+ contrib/hbqt/hbqtcore_filelist.hbm
+ Merged qtmain lib content to qtcore and qtgui. This finally
drops the need for an additional wrapper lib compared to qt ones,
and it fixes build dependencies.
Formerly libs had circular dependencies, now qtcore is the
main lib and other qt* libs depend on this central one.
* contrib/hbqt/hbqt_common.hbm
+ Added qtcore to header path list.
* contrib/hbqt/tests/hbmk.hbm
* contrib/hbqt/tests/wvtqt.hbp
* contrib/hbxbp/hbxbp.hbc
* Updated to include per component .hbc files instead of
central hbqt.hbc.
* contrib/hbplist
* Changed central hbqt project to its three components.
* contrib/hbxbp/tests/wvtqt.hbp
! Fixed hbc reference.
; After these changes, the qt lib layout is much cleaner and
it makes it possible to build .dll versions of them. Except
still one issue.
; TODO: Further cleanup to file layout. Componentize docs,
qth files, move files in central dir to component dirs.
; TOFIX: hbqtcore references qtgui in QMESSAGEBOX() which is a
hbqtgui function. This has to be fixed. hbqtcore.dll is
not build because of this.
The easiest would be to rewrite HBQT_MESSAGEBOX() in
C++ to use QMessageBox QT class directly and place
this function into hbqtcore.
Pritpal, can you do it?
; TOFIX: If this is done it would be also good to fix hbqtcore -> qtgui
dependencies. Currently this is QMessageBox plus some stuff
referenced from hbqt_hbqabstractitemmodel.cpp. This latter
can pbly be solved by moving this HB class to hbqtgui.
* contrib/gtwvg/wvgscrlb.prg
% Reversed the order of structures to comply with current scenario.
* contrib/hbide/setup.ui
+ Added: checkbox: Edits MDI.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idebrowse.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idetools.prg
+ Implemented: MDI interface for editing panels.
This implementation is on top of existing one and is switchable
through "Setup->Edits MDI". For now it is "ON" by default just
to give a first-hand experience to the user and show advantages
it has over existing one.
LAYOUT: Editing area is comprised of :
1. Top toolbar
Collection of actions which affect the presentation of
panels, windows hosting them and editors.
2. Left toolbar
Collection of actions which affect editing instances.
3. MDI Area
Hosting panels inside MDI windows.
4. Various panels in MDI area, each separate in a MDI window:
a. <Stats>
Holds: <Welcome> and <FAQ> tabs.
b. <Main> panel, the default one, always present.
c. <User-defined Panel 1>
<User-defined Panel 2>
<User-defined Panel n>
Holds: n number of editing instances each per tab in a tabbed widget.
Every panel has the same behavior as before.
All features are exactly the same as before.
ADVANTAGES: allows to view and edit multiple sources simultaneous.
: better organization of sources across logical development units.
Regression is possible though every care has been taken for accuracy.
Toggling MDI to Stacked mode is not in-place, hbIDE needs to be exetuted
again to take this change active.
* utils/hbmk2/hbmk2.prg
* Changed to not give fatal error if cmdline (or .hbp)
didn't contain any sources. Just warn. Required for hbqt.hbp,
which is a holder project without own output.
; NOTE: BTW HBQT fails very badly on any dynamic lib creating
attempt, and the reason is that it's still a monolithic
lib under the surface, just split some files into separate
libs to avoid cmdline length.
* contrib/hbqt/hbqt.hbc
* contrib/hbqt/hbqt.hbp
+ contrib/hbqt/hbqtmain.hbp
- contrib/hbqt/hbqts.hbp
+ contrib/hbqt/hbqtmains.hbp
* Renamed hbqt lib to hbqtmain.
* Flattened the internal .hbp sub-projects to control the
build order (until hbmk2 gets automatic internal sub-project
dependency order sorting logic).
This was required for HB_BUILD_CONTRIB_DYN mode, because
hbqt (now hbqtmain) needs to be built first, to be able to
link hbqtcore and the rest.
* contrib/hbqt/hbqt_hbqabstractitemmodel.h
! Fixed missing copyright and SVN headers.
* contrib/make.hbs
% Code consolidation.
! Fixed recent regression, whereas now again the root project's
.hbc file will be added to the make process in HB_BUILD_CONTRIB_DYN
mode.
+ Changed the way filter is processed, now dependent packages will
always be built, so there is no need to manually pick all the
dependencies too.
* Internal terminology cleanup.
+ Will now also rebuild the _dependencies_ in HB_BUILD_CONTRIB_DYN mode.
- Deleted forcing English language for hbmk2 output.
; Regressions are possible
; NOTE: This dynamic stuff is a real can of worms. Virtually infinite
combinations of dynamic vs static libs may be supported, plus
there is ST vs MT issue, where we must decide about this at
dynlib build time, and f.e. what happens when trying to load
two .dlls one with was linked against MT Harbour and the other
against ST? It's a combinatorical explosion.
* src/vm/vmmt/Makefile
! Fixed missing procaddr.c causing unresolved externals when creating
MT mode dynlibs.
* config/global.mk
! Attempt to fix LD_LIBRARY_PATH problem, adding dynamic lib build
dir to this envvar while doing the build, pls test it, I didn't.
+ contrib/hbplist
- contrib/pkglist
* Renamed.
* contrib/hbct/ctwin.h
! Added missing HB_EXPORT.
* contrib/xhb/xhb.hbp
* contrib/hbgd/hbgd.hbp
! Added missing project references also to .hbp files.
* utils/hbmk2/hbmk2.prg
! Fixed regression with mingw -hbdyn after adding new stub which
stole the show by explicitly exporting one symbol which (due
to autoexport function in mingw) prevented regular symbols to
be exported. This fix will remove the exception so far applied
to mingw/cygwin compilers where HB_DYNLIB was not used with these,
now it's used equally on all compilers/platforms. For this to
be effective, it should be noted that HB_EXPORT must be used
in all public declarations, even in contrib.
! Fix (?) to not include MAIN proc force code when building with
hbmaindllp.
* contrib/xhb/thtm.prg
% Changed hbct LTOC to simple iif()
; TOFIX: xhb makes reference to (deprecated) hb_symEval symbol:
Info: resolving _hb_symEval by linking to __imp__hb_symEval (auto-import)
* contrib/rddsql/hbrddsql.h
! Added HB_EXTERN_BEGIN/END
! Added HB_EXPORT
! Added extern
* contrib/sddoci/sddoci.hbp
! Restored some flags present in old Makefile to make it
work with mingw and bcc.
* contrib/hbqt/generator/hbqtgen.prg
* contrib/hbqt/hbqt.h
! Fixed to add HB_EXPORT to public declarations.
; TOFIX: hbqt still doesn't link in hbdyn mode.
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/doc/en/*.txt
* Regenerated.
* contrib/hbqt/hbqt.hbc
! Fixed to not include QtUiTools in -hbdyn mode. It creates duplicate
symbols at link. Maybe this is not the right fix, go figure.
(HB_STATIC_QT mode still has to be checked)
; TODO: Add ${__HB_DYN__} to all .hbc files.
* include/Makefile
+ include/hbexturs.ch
* include/hbextern.ch
+ Moved User RDD declarations to separate file so that they
can be included without the full set of Harbour functions.
* include/Makefile
! Added missing hbcom.ch
* utils/hbmk2/hbmk2.prg
+ -implib= option now accepts filename, too (exactly like -o option)
So it's possible to manually set the generated implib lib in
-hbdyn (and -hbexe) modes.
* contrib/hbpost.hbm
+ Moved the _dll/_exe implib output name postfixing logic from
hbmk2 (though hbmk2 will still keep appending these by default)
This way the "_dll" postfix thing is fully controlled by make.hbs
and hbpost.hbm, no hidden "agreements" with hbmk2.
* config/global.mk
+ Added log warning, if the source tree is modified.
* contrib/make.hbs
+ Reworked, simplified internals to support multiple projects
inside one package directory (currently hbtip is the only one)
+ Implemented to honor directories in .hbc references.
(clearing one item in TODO list)
; HB_BUILD_CONTRIB_DYN feature is out of experimental status
as far as make.hbs is concerned.
* contrib/hbmzip/hbmzip.hbc
* contrib/hbxbp/hbxbp.hbc
* contrib/hbnetio/hbnetio.hbc
+ Added experimental support to request libs in dynamic (.dll) flavour.
Currently this can be enabled by setting envvar: __HB_DYN__=_dll
To make this work one has to build all contribs using HB_BUILD_CONTRIB_DYN=yes
beforehand.
* include/hbextern.ch
* src/rdd/usrrdd/usrrdd.c
! Fixed typo in function name: WRITEBHEADER() -> WRITEDBHEADER()
Eagle-eye spotted by Marcos Gambeta.
* contrib/make.hbs
! Fixed to include dependent .hbc files instead of referencing
own .hbc file in HB_BUILD_CONTRIB_DYN mode. It was not good
solution as it was referencing itself that way.
+ Will now request dynamic version of dependencies when building
HB_BUILD_CONTRIB_DYN dynlibs. This is required otherwise f.e.
hbxbp lib will contain a static copy of hbqt libs, which is not
very good.
! Fixed to not attempt to build dynamic version of referenced
projects in HB_BUILD_CONTRIB_DYN mode.
* contrib/hbct/hbct.hbc
* contrib/hbqt/hbqt.hbc
* contrib/rddsql/rddsql.hbc
* contrib/hbtip/hbtipssl.hbc
* contrib/hbtip/hbtip.hbc
* contrib/hbwin/hbwin.hbc
* contrib/hbssl/hbssl.hbc
+ Experimental move to support linking dynamic version of the
dependencies when building dynamic lib in HB_BUILD_CONTRIB_DYN
mode. This is starting to get insanely ugly (thanks Microsoft)
so I'll with it some more and probably leave it.
; I hope I didn't miss any contribs which can also be a dependency
(probably I did)
* contrib/pkglist
* contrib/hbtip/hbtip.hbp
* hbtipssl made a separate project instead of being a sub-project
of hbtip. hbtipssl has different dependencies, so this move
was needed for libdyn support.
* INSTALL
* tdragon mingw marked as non-recommended. They due to
incompatible with previous release tool naming, our make
systems cannot currently support it. (it needs CCPOSTFIX
for windres tool when using the dwarf-2 installation)
* utils/hbmk2/hbmk2.prg
+ Will now autodetect /bin/plat/comp bin dir, if present.
! Fixed to set dynlib dir to bin dir on non-*nix platforms.
As a conseqeunce bin dir will now be added to the libpath
list on these platforms. Allowing to access .dlls directly
in compilers that support it (mingw).
! Fixed to use HB_INSTALL_PREFIX instead of bin dir as a base
to find addons/contribs dir structures (for .hbc autofind).
! Fixed to really include hbmaindllp stub added in recent commit.
Anyhow, loading contrib .dlls dynamically still don't work.
* contrib/make.hbs
! Fixed to honor user setting when creating dynlib in stdalone mode.
* contrib/hbcomm/hbcomm.prg
* space @ EOL.
* utils/hbmk2/hbmk2.prg
+ Added -depimplib[-] option to contrib implib creation for
dependency dlls.
+ Added -autohbm[-] cmdline-only option to disable processing of
hbmk.hbm in current directory.
* contrib/hbpost.hbm
+ Disabled implib creation for dependency dlls for HB_BUILD_CONTRIB_DYN
mode.
* contrib/hbgd/hbgd.hbp
! Fixed to use .lib as implib source for coff-compatible targets and mingw.
; NOTE: Successfully created a small test app which uses harbour.dll and
contrib .dlls:
'contrib\hbct\tests\hbmk2 addascii.prg -lhbct_dll -shared -autohbm-'
'contrib\hbpgsql\tests\hbmk2 async.prg -lhbpgsql_dll -shared -autohbm-'
(-autohbm is there only to disable hbmk.hbm processing)
Quite nice, isn't it?
For these examples, there are problems:
'contrib\hbblat\tests\hbmk2 blatcmd.prg -lhbblat_dll -lhbwin_dll -shared -autohbm-'
It's showing application errro 0xc0000142.
For this other one:
'contrib\hbgd\tests\hbmk2 barms.prg -lhbgd_dll -shared -autohbm-'
It's showing this RTE:
---
Error BASE/3003 Cannot find super class: __CLSINSTSUPER
Called from __CLSINSTSUPER(0)
Called from HBCLASS:CREATE(0)
Called from TCODE(0)
Called from MAIN(30)
---
"Almost" there. If you have any idea why it fails, pls tell.
Loading contrib pcode .dlls dynamically:
--- hbmk2 testdyn.prg -shared -autohbm-
DYNAMIC CHARADD
PROCEDURE Main()
LOCAL l := hb_libLoad( "hbct.dll" )
IF ! Empty( l )
QOUT( CHARADD( "abc", Chr( 1 ) ) )
ENDIF
RETURN
---
Running it results in:
---
Error BASE/1001 Undefined function: CHARADD
Called from CHARADD(0)
Called from MAIN(7)
---
* utils/hbmk2/hbmk2.prg
! Fixed RTE when using post-process command on systems without
implib functionality. Recent regression.
% Fixed bad performance in default -head=partial mode, which made
it slower than -head=full. Now they are on par, so maybe -head=full
should be made the default and partial mode deleted.
; Thanks to Przemek for bug reports.
* include/hbset.h
* include/hbgtcore.h
* include/hbapi.h
+ Added some HB_EXPORT flags.
* src/rdd/usrrdd/usrrdd.c
! Fixed to prev since new warnings appeared after the change.
Please review this. The stack API in some places expects
'int' while other calls use HB_ISIZ. In this case a value
is formed from ( hb_stackTopOffset() - hb_stackBaseOffset() ),
both HB_ISIZ, which is then passed to hb_stackItemFromBase(),
which expects an int.
What is the best way to correct this?
* src/rdd/usrrdd/usrrdd.c
! Fixed new msvc64 HB_ISIZ vs HB_LONG warnings popped after
finishing variable cleanup in stack API.
* src/rdd/dbcmd53.c
! Silenced one remaining warning (with a cast) in hbrdd lib.
* utils/hbmk2/hbmk2.prg
! Fixed ${hb_workdynsub} macro not returning correct value.
! Fixed to install implibs when -instforce is used and targets are
up to date.
+ Added -implib=<dir> option to control placement of implibs generated
in -hbdyn and -hbexe modes. (by default it's the output dir for
main target)
+ Added autodetection of hbmaindllp lib and this case generate little
stub posted by Przemek on the list earlier this year, and in this
case also enabling linkage of shared Harbour lib in -shared mode.
NOTE: Pls check this, this solution is Windows centric, but until
I know this is the correct track I didn't want to extend it.
Przemek can you take a look at it?
* Changed the install group name to "depimplib" for implibs generated
for dependencies, and use "implib" group for implibs generated for
our own targets. This is needed to be able to control them
separately, since we don't necessarily want to install "depimplib"
while we always want to install "implib"s.
* contrib/make.hbs
* contrib/hbpost.hbm
* Updated list of TODOs
* HB_BUILD_CONTRIB_DLL changed to HB_BUILD_CONTRIB_DYN
+ HB_BUILD_CONTRIB_DYN now works also in stdalone mode.
% Moved HB_BUILD_CONTRIB_DYN related options to hbpost.hbm
+ Added -shared and -lmaindllp options to dynamic lib build mode.
* Changed dependency implib install target to have 'depimplib'
prefix to differenciate from -hbdyn implib install target.
+ Added -implib=<dir> option to tell hbmk2 to create implibs
in lib dir in -hbdyn mode.
+ Added install target for implibs generated in -hbdyn mode.
; All this means that now by setting HB_BUILD_CONTRIB_DYN=yes,
a dynamic version will be build of the libs, import lib
placed in lib dir, dynamic lib placed into dynamic lib dir
(bin on non-*nix platforms, lib on *nix platforms).
IOW, now HB_BUILD_CONTRIB_DYN=yes should work, at least on
win and wce. I didn't make functional tests though.
Please review/test it.
* harbour/src/rdd/workarea.c
* harbour/src/rdd/wacore.c
* harbour/src/rdd/dbcmd.c
* harbour/src/rdd/dbf1.c
* harbour/src/rdd/dbcmd53.c
* harbour/src/rdd/usrrdd/usrrdd.c
* harbour/src/rdd/wafunc.c
* harbour/src/rdd/hbsix/sxcompr.c
* casting and type modifications to eliminate possible lost data
warnings
+ contrib/hbmisc/bbabble.c
+ contrib/hbmisc/tests/testbbab.prg
* contrib/hbmisc/hbmisc.hbp
+ BubbleBabbleEncode(): Added BubbleBabble encoder. There is
also an equivalent version written in Harbour in testbbab.prg.
* include/hbsocket.h
* src/rtl/hbsocket.c
! Fixed type in C level function name.
* src/rtl/hbdoc.prg
! Fixed to always use CRLF as EOL in internal doc data.
* contrib/hbtip/utils.c
! HB_BASE64() marked as HB_LEGACY_LEVEL3.
+ Added TIP_CRLF()
* contrib/hbtip/smtpcli.prg
* contrib/hbtip/client.prg
* contrib/hbtip/ftpcli.prg
* contrib/hbtip/mail.prg
* Using TIP_CRLF() instead of HB_INETCRLF().
* config/postinst.hbs
+ More meaningful message when doing 'make install' without
HB_INSTALL_PREFIX being set.
* contrib/hbpost.hbm
+ Added extra protection to not try to install anything when
using 'install' without target dir being specified.
* INSTALL
* Updated to reflect the optional nature of make 'install'
option.
* Updated to reflect change in HB_INSTALL_PREFIX.
* {hb_top} HB_INSTALL_PREFIX macro not documented anymore.
* 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: methods to control code completions and completion tips.
+ contrib/hbide/resources/help1.png
+ contrib/hbide/resources/infotips.png
* contrib/hbide/hbide.qrc
+ Added: two more images foe code completions and completion tips.
* contrib/hbide/idedocks.prg
* contrib/hbide/ideedit.prg
* contrib/hbide/ideeditor.prg
+ Added: controls to toggle code completions and completion tips.
The settings are not saved for the next run and are applicable
per editing instance.
* contrib/hbide/hbide.prg
! Minor.
* contrib/hbide/idethemes.prg
+ Added: "PROCEDURE" and "THREAD" as Harbour keywords, got missed somehow.
* contrib/hbide/ideedit.prg
* contrib/hbide/ideskeletons.prg
+ Implemented: Code Snippets->execution->Ctrl+K : inserts the snippet
if word under cursor is one of the name of a code snippet definition.
So, if you have a snippet named "doit" then immediately after
typeing "doit" you press Ctrl_K, then, instead of presenting you
with menu to select a snippet, it is executed automatically.
* debian/dirs
! Deleted doc/en dir.
* doc/Makefile
- doc/whatsnew.txt
+ NEWS
* COPYING
* doc/howtorel.txt
* debian/changelog
* package/mpkg_win.nsi
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
* Renamed doc/whatsnew.txt to /NEWS
* debian/copyright
* Updated with COPYING content.
* package/harbour.spec
! Fixed to include doc/* instead of doc/*.txt.
* utils/hbrun/hbrun.prg
- Deleted envvar method of passing dirbase to scripts.
* contrib/make.hbs
+ Using HBRUN_DIRBASE() function instead of envvar trick.
Maybe some more generic named value passing would be better.
* contrib/Makefile
! Using '-' prefix when running hbrun instead of '+', to not
cause fatal breakage in build stage if make.hbs contains
something which previous build of hbrun didn't offer.
* config/global.mk
- HB_INSTALL_PREFIX will not default anymore to source root
dir (on non-*nix systems) to avoid FAQ where installation
fails because of former install into source root, causing
old contrib headers to ovveride current ones and breaking
build. Please note that 'install' is truly optional with
current builds, so only use it for what it was designed.
Pls should if some things fail with empty HB_INSTALL_PREFIX
and requesting 'install' anyway.
* contrib/xhb/xhbat.c
! Applied this fix to Harbour:
2010-07-29 12:28 UTC-0430 Ron Pinkas <ron.pinkas/at/xharbour.com>
* source/rtl/at.c
+ Added missing extended strings support, to hb_AtSkipStrings()
* harbour/contrib/rddads/adsx.c
! fixed RDDNAME() value by implementing newarea RDD method
+ ADSVFPX RDD
* harbour/contrib/rddads/rddads.hbp
! fixed ACE library name for linux
* utils/hbrun/hbrun.prg
* utils/hbrun/hbrun.hbp
* utils/hbrun/Makefile
- Deleted "burn-in" trick to tell hbrun where to find the
Harbour include dirs. We need to find something universally
useful (portable).
* harbour/src/compiler/gencc.c
! fixed wrongly used HB_ISIZ instead of HB_LONG
* harbour/package/harbour.spec
! fixed /etc/ld.so.conf.d detection
% minor improvement
; TOFIX:
* /etc/ld.so.conf.d/harbour.conf in final RPM contains
wrong path due to missing HB_INSTALL_PREFIX
* soft links to harbour shared libraries for systems
without /etc/ld.so.conf.d are missing
* soft links with short shared libraries names are missing
and current long names do not confirm standard Linux
shared library naming convention:
<name>.so[.<maj>[.<min>[.<rel>]]]
hbmk2 also uses short names so it does not work correctly
with binaries installed from the RPMs
* src/rtl/hbsocket.c
! hb_socketBind((): Deleted hb_socketSetReuseAddr() call,
which caused that the same addr:port could be opened multiple
times on Windows (tested on 7) systems, causing uncertain behavior.
This is documented MS (mis?)feature.
* utils/hbrun/hbrun.prg
+ Added public function HBRUN_DIRBASE() which returns the
same value as envvar __HBRUN__DIRBASE, but this one looks
a superior interface between scripts and runner environment.
Pls comment.
* contrib/make.hbs
* contrib/hbpost.hbm
* Updated TODO list.
* Renamed internal _HB_*_INSTALL vars to _HB_INSTALL_*
; TODO: Do the same in Harbour with HB_*_INSTALL envvars.
* utils/hbmk2/hbmk2.prg
! Changed pkg-config based dependency detection to only consider
a given component present, if there is -I option present
among the returned options. This should fix false positive
cups detection, though I've yet to try it.
Maybe it'd be even better to make detection even more robust
by checking for the key header on the found headers paths
when using pkg-config based detection.
* utils/hbrun/hbrun.prg
+ Making available original hbrun location using __HBRUN__DIRBASE
envvar. This information is lost when doing the argshift trick,
pls shout if you see a better solution for it (or any concerns
with this one).
* contrib/make.hbs
+ Will now use unified method for both stdalone and GNU Make to
find out the location of hbmk2. It will look for it in the same
dir as of hbrun's.
* config/postinst.hbs
* Converting bash to .prg in progress.
* INSTALL
+ Documented Mac OS X architecture flags.
* package/harbour-win.spec
* package/harbour-wce.spec
* package/harbour.spec
- Deleted package properties not recommended by RPM docs.
+ Added RPM doc references.
- Deleted commented lines.
% Optimized out seemingly unused temp envvars. (I didn't retest)
* package/winuni/mpkg_win_uni.nsi
+ Added bin/*.hbs files.
* config/postinst.hbs
- Deleted mandrake distro autodetection.
* contrib/hbide/idestylesheets.prg
+ Disabled all UI customizations when "animations" is not enabled.
This makes the UI to look like on normal system UI on all supported
OSes (IOW it now looks like a standard application), it fixes
most reported visual irreguralitites on Linux.
Maybe multiple levels of UI customizations are required, anyway
totally off should always stay an option and only those configs
should be presented on a given platform which were actually tested
on that given platform.
It didn't fix the bugs in highlight position calculation, which
is off on Linux (latest Ubuntu) by almost a line in some occasions.
* package/harbour.spec
! Deleted hbbz2 from lib list. It was not added to contrib list.
; TOFIX: This separately maintained contrib (and target lib) list
should be somehow avoided. It's a permanent maintainence
problem.
Is there a way to automatically include all files in a
given directory when creating rpms?
! Added hbminizip lib to lib list.
! Deleted one of the double hbmzip libs from lib listing.
! Added .hbl and .hbs files in bin dir.
* utils/hbmk2/hbmk2.prg
+ Added -instforce option which will force the target to be
copied to -instpath even if it was up to date. This is to
make it in sync with GNU Make behaviour, where single
'make install' will copy everything regardless of being
up to date or not.
* contrib/hbpost.hbm
+ Added -instforce to make it in sync with old GNU Make
behavior. Such case is exploited by .rpm generation, and
this is the reason why the contrib libs weren't
appearing in target lib dir.
* config/postinst.hbs
+ Added two .so related TOFIXes.
* mpkg_src.sh
+ Changed to always delete temp file bin/hb_flst.tmp containing
a list of all source files. (anyone knows why was it left there?)
* package/harbour.spec
* Minor in comment.
* Temply commented adding .so files in the lib/ root (without harbour postfix)
* contrib/make.hbs
* contrib/hbpost.hbm
+ Added support for HB_MAN_INSTALL, HB_ETC_INSTALL.
* utils/hbmk2/hbmk2.prg
+ Enabled multi-input compilation for *nix gcc family. This means that
all C source files will be now compiled in one gcc invokation, instead
of compiling them one by one.
% PATHNORMALIZE(): delete unused function.
% ISDRIVESPEC() converted to macro _ISDRIVESPEC().
* config/postinst.hbs
+ Added code to create ld config file.
+ Added commented original bash code to create .so links which I cannot
understand. Anyone to jump in?
+ Added PathNormalize() function from hbmk2.
+ Changed back DirBuild() to always normalize path before creating it
(to filter out potential ".." and "." dirs from it). Required for
ld creation.
* config/global.mk
* HB_ETC_INSTALL is now format equally on all *nix platforms to have a
'harbour' subdir. Required to work well with ld creation logic in postinst.hbs.
* contrib/hbxbp/xbplistbox.prg
+ Added: method :setVisible().
* contrib/hbide/ideedit.prg
* contrib/hbide/hbide.prg
+ Implemented: "Functions List" now supports "Sorted" and "Natural Order"
display which is switchable via right-click context menu.
* contrib/hbide/idedocks.prg
% Fixed: a rare bug where if hbIDE is minimized by any other action
than clicking on the "Minimize" title-bar icon on the right,
on restoration it was producing RTE.
* contrib/hbide/idesaveload.prg
+ Added: ::aDictionaries instance variable. Futuristic implementation.