* include/hbcomp.h
* include/hbexprb.c
* include/hbmacro.h
* source/compiler/exproptb.c
* source/compiler/harbour.c
* source/compiler/hbgenerr.c
* source/macro/macrob.c
* source/vm/macro.c
* compiler reports error on the following syntax now (Clipper
compatibility):
{|| ¯ovar <operator> anysymbol}
"codeblock contains both macro and declared symbol reference"
Notice, that Clipper reports error even in this case:
MEMVAR mvar
{|| &mvar,mvar}
* source/vm/memvars.c
* restored initial and expand sizes for memvars table
* source/pp/ppcore.c
* some empty lines added
* include/hbapi.h
* source/vm/codebloc.c
* source/vm/itemapi.c
* source/vm/memvars.c
* fixed memvars and detached locals handling related to reallocation
of memvar's buffer and detaching of locals in a loop
- thanks to Przemek
* source/vm/debug.c
*removed diagnostic hb_dbgstop()
+ harbour/config/hpux/dir.cf
+ harbour/config/hpux/gcc.cf
+ harbour/config/hpux/global.cf
+ harbour/config/hpux/install.cf
* Marcelo's files build files for HPUX borrowed from xHarbour
* harbour/bin/hb-func.sh
* harbour/bin/hb-mkslib.sh
* harbour/bin/postinst.sh
* recent Phil's changes for Darwin and some of mine modifications and
cleanups
* harbour/include/Makefile
+ added some missing header files
* harbour/include/hbapi.h
+ added HB_ITEM_{GET|PUT}_NUMINTRAW() macros
+ added hb_objGetClass()
* harbour/include/hbdefs.h
* redefined multi commands macros to use do {...} while(0) for safe
use in any of C statement
+ added HB_OS_HPUX
* harbour/include/hbsetup.h
+ added HB_OS_HPUX
* harbour/include/hbstack.h
* hb_stackDec(), hb_stackPop(), hb_stackPush() redefined also as macros
when HB_STACK_MACROS is set
+ added function hb_stackIncrease()
* harbour/source/common/hbstr.c
* fixed possible buffer overflow
* harbour/include/hbrdddbf.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/workarea.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfdbt/dbfdbt1.c
* harbour/source/rdd/dbffpt/dbffpt1.c
* my recent fixes in xHarbour
* harbour/source/rtl/copyfile.c
* small fix to error message
* harbour/source/rtl/idle.c
+ added HB_IDLESLEEP() and
void hb_idleSleep( double dSeconds )
* harbour/source/rtl/isprint.c
* use hb_xgrab()/hb_xfree() instead of malloc()/free()
* harbour/source/rtl/run.c
* added __WATCOMC__ to C compilers supporting system()
* harbour/source/vm/arrays.c
* cleaned hb_arrayFromStack(), hb_arrayFromParams()
* harbour/source/vm/arrayshb.c
* small fixes to error messages
! improved Clipper compatibility in AFILL()
* harbour/source/vm/asort.c
* separate entry for integer items - conversion to double may
damage big 64bit numbers
* harbour/source/vm/classes.c
+ added USHORT hb_objGetClass( PHB_ITEM pItem )
* harbour/source/vm/dynsym.c
! fixed accessing to uninitialized memory
* harbour/source/vm/estack.c
+ added hb_stackIncrease() and modification for new stack macros
* harbour/source/vm/hvm.c
* fixed some error messages
* some speed improvements
* harbour/source/vm/itemapi.c
* some small optimizations
* harbour/utils/hbtest/rt_misc.prg
* modified file name conversions test results for __PLATFORM__UNIX
* harbour/config/bsd/global.cf
+ added suppot for HB_COMMERCE and HB_WITHOUT_GTSLN env vars
* harbour/source/compiler/Makefile
* formating
* harbour/include/hbdefs.h
* harbour/source/vm/fm.c
* harbour/source/vm/garbage.c
+ added macro HB_ALLOC_ALIGNMENT which forces allocated memory
alignment in FM and GC modules to given value - by default used
only when set HB_OS_SUNOS with 8 bytes alignment
* harbour/bin/postinst.sh
* changed install command syntax for Solaris compatibility
* harbour/include/hbdefs.h
* minor formating
* harbour/source/vm/fm.c
+ overwrite HB_MEMINFO_SIGNATURE with 0 in hb_xfree() for detection
redundant hb_xfree() call with the same pointer
* harbour/source/rtl/spfiles.c
* set the real path in second parameter of RetPath even when
hb_spFiles fails to avoid race condition
* harbour/source/vm/hvm.c
! set proper decimal value in hb_vmDivide when the integer results
is converted into double
! commented out integer division optimization at runtime for Clipper
compatibility
* harbour/bin/hb-func.sh
* changed 'sed' and 'tr' expresions to be compatible with SunOS
+ added Darwin dynlib support borrowed from xHarbour thanks
to Phil Krylov
* harbour/bin/hb-mkslib.sh
* minor modification
* harbour/bin/postinst.sh
* harbour/config/darwin/gcc.cf
+ Phil's modification for Darwin
* removed HB_OS_BSD and HB_BIG_ENDIAN - the first macro is set in
hbsetup.h when HB_OS_DARWIN is set, the second one should be
automatically detected inside hbdefs.h using C header files.
* harbour/config/sunos/gcc.cf
* removed HB_BIG_ENDIAN macro - the same as above
* harbour/include/hbapi.h
* harbour/source/vm/fm.c
* changed 16/32 bit hack #if UINT_MAX == ULONG_MAX for hb_xmem*()
functions to still not perfect but working on current platforms
#if UINT_MAX > USHRT_MAX
* harbour/include/hbdefs.h
+ added HB_DBL_LIM_INT24(d) and HB_LIM_INT24(l) macros
+ try to autodect byte order using information form system C header
files - it whoud work for Linux, BSD/Darwin, SunOS - maybe also
for some other *nixes
* removed some dangerous casting. [x]Harbour code still depnds on
8bytes double - in CDX for binary compatibility IEEE754 double is
necessary - if some architectures uses differ type of double value
for binary compatibility we will have to create proper conversion
functions for HB_{PUT|GET}_{LE|BE}_DOUBLE and HB_ORD2DBL/HB_DBL2ORD
macros
* harbour/include/hbsetup.h
* define HB_OS_UNIX when HB_OS_SUNOS set
* harbour/source/common/hbstr.c
* harbour/source/pp/ppcore.c
* casting
* harbour/source/compiler/harbour.c
* use HB_LIM_INT*() macros instead of hard coded values
* removed some unnecessary if () statement - always true
* harbour/source/compiler/harbour.l
* harbour/source/compiler/hbfix.c
* harbour/source/vm/macro.c
* use HB_LIM_INT*() macros instead of hard coded values
* harbour/source/rdd/dbfcdx/dbfcdx1.c
! minor fix
* harbour/source/rdd/dbfntx/dbfntx1.c
! small fix - the temporary index file was not removed
* do not force any name for temporary index files - important
in some cases (like DOS and short file names)
* harbour/source/rtl/diskspac.c
! fixed type in SunOS version
* harbour/source/rtl/gtsln/Makefile
* minor cleanups
* harbour/utils/hbtest/rt_math.prg
* changed to number results to be Clipper compatible.
* harbour/bin/hb-func.sh
* harbour/bin/pack_src.sh
+ harbour/config/sunos/dir.cf
+ harbour/config/sunos/gcc.cf
+ harbour/config/sunos/global.cf
+ harbour/config/sunos/install.cf
+ added SunOS support
* harbour/config/darwin/gcc.cf
* small modification for nicer work with OS-X installed
on SF compile farm - I'm not Darwin user and SF is the only
one place I can make tests - if someone may fix me and leave
some comments 'why?' it will be nice.
* harbour/contrib/Makefile
* exclude ADS RDD from Darwin build
* harbour/contrib/rdd_ads/adsfunc.c
* some minor modification to avoid compiler warnings.
* harbour/include/hbdefs.h
* fixed typo in HB_PUT_LE_DOUBLE() macro for big endian machines.
* harbour/source/compiler/genc.c
! fixed endian dependend code I left by mistake
* harbour/source/compiler/harbour.c
* harbour/source/compiler/harbour.sly
* harbour/source/compiler/harbour.y
! commented out hb_compSequenceFinish()
* harbour/source/pp/ppcore.c
+ added ( void * ) size as result of __ARCH{16,32,64}BIT__ and
__{LITTLE,BIG,PDP}_ENDIAN__ macros
* harbour/source/pp/pragma.c
! fixed possible string overflow
* harbour/source/vm/itemapi.c
* harbour/source/rtl/diskspac.c
* harbour/source/rtl/disksphb.c
* harbour/source/rtl/fstemp.c
* harbour/source/rtl/idle.c
* harbour/source/rtl/math.c
* harbour/source/rtl/gtcrs/Makefile
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtcrs/kbdcrs.c
* harbour/source/rtl/gtcrs/mousecrs.c
* modified for SunOS and Darwin support.
* harbour/include/hbdefs.h
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/workarea.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* foramting some // replaced by /* */
* harbour/source/vm/maindllp.c
* fixed Windows compilation
The BCC and MSC make fiels have to be updated to the folowing changes:
- harbour/contrib/libct/invertwin.prg
+ harbour/contrib/libct/invrtwin.prg
- harbour/source/common/hbffind.c
+ harbour/source/common/hbverdsp.c
- harbour/source/rdd/dbfcdx/dbfcdx1.h
+ harbour/source/rtl/hbffind.c
* harbour/Makefile
+ harbour/make_bsd.sh
+ harbour/make_drw.sh
* harbour/make_tgz.sh
+ harbour/bin/hb-func.sh
* harbour/bin/pack_src.sh
+ harbour/bin/postinst.bat
+ harbour/bin/postinst.sh
* harbour/config/dir.cf
* harbour/config/bsd/gcc.cf
* harbour/config/bsd/global.cf
+ harbour/config/darwin/dir.cf
+ harbour/config/darwin/gcc.cf
+ harbour/config/darwin/global.cf
+ harbour/config/darwin/install.cf
* harbour/config/dos/dir.cf
* harbour/config/dos/global.cf
* harbour/config/dos/install.cf
* harbour/config/dos/owatcom.cf
* harbour/config/dos/watcom.cf
* harbour/config/linux/gcc.cf
* harbour/config/linux/global.cf
* harbour/contrib/Makefile
* harbour/contrib/dot/pp_harb.ch
* harbour/contrib/libct/Makefile
* harbour/contrib/libct/bit1.c
* harbour/contrib/libct/bit2.c
* harbour/contrib/libct/bit3.c
* harbour/contrib/libct/files.c
* harbour/contrib/libct/ftoc.c
- harbour/contrib/libct/invertwin.prg
+ harbour/contrib/libct/invrtwin.prg
* harbour/contrib/libct/keyset.c
* harbour/contrib/libct/makefile.bc
* harbour/contrib/libmisc/dates2.c
* harbour/contrib/rdd_ads/ads1.c
* harbour/contrib/rdd_ads/adsfunc.c
* harbour/contrib/samples/date.c
* harbour/include/dbinfo.ch
* harbour/include/hbapi.h
* harbour/include/hbapicdp.h
* harbour/include/hbapifs.h
* harbour/include/hbapigt.h
* harbour/include/hbapiitm.h
* harbour/include/hbcomp.h
* harbour/include/hbdate.h
* harbour/include/hbdbf.h
* harbour/include/hbdbferr.h
* harbour/include/hbdefs.h
* harbour/include/hbexprb.c
* harbour/include/hbexprc.c
* harbour/include/hbexprop.h
* harbour/include/hbmacro.h
* harbour/include/hbmath.h
* harbour/include/hbpcode.h
* harbour/include/hbrddcdx.h
* harbour/include/hbrdddbf.h
* harbour/include/hbrdddbt.h
* harbour/include/hbrddfpt.h
* harbour/include/hbrddntx.h
* harbour/include/hbset.h
* harbour/include/hbsetup.h
* harbour/include/set.ch
* harbour/source/common/Makefile
* harbour/source/common/expropt1.c
* harbour/source/common/expropt2.c
- harbour/source/common/hbffind.c
* harbour/source/common/hbfsapi.c
* harbour/source/common/hbstr.c
* harbour/source/common/hbver.c
+ harbour/source/common/hbverdsp.c
* harbour/source/compiler/genc.c
* harbour/source/compiler/gencli.c
* harbour/source/compiler/harbour.c
* harbour/source/compiler/harbour.l
* harbour/source/compiler/harbour.slx
* harbour/source/compiler/harbour.sly
* harbour/source/compiler/harbour.y
* harbour/source/compiler/hbfix.c
* harbour/source/compiler/hbpcode.c
* harbour/source/compiler/hbusage.c
* harbour/source/compiler/simplex.c
* harbour/source/macro/macro.l
* harbour/source/macro/macro.slx
* harbour/source/macro/macro.y
* harbour/source/pp/ppcore.c
* harbour/source/rdd/dbcmd.c
* harbour/source/rdd/dbf1.c
* harbour/source/rdd/dbfcdx/dbfcdx1.c
- harbour/source/rdd/dbfcdx/dbfcdx1.h
* harbour/source/rdd/dbffpt/dbffpt1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* harbour/source/rtl/Makefile
* harbour/source/rtl/abs.c
* harbour/source/rtl/at.c
* harbour/source/rtl/datec.c
* harbour/source/rtl/dates.c
* harbour/source/rtl/dateshb.c
* harbour/source/rtl/datesx.c
* harbour/source/rtl/empty.c
* harbour/source/rtl/errorapi.c
* harbour/source/rtl/errorint.c
* harbour/source/rtl/filesys.c
* harbour/source/rtl/fstemp.c
+ harbour/source/rtl/hbffind.c
* harbour/source/rtl/hbrandom.c
* harbour/source/rtl/idle.c
* harbour/source/rtl/inkey.c
* harbour/source/rtl/math.c
* harbour/source/rtl/minmax.c
* harbour/source/rtl/pad.c
* harbour/source/rtl/padc.c
* harbour/source/rtl/padl.c
* harbour/source/rtl/padr.c
* harbour/source/rtl/philes.c
* harbour/source/rtl/round.c
* harbour/source/rtl/soundex.c
* harbour/source/rtl/str.c
* harbour/source/rtl/strcase.c
* harbour/source/rtl/strmatch.c
* harbour/source/rtl/strtran.c
* harbour/source/rtl/strzero.c
* harbour/source/rtl/substr.c
* harbour/source/rtl/val.c
* harbour/source/rtl/gtcrs/gtcrs.c
* harbour/source/rtl/gtcrs/kbdcrs.c
* harbour/source/rtl/gtdos/gtdos.c
* harbour/source/rtl/gtsln/gtsln.c
* harbour/source/rtl/gtsln/kbsln.c
* harbour/source/rtl/gtsln/keytrans.c
* harbour/source/vm/arrays.c
* harbour/source/vm/codebloc.c
* harbour/source/vm/estack.c
* harbour/source/vm/eval.c
* harbour/source/vm/extend.c
* harbour/source/vm/hvm.c
* harbour/source/vm/itemapi.c
* harbour/source/vm/macro.c
* harbour/source/vm/memvars.c
* harbour/source/vm/runner.c
* harbour/tests/bldtest/bldtest.c
* harbour/utils/hbtest/hbtest.prg
* harbour/utils/hbtest/rt_misc.prg
* harbour/utils/hbtest/rt_str.prg
* Sorry but it's too much modification for full description
cvs diff gives file 785982 bytes length. So I only count the
main things:
! cleand the code (no more warning messages under Linux and GCC and
DOS OpenWatcom) - some of them were real bugs
! cleaned all endian dependend code I've found - now Harbour can be
compiled on LITLE and BIG endian machines - for some other like
PDP ENDIAN it's enough to define proper macros in hbdefs.h
+ added macros for to get/put values in chosen byte order:
HB_GET_LE_[U]INT{16,24,32,64}( pPtr )
HB_GET_BE_[U]INT{16,24,32,64}( pPtr )
HB_PUT_LE_[U]INT{16,24,32,64}( pPtr, nVal )
HB_PUT_BE_[U]INT{16,24,32,64}( pPtr, nVal )
+ added macro HB_CAST_BYTE_NUMBERS_OFF which disables casting in
HB_{GET|PUT}_{LE|BE}_* macros - it's necessary for some platforms
like ALPHA DEC.
! cleaned the code for 64bit machines
* changed all parameters in hb_date* functions (day, month, year, week)
from LONG to int - it doesn't change binary compatibility for 32bit
machines but can cause troubles with compiling the old source
+ changed HB_IT_LONG type to HB_LONG which is mapped to long long
by default for 32 bit machines.
+ change HB_IT_INTEGER to be real 'int' C type not 'short int'
+ added HB_IS_NUMINT() macro
+ added hb_parnll, hb_stornll, hb_retnll, hbretnlllen, hb_itemPutNLL,
hb_itemPutNLLLen, hb_itemGetNLL which operates on LONGLONG
+ added hb_parnint, hb_stornint, hb_retnint, hb_retnintlen,
hb_itemPutNInt, hb_itemPutNIntLen, hb_itemGetNInt which operates on
HB_LONG
+ added HB_PUSHLONGLONG pcode
+ changed compiler and optimizer to use HB_LONG numbers and reduce
conversion from to double which may damage the 64bit number.
+ common functions for string to number conversions for compiler, RTL
and RDD to reduce problems with differ FL values for the same number:
hb_compStrToNum(), hb_valStrnToNum(), hb_strToNum(), hb_strnToNum()
+ common function hb_numRoun() which uses exactly the same algorithms
as string to number conversion for the same reason - please keep
this functions together.
+ hack inside hb_numRound() similar to the one used by CL5.3
+ hb_numInt() which uses uses the same hack as hb_numRound()
+ rewritten number to string conversion
+ some new string manipulation functions hb_strncpy(), hb_strncat(), ...
They works differ the the C one - always set 0 at the end, the buffer
has to be n+1 bytes length, the n is total size of buffer not the
left free space.
! cleaned some code which operates on ASCIIZ string to avoid potential
buffer overflow
+ updated RDD code - it's the first part - in few days I plan to change
workarea structure in both projects - it will break any 3rd party RDDs
so they have to be updated. I want to add SUPERTABLE into workarea
to allow creating new RDD on-line.
! cleaned the bugs with negating integers - on most machines (like x86)
the integers are not 0 symmetric - it means that x = -x does not work
for {INT,LONG,LONGLONG}_MIN (hb_vmNegate, ABS())
+ cleaned error messages to be Clipper compatible.
+ updated build process for .DEB packages - now hb* scripts and shared
libs are created by standard make install
* added new .prg #defines: __PLATFORM__<cPlatfrom>,
__ARCH{16|32|64}BIT__, __LITTLE_ENDIAN__|__BIG_ENDIAN__|__PDP_ENDIAN__
!!! cPlatfrom can have lower letters (for xHarbour compatibility)
If you do not like it please change it.
* others ...
* include/hbapi.h
* source/vm/dynsym.c
* a new function 'hb_dynsymScope' was added to check if the
passed symbol has requested scope
* source/vm/macro.c
* source/vm/hvm.c
* fixed support for static functions used in macro compiled
expressions (the runtime error is generated during evaluation
instead of macro compilation - like in Clipper)
* source/pp/ppcore.c
* fixed support for '¯o.' in complex expressions
* include/hbapi.h
* source/vm/codebloc.c
* source/vm/proc.c
*fixed to correctly return the procedure name where
the codeblock was created
* source/common/hbffind.c
*fixed to set correctly size and modification date of
retrieved files on Linux/Unix -used from DIRECTORY()
function
* CVSROOT/avail
* restored write access to the entire repository for
all developers
* doc/codestyl.txt
* small corrections (use 3 spaces instead of Tab)
* include/hbcomp.h
* source/compiler/cmdcheck.c
* source/compiler/harbour.c
* source/compiler/hbusage.c
+ added posibility to specify the output PPO file with -p
e.g.
-pppo/myfile.ppo
(thanks to Larry Sevilla)
* source/rtl/tget.prg
* fixed positioning of cursor when the first pressed key
was a digit during editing of numeric value
* source/compiler/hbfix.c
* source/rdd/dbcmd.c
* source/rdd/dbf1.c
* source/rdd/dbfcdx/dbfcdx1.c
* source/rdd/dbffpt/dbffpt1.c
* source/rdd/dbfntx/dbfntx1.c
* source/rtl/dates.c
* source/rtl/filesys.c
* source/rtl/inkey.c
* source/rtl/isprint.c
* source/rtl/math.c
* source/rtl/philes.c
* source/vm/classes.c
* source/vm/hvm.c
* removed '//' comments
+ config/dos/owatcom.cf
* added configuration file for OpenWatcom (renamed
from watcom.cf)
* config/dos/watcom.cf
* restored previous version so it correctly compiles
under WatcomC 10 - please use watcom.cf for WatcomC
and owatcom.cf for OpenWatcom
* makefile.bc
* makefile.nt
* makefile.vc
* hrbdll.bc
* source/codepage/Makefile
+ source/codepage/cdpsrwin.c
+ new file with Serbian codepage
* CVSROOT/avail
* removed reference to my local file
* ERRATA
* updated (removed reference to tmpname)
* doc/codestyl.txt
* updated with some coding guidelines adopted from PHP
(please fell free to discuss them ;-)
* doc/howtocvs.txt
* added description for commit on Linux
* include/hbapicdp.h
* source/codepage/cdpesdos.c
* restored previous versions
* include/hbcomp.h
* added <malloc.h> reference for WatcomC compiler
* include/hbexprc.c
* fixed warning reported by WatcomC
* source/vm/itemapi.c
* fixed infinite support for WatcomC
* source/rtl/cdpapi.c
* renamed global symbol s_cdpage into hb_cdp_page
* source/rtl/gtcrs/kbdcrs.c
* fixed reporting keystrokes with codes > 127
* include/hbapi.h
* source/rtl/empty.c
* source/rtl/idle.c
* source/vm/arrays.c
* source/vm/estack.c
* source/vm/extend.c
* source/vm/itemapi.c
* added missing code to use HB_IT_POINTER just like
other value's type
You can use:
hb_retptr( void * pointer )
hb_parptr( ) -> void *
hb_storptr( void * pointer, ...... )
to return/manage pointers from low level functions.
For example:
p = GET_SOME_POINTER()
? VALTYPE(p) //prints: 'P'
? p //prints: 0x12345678
* tests/onidle.prg
* fixed to use values of pointer type
* tests/tstmacro.prg
* added code to test TYPE() function
* harbour/tests/bldtest/Makefile
* fixed typo in file name
* xharbour/include/hbdefs.h
+ added HB_COUNTER and HB_PTRDIFF types - first for reference
counters and second for any pointer differences and pointer to
integer conversions - this modification is synced with xHarbour
* harbour/include/hbapi.h
* harbour/include/hbdefs.h
* harbour/source/rtl/philes.c
* harbour/source/vm/arrays.c
* harbour/source/vm/hvm.c
* harbour/source/vm/itemapi.c
* use HB_COUNTER type
* 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/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/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.
+ 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/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)
* source/compiler/harbour.y
*fixed generation of line number's pcode related to
the debugger
* source/debug/dbgmenu.prg
* source/debug/debugger.prg
*fixed TRACE command
*added support for 'Codeblock trace' option
* other minor fixes to make the debugger usable
Additionally in my previous commit (2004-01-20 19:15)
* source/vm/hvm.c
*added call for hb_inkeyPoll to the main pcode execution
loop to correctly support Alt-D, Alt-C and Ctrl-C
requests (only if HB_GUI is not defined) - it is
called every 256 opcodes