* include/hberrors.h
* source/pp/ppcore.c
*fixed #define parsing of pseudofunctions in cases where
passed argument has the same name as declared parameter
*fixed #define parsing of pseudofunctions - the following
syntax is not allowed:
#define test(x,x) - duplicated parameters
#define test(x,) - missing parameter
#define test(x - missing parenthes
* source/common/expropt1.c
* fixed generation of pcode for &(macro)->() syntax
* source/compiler/harbour.l
* fixed GPF when string with unmatched terminator was used
* include/hbexprop.h
* source/compiler/harbour.y
* removed direct access to internals of expression
optimizer structure
* source/debug/debugger.prg
* fixed checking of path separator
+ source/rtl/altd.prg
+new file with ALTD() procedure code
* hrbdll.bc
* hrbdll.vc
* makefile.bc
* makefile.nt
* makefile.vc
* source/rtl/Makefile
*added a reference to rtl/altd.prg
* source/common/hbffind.c
*fixed to compile correctly with HB_OS_UNIX
* include/hbcomp.h
* include/hbexpra.c
* include/hbexprb.c
* include/hbexprop.h
* include/hbpcode.h
* source/common/expropt1.c
* source/compiler/expropta.c
* source/compiler/exproptb.c
* source/compiler/genc.c
* source/compiler/harbour.c
* source/compiler/harbour.y
* source/compiler/hbfix.c
* source/compiler/hbgenerr.c
* source/compiler/hbpcode.c
* source/macro/macro.y
* source/macro/macroa.c
* source/macro/macrob.c
* source/vm/hvm.c
+added missing support for @¯o and @M->memvar
+added new pcode HB_MACROPUSHREF (all sources have to be
recompiled)
* source/debug/dbgtwin.prg
* source/debug/debugger.prg
*fixed procedures callstack when modules with/without debug info
are linked together
*fixed the debugger activation when ALTD() is used in
a module with no debug info (the debugger shows up
on the first line with debug info after the ALTD()
is called)
NOTICE:
Some compilers may require that the debug library has to
be specified as an object file in order to get the
debugger linked in.
* source/rtl/teditor.prg
! Fixed a Bound error in GetParagraph which came up when
using <Del> in wrap mode, in the last line I guess.
Note that this just fixed the bound error, not the possible
real problem.
* source/common/hbffind.c
* source/rtl/direct.c
+ Completely rearranged, so that the platform specific stuff
is kept in one function. Redundant code removed.
* Attrib filters needed to make DIRECTORY() CA-Cl*pper
compatible have been moved to the low-level file-find
functions.
+ Added label support for Win32.
! Fix for Win32. It has been made compatible with the
C RTL _dos_findfirst pattern matching, which is what
CA-Clipper is compatible with.
* Adding space to the stringified attribute list on
HB_FA_NORMAL removed, since it's not compatible, and it
doesn't get executed anyway, since HB_FA_NORMAL == 0.
* UNIX part formatted.
; All this means that file find API is fixed now and compatible
with CA-Cl*pper on the lower level. Heavily tested under
Win32, and probably easy to fix for any other platforms
now in case of incompatibility. Changes has be merged from
an older version of the file, so please double chk your
changes/platforms.
; Note that other file-find API based functions will also
automatically benefit from the above changes, like FILE()/
hb_fsFile().
* source/rtl/memoread.c
* Previous change reverted. hb_retc( NULL ) was intentional
and is an optimized version of hb_retc( "" ). Both will return
an empty string.
% hb_fsClose() calls reduced.
* src/rtl/tbcolumn.prg
* src/rtl/tbrowse.prg
! :SetColumn() retval made compatible.
! :ColWidth() retval made compatible.
% Using array functions to speed up a few things.
% Got rid of the predefined 4096 long array in every
columns plus the browse object.
; More and more incompatibilities are popping up, some
of them quite strange, and only coming up in a large
app's sophisticated browse stressing environment.
- Removing rightmost column while active will do RTE,
- If headsep is initialized after the columns and cargo,
browse will sometimes behave strangely (headsep value
disappears??)
- Moving columns off the visible area will screw up
internals.
- Modifying columns is slow because of the unconditional
:configure() calls.
* src/rtl/set.c
! Fixed an incompatibility in Set(_SET_EXIT) which caused
ReadExit() to set the SET value even if called without
a parameter. Similar incompatibility can exist with other
sets, but I didn't chk them.
Now ReadExit() works as expected.
* src/rtl/tbrowse.prg
! Typo.
* src/rtl/tbrowse.prg
+ :ColorRect() partial support added. The missing part is
that in C52 :ColorRect() will update the screen probably
using some internal buffers for the data, because
the skipblock for example is not evaluated.
* src/rtl/filesys.c
* Some cleanup, optim, comments, added static.
* src/rtl/tbrowse.prg
! Fixed to not display headsep/footsep when there's no
header/footer.
! Fixed to display headsep/footsep with the width of
colsep.
* makefile.bc
! Added DEBUG_LIB for Harbour exes to make them compile
in debug mode.
* souce/rtl/gtapi.c
! hb_gtSetColorStr() previous change reverted. The mistake
was on my side most probably.
* source/rtl/tbrowse.prg
! :Moved() fixed to always DeHilite() (independently from
the autolite value). This is in sync with C52 docs
(see autolite .ng), and testing has shown it to be
compatible. Only :stabilize should be affected by the
autolite setting.
+ TODO: added about missing ColorRect functionality.
* source/rtl/tbrowse.prg
! Fixed color handling to take into account ::defcolor
of TBColumn. Now TBrowse coloring is C52 compatible.
For speed wierd cases are not handled like if the value
of ::defcolor is improper.
* source/rtl/tgetlist.prg
* source/rtl/ttopbar.prg
* source/rtl/tbrowse.prg
! DevPos() -> SetPos() (TBrowse() had plenty of them)
! Few missing color params added to DispOut*()
* source/rtl/tget.prg
! :display() fixed to always evaluate the get block before
displaying like in C52.
* include/hbapifs.h
+ HB_FFIND structure extended for future changes.
* include/hbapigt.h
* source/rtl/gt_tpl/gt_tpl.c
* source/rtl/gtwin/gtwin.c
* source/rtl/gtcgi/gtcgi.c
* source/rtl/gtcrs/gtcrs.c
* source/rtl/gtdos/gtdos.c
* source/rtl/gtos2/gtos2.c
* source/rtl/gtpca/gtpca.c
* source/rtl/gtsln/gtsln.c
* source/rtl/gtstd/gtstd.c
+ Following low-level GT API functions added (for completeness):
hb_gt_GetCharAttr( SHORT uiRow, SHORT uiCol, BYTE * pbyChar, BYTE * pbyAttr );
"static hb_gt_xGetXY()" functionality copied where available.
* Parameter of previously added functions changed from USHORT to SHORT
(to support moving windows out of screen)
+ "static hb_gt_xPutch()" code copied to hb_gt_PutCharAttr() where available.
! Added bounds checking to GTWIN new functions.
+ source/codepage/cdphu852.c
+ source/codepage/cdphuwin.c
* source/codepage/Makefile
* makefile.bc
* makefile.nt
* makefile.vc
+ Added Hungarian 852 and Windows sorting codepages.
* source/rtl/errorapi.c
+ source/rtl/errorint.c
* source/rtl/Makefile
* makefile.bc
* makefile.nt
* makefile.vc
+ hb_errInternal() put in a separate source file, to ease
replacing/override it in link-time, this may be useful
for GUI apps, logging or something like this.
* source/vm/hvm.c
! hb_vmPopAliasedVar() - Fixed to be case-insensitive.
% hb_vmPushAliasedVar() - Case-insensitive handling speed up.
* unsigned long -> ULONG
* source/rtl/idle.c
* include/hbapi.h
+ Made hb_releaseCPU() public.
* source/rtl/filesys.c
* include/hbapifs.h
+ Added return value to hb_fsSetDevMode(), this way it's
fully compatible with the CA-Clipper _tdevraw() call.
* source/rtl/philes53.c
! FSETDEVMOD() now returns a numeric instead of NIL. The
returned value is always 0 now. Note added about this
incompatibility with C53.
* source/common/hbver.c
! Mistyped defines related to compatibilty fixed.
* source/rtl/strcase.c
! Incorrect assigment warnings fixed.
* souce/rtl/gtapi.c
! hb_gtSetColorStr() removed one suspicious assigment which
showed incompatible with CA-Cl*pper, whete CLR_UNSELECTED
was made equal to CLR_ENHANCED if missing from the color string.
* Using CLR_ constants instead of literals.
* source/rtl/tget.prg
! :ColorSpec() method unselected color defaulting fixed.
* source/compiler/hbusage.c
* Bumped year to 2004.
+ source/debug/dbgbrwsr.prg
+ The new file with TDbgBrowser class which inherits
from TBrowse
* hrbdll.bc
* hrbdll.vc
* makefile.bc
* makefile.nt
* makefile.vc
* source/debug/Makefile
+ added the reference to dbgbrwsr.prg
* source/debug/dbgmenu.prg
+ added "Run at Startup' option
* source/debug/dbgtwin.prg
* source/debug/debugger.prg
* source/debug/tbrwtext.prg
+ added "Run at Startup' option - if it is enabled then
the debugged application runs until ALTD() is called or
Alt+D keys pressed (Clipper compatibility - the default
option). If it is disabled the the debugger shows up at
the first code line with the debug info.
This setting is stored in the initialization file
(init.cld) as 'Options NoRunAtStartup'.
* fixed more display/refreshing issues
* fixed quiting the debugger
* source/rtl/alert.prg
* fixed bug with messages longer then 60 bytes
* source/vm/hvm.c
* hb_vmDebugEndProc() is called before the eval stack
is cleaned - this allows to handle INIT/EXIT procedures
correctly
* source/rtl/teditor.prg
* the current line is still visible after the window resizing
* source/debug/debugger.prg
* fixed refreshing of variables' monitor window
* fixed some save/restore screen issues
* source/compiler/harbour.c
* fixed generation of pcode in codeblocks with no
local variables or parameters
* source/debug/debugger.prg
* fixed refreshing of variables in monitor window
* source/compiler/harbour.c
* the compiler generates module name inside
'(_INITSTATICS)' function if -B option is used
* source/vm/hvm.c
* fixed hb_vmStaticName, hb_dbg_vmVarSGet,
hb_dbg_varSSet to use the static variables frame
* source/debug/dbgtmenu.prg
* source/debug/dbgtmitm.prg
* source/debug/debugger.prg
* fixed parsing of <var>:<name> in watchpoint
expressions
* fixed monitoring of static variables - the
debugger displays now static variables defined
in the current debugged prg file
* source/compiler/harbour.c
*fixed generation of codeblock's pcode with debugging info
* source/debug/dbgmenu.prg
* source/debug/dbgtmenu.prg
* source/debug/dbgtmitm.prg
* source/debug/dbgtwin.prg
* source/debug/debugger.prg
* source/debug/tbrwtext.prg
*added Tracepoint support
*added support for PPO files
*added monitoring of local variables used in a codeblock
*local variables are displayed correctly when the
callstack window is browsed
*other minor fixes
* source/vm/debug.c
*renamed '__vm*' functions to 'hb_dbg_*'
*fixed support for local variables inside of codeblock
* source/vm/hvm.c
*added 'hb_dbg_ProcLevel' function which return the
size of procedure stack calls (the debugger support)