* include/hbapicom.h
! Fixed missing HB_EXTERN_BEGIN/END
+ Added HB_EXTERN
* external/patchup.prg
; Patch and log text by Tamas Tevesz:
+ don't let first `map' source be non-flat (would break
tree top search)
+ on errors, also cite line numbers for easier makefile debugging
+ check and enforce destination files to fit in the 8+3 naming
scheme
+ document (mis)features of, and requirements for `URL' + small
clarifications
* contrib/hbqt/utils/hbqtui.prg
* contrib/hbqt/utils/hbqtui.hbp
- Deleted HBQT dependency. It's not needed for this tool.
* contrib/makefile.prg
+ Rearranged build order to satisfy dependencies.
* utils/hbmk2/hbmk2.prg
+ Added internal ${hb_workdynsub} variable to return subdir of
intermediate files built for dynamic libs on platforms where
dynamic libs require different compiler settings.
+ Adjusted the place where plugin event 'pre_c' is called from.
* contrib/xhb/xhb.hbp
! Synced variable list with Makefile.
* contrib/hbqt/hbmk2_plugin_moc.prg
* contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Reworked to properly support -clean
+ Reworked to not try building files when some other
factors (f.e. -stop option) would skip building
their output files.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
! Fixed unused var warning.
* contrib/hbziparc/hbziparc.hbp
! Added missing reference to hbmzip.hbc.
* contrib/hbnf/ftint86.c
! Added another dummy function required by .prg files.
* contrib/hbxpp/tbrowsex.prg
! Commented function call referencing a non-existent
function (it's a STATIC function in core)
* contrib/makefile.prg
* Changed the way HB_BUILD_NAME is handled.
* Changed the way how target dir is formed.
(delegating more work to hbmk2)
* utils/hbmk2/hbmk2.prg
+ -hbimplib mode now respects -clean option.
* contrib/hbqt/hbmk2_plugin_moc.prg
* contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Will only display tool detection information if -info
option is used.
* contrib/makefile.prg
+ Setting -width=1000 to not break up output.
* contrib/gtalleg/gtallegs/Makefile
* contrib/gtalleg/gtallegs.hbp
! Fixed regression: disabled for pocc again.
* contrib/hbqt/plug_moc.prg
* contrib/hbide/resources/hbmk2_plugin_uip.prg
! Fixed to not build in -clean mode.
* contrib/hbqt/plug_moc.prg
! Fixed to honor 'HB_WITH_QT=no' setting.
* contrib/hbqt/utils/hbqtui.prg
! Fixed to not RTE in various error situations.
+ contrib/hbnf/ftint86.c
* contrib/hbnf/Makefile
* contrib/hbnf/hbnf.hbp
+ Added dummy FT_INT86() function to make the .dll link
properly. Many functions are relying on this call, which
makes them not work and makes their implementation DOS
specific.
* contrib/makefile.prg
! Fixed clean mode to not create a build, too.
+ SETCANCEL( .F. ) (trying to solve not working break key)
+ Don't attempt to build dynlib versions of contribs not
having an .hbc file.
* contrib/hbtip/hbtipssl.hbp
! Fixed typo in hbssl.hbc reference.
* contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Added hbqtui location detection. (HBQTUI_BIN envvar,
Harbour bin dir and PATH)
* contrib/hbqt/hbqt_common.hbm
- contrib/hbqt/plug_moc.prg
+ contrib/hbqt/hbmk2_plugin_moc.prg
+ Renamed. Not sure this will be the final one, anyways keeping
consistency.
+ contrib/makefile.prg
+ Added new control script which is meant to orchestrate
building contribs, both libs and utils, with clean/install
support and option for extra lib/bin addons. It's also
possible to build dynamic version of the libs.
* examples/rddado/adordd.prg
* Cleanups.
* examples/rddado/rddado.hbp
+ Added -w3 option.
* contrib/gtalleg/gtallegs/Makefile
* contrib/gtalleg/gtallegs.hbp
! Disabled static build for everything except msvc and pocc.
* contrib/gtalleg/gtallegs.hbc
! Added libdir for static lib.
+ contrib/gtalleg/tests/test.prg
+ Added simple test app.
* src/rtl/gtwvt/gtwvt.c
+ SETMODE() will now support automatic resizing of font to make
requested dimensions fit on the screen, when HB_GTI_RESIZABLE
is enabled. (Previously in such case SETMODE() returned .F.)
Please test/review it.
* examples/rddado/tests/test.mdb
! Updated with newly generated one. Seems this file "rots" while
left sitting there on SVN, this is probably the 3rd time I'm
doing this, just to make it open. [ or maybe the file format
required by ADO changes constantly with OS updates/upgrades? ]
* examples/rddado/tests/access1.prg
! Deleted debug code leftover.
* Minor cleanups
* examples/rddado/tests/access2.prg
+ Added date column
! Fixed LOCATE command filter argument. It was not working
since the initial committer added it, because the filter
string used Harbour syntax, while it requires ADO (SQL-like)
syntax. RDDADO will make a very basic attempt to help in
that conversion, but f.e. aliased field names (and many
others) will break it. So: use ADO filter syntax until
this gets properly resolved.
* Minor cleanups
* examples/rddado/rddado.hbc
! Added missing libpath option.
* utils/hbmk2/hbmk2.prg
+ Added '-quiet-' option to turn off -quiet switch.
(note that -quiet will also force off -info, so after
-quiet- you also want to use a -info option to reverse
that)
* external/patchup.prg
+ Added patch by Tamas Tevesz:
- if rediffing, patchup will now proceed even if there's no DIFF. this
helps when creating the very first diff.
- new file name defaults to $(component).dif
- if a rediff produces no result (no differences between upstream and
hb), no zero-length .dif will be written, and a possibly
pre-existing diff will be removed.
there's still some room for improvement for patchup to articulate what
it is doing, but hopefully not even the current one is confusing.
+ contrib/hbwin/hbwin.hbp
+ Added hbmk2 build file
* contrib/hbwin/legacycd.c
* contrib/hbwin/wapi_winbase.c
* contrib/hbwin/win_evnt.c
! Fixed msvc cast warnings (when building using hbmk2)
Two of them were long time notorious ones.
* external/png/Makefile
! Fixed one MAP entry. Patch by Tamas Tevesz.
* contrib/hbodbc/todbc.prg
! Attempt to fix sf.net bug #2984474.
- TODBC class seems to have a typo where ROUND() is called with
full number width instead of number of decimals in
in TODBC():LoadData() method
- Added SQL_BIGINT to list of numeric types when doing the
conversion in TODBC():LoadData() method.
; Please review me a test with real ODBC connection, these were
blind fixes, I'm not user of TODBC class.
* src/rtl/achoice.prg
! ACHOICE(): Fixed two navigation bugs (misplacement and RTE)
reported by Abe Buchinger.
Many thanks to Jerry Finuliar for the patches.
* external/libhpdf/Makefile
- external/libhpdf/libhpdf.dif
* external/patchup.prg
+ Applied three patches sent to the list by Tamas Tevesz,
tweaking patchup tool and pcre metadata.
Pls check me, there was one hunk failure which I redid
manually.
+ external/patchup.prg
+ Added new 'patchup' Harbour script written by Tamas Tevesz.
The script serves as a tool to automate downloading,
file renaming, patching and recreating local .dif for
source packages we host locally in external directory.
The tool is also able to automatically recreate .dif file
after making local modifications in these sources,
don't forget to run 'hbrun patchup -rediff' in such case.
[ It replaces prev ren_sfn.prg tool created by me. ]
Please make sure to read the documentation and tool
requirements included in the .prg itself.
Very nice job, thanks a lot Tamas.
; TODO: Updating Makefiles with new metadata.
- config/ren_sfn.prg
- Deleted tool now superceded by patchup.prg
* include/hbdefs.h
+ Added two new abstract types: HB_AREANO, HB_FIELDNO
* src/rdd/wacore.c
* src/rdd/dbcmd.c
* src/rdd/dbcmd53.c
* src/rdd/wafunc.c
+ Using above abstract types as casts to pacify long time
msvc warnings.
+ Using HB_USHORT cast to pacify msvc warnings in hb_rddList()
and hb_rddRegister() (shouldn't these have 'int' parameters?)
* contrib/xhb/xhb.hbp
* Synced with actual file list.
* harbour/include/hbgtinfo.ch
* harbour/include/hbgtcore.h
* harbour/src/rtl/hbgtcore.c
+ added HB_GTI_INKEYFILTER which allows to set/get codeblock used to
filter inkey key codes. This codeblock receives as 1-st parameter
actually processed inside INKEY() function key code. It should return
final inkey code (it can be the same or 0 if key should be ignored.
I.e. this code change key 'a' to 'B' and blocks 'c':
hb_gtInfo( HB_GTI_INKEYFILTER, { | nKey |
SWITCH nKey
CASE ASC( 'a' )
RETURN ASC( 'B' )
CASE ASC( 'c' )
RETURN '0'
ENDSWITCH
RETURN nKey
} )
+ added HB_GTI_INKEYREAD which allows to set/get codeblock executed
just before INKEY() reads key code from the GT typeahead buffer.
If it returns non 0 numeric value then this value is returned instead
as inkey code. Otherwise standard inkey procedure is activated and
key code is read from the GT typeahead buffer.
* harbour/include/hbextern.ch
* harbour/src/rtl/inkey.c
- removed HB_INKEYSETPREBLOCK() and HB_INKEYSETPOSTBLOCK() functions
* harbour/contrib/xhb/Makefile
* harbour/contrib/xhb/xhbgt.c
+ harbour/contrib/xhb/xhbinkey.prg
* harbour/contrib/xhb/hbcompat.ch
* updated emulation of xHarbour hb_SetInkeyBeforeBlock() and
hb_SetInkeyAfterBlock() functions to use new HB_GTI_* functionality.
Incompatibility warning!
In Harbour timeout value passed to inkey() is correctly respected
and not reset internally on each call to inkey after block.
If inkey before block returns non 0 numeric value then it's not
ignored but returned as INKEY() function result without touching
GT typeahead buffer.
* contrib/hbnetio/netiocli.c
* contrib/hbnetio/netiosrv.c
+ Added casts to the points where internal size pointers
are converted to/from 32-bit (long) ones for transmission.
; Please review. Maybe these are useful warnings once 64-bit
support is to be implemented for NETIO interface, but
it doesn't seem very likely (or useful) in the near future.
Maybe it'd be better to use fixed bit type here too to
emphasis this internal "limit"?
* contrib/hbmisc/hbeditc.c
! strcpy() -> hb_strncpy()
! strncpy() -> hb_strncpy()
; NOTE: Could be that I broke it.
! Fixed one type HB_ISIZ -> HB_FOFFSET
* contrib/hbqt/utils/hbqtui.prg
% Minor opt.
- Deleted unnecessary strings from output.
* contrib/hbide/hbide.hbp
+ Changed to generate .uip files dynamically using uip
plugin.
; TODO: If this goes well, delete .uic and .uip files from SVN,
move resources/*.ui to hbide source root dir.
* contrib/hbqt/utils/hbqtui.prg
! Fixed to use GTCGI.
; TOFIX: There is a great deal of screen flickering due to
external call to uic.exe on Windows.
+ contrib/hbide/resources/hbmk2_plugin_uip.prg
+ Added .ui -> .uip plugin.
; NOTE: hbqtui executable needs to be in PATH or
current dir.
* contrib/hbide/ideprojmanager.prg
+ Enabled above plugin.
- contrib/hbide/resources/hbmk2_plugin_hbide.prg
- Deleted empty plugin.
* utils/hbmk2/hbmk2.prg
+ Display RTEs in plugin code by default, suppress by -quiet.
(before it was enabled by -info)
- contrib/hbqt/utils/hbmk.hbm
+ contrib/hbqt/utils/hbqtui.hbp
* Renamed to be more easily started by automated make process.
* contrib/hbqt/utils/hbqtui.prg
! Fixed to accept any pathsep on input
* Changed to use .uip extension for output
! Fixed to use full output name as specified if a non-dir
is specified with -o option
- Deleted -noprefix option, there is no prefix in any case anymore
! Fixed to not include the generator's own SVN ID in generated files
* Changed to not leave .uic file behind by default
! Fixed to use platform EOL in generated files.
% Don't return an array from MAIN() function
; These changes allow to create automated processes to
generate .hbp from .ui.
+ contrib/hbqt/utils/hbmk.hbm
+ Added hbmk2 make file for hbqt utils.
* contrib/hbmisc/hbeditc.c
* Type (and some code) cleanup continued.
Deleted int casts, using HB_BOOL instead of int,
using char instead of int, using hexa notation for
HARDCR instead of high-char in source, etc.
* One strcpy() converted to hb_strncpy().
* contrib/hbide/hbide.hbp
- contrib/hbide/ui_docviewgenerator.prg
- contrib/hbide/ui_docwriter.prg
- contrib/hbide/ui_environ.prg
- contrib/hbide/ui_environments.prg
- contrib/hbide/ui_finddialog.prg
- contrib/hbide/ui_findinfiles.prg
- contrib/hbide/ui_findinfilesex.prg
- contrib/hbide/ui_findsource.prg
- contrib/hbide/ui_funclist.prg
- contrib/hbide/ui_mainwindow.prg
- contrib/hbide/ui_projectpropertiesex.prg
- contrib/hbide/ui_searchreplace.prg
- contrib/hbide/ui_searchreplacepanel.prg
- contrib/hbide/ui_selectionlist.prg
- contrib/hbide/ui_selectproject.prg
- contrib/hbide/ui_setup.prg
- contrib/hbide/ui_shortcuts.prg
- contrib/hbide/ui_skeletons.prg
- contrib/hbide/ui_themes.prg
- contrib/hbide/ui_themesex.prg
- contrib/hbide/ui_toolsutilities.prg
- contrib/hbide/ui_updown.prg
+ contrib/hbide/docviewgenerator.uip
+ contrib/hbide/docwriter.uip
+ contrib/hbide/environ.uip
+ contrib/hbide/environments.uip
+ contrib/hbide/finddialog.uip
+ contrib/hbide/findinfiles.uip
+ contrib/hbide/findinfilesex.uip
+ contrib/hbide/findsource.uip
+ contrib/hbide/funclist.uip
+ contrib/hbide/mainwindow.uip
+ contrib/hbide/projectpropertiesex.uip
+ contrib/hbide/searchreplace.uip
+ contrib/hbide/searchreplacepanel.uip
+ contrib/hbide/selectionlist.uip
+ contrib/hbide/selectproject.uip
+ contrib/hbide/setup.uip
+ contrib/hbide/shortcuts.uip
+ contrib/hbide/skeletons.uip
+ contrib/hbide/themes.uip
+ contrib/hbide/themesex.uip
+ contrib/hbide/toolsutilities.uip
+ contrib/hbide/updown.uip
* Renamed ui_*.prg files to .uip
* src/vm/runner.c
+ Module name will now be filled with the .hrb filename if known,
and default 'pcode.hrb' will only be used if running direct
binary .hrb stream. This means that also PROCFILE() will
return usable results. (f.e. in script run via hbrun)
* contrib/hbmisc/hbeditc.c
% int -> char. Dropped some casts.
* harbour/include/hbextern.ch
* harbour/src/vm/runner.c
+ added new PRG function
HB_HRBSIGNATURE() -> <cSig>
which returns HRB file signature
+ added internal function hb_hrbCheckSig() to keep HRB file
signature checking in one place
* harbour/include/hbextern.ch
* harbour/src/vm/cmdarg.c
+ added new PRG function
HB_ARGSHIFT( [<lProgName>] ) -> NIL
which updates HB_ARG*() parameter list removing the 1-st one
and replacing it by others. If <lProgName> is .T. then first
non internal parameter is moved to hb_argv(0) (hb_progname())
and all next are shifted.
* harbour/utils/hbrun/hbrun.prg
+ when extension does not allow to recognize file type then check
passed file signature. If it's HRB file then execute directly
otherwise use it as PRG script.
This modification allows to use any names (except the ones using
known for HBRUN extensions like .hrb amd .dbf) as PRG script names.
+ Call HB_ARGSHIFT(.T.) to strip HBRUN executable file name from
parameter list when PRG script or HRB file is executed
* include/hbdefs.h
+ Added new abstract type: HB_RECNO.
To replace HB_ULONG usage where it means record number.
* src/vm/hvm.c
* src/vm/cmdarg.c
* include/hbapi.h
* include/hbvm.h
* HB_ULONG -> HB_U32 for VM flags.
* contrib/hbqt/hbqt_hbqplaintextedit.cpp
% Fixed: crash at fast text selection.
* contrib/hbide/ideedit.prg
* contrib/hbide/idefindreplace.prg
% Fixed: slowness caused in selection process when many
lines were being selected. Now there is no overhead.
Thanks to Itamar for reporting.
* contrib/hbqt/THbQtUI.prg
% Little more syncronization.
+ Added: method ::connect(). It is identical to :signal()
But for uniformity with other hbXBP and hbIDE classes
this method name seems appropriate.
% Reworked: method create(). Now both types of implementations,
viz., .ui and .uic will be entertained with one creator.
oUI := HbQtUI():new( "MainWindow.ui" ):create()
oUI := HbQtUI():new( "MainWindow.uic" ):create()
with do the job. :build() is still active but will be depricated.
* src/rtl/hbsha2.c
* src/rtl/hbsha2hm.c
+ Added Win64 support for SHA1 functions.
; NOTE: HMAC keys longer than 2^32 bytes are not support
(unlike with SHA1), probably not huge limitation.