* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_FLAGSHIP, HB_COMPAT_FOXPRO.
* include/hbextern.ch
* src/rtl/seconds.c
+ Added HB_SECONDSCPU()
(native Harbour version of FlagShip specific SECONDSCPU())
* tests/memtst.prg
* tests/speedold.prg
* tests/speedtst.prg
* tests/vidtest.prg
* Changed to use HB_SECONDSCPU().
+ Added translation from SECONDSCPU() to HB_SECONDSCPU() when
built for FlagShip (where applicable).
* include/hbextern.ch
* src/rtl/Makefile
- src/rtl/strpeek.c
- src/rtl/secondfs.c
* contrib/Makefile
+ contrib/hbfship
+ contrib/hbfship/Makefile
+ contrib/hbfship/hbfship.hbc
+ contrib/hbfship/secondfs.c
+ contrib/hbfship/strpeek.c
- Moved FlagShip specific function from core to new hbfship lib.
* Changed SECONDSCPU() to be just a wrapper over core HB_SECONDSCPU().
; INCOMPATIBLE: If you used SECONDSCPU() function, change it to
HB_SECONDSCPU(), or add hbfship to your lib list.
If you used STRPEEK() or STRPOKE() functions,
add hbfship to your lib list.
* utils/hbmk2/examples/contribf.hbc
+ Added hbfship.
* src/common/hbverdsp.c
* include/hbsetup.ch
* contrib/xhb/xhbver.prg
- Deleted HB_COMPAT_VO, HB_COMPAT_DBASE, HB_COMPAT_CLIP as build-time
options. They were not used, and in the future these should be
implemented as addon libraries.
* INSTALL
* Minor terminogology adjustment.
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted special handling of FlagShip functions.
* include/hbextern.ch
* src/rtl/browdb.prg
* src/rdd/dbcmd.c
* contrib/xpp/dbcmdx.c
* contrib/xpp/browdbx.prg
+ Cleaned the way TBrowseDB() "skipper" function is defined.
This means that from now on by default the faster, .c
implementation will be used (now called __DBSKIPPER()).
The same will be used by xpp lib (via compatibility stub
called DBSKIPPER()). The .prg implementation (now moved
in core) will be used when HB_CLP_STRICT is enabled.
* include/hbextern.ch
+ Added missing HB_DYNCALL().
* contrib/xpp/xpp.ch
* Do not #define HB_COMPAT_XPP.
+ contrib/hbziparc/doc
+ contrib/hbziparc/doc/en-EN
+ contrib/hbziparc/doc/en-EN/hbziparc.txt
* contrib/hbziparc/hbziparc.prg
+ Separated docs from source code.
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
(one remaining occurence)
* include/hbsetup.ch
* src/common/hbverdsp.c
- Deleted HB_COMPAT_XPP option. It's no longer used in Harbour.
From this point all Xbase++ compatibility functions and core
classes are implemented in 'xpp' contrib library (name
tentative). Add it to your lib list, if you need Xbase++
compatible functions. IOW HB_COMPAT_XPP build time option
got converted to a app link time option.
* src/rtl/isprint.c
- Deleted dirty Xbase++ extension of ISPRINTER(). Now it's
purely Clipper compatible in default build.
INCOMPATIBLE. For Xbase++ version, use XPP_ISPRINTER()
(or HB_ISPRINTER() which is the exact same).
* src/rtl/tobject.prg
* src/rtl/transfrm.c
* src/rtl/memoedit.prg
* include/memoedit.ch
* Replaced "#ifdef HB_COMPAT_XPP" with "#ifndef HB_CLP_STRICT".
Which means we've endorsed these extensions in Harbour,
and they are always enabled except in strict compatibility
builds.
* src/rdd/nulsys/nulsys.c
- Deleted HB_COMPAT_XPP guarded function.
* contrib/xhb/xhbver.prg
* Always return .T. for _HB_COMPAT_XPP in version info.
* include/box.ch
* contrib/xpp/xpp.ch
+ Added Xbase++ compatibility box.ch constants from core box.ch.
INCOMPATIBLE if you use B_THIN or B_FAT box style.
* utils/hbtest/hbtest.prg
* examples/hbdoc2/tmplates.prg
* examples/hbdoc2/hbdoc2.prg
- Deleted parts dealing with HB_COMPAT_XPP option.
* utils/hbmk2/hbmk2.pt_BR.po
* utils/hbmk2/hbmk2.hu_HU.po
* utils/hbmk2/hbmk2.prg
+ Added support for -harbourhelp option which will result
in the same output as 'harbour --help' command.
+ Added reference to -harbourhelp option which display
Harbour compiler help.
+ Added support for -build option support in hbmk2.
It will be passed to Harbour compiler.
* contrib/hbwin/hbwin.ch
* Formatting.
* contrib/hbide/resources/help.png
+ contrib/hbide/resources/sort.png
+ contrib/hbide/resources/sortdescend.png
+ Added new images and changed one old.
* include/hbsetup.h
* Changed not to rely on _WIN32_WCE to detect WinCE.
* config/wce/global.mk
* utils/hbmk2/hbmk2.prg
% Changed to not pre-define _WIN32_WCE to any value. This should
be user choice.
* contrib/hbfimage/fi_winfu.c
! Fixed for WinCE builds. Now only non-WinCE compatible parts
are disabled and functions keep being defined on .prg level
regardless.
* contrib/hbfimage/fi_winfu.c
* contrib/hbfimage/fi_wrp.c
% Cleaned logic that guards '_WINDOWS_' definition.
* contrib/hbwin/win_bmp.c
! Fixed to use hexadecimal notation instead of octal, because
some compilers where getting confused and tried to match these
with some codepages.
* contrib/hbwin/win_prn1.c
! Fixed for poccarm, because Pelles C (even 6.0) forgets to
map FONTENUMPROC to FONTENUMPROCW.
* contrib/hbwin/win_prn3.c
! Added some extra WinCE guards to avoid warning for this platform.
* src/debug/dbgentry.c
* Formatting.
+ contrib/hbide/resources/closetab.png
+ contrib/hbide/resources/down.png
+ contrib/hbide/resources/minus.png
+ contrib/hbide/resources/previous.png
+ contrib/hbide/resources/up.png
* contrib/hbide/resources/searchreplacepanel.ui
* contrib/hbide/resources/searchreplacepanel.uic
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idefindreplace.prg
+ Implemented ( partial ) extended search/replace panel like Qt itself.
This can be activated via <Edit><Find / Replace Ex> or Ctrl+Sh+F.
The panel is anchored beneth editor area and above status-bar,
or above any other dock-widget at the bottom area is open.
It implements incremental search with visual color differentiation.
Try typing in some text to find. Still other buttons are inactive.
It may take a day to synchronize everything.
This implementation adds another value to "Find/Replace".
Ctrl+F implementation is there as is. You can take advantage of both.
* src/vm/cmdarg.c
! Fixed formatting.
! Fixed to enclose newly added code in {} block, otherwise
it breaks with C compiler.
- Deleted OS/2 specific guard in code section which is not
anymore active to OS/2.
* examples/gtwvw/hbgtwvw.h
! Fixed to not override manually set WINVER.
! Fixed to not set _WIN32_WINNT.
* src/vm/cmdarg.c
! fixed OS/2 was displaying the path of the first .exe with name equal
to current process calling hb_DirBase() present in PATH, in my case
it was founding d:\tcpip\bin\ftpd.exe instead of current ftpd.exe
because c:\tcpip\bin was present in PATH before current dir.
* src/rtl/hbsocket.c
* OS/2 when building against latest TCP/IP stack has
HB_HAS_INET_ATON, HB_HAS_INET_PTON and HB_HAS_INET_NTOP
* utils/hbmk2/hbmk2.prg
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
! Fixes to previous change after testing:
- '-D_WINCE' is required by pocc headers, so I've readded it there.
- '-DARM' is already defined by mingwarm, so it's not needed.
* include/hbsetup.h
* Cleaned the way WinCE is detected.
Now looking for UNDER_CE or _WIN32_WCE constants. (was: _WINCE)
* utils/hbmk2/hbmk2.prg
* Cleaned the way constants are initialized for WinCE platform. It's also
means they are now synced with GNU Make build system. This means:
UNICODE, _WIN32_WCE (to 0x501), UNDER_CE are always defined.
Secondary CPU macros are defined as needed.
Removed all the other WinCE related constants.
+ Defining UNDER_CE and _WIN32_WCE for resource compiler for WinCE targets.
* config/wce/global.mk
* config/wce/mingwarm.mk
* config/wce/poccarm.mk
* config/wce/msvcarm.mk
* Cleaned the way constants are initialized for WinCE platform.
- '-D_WIN32_WCE=0x501 -DUNDER_CE' moved to global, so now these will
be equally defined for all WinCE compilers.
- Deleted these from msvcarm targets ('-D_WINCE' was apparently used
by our own hbsetup.h detection code only):
'-D_WINCE -DCE_ARCH -DWINCE -D_WINDOWS -D_UNICODE -D_UWIN'
- Deleted this from from poccarm targets:
'-D_WINCE'
- Deleted several secondary CPU constants for msvc* targets:
'-D_ARM_ -DARMV4 -D_ARMV4I_ -Darmv4i -D__arm__'
'-D_SHX_'
'-D_MIPS_ -DMIPS_HAS_FPU'
These are not necessarily true, and not even necessary. I you know
otherwise, speak up.
- Kept primary CPU constants:
'-D_M_*'
- Kept secondary CPU constants (needed by some inconsistent Windows header files):
'-DARM', '-DSHx', '-DMIPS', '-D_X86_'
* config/win/global.mk
* Cleaned to use 'HB_BUILD_UNICODE' setting to enable UNICODE for non-x86 targets.
* config/win/msvc.mk
! Fixed to respect 'HB_BUILD_UNICODE' user-setting when enabling UNICODE for
newer MSVC targets. IOW it's now possible to turn off UNICODE for newer
MSVC targets.
; Above should ensure more consistency for different WinCE compilers.
Closer behavior and more consistent build logs, with less unnecessary options.
+ contrib/hbide/resources/searchreplacepanel.ui
+ contrib/hbide/resources/searchreplacepanel.uic
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/idestylesheets.prg
+ Prepared to use panel instead of "Replace/Find" dialog.
! Vaiables name uniformity for docking widgets.
! Simplification and centralization of creation of "Docking" widgets.
% Fixed to not crash when "Find in Files" was not called before exit.
; Press CTRL+F and see a panel appearing inbetween editor and statusbar.
This widget has to be matured a little and will facilitate that
search and replace action will never hide any part of the
editing area. A final ( uptil now ) reform in user-interface.
+ contrib/hbide/resources/blockcomment.png
+ contrib/hbide/resources/environments.ui
+ contrib/hbide/resources/environments.uic
+ contrib/hbide/resources/findinfilesex.ui
+ contrib/hbide/resources/findinfilesex.uic
+ contrib/hbide/resources/projectpropertiesex.ui
+ contrib/hbide/resources/projectpropertiesex.uic
+ contrib/hbide/resources/streamcomment.png
+ contrib/hbide/resources/themesex.ui
+ contrib/hbide/resources/themesex.uic
* contrib/hbqt/THbQtUI.prg
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idestylesheets.prg
* contrib/hbide/idethemes.prg
+ This commit implements all other windows ( except Find/Replace )
opened as a docked-window of the main-frame. This facilitates
a greater control over the various actions together. This is a
major change in the interface, please update your notes.
Find/Replace window is scheduled to be contained in separate panel
at the bottom of the editor area, right on top of the "Output Console",
as is implemented in Qt Creator itself. Please express your opinions.
The above should have been the way since begining, but you know,
programming skills are polished with time.
* harbour/harbour.spec
! fixed to work with modified library name hbbmcdx -> rddbmcdx
* harbour/contrib/hbwin/legacycd.c
! fixed casting for C++ builds
* harbour/include/hbdefs.h
* use '__int64' instead of 'long long' only in non GCC MS-Windows builds
* harbour/tests/bldtest/bldtest.c
* use '__int64' instead of 'long long' only in non GCC MS-Windows builds
* formatting
* include/hbdyn.ch
* src/rtl/hbdyn.c
+ Added support for misc 'options'. Both for return values
and parameters.
+ Added HB_DYN_OPT_NULLTERM option which will cause that
buffers passed by reference will return null terminated
string (thus cutting the rest of the buffer).
% Implemented macros sent to the list by Przemek. This made
the source significantly smaller (one quarter of original
size) and much easier to manage/modify. Thanks!
* tests/testdyn.prg
+ Added test for zero terminated strings.
! Fixed to set UTF16 mode for Windows "WIDE" call.
* contrib/xpp/dllx.c
% Minor optimization.
* contrib/hbwin/wapi_wingdi.c
+ WAPI_TEXTOUT(): Emulating functionality on WinCE platform,
so it's now available also on WinCE.
* contrib/hbwin/win_prn1.c
* Formatting.
* src/common/hbwince.c
* include/hbwince.h
! Added abort() declaration and implementation
for poccarm and old msvcarm targets.
* contrib/hbwin/win_bmp.c
+ Enabled for WinCE: WIN_BITMAPDIMENSIONS()
* contrib/hbwin/win_bmpd.c
+ All functions enabled for WinCE.
* contrib/hbwin/win_prn1.c
+ WIN_TEXTOUT() changed to always use ExtTextOut() internally,
so that it work on WinCE. (it's also faster)
+ WIN_CREATEFONT() changed to use CreateFontIndirect() which
also works for WinCE.
* contrib/hbwin/wapi_wingdi.c
+ Added WAPI_CREATEFONTINDIRECT(), which always works on both
Windows and WinCE.
* contrib/hbwin/win_prn1.c
* contrib/hbwin/win_prn2.c
* contrib/hbwin/win_prn3.c
* contrib/hbwin/wapi_wingdi.c
+ All functions enabled for WinCE. The ones not available
on WinCE, will return permanent error.
* contrib/hbwin/legacycd.c
! Added missing WinCE header after previous commit.
+ contrib/hbide/resources/cutb16.png
+ contrib/hbide/resources/dbl2sglquote.png
+ contrib/hbide/resources/decreaseindent.png
+ contrib/hbide/resources/down16.png
+ contrib/hbide/resources/increaseindent.png
+ contrib/hbide/resources/sgl2dblquote.png
+ contrib/hbide/resources/up16.png
* contrib/hbide/idedocks.prg
+ Implemented left-side toolbar containing available panels
distinguished by suble color change. Click on one will
bring forward the relevant tabs-panel. Tooltip describes
which panel it is.
+ Implemented left-side another toolbar underneath above one
giving access to line and block actions.
;NOTE: Please test and forward suggessions.
;REQUEST: Can someone provide relevant .png's to these actions ?
I am really poor in drafting something meaningful.
* src/rtl/fstemp.c
! Using hb_fsTempDir() in HB_FTEMPCREATEEX() instead of
old solution. This should fix it for some non-*nix
platforms where *nix specific TEMPDIR envvar was used
to determine temp directory.
* contrib/hbwin/Makefile
* include/Makefile
* src/rtl/Makefile
- contrib/hbwin/hbdyn.ch
+ include/hbdyn.ch
- contrib/hbwin/hbdyn.c
+ src/rtl/hbdyn.c
- contrib/hbwin/win_dllc.c
+ src/rtl/hbdynhb.c
- contrib/hbwin/tests/testdll.c
+ tests/testdyn.c
- contrib/hbwin/tests/testdll.prg
+ tests/testdyn.prg
- contrib/hbwin/tests/testdll1.prg
+ tests/testdyn1.prg
- contrib/hbwin/hbdyn.h
* include/hbapi.h
* Moved dynamic library call related functions to
core (RTL).
* Windows specific test code (currently all) guarded
for platform.
* Changed default calling convention to cdecl.
Tests adaptd accordingly.
* Terminology change: 'dll' -> 'dynamic library'
; HB_DYNCALL() is now part of core Harbour, and it's
platform independent. It's platform (ABI) dependent though,
and currently x64 and x86/stdcall/syscall/cdecl
is supported and these were tested (except OS/2 syscall).
* contrib/hbwin/hbwin.h
* contrib/hbwin/win_misc.c
* contrib/hbwin/legacycd.c
* Low level hbwin_getprocaddress() function moved
to legacy file and made static.
* contrib/xpp/Makefile
* contrib/xpp/dllx.c
* contrib/xpp/xpp.hbc
+ Enabled DLL*() functions for all platforms.
- Deleted dependence on hbwin library.
* contrib/xpp/tests/testdll.prg
* Windows specific parts (currently the whole test) guarded
for platform.
* contrib/hbct/Makefile
- contrib/hbct/diskhb.prg
* contrib/hbct/disk.c
* contrib/xhb/Makefile
+ contrib/xhb/diskhb.prg
* GETVOLINFO() moved from hbct to xhb.
* ChangeLog
* Marked some TODO/TOFIX items as DONE.
* contrib/xpp/dllx.c
* contrib/hbwin/hbdyn.c
* contrib/hbwin/hbdyn.ch
+ Implemented 'syscall' calling convention for OS/2.
% hb_dynCall() now won't include English text is error message,
but use EG_LIMIT to signal too many parameters.
* contrib/hbmysql/mysql.c
+ Implemented MYSQL_INSERT_ID().
* long -> HB_SIZE
% Minor cleanup.
* harbour/src/rtl/hbsocket.c
* added iTODO warning to OpenWatcom Linux builds
* harbour/src/debug/dbgtmenu.prg
! fixed code used for debugger menu to be MT safe
* contrib/xpp/Makefile
- contrib/xpp/win_dllx.c
+ contrib/xpp/dllx.c
* contrib/xpp/tests/testdll.prg
+ Adapted Xbase++ compatible DLL*() functions to use
core dynamic lib handling functions.
* Renamed source file, now that it's not Windows specific.
+ Updated tests.
; NOTE: Please review this code. It's the first time I
used GC references in code, and it may be wrong.
; TODO: Remove hbwin dependence after having moved hb_dynCall()
from hbwin to core.
+ contrib/xpp/tests/hbmk.hbm
+ Added missing file from prev commit.
* contrib/hbwin/tests/testdll.prg
* Updated for latest HB_DYNCALL() changes.
* ChangeLog
! Updated WIN_DLLCALL() -> HB_DYNCALL() change.
This is the full list of lost features (all due to
non-portability):
- Specifiying function by (numeric) ordinal.
- Passing function pointer directly.
- Automatic lookup for function names with 'A' and 'W' ending.
- Automatic UNICODE encoding for functions ending with 'W'.
* src/rtl/gtwvt/gtwvt.c
* contrib/gtwvg/gtwvg.c
* Replaced _WIN32_WINNT redefinition with
#definition of WS_EX_LAYERED constant, in case it's not defined
by Windows headers.
* contrib/hbwin/wapi_wingdi_font.c
+ Accessing the W2K specific functions dynamically.
+ Defining the high-level functions also in WinCE, returning
permanent error.
! Deleted _WIN32_WINNT redefinition.
; Someone pls test these using older compiler/SDK version.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idestylesheets.prg
+ Started left-hand toolbar(s) to present visual interactions for
a number of hidden actions. A work-in-progress.
* contrib/hbqt/THbQtUI.prg
! Fixed object destruction sequence per latest changes in HbQtUI() class.
* contrib/hbwin/wce_smsc.c
! Fixed to skip content for msvc 2003 in C mode.
* config/globsh.mk
+ Now also deleting .pch (MSVC precompiled header) files on
clean, in case someone enables them.
; NOTE: I turned out all my tests using "msvc 2003" compiler
was in fact a 12.20.9615 (_MSV_VER=1201, clarm.exe)
version compiler, which equals to VC++ 6.0.
Just for the record, since I can't oversee what WinCE
compilers were released between this and MSVC2005 (8.0/1400),
so until then I have to assume that everything
below 8.0 are "old" msvcarm versions (7.1/1310 or lower).
* utils/hbmk2/hbmk2.prg
! Fix to add 'lib' prefix for gcc compiler when using -implib option.
+ Added comment detailing prev change.
* config/wce/msvcarm.mk
* config/win/msvc.mk
- Deleted -YX option.
We don't want to force precompiled headers by default on older
MSVC versions.