* contrib/xhb/tframe.prg
! Using IS*() macros instead of NIL checks.
% Using IS*() macros instead ValType() calls.
% Several minor optimizations.
* Changed to use standard class declaration syntax.
* contrib/xhb/tframe.prg
* contrib/hbide/ideharbourhelp.prg
* contrib/hbide/idehome.prg
! Fixed to generate lowercase HTML code. This is basic requirement
for HTML to validate with any newer than legacy HTML standard (f.e. XHTML).
Should be fixed in other places in Harbour.
* contrib/xhb/tframe.prg
* contrib/xhb/cgi.ch
* Formatting.
* contrib/hbtip/encmthd.c
- Deleted __TIP_QP_[ENCODE|DECODE](). Either I'm misunderstanding
their purpose or they simply didn't work (pbly because they
were not even used by hbtip code).
* contrib/hbtip/encmthd.c
* contrib/hbtip/encurl.prg
* contrib/hbtip/encb64.prg
! Cleaned this quite strange and dangerous hack which made the
exact nature of the logic fully hidden for anyone expecting
regular programming techniques. I even reimplemented QP
encoding not knowing about it.
Now the class/function interface is completely standard
without any hidden interdependencies and internal logic
to access class vars from C level function and mapping C
level functions as methods.
Now it's possible to replace these TIP specific encoder/decoder
functions with core ones, or move these ones to core.
INCOMPATIBLE: Old function names have been changed from
TIPENCODER*_[DECODE|ENCODE]() to __TIP_*_[ENCODE|DECODE]().
; TOFIX: Old C implementation of QP encoding/decoding doesn't
seem to work.
; TODO: Try eliminating redundancy in base64 encoding/decoding
between hbtip and core.
* contrib/hbtip/cgi.prg
* contrib/hbtip/url.prg
* contrib/hbtip/httpcli.prg
* Changed to use new internal function names for encoding/decoding.
* src/rdd/dbf1.c
* Minor formatting.
2010-03-07 04:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/vm/hvm.c
* include/hbapi.h
* Marked hb_synEval public symbol with HB_LEGACY_LEVEL3
* src/rtl/gtwin/gtwin.c
! Copyright header update.
* src/rtl/objfunc.prg
* include/hboo.ch
* Minor cleanup and formatting.
* INSTALL
* Minor refinement in wording.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideprojmanager.prg
! "Codec" -> "Encoding" in a few more places.
! "..." added to some more menu items.
! Double "(.ext)" text in filetypes in open project dialog.
; Please review me.
* src/vm/hvm.c
* include/hbapi.h
* Marked hb_synEval public symbol with HB_LEGACY_LEVEL3
* src/rtl/gtwin/gtwin.c
! Copyright header update.
* src/rtl/objfunc.prg
* include/hboo.ch
* Minor cleanup and formatting.
* INSTALL
* Minor refinement in wording.
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
! "Codec" -> "Encoding" in a few more places.
! "..." added to some more menu items.
! Double "(.ext)" text in filetypes in open project dialog.
; Please review me.
+ contrib/hbide/resources/fl_c.png
+ contrib/hbide/resources/fl_dll.png
+ contrib/hbide/resources/fl_exe.png
+ contrib/hbide/resources/fl_ini.png
+ contrib/hbide/resources/fl_lib.png
+ contrib/hbide/resources/fl_prg.png
+ contrib/hbide/resources/fl_res.png
+ contrib/hbide/resources/fl_txt.png
* contrib/hbide/resources/hb-16x16.png
* contrib/hbide/resources/hb-32x32.png
* contrib/hbide/resources/hbide.png
+ contrib/hbide/resources/hbidesplashwatermark.png
+ contrib/hbide/resources/panel_2.png
+ contrib/hbide/resources/panel_3.png
+ contrib/hbide/resources/panel_4.png
+ contrib/hbide/resources/panel_5.png
+ contrib/hbide/resources/panel_6.png
+ contrib/hbide/resources/panel_7.png
+ contrib/hbide/resources/source_c.png
+ contrib/hbide/resources/source_cpp.png
+ contrib/hbide/resources/source_h.png
+ contrib/hbide/resources/source_o.png
+ contrib/hbide/resources/source_prg.png
+ contrib/hbide/resources/source_res.png
+ contrib/hbide/resources/source_txt.png
+ contrib/hbide/resources/source_unknown.png
+ Added more images for user interface.
* contrib/hbide/resources/projectpropertiesex.ui
* contrib/hbide/resources/projectpropertiesex.uic
- Removed xMate ".xhp" project loading icon.
* contrib/hbxbp/xbpwindow.prg
! Commented out "resize" event as it was hanging the
applications without any graspable reason. Will be
investigated deeply in future.
* contrib/hbide/hbide.hbp
* contrib/hbide/hbide.prg
* contrib/hbide/ideactions.prg
* contrib/hbide/idedocks.prg
* contrib/hbide/ideeditor.prg
* contrib/hbide/idehome.prg
* contrib/hbide/idemisc.prg
* contrib/hbide/ideobject.prg
* contrib/hbide/ideprojmanager.prg
* contrib/hbide/idesaveload.prg
* contrib/hbide/idestylesheets.prg
+ contrib/hbide/idethemes.prg
! This commit corrects/fixes issues reported by Viktor.
Please scratch them again. I might have missed a couple
of them.
+ Implemented: A root panel called "Stats" containing,
presently, "Welcome" and "FAQ's" tabs, detailed below.
Now hbIDE has a mechanism to hold as many informative
slots as the development will demand in future.
<Welcome>: It holds the exiting "Projects" information:
Title Type Sources Last_Modified Location
The field <Title> is a link to open detailed view of its
contents which contain fields:
Source Type Size Last_Modified Location
Clicking on a <Source> opens it in the editor under "Main" panel.
<Home> icon is added in the top-toolbar next to <Exit> icon
which leads you to <Stats> panel holding <Welcome> and <FAQs> tabs.
Projects -> Detail -> Source : backward navigation is enabled
through context menu withing browser. The options within thus
context menu has <Print> option which leads to print preview
dialog and eventually to printing on the paper.
<FAQs>: This holds short questions and answers as per the
industry standards. I could put only two of them still.
Please forward the ones you consider should go to this list.
! Changed: main window icon as previous one was not giving a
strong impression to be remember for long.
! Loading/Opening a project: now offers .hbp or .xhp options.
.xhp is converted to .hbp and is written to disk and project
is loaded as usual. This should be a one-time process.
! Click on function list now position the clicked function
in the center of the editor.
! IdeSettings.ini is now hbide.set and is saved where hbide.ini
is residing. The change is name was nessary as to avoid
wrong impression of .ini nature as a text file. It is binary
by nature.
! Many more artifacts which I tend to forget, please bear it
with my age.
* harbour/include/hbxvm.h
* harbour/src/compiler/gencc.c
* harbour/src/vm/hvm.c
% added few functions increasing the execution speed of some PRG code
compiled with -gc3 switch
* external/pcre/Makefile
- Disabled stdint.h for all targets to make some Harbour
supported legacy compilers happy which don't support it
(f.e. bcc 5.5)
* src/common/hbverdsp.c
% "Language options" merged into "Build options"
* src/rtl/gtwin/gtwin.c
- Deleted not working undocumented SetConsolePalette() code sections.
* HB_GTI_PALETTE will return zeroes (black) on platforms/builds which
don't support console palette API.
+ Enabled SetConsoleMenuClose() undocumented call in default builds.
It seems so simple function that it's unlikely it will change
(worst case it will be deleted). Return value confirmed to be
BOOL (don't ask how).
This feature requires Windows 2000 for final apps, no build-time
requirement.
Can be disabled using HB_GTWIN_USE_SETCONSOLEMENUCLOSE_OFF macro.
% Minor optimization.
* contrib/hbwin/win_reg.prg
! Changed to use local emulation of BIN2U() instead of XPP
specific original implementation.
* src/rtl/gtwin/gtwin.c
+ Added more code (probably the ugliest I've ever had a chance
to create while touching Windows API) for undocumented
SetConsolePalette() hack, following Saulius Zrelskis's
suggestion. Now it doesn't GPF, but it does nothing else
either (could be wrong SYSPAL_ constant, could be anything).
From this point I'll let others continue, or delete all
undocumented code sections.
* contrib/hbmysql/hbmysql.hbc
* contrib/rddsql/sddmy/sddmy.hbc
! Fixed library name for Linux platforms.
I hope it also works for other *nix systems.
(On darwin/macports it doesn't because they placed
the lib in a subdir, but at least the lib name is
right)
+ external/bzip2
+ external/bzip2/LICENSE
+ external/bzip2/Makefile
+ external/bzip2/cnv_hb2o.bat
+ external/bzip2/cnv_o2hb.bat
+ external/bzip2/blocksor.c
+ external/bzip2/bzip2.c
+ external/bzip2/bzlib.c
+ external/bzip2/compress.c
+ external/bzip2/crctable.c
+ external/bzip2/decompre.c
+ external/bzip2/huffman.c
+ external/bzip2/randtabl.c
+ external/bzip2/bzlib.h
+ external/bzip2/bzlib_pr.h
+ Add locally hosted bzip2 library. Experimental, we
don't use it yet. Will be deleted if of no use, or
not portable enough. ATM OS/2, DOS and WCE targets
are not supported.
* external/pcre/pcre.dif
- Deleted not more required local patch, since
we're not using legacy (Windows) types anymore
in Harbour.
* external/pcre/pcre.h
* external/pcre/pcreexec.c
* external/pcre/pcreinal.h
* external/pcre/pcredfa.c
* external/pcre/pcrecomp.c
* external/pcre/config.h
* external/pcre/LICENCE
* external/pcre/pcreprni.h
* external/pcre/pcrestud.c
+ Updated to 8.0.1 (from 8.0.0)
* external/libpng/pngrio.c
* external/libpng/pngconf.h
* external/libpng/pngwrite.c
* external/libpng/pngset.c
* external/libpng/pngpread.c
* external/libpng/pngwtran.c
* external/libpng/LICENSE
* external/libpng/pngrutil.c
* external/libpng/pngwutil.c
* external/libpng/pngread.c
* external/libpng/pngmem.c
* external/libpng/pngget.c
* external/libpng/png.c
* external/libpng/png.h
* external/libpng/pngpriv.h
* external/libpng/pngrtran.c
+ Updated to 1.4.1 (from 1.4.0)
* src/rtl/gtwin/gtwin.c
+ Added HB_GTI_PALETTE support for GTWIN. Requires Vista
system or newer at runtime and requires Vista compatible
SDK at build-time (this is MSVC newer versions or older
versions with newer SDK). Unfortunately it cannot work
with mingw and possibly other C compilers until they
add support.
+ Added to set MS-DOS-like colors for GTWIN on Vista and
newer systems (same requirements as above).
+ Added experimental undocumented SetConsolePalette()
support for non-Vista systems and non-Vista SDKs,
but it GPFs and doesn't support reading palette, so
overall it's not enough for Harbour. I will let it there
in case someone wants to deal with it and delete it
after a few days.
* contrib/rddads/ads1.c
* Minor formatting.
* harbour/contrib/rddads/ads1.c
* changed errSubCode values. Now errSubCode ir equal to:
= ADS error value, if error is returned from ADS. Values
of error subcodes are > 1000.
= EDBF_* - 900, if error is generated by RDD. Values of
error subcodes are < 1000.
+ added a detailed error description for ADS errors
* src/common/hbver.c
* include/hbapi.h
+ Added hb_iswinvista() to detect Vista and newer Windows versions.
* src/rtl/version.c
* include/hbextern.ch
+ Added HB_OSISWINVISTA() .prg level function with above meaning.
* contrib/hbwin/win_os.prg
% Changed to use HB_OSISWINVISTA() instead of hbwin specific
WIN_OSISVISTAORUPPER().
* contrib/rddsql/sddoci/sddoci.c
! Fixed OCILIB initalization to make OCI_GetLastError() work.
(Thanks to OCILIB author Vincent Rogier for the report
and fix)
* src/rtl/gtwin/gtwin.c
% Simplified the way close button status is retrieved (based
on code posted Saulius Zrelskis)
+ Added code to disable 'close' menu also. This is using
undocumented Windows API call, so by default the logic
is disabled, and can be enabled with HB_GTWIN_UNDOC_WINAPI
macro. (Thanks to Saulius Zrelskis for this API tip)
(NOTE: All 'close' controls are controlled by HB_GTI_CLOSABLE)
* 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'