* harbour/include/hbapi.h
* harbour/src/common/hbprintf.c
+ added new function 'int hb_printf_params( const char * format )' which
returns number of parameters necessary for format string
* harbour/src/common/hbtrace.c
* added protection against recursive calls when number of parameters
used by HB_TRACE message us bigger then 16 and fm.c module was compiled
with HB_TR_DEBUG macro
% use the same number of characters for unicode and byte string buffers
% use common memory area (union) for unicode and byte messages to reduce
C stack usage
Please test these modifications in real MS-Windows systems.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idemisc.prg
+ Applied Vailton's patch. It sets the menu's in right perspective.
Actions will follow shortly.
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.prg
+ contrib/hbide/idesaveload.prg
+ Added new file separating the code for loading configuration.
Another round of reforms, more follows.
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.prg
+ contrib/hbide/idedocks.prg
+ Added new file separating the code building docking widgets.
Another round of reforms, more follows.
* contrib/hbide/idefindreplace.prg
! Minor.
* src/vm/fm.c
* include/hbapi.h
+ Added hb_xtraced(). Please check it might be wrong.
* src/common/hbtrace.c
- Deleted hack to disable winout to avoid recursive calls.
+ Added TOFIX to avoid recursive calls with some clever
detection on error case (hb_xtracd() && no_of_formatt_strings > 16)
I didn't implement it, pls do so if interested.
! Fixed MultiByteToWideChar sizeof() to HB_SIZEOFARRAY().
* contrib/hbqt/hbqt_slots.cpp
* contrib/hbqt/hbqt_slots.h
+ Added more signal/slots.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.prg
! First step of reforms. You can expect bumps.
Please DONOT update atlease HBIDE in any way till I declare
I am done with.
* src/common/hbtrace.c
* Deleted TOFIX for va_end(). It's not required (and wasn't
ever required there) since there is no va_start() call in
hb_tracelog_() function at all.
* src/common/hbtrace.c
! Fixed some leftover causing error on non-win.
% Replaces \r\n with \n in printf() calls.
[TOMERGE 2.0]
* config/win/bcc.mk
+ Added -CP437 bcc option as default, so that it fixes compilation
on windows systems are setup to use certain (f.e. far east)
multibytes codepages as default non-Unicode CP.
* src/common/hbtrace.c
! Readded hack to disable reentrancy for win specific trace logic
until we clear up the issue with some Harbour API calls used from
win specific trace code are calling back to the trace engine.
* src/common/hbtrace.c
! Fixed to not call hb_xgrab() via HB_TRACE_CONVTO() causing
infinite recursion into trace engine. This replaces previously
committed trick to avoid the same thing in a generic manner.
It was a bug in previous Windows-support addition, which is now fixed.
* Adding \r\n for OutputDebugString() text to make WinDbg display
look readable, this time by simply extending printf() mask.
- Deleted space trimming from OutputDebugString() passed text.
Such issues should be fixed in high level code, it's not trace
engine's job to make cosmetic corrections on trace text content.
; Tested with both WinDbg and DbgView.
[TOMERGE 2.0]
; TOFIX:
va_end() has been commented for all platforms, although
it's required by all documentation I could verify.
If this causes problems for specific platforms/compilers,
we should only add this hack for those targets, and only
when HB_TR_WINOUT is enabled.
Now every non-Windows and Windows non-HB_TR_WINOUT
setups are not complying with CRTL documentation.
Could someone help here?
* src/common/hbtrace.c
! Formatting.
! Fixed to use HB_ISSPACE().
; NOTE/TOFIX: Anyhow I think last patch should be reverted to not manipulate
passed by user string before passing it to Windows.
Plus current anti-reentrancy logic should be changed to something
robust, as current solution drops trace messages which is a very
dangerous thing to do if we want to rely on trace output for
debugging. It's not clear what "stack overflow events" are.
* doc/codestyl.txt
! Fixed link. Thanks Vailton.
[TOMERGE 2.0]
* harbour/src/common/hbtrace.c
* early va_end( ap ) elimination, to avoid access violation generation in a subsequent hb_vsnprintf
* fix nested HB_TRACE calls handlig to avoid stack overflow events
* normalized debug info sending to OutputDebugString with ending CR/LF/NUL to ensure a correct view in windbg.
* contrib/hbide/hbide.ch
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/resources/projectproperties.ui
+ contrib/hbide/resources/selectproject.ui
+ Applied Vailton Renato's submitted patch with one or two fixes
and little formatting.
This patch provides the missing functionalities which I did not
concentrated on yet. Many thanks.
This patch also implies that now HBIDE will reach to its final
goal earlier than expected. Thanks Vailton, for your jumping
in the project.
To Vailton: I was having a different concept for .ppo display
in non-modal independant widget having only one edit
object. Can you change the current way of doing so.
* harbour/include/Makefile
* harbour/include/hbmath.h
+ harbour/include/hbmather.h
* harbour/include/hbsetup.h
* harbour/include/hbapi.h
* moved math error handler definitions and settings separate header file
* moved hb_random_num() declaration from hbmath.h to hbapi.h
After above modification hbmath file should be use only by code which
wants to use math functions declared usually in math.h
+ harbour/include/hbfloat.h
+ added header file with test macros for floating point numbers
this file should be included before any other files
* harbour/src/vm/hvmall.c
* harbour/src/vm/itemapi.c
* harbour/src/common/hbprintf.c
* harbour/src/rtl/math.c
* use new macros from hbfloat.h
* harbour/src/rtl/math.c
+ include "hbmather.h"
* harbour/src/rtl/hbrandom.c
* harbour/src/rdd/dbf1.c
* harbour/contrib/xhb/hboutdbg.c
- removed not longer necessary include "hbmath.h"
* harbour/contrib/hbct/ctmath.h
- do not include <float.h> and <limits.h>
* harbour/contrib/hbct/ct.h
- do not include "hbmath.h" and "ctmath.h"
* harbour/contrib/hbct/ctmath.c
* harbour/contrib/hbct/exponent.c
* harbour/contrib/hbct/ctc.c
+ include "ctmath.h"
* harbour/contrib/hbct/trig.c
* harbour/contrib/hbct/finan.c
* harbour/contrib/hbct/ctmath2.c
+ include "ctmath.h"
+ include "hbmather.h"
* harbour/contrib/hbct/num1.c
+ include "ctmath.h"
+ include <float.h>
* harbour/include/hbinit.h
* harbour/src/rtl/hbsocket.c
* added patches from Tamas - thanks
* harbour/bin/hb-func.sh
* harbour/harbour.spec
+ create /etc/ld.so.conf.d/harbour.conf with Harbour shared lib directory
if /etc/ld.so.conf.d directory exists and user has sufficient write
permission or install package is created.
This modification allows to install Harbour anywhere and in modern
distros using /etc/ld.so.conf.d/ harbour shared libraries will be
always available for all programs
[TOMERGE 2.0]
* INSTALL
+ Added note that at least QT 4.5.0 is required for Harbour.
[TOMERGE 2.0]
* package/winuni/mpkg_win_uni_extra_copy.bat
+ Copying full source of hbide to Windows binary release.
; TODO: Probably it'd be better to move this tool to examples to
avoid such exceptions.
[TOMERGE 2.0]
* package/winuni/RELNOTES
+ Added link to sf.net files.
* Next Windows binary release to not include HBQT libs
built against static QT libs.
[TOMERGE 2.0]
* contrib/hbwin/mapi.c
! Minor correction / optimization.
[TOMERGE 2.0]
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
+ Provided <CodePage> menu option which sets the codec for
current session. It is also provided a slot in the statusbar.
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/hbqt.h
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/qtcore/filelist.mk
+ contrib/hbqt/qtcore/QSettings.cpp
+ contrib/hbqt/qtcore/TQSettings.prg
+ contrib/hbqt/qth/QSettings.qth
+ Added QSettings() class.
* contrib/hbxbp/xbpmenubar.prg
! Fixed an awkward bug.
* contrib/hbqt/hbqt_destruct.cpp
+ Added prg callable function hbqt_setCodecForCStrings( cCodec ).
This is base function to exploit codepages.
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpwindow.prg
! Fixed a long standing bug which was preventing the mouse
events to be submitted to parent widget.
* contrib/hbxbp/xbpgeneric.prg
+ Added HbXbp_SetCodec( cCodec )
This function takes as parameter the Qt's codec (codepage)
name and set it for conversion of CStrings automatically.
NOTE: This is an attempt to introduce CodePage concept in
HBQT but, because I am not conversant with codepage
terminology and usage, it is a shot in the dark.
Please test. I will try to hook a menu option to
select a codec to hook into HBIDE.
* contrib/hbide/resources/mainwindow.ui
* contrib/hbide/idestylesheets.prg
* contrib/hbide/hbide.prg
+ Implemented resizable docking widgets to hold <Projecs>,
<Editor Tabs>, <Functions List>, <Output Console>.
This has rendered HBIDE very flexible and expandable
with futuristic elements.
* contrib/hbqt/filelist.mk
+ contrib/hbqt/hbqt_errorsys.prg
* contrib/hbqt/hbqt_misc.prg
* contrib/hbxbp/xbpdialog.prg
* contrib/hbxbp/xbpgeneric.prg
* contrib/hbxbp/xbpqtuiloader.prg
* contrib/hbxbp/xbpwindow.prg
* contrib/hbide/hbide.prg
* contrib/hbide/resources/mainwindow.ui
+ Implemented hbqt_errorSys(). It is actually original
rtl/errorsys.prg tuned to display error in a message-box.
! An experimental stage passed, leaning towards next.
Please bear with me if you see a little clumsy hbide.
* contrib/hbide/hbide.prg
* contrib/hbide/resources/mainwindow.ui
* contrib/hbxbp/xbpbrowse.prg
* contrib/hbxbp/xbpdialog.prg
+ Added an experimental protocol scheduled to be
polished in next few days.
* harbour/harbour-win-spec
* harbour/harbour-wce-spec
! removed unused hbmk.cfg files which break RPM build process
[TOMERGE 2.0]
TODO: add support for hbmk2 configuration which cab be used with above
Win32/64 and WinCE binaries
* harbour/include/hbmath.h
! enable HB_MATH_ERRNO in all *unix builds not only in GCC ones
* harbour/src/vm/itemapi.c
! use finite() to check for valid double values - looks that SunCC
does not report iDODO warnings so we were not informed about the
problem
* harbour/include/hbdefs.h
* harbour/src/common/hbprintf.c
% use also _STDC_C99 macro not only _ISOC99_SOURCE to detect C99 mode
and do not reduce such detection to GCC
[TOMERGE 2.0]
* utils/hbmk2/hbmk2.pt_BR.po
+ Converted to PTISO CP (which is for our purpose equivalent to Windows-1252).
Thanks Vailton for the conversion.
Please retest this version to be sure.
[TOMERGE 2.0]
* utils/hbmk2/hbmk2.pt_BR.po
! Possible fix (still guessing) to change source codepage
of this file to PT850 (from PTISO).
I'd like to ask native speakers to give feedback ASAP.
I'm preparing 2.0.0 binary build and I'll have to include
what I have.
* package/mpkg_win.nsi
! Fixed uninstallation of Start Menu on Vista/Win7, at the
same time it won't ask for admin credentials anymore on
these OS versions.
[TOMERGE 2.0]
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* include/hbver.h
* config/global.mk
* Changed version to interim version number
2.0.1dev (from 2.0.0)
* harbour-win-spec
* harbour-wce-spec
* harbour.spec
* include/hbver.h
* package/winuni/RELNOTES
* config/global.mk
* Changed version to 2.0.0 (from 2.0.0rc1)
* package/winuni/RELNOTES
* Finalization (djgpp -> watcom)
* package/winuni/mpkg_win_uni.nsi
! Fixed uninstallation of Start Menu on Vista/Win7, at the
same time it won't ask for admin credentials anymore on
these OS versions.
* MS-DOS/OS2/Linux libs are now not selected by default.
* config/dos/watcom.mk
* config/dos/djgpp.mk
* Disabled .dll generation for MS-DOS build for now.
dos/watcom doesn't work, dos/djgpp needs special fixes
in djgpp to work.
In the meantime, for testing purposes they can be
enabled using: HB_BUILD_DLL=dostest
* package/winuni/mpkg_win_uni_extra_copy.bat
! Minor fix to prev.
* package/winuni/mpkg_win_uni.bat
* package/winuni/mpkg_win_uni.nsi
+ Enhanced to make it run in-place.
* utils/hbmk2/hbmk2.pt_BR.po
! Applied fix received from Vailton Renato to prev version.
! Fixed win/dos/os2 and *nix codepage to be PT850 and PTISO.
I hope I didn't break it, please test it.
* contrib/hbsqlit3/hbsqlit3.c
! Fixed to use HB_FHANDLE instead of int. It was reported by
msvc64 compiler.
* package/winuni/RELNOTES
+ Added brief list of changes since beta3.
(pls review / add any missing items)
* utils/hbmk2/hbmk2.prg
! Use 'rc' as ar command for hbux. To be in sync with
build system.
* harbour/config/bsd/gcc.mk
+ added c i s to ar parameters
* harbour/src/vm/estack.c
* formatting
* harbour/include/hbtypes.h
% replaced #ifdef ... / #undef ... with simple #undef