* include/hbexpra.c
* source/compiler/expropta.c
* source/macro/macroa.c
* source/vm/macro.c
* fixed bug cousing that some memory was deallocated
more then once
* source/debug/debugger.prg
* fixed support for .T./.F. in command window
* fixed issues when the application was using
SET EXACT ON
* include/hbapi.h
* include/hbvm.h
* source/vm/hvm.c
* source/vm/macro.c
* fixed bug introduced earlier by me in the macro compiler:
PUBLIC ¯o
works correctly now
* source/compiler/gencli.c
* fixed warnings
* source/rtl/cdpapi.c
*fixed warnings (Can the author of the code check if
I correctly parenthesized multiple || and && conditions?)
* source/vm/classes.c
*fixed warning in gcc (commented out unused
static hb_clsScope function)
* source/rdd/dbfntx/dbfntx1.c
* source/rtl/fstemp.c
* fixed hb_fsCreateTemp() to use 'mkstemp' on Unix
* fixed sorting procedure to use hb_fsCreateTemp
wrapper function
* source/rtl/set.c
*hb_set.HB_SET_DIRSEPARATOR defaults to '/' on Unix
* include/hbexprb.c
* include/hbmacro.ch
* fixed support for strings as array of bytes
(in macro compiler)
* added a new #define HB_SM_ARRSTR as a flag
for HB_SETMACRO() to disable/enable strings
as array of bytes
* source/vm/macro.c
* added HB_SM_ARRSTR support
* fixed TYPE() function to return correct value when an
assigment to undeclared variable is checked (Clipper
creates the memvar variable) - thanks to Phil Krylov
* source/compiler/hbusage.c
* fixed typo for -ks switch
* include/hbapi.h
* source/vm/macro.c
* added HB_ITEM_PTR pError member to HB_MACRO structure
* fixed bug in macro compiler - calls to static
functions are not allowed in macro compiler
* source/common/expropt1.c
* source/common/hbffind.c
*fixed minor warnings reported by Randy Portnoff
* source/rtl/set.c
*SET(_SET_DEBUG) defaults to FALSE (Clipper compatible)
* source/rtl/idle.c
*small optimization of hb_idleState()
* source/compiler/harbour.y
*the compiler generates line number for DO CASE
(if debug info requested - to allow breakpoint)
* source/debug/debugger.prg
*the debugger shows the line number for modules where
no source code is available
* source/pp/ppcore.c
* fixed parsing of nested #defines in command/translate
for example:
#define PRE_CHAR 'A'
#define IDX_EXPR(x) PRE_CHAR+x
INDEX ON IDX_EXPR(myfield) TO myfile
* source/pp/pptable.c
* updated for fixes in ppcore.c (_DFSET define)
+ harbour/tests/bldtest/Makefile
+ harbour/tests/bldtest/bldtest.c
+ simple C program to check if Harbour can be compiled on
used machine / system / C compiler
* 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.