* 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.
* src/vm/dynsym.c
* include/hbapi.h
* Minimal cleanup: using HB_LONG in place of long, just to make
this type usage easier to find in the future.
* src/vm/hvm.c
+ Added cast to pacify long time msvc warning
* src/vm/fm.c
+ Added pragmas to silence msvc64 warnings in dlmalloc (foreign) code.
* src/vm/extend.c
* Formatting.
* harbour/include/hbdefs.h
+ added HB_VMUINT_MAX macro
* harbour/src/vm/hvm.c
* harbour/src/vm/itemapi.c
% use conditional #if compilation for code which depends on
HB_SIZE range. It should eliminate dummy code and pacify
warnings in some compilers.
NOTE: do not forget to update such #if conditions when we
switch to signed HB_SIZE type.
* harbour/src/macro/macro.y
* harbour/src/macro/macro.yyh
* harbour/src/macro/macro.yyc
* harbour/src/macro/macrolex.c
* changed type of valChar.length from int to HB_SIZE