* examples/gtwvw/wvwcheck.c
* examples/gtwvw/wvwedit.c
* examples/gtwvw/hbgtwvw.h
! Added not terribly elegant (local) fix to missing 'hb_hInstance'
link time errors. Not tested besides successful lib build.
* harbour/include/hbcompdf.h
* harbour/src/vm/macro.c
% changed HB_PCODE_INFO structure to eliminate one memory allocation
in macro compiler
* harbour/include/hbapi.h
* harbour/include/hbvm.h
* harbour/src/vm/codebloc.c
* harbour/src/vm/itemapi.c
* harbour/src/vm/hvm.c
* changed second parameter in hb_codeblockGet*() function to 'int'
* merged codeblock execution context setting into one function
hb_vmDoBlock() and removed hb_codeblockEvaluate()
+ added new internal function hb_vmEval()
* harbour/src/vm/arrays.c
% use hb_vmEval()
* harbour/src/macro/macrolex.c
* added missing const to maro text declaration
* harbour/tests/speedtst.prg
! fixed to work with CLIP and xHarbour after we changed
SECONDSCPU() to HB_SECONDSCPU() - all these compilers and FlagShip
have SECONDSCPU() function
* contrib/hbmisc/hbeditc.c
* Reverted previous strcpy changes as they were causing GPF
while editing.
* Cleaned 'unsigned int', 'int' to be 'long'.
Lots of unnecessary looking casts deleted.
This fixed signedness warnings.
Very rough cleanup, I didn't inspect all hundreds
of changes one by one, so please test it.
* Some more cleanups.
; The code looks more and more kludgy from the inside.
It has quite some (seemingly) arbitrary extra space
allocations, lots of pointer arithmetic, so
it looks not very easy to safely modify it f.e. for
EOL neutrality.
! In continuation of previous message:
; WARNIING: the original format of your existing .hbp
project file will be changed if you make use
of "Project Properties" docking window and
then click on "Save & Exit" or "Save".
For contents viewing it will be ok.
In the new format, if you save it via wizard,
all sources will follow flags and comments
will be deleted.
; NOTE: now onwards, trace dump of command line operations
and hbIDE output console will be the same which
will facilitates to resolve build issues effectively.
; APPRECIATION: hbmk2 is an excellent build tool I have seen
so far in my development namespace. We owe
heavily to Viktor for this great contribution.
* contrib/hbqt/hbqt_garbage.h
* contrib/hbqt/THbQtUI.prg
! A massive effort to stream-line GPF at exit.
At least now I know that it is caused by the way
QLayout has relation with parent and children both.
To some extent I am been able to cover it, but not
completely, at least till now.
* contrib/hbxbp/xbptreeview.prg
+ Implemented tooltip and changed the way context menu is fired.
- contrib/hbide/projects/hbide.hbi
! Totally abandoned .hbi project protocol.
* contrib/hbide/resources/environments.ui
* contrib/hbide/resources/environments.uic
* contrib/hbide/resources/projectpropertiesex.ui
* contrib/hbide/resources/projectpropertiesex.uic
* contrib/hbide/resources/themesex.ui
* contrib/hbide/resources/themesex.uic
! Simplified layouts to cover GPFs at exit.
* contrib/hbide/hbide.hbp
+ Added ideenviron.prg.
* contrib/hbide/hbide.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
+ contrib/hbide/ideenviron.prg
* contrib/hbide/idefindreplace.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesources.prg
* contrib/hbide/idethemes.prg
+ Restructured project management.
+ Implemented: .hbp as project definition protocol.
Exploited -3rd= token to keep hbIDE specific data.
Now you can open any existing .hbp and build it
out of the box. You must have set the build env
beforehand OR take use of hbIDE's .env protocol.
+ Implemented: relative paths. The relative paths are
are computed downwards and from .hbp location.
Upper level paths still remain absolute. If your
projects structure is well thought of, then this
feature means this project tree is transferable
across different OS's and drives.
The relative paths posed many difficulties. The
facts had to be resolved while search operations,
while opening the files from Project Tree, and more.
Now all are in perfect syncronization.
+ Managed: .hbp filters on source level and are
handelled transparently. In Project Tree source
is shown without filters. Search operations are
also transparent. So, an entry like:
{msvc|bcc}vouch/scandocument.prg
is respected by hbIDE.
! The other changes:
- Project Properties dialogs contents.
It is now very simple to understand and manage.
- Concept of meta-data is eliminated.
- The output executable is automatically recognized
from linker output. So "Destination folder" is
kept for only "Launch" option which, in fact, does
not know where executable is located. "Build & Launch"
and "Rebuild & Launch" options do not look for
"Destination folder" at all.
- Project location is always pulled from .hbp file.
It is not retained anywhere to make the project
portable.
- Many more facts I cannot recollect at present.
; TODO: {hbmk2} slot in hbide.env protocol to pass
command-line parameters.
; NOTE: delete hbide.ini, idesettings.ini, all .hbi's
and start with clean state.
Regression is highly possible and I am eager
to hear from you. This commit is just for
stramlining project management, though there
few other features implemented less important
to mention.
* contrib/hbmisc/hbeditc.c
! Replaced unsafe string calls with safe one.
(strncpy(), strcpy() -> hb_strncpy())
; Now this change may contain bugs. I'd appreciate if
someone with trained eyes for C length would review the diff.
* examples/pe/editorlo.c
* examples/pe/editorhi.prg
+ Cleaned internal layout (which was speed optimized for
286 computer-era) to use GC collected objects rather
than various levels of static variables and additional
logic to handle parallel editor objects. Now the code
is fully reentrant.
* Renamed variables.
! Fixed potential GPFs along the way.
; TODO:
- Clean to use ANSI C and Harbour APIs only. (this is pbly okay)
- Clean to use safe Harbour string API functions instead of unsafe ANSI C ones.
- Clean type usage.
- Fix to support other EOL types than CRLF.
- etc.
* examples/pe/pe.prg
! Typo in prev.
* examples/pe/editorlo.c
; Started to level this code to Harbour standards.
* Changed to use native Harbour C level API instead of Clipper
compatibility one.
- Delete old inactive code for standalone Habrourless build.
* Cleaned several warnings.
! Fixed one potential GPF.
! Fixed one potential memory corruption.
+ Formatting.
* harbour/contrib/hbxpp/hbxpp.ch
+ added TEXT INTO <varname> [WRAP [<cEOL>]] [TRIMMED]
* harbour/contrib/hbct/atrepl.c
! fixed in two places buffer overflow.
Many thanks to Alexandr Okhotnikov for the information
% code optimized to use hb_reclen_buffer() in all cases when new buffer
is dynamically allocated.
* small code simplification and change prefix of HB_SIZE variables from
's' to 'n'
* src/common/hbffind.c
* hb_fsFindNextLow() to work reliably in my environment needs
OBJ_TILE memory. I've found no documentation about this
issue, maybe it's caused by old LAN Manager code when searching
for files on network shares.
* contrib/rddsql/sddodbc/sddodbc.c
+ Added support to return any size of string buffer from ODBC.
! Fixed typo in prev modification.
* src/rtl/gtwvt/gtwvt.c
! Reverted close/SETCANCEL/HB_GTI_CLOSABLE behavior to
match the old one and that of other GTs.
Also see:
2008-06-25 11:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
Please use HB_GTI_CLOSABLE and HB_GTI_NOTIFIERBLOCK
to control GUI window close behavior.
* harbour/src/rdd/dbfntx/dbfntx1.c
* harbour/src/rdd/dbfnsx/dbfnsx1.c
* harbour/src/rdd/dbfcdx/dbfcdx1.c
! make linear scan in template tags to detect position of current
record in tag after GOTO() operation - SIX3 compatible behavior
* contrib/rddsql/sddsqlt3/sddsqlt3.c
+ Added support to retrieve buffers in UNICODE mode.
; Maybe needs fine tuning. F.e. we don't want to do this
for raw/binary/blob data. Pls review.
; NOTE: Detecting real buffer size is weird. MSDN says
NULL should be passed to data pointer, but in this
case it returns error, if I pass any pointer, even
fake one, it works. Pbly I'm misreading something.
* contrib/rddsql/sddodbc/tests/test1.prg
* contrib/rddsql/sddodbc/tests/test2.prg
+ Added simpleio.ch.
* contrib/rddsql/sddsqlt3/sddsqlt3.c
* contrib/rddsql/sddodbc/sddodbc.c
* contrib/rddsql/sddoci/sddoci.c
! Fixed bad GPF after previous modif which limited field names
to specific length.
* include/hbsetup.h
* Bumped pcode version to 3 (mininum kept at 2)
* contrib/rddsql/sddodbc/sddodbc.c
! Fixed missing UNICODE conversion for field names.
* contrib/rddsql/sddoci/sddoci.c
* contrib/rddsql/sddsqlt3/sddsqlt3.c
! Fixed to limit field length to the one supported by RDD engine.
* contrib/rddsql/sddoci/sddoci.c
! Fixed handling of numeric types widths and decimals.
; This marks last known TODO/TOFIX as DONE.
* src/vm/extrap.c
+ Minor
* contrib/hbqt/generator/hbqtgen.prg
! Introduced $EXTERNALLINK$ tag.
;TODO describe it in /doc/hdr_tpl.txt.
* contrib/hbqt/generator/qt45.qtp
* contrib/hbqt/qtgui/filelist.mk
* contrib/hbqt/qtgui/QApplication.cpp
* contrib/hbqt/qtgui/QWidget.cpp
* contrib/hbqt/qtgui/TQApplication.prg
* contrib/hbqt/qtgui/TQWidget.prg
* contrib/hbqt/qth/QApplication.qth
* contrib/hbqt/qth/QWidget.qth
- Deleted QInputContex() class and all other associated functions.
- Removed Qt plugin architect builder: "Accessibility" functions.
Hope OS2 will now compile fine without any manual intervention.
* contrib/hbqt/qtcore/QChar.cpp
* contrib/hbqt/qtcore/TQChar.prg
! Regenerated.
* contrib/hbide/ideharbourhelp.prg
! Modified to honor $EXTERNALLINK$ tag.
With this presentation of Harbour document is a bit changed.
$EXTERNALLINK$ tag is expanded in the page title part.
$SEEALSO$ is now a pure functions link.
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
* harbour/include/hbmacro.h
* harbour/include/hbexpra.c
* harbour/include/hbexprb.c
* harbour/src/common/funcid.c
* harbour/src/common/expropt1.c
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyc
* harbour/src/compiler/harbour.yyh
* harbour/src/vm/macro.c
+ added all reserved and restricted in Clipper functions to
hb_compGetFuncID()
+ extended hb_compGetFuncID() to expand short names of reserved functions
+ extended hb_compGetFuncID() to set function flags
* store expanded function name, ID and flags in HB_ET_FUN* expressions
% modified compiler and macrocompiler code to use function flags and
expanded names set by hb_compGetFuncID(). It allowed to eliminate
calling hb_compReservedName() for function call expressions giving
some small but noticeable speed improvement i.e. in macrocompiler.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
! Silenced warnings.
* contrib/rddsql/sddoci/sddoci.c
* contrib/rddsql/sddoci/tests/test1.prg
+ Finished type mapping and value translation.
; Not being an Oracle user, I only have the few sample
tables, so no testing was made with these types.
; TOFIX: decimal position retrieval is currently wrong.
; TOFIX: date/time/timestamp doesn't seem to get through.
* config/win/global.mk
* config/rules.mk
* Moved HB_BUILD_UNICODE handling here for win platform,
to allow disabling it for potential 3rd party libs which
don't support UNICODE mode.
* src/common/hbffind.c
* Formatting.
* contrib/hbodbc/odbc.c
* contrib/rddsql/sddodbc/sddodbc.c
+ Added support for UNICODE mode on non-Windows systems.
This also means that by now HB_TCHAR_* macros aren't used
in non-win/wce code anymore.
NOTE: Since the translation functions have been changed,
now _SET_OSCODEPAGE setting are honored in these
calls. We may change this later to some lib specific cp.
; TOFIX: Warnings are showing up in non-UNICODE mode:
odbc.c:438: warning: pointer targets in passing argument 2 of 'hb_storstr' differ in signedness
Couldn't find an optimal way to pacify them (also in sddodbc).
Can someone help?
* include/hbdefs.h
+ HB_TCHAR_* macros are again only defined for win/wce targets.
This will make sure these won't get used in non-win/wce specific code.
* contrib/hbmysql/tmysql.prg
! Fixed old buggy code which started to throw errors
after introducing strict parameter evaluation in
lower-level code.
For now I replaced the code with old behavior.
Pls make further to replicate original _intent_.
* contrib/rddsql/sddoci/sddoci.c
+ Changed to use STR API for UNICODE conversions. This fixes
this SDD for non-win systems.
! Fixed one missing encoding translation.
* harbour/src/vm/macro.c
* minor simplification
* harbour/src/common/reserved.c
* minor cleanup
* harbour/src/vm/eval.c
* inherit execution context (OOP scope) in HB_EXECFROMARRAY() function
* harbour/include/hbcomp.h
* harbour/include/hbcompdf.h
+ harbour/src/common/funcid.c
* harbour/src/common/Makefile
+ added new [macro]compiler function: hb_compGetFuncID() which can be
used for function name hashing reducing strcmp() comparisons
* harbour/include/hbexpra.c
* harbour/include/hbexprb.c
% use hb_compGetFuncID() to improve code for HB_ET_FUNCALL expressions
* contrib/hbide/ideeditor.prg
* contrib/hbide/ideharbourhelp.prg
+ Implemented: auto activating and displaying the function's documentation
you have currently finished typing opening brace. This feature
is activated only when you have initialized the documentation
browser by clicking on the "H" icon on the right toolbar.
I am open to hear what other features can be implemented in this context.
This itself is a big productivity boost.