* harbour/include/hbapi.h
* harbour/include/hbapiitm.h
* harbour/source/vm/garbage.c
* harbour/source/vm/extend.c
* harbour/source/vm/itemapi.c
+ added hb_gcFunc(), hb_parptrGC(), hb_itemGetPtrGC()
hb_parptrGC() and hb_itemGetPtrGC() uses GC cleanup function address
to validate if pointer item points to expected memory block type
* harbour/source/common/hbhash.c
* harbour/source/compiler/hbident.c
* formatting and minor modifications
* harbour/source/pp/pplib.c
* harbour/source/pp/pplib2.c
* use hb_parptrGC() to be sure that given pointer item points
to PP structure
+ harbour/include/hbregex.h
+ harbour/source/rtl/hbregex.c
* harbour/source/rtl/Makefile
* harbour/common.mak
+ added support for regular expressions. Now it's enabled by default
only in *nixes (POSIX regex) and BCC 5.5 (PCRE regex). Setting
HB_PCRE_REGEX macro enables Perl-Compatible Regular Expressions
and HB_POSIX_REGEX - POSIX regular expressions. In xHarbour regex
support is enabled for all builds because PCRE source code is stored
in CVS. If you will want we can make the same.
+ the following C functions are available:
hb_regexCompile(), hb_regexGet(), hb_regexFree(), hb_regexMatch()
+ the following PGR functions are available:
HB_REGEXCOMP(), HB_ISREGEX(), HB_ATX(), HB_REGEX(), HB_REGEXMATCH(),
HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
They are working in similar way to the ones in xHarbour with the
exception to some bug fixes and form of compiled regular expression.
In Harbour it's pointer item for which HB_ISREGEX() returns TRUE when
in xHarbour it's binary string.
* harbour/source/rdd/dbfcdx/dbfcdx1.c
* harbour/source/rdd/dbfntx/dbfntx1.c
* enabled code to seek in index using regular expressions
(DBOI_SKIPREGEX[BACK])
837 lines
31 KiB
Plaintext
837 lines
31 KiB
Plaintext
/*
|
|
* $Id$
|
|
*/
|
|
|
|
/* Use this format for the entry headers:
|
|
YYYY-MM-DD HH:MM UTC[-|+]hhmm Your Full Name <your_email@address>
|
|
For example:
|
|
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
|
*/
|
|
|
|
2007-03-13 19:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbapi.h
|
|
* harbour/include/hbapiitm.h
|
|
* harbour/source/vm/garbage.c
|
|
* harbour/source/vm/extend.c
|
|
* harbour/source/vm/itemapi.c
|
|
+ added hb_gcFunc(), hb_parptrGC(), hb_itemGetPtrGC()
|
|
hb_parptrGC() and hb_itemGetPtrGC() uses GC cleanup function address
|
|
to validate if pointer item points to expected memory block type
|
|
|
|
* harbour/source/common/hbhash.c
|
|
* harbour/source/compiler/hbident.c
|
|
* formatting and minor modifications
|
|
|
|
* harbour/source/pp/pplib.c
|
|
* harbour/source/pp/pplib2.c
|
|
* use hb_parptrGC() to be sure that given pointer item points
|
|
to PP structure
|
|
|
|
+ harbour/include/hbregex.h
|
|
+ harbour/source/rtl/hbregex.c
|
|
* harbour/source/rtl/Makefile
|
|
* harbour/common.mak
|
|
+ added support for regular expressions. Now it's enabled by default
|
|
only in *nixes (POSIX regex) and BCC 5.5 (PCRE regex). Setting
|
|
HB_PCRE_REGEX macro enables Perl-Compatible Regular Expressions
|
|
and HB_POSIX_REGEX - POSIX regular expressions. In xHarbour regex
|
|
support is enabled for all builds because PCRE source code is stored
|
|
in CVS. If you will want we can make the same.
|
|
+ the following C functions are available:
|
|
hb_regexCompile(), hb_regexGet(), hb_regexFree(), hb_regexMatch()
|
|
+ the following PGR functions are available:
|
|
HB_REGEXCOMP(), HB_ISREGEX(), HB_ATX(), HB_REGEX(), HB_REGEXMATCH(),
|
|
HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
|
|
They are working in similar way to the ones in xHarbour with the
|
|
exception to some bug fixes and form of compiled regular expression.
|
|
In Harbour it's pointer item for which HB_ISREGEX() returns TRUE when
|
|
in xHarbour it's binary string.
|
|
|
|
* harbour/source/rdd/dbfcdx/dbfcdx1.c
|
|
* harbour/source/rdd/dbfntx/dbfntx1.c
|
|
* enabled code to seek in index using regular expressions
|
|
(DBOI_SKIPREGEX[BACK])
|
|
|
|
2007-03-12 14:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbexpra.c
|
|
* emulate xHarbour HB_ENUMINDEX() inside FOR EACH loop when
|
|
HB_COMPAT_XHB macro is set
|
|
It's only for compatibility - I strongly suggest to use
|
|
<unumvar>:__enumIndex()
|
|
which is more flexible and allow to chose the enumerator
|
|
variable not only the one from last loop
|
|
|
|
* harbour/include/hbexprb.c
|
|
* added comment removed from hbexpra.c
|
|
|
|
* harbour/source/compiler/hbmain.c
|
|
! fixed GPF which can appear when -b option is used in line numbering
|
|
inside codeblocks
|
|
|
|
2007-03-11 11:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/main/Makefile
|
|
* Changed order of linked libraries for linkers with linear library
|
|
symbols scanning
|
|
|
|
2007-03-09 13:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/compiler/hbmain.c
|
|
* removed #include "hbmemory.ch"
|
|
* harbour/source/main/harbour.c
|
|
* added #include "hbmemory.ch"
|
|
|
|
2007-03-09 04:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/common.mak
|
|
* harbour/makefile.bc
|
|
* harbour/makefile.vc
|
|
* harbour/bin/hb-func.sh
|
|
* harbour/config/global.cf
|
|
* harbour/include/error.ch
|
|
* harbour/include/hbcomp.h
|
|
* harbour/include/hbcompdf.h
|
|
* harbour/include/hbexpra.c
|
|
* harbour/include/hbexprb.c
|
|
- harbour/include/hbexprc.c
|
|
* harbour/include/hbexprop.h
|
|
* harbour/include/hbmacro.h
|
|
* harbour/source/Makefile
|
|
* harbour/source/common/expropt1.c
|
|
* harbour/source/common/expropt2.c
|
|
* harbour/source/compiler/Makefile
|
|
- harbour/source/compiler/exproptc.c
|
|
- harbour/source/compiler/harbour.c
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
* harbour/source/compiler/hbcomp.c
|
|
* harbour/source/compiler/hbgenerr.c
|
|
+ harbour/source/compiler/hbmain.c
|
|
* harbour/source/compiler/hbpcode.c
|
|
* harbour/source/macro/Makefile
|
|
* harbour/source/macro/macro.y
|
|
* harbour/source/macro/macro.yyc
|
|
- harbour/source/macro/macroc.c
|
|
+ harbour/source/main/Makefile
|
|
+ harbour/source/main/harbour.c
|
|
* harbour/source/vm/macro.c
|
|
* resolved name conflicts between compiler and macro compiler.
|
|
Now new compiler library is created.
|
|
There are some things which can be improved and cleaned yet
|
|
but it's enough to create single binaries with compiler+HVM+RTLs.
|
|
I updated non GNU make files but I cannot tested the modifications
|
|
- please check and fix me if necessary
|
|
|
|
2007-03-05 23:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbcompdf.h
|
|
* harbour/include/hbexprb.c
|
|
* harbour/source/compiler/hbgenerr.c
|
|
* do not generate warnings about meaningless expression usage
|
|
in code optimized by short logical expression evaluation, f.e.:
|
|
proc main()
|
|
(f1() .or. (f2(), .t.))
|
|
return
|
|
|
|
2007-03-05 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/config/os2/install.cf
|
|
* workaround for command line size limitation borrowed from xHarbour
|
|
|
|
2007-03-05 04:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbexpra.c
|
|
! fixed GPF when _GET_() parameter is passed in parenthesis
|
|
|
|
2007-03-04 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbapifs.h
|
|
* harbour/include/hbcompdf.h
|
|
* harbour/include/hbpp.h
|
|
* harbour/source/common/hbfsapi.c
|
|
* harbour/source/compiler/cmdcheck.c
|
|
* harbour/source/compiler/harbour.c
|
|
* harbour/source/compiler/hbusage.c
|
|
* harbour/source/compiler/ppcomp.c
|
|
* harbour/source/pp/ppcore.c
|
|
* cleanup .ppo file creation
|
|
+ new compiler switch: p+ to enable preprocessor tracing
|
|
when used information about applied rules is stored in .ppt file
|
|
* harbour/include/hbdefs.h
|
|
* harbour/source/rtl/gtos2/gtos2.c
|
|
* OS2 build cleanup
|
|
|
|
2007-03-02 03:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/rdd/dbf1.c
|
|
* harbour/source/rdd/delim1.c
|
|
* harbour/source/rdd/sdf1.c
|
|
* harbour/source/rdd/dbfcdx/dbfcdx1.c
|
|
* harbour/source/rdd/dbffpt/dbffpt1.c
|
|
* harbour/source/rdd/hbsix/sxcompr.c
|
|
* harbour/source/rdd/hsx/hsx.c
|
|
* harbour/source/rdd/usrrdd/usrrdd.c
|
|
* harbour/source/rtl/cdpapi.c
|
|
* casting
|
|
|
|
2007-03-02 00:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/pp/ppcore.c
|
|
* clear included file counter in hb_pp_reset()
|
|
* insert space after stream comment /* */ - it's not Clipper
|
|
compatible but it's necessary as long as we have automatic
|
|
identifier concatenation
|
|
|
|
2007-03-01 14:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/config/os2/global.cf
|
|
* harbour/contrib/hgf/os2pm/os2pm.c
|
|
* harbour/include/hbdefs.h
|
|
* harbour/include/hbgtcore.h
|
|
* harbour/source/rdd/dbcmd.c
|
|
* harbour/source/vm/mainpm.c
|
|
* cleaned OS2 build errors and warnings reported by David Macias.
|
|
Modifications not tested - OS2 users will have to make tests and
|
|
reports problems.
|
|
|
|
2007-03-01 05:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/pp/ppcore.c
|
|
! fixed comments like /*/*/
|
|
|
|
2007-03-01 01:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbclass.ch
|
|
* cleaned scope error message
|
|
|
|
* harbour/include/hbpp.h
|
|
* harbour/source/pp/ppcore.c
|
|
* added hack for accepting expressions which start with ':' character
|
|
as regular/list match markers
|
|
|
|
2007-02-28 08:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbpp.h
|
|
* harbour/source/compiler/complex.c
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
* harbour/source/pp/ppcore.c
|
|
* updated lexer to recognize IF(<exp1>,<exp2>,<exp3>) in expressions like
|
|
IF(<exp,...>) - it allow to make some grammar rules much more simple.
|
|
|
|
2007-02-27 12:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbcomp.h
|
|
* harbour/include/hbexpra.c
|
|
* harbour/include/hbexprb.c
|
|
* harbour/include/hbexprc.c
|
|
* harbour/include/hbmacro.h
|
|
* harbour/include/hbpcode.h
|
|
* harbour/include/hbxvm.h
|
|
* harbour/source/common/hbdate.c
|
|
* harbour/source/compiler/genc.c
|
|
* harbour/source/compiler/gencc.c
|
|
* harbour/source/compiler/harbour.c
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
* harbour/source/compiler/hbdead.c
|
|
* harbour/source/compiler/hbfix.c
|
|
* harbour/source/compiler/hblbl.c
|
|
* harbour/source/compiler/hbopt.c
|
|
* harbour/source/compiler/hbpcode.c
|
|
* harbour/source/compiler/hbstripl.c
|
|
* harbour/source/rtl/abs.c
|
|
* harbour/source/rtl/at.c
|
|
* harbour/source/rtl/chrasc.c
|
|
* harbour/source/rtl/datec.c
|
|
* harbour/source/rtl/dateshb.c
|
|
* harbour/source/rtl/diskspac.c
|
|
* harbour/source/rtl/disksphb.c
|
|
* harbour/source/rtl/gtfunc.c
|
|
* harbour/source/rtl/left.c
|
|
* harbour/source/rtl/len.c
|
|
* harbour/source/rtl/math.c
|
|
* harbour/source/rtl/minmax.c
|
|
* harbour/source/rtl/mod.c
|
|
* harbour/source/rtl/philes.c
|
|
* harbour/source/rtl/philesx.c
|
|
* harbour/source/rtl/replic.c
|
|
* harbour/source/rtl/round.c
|
|
* harbour/source/rtl/set.c
|
|
* harbour/source/rtl/space.c
|
|
* harbour/source/rtl/strcase.c
|
|
* harbour/source/rtl/strpeek.c
|
|
* harbour/source/rtl/transfrm.c
|
|
* harbour/source/rtl/trim.c
|
|
* harbour/source/rtl/type.c
|
|
* harbour/source/rtl/val.c
|
|
* harbour/source/rtl/word.c
|
|
* harbour/source/vm/hvm.c
|
|
* harbour/source/vm/macro.c
|
|
* added some PCODEs to cover all possible combination of ++, --, <op>=
|
|
operations in the same way and keep Clipper compatible RT errors.
|
|
* added some other PCODEs to optimize some commonly used expressions/
|
|
statements
|
|
* use HB_ERR_ARGS_BASEPARAMS instead of hb_paramError()
|
|
* some other cleanups and minor optimizations
|
|
* harbour/utils/hbtest/rt_math.prg
|
|
* update expected result for MOD() - it was not Clipper compatible and
|
|
it will be hard to make it compatible without introducing some Clipper's
|
|
side effects
|
|
|
|
2007-02-25 19:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/common/expropt2.c
|
|
% strip nested parenthesis in expressions like: (((<exp>)))
|
|
|
|
2007-02-25 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbstdgen.ch
|
|
* added #undef HB_COMPAT_XHB
|
|
* harbour/source/common/hbstr.c
|
|
* indenting
|
|
* harbour/source/compiler/ppcomp.c
|
|
* updated line numbering in #pragma dump code and error messages
|
|
executed for disabled code
|
|
* harbour/source/pp/ppcore.c
|
|
* changed the precedence of #pragma BEGINDIUMP/ENDDUMP - now
|
|
it has higher precedence then conditional compilation with
|
|
#IF[DEF]/#ENDIF
|
|
* added support for defined() pseudo function in #IF / #ELIF
|
|
directives, f.e.:
|
|
#if defined( __HARBOUR__ ) .and. !defined( HB_COMPAT_XHB )
|
|
#stdout "Harbour compiler compiled without xHarbour extensions."
|
|
#endif
|
|
|
|
2007-02-22 13:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
|
* harbour/contrib/libct/makefile.bc
|
|
* harbour/contrib/libct/makefile.vc
|
|
! Synced with GNU makefile changes.
|
|
|
|
2007-02-22 08:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbexprop.h
|
|
* harbour/source/common/expropt1.c
|
|
+ added hb_compExprAsNumSign()
|
|
|
|
* harbour/include/hbexprc.c
|
|
* optimize lValue++ and ++lValue
|
|
|
|
* harbour/source/common/hbdate.c
|
|
* minor optimization
|
|
|
|
* harbour/source/compiler/cmdcheck.c
|
|
* maximum supported warning level should be 3 not 4
|
|
|
|
* harbour/include/hbxvm.h
|
|
* harbour/source/compiler/gencc.c
|
|
* harbour/source/vm/hvm.c
|
|
* use separate functions for equal and exactly equal operations
|
|
* cleanup and some other minor optimizations
|
|
|
|
* harbour/source/compiler/hbopt.c
|
|
* optimize PCODEs for code like: lVar:=lVar, sVar:=sVar, mVar:=mVar, ...
|
|
* harbour/include/common.ch
|
|
* changed HB_SYMBOL_UNUSED( symbol ) to ( symbol := ( symbol ) )
|
|
It's a little bit simpler version and now it's also stripped by
|
|
PCODE optimizer
|
|
|
|
* harbour/source/compiler/harbour.c
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
* eliminated some redundant rules
|
|
* optimized PCODEs generated for FOR/NEXT code and removed some old
|
|
hardcoded optimization for local variables - if it will be worth
|
|
to optimize then such optimization will be done by expression
|
|
optimizer
|
|
* chaned a little bit WITHOBJECT syntax.
|
|
Now WITHOBJECT somefunc(); END is not silently ignored and call
|
|
to somefunc() is left. This optimization also works when there
|
|
are empty line between WITHOBJECT and END
|
|
|
|
* harbour/source/rdd/dbf1.c
|
|
! fixed for GPF in DBRI_RAWDATA, DBRI_RAWMEMOS (Peter Rees fix in
|
|
xHarbour)
|
|
|
|
2007-02-22 03:22 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
|
* harbour/source/rtl/tget.prg
|
|
! Fixed :Type to not return NIL right after the GetNew() call.
|
|
|
|
2007-02-21 22:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
|
* harbour/include/common.ch
|
|
+ Changed HB_SYMBOL_UNUSED() to also work in codeblock.
|
|
Thanks to Przemek.
|
|
|
|
2007-02-18 12:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/common.mak
|
|
* harbour/source/compiler/Makefile
|
|
* harbour/source/compiler/hbfix.c
|
|
+ harbour/source/compiler/hbopt.c
|
|
* divided hbfix.c into two separated functions:
|
|
- hb_compFixFuncPCode() which only fix generated PCODE updating
|
|
local parameters numbers when PARAMETERS is used
|
|
- hb_compOptimizePCode() which makes PCODE optimization
|
|
It allows to not execute hb_compFixFuncPCode() when PARAMETERS
|
|
is not use and execute hb_compOptimizePCode() more then once in
|
|
optimization process.
|
|
|
|
* harbour/hbgtmk.sh
|
|
* updated CVS server name
|
|
|
|
* harbour/include/hbcomp.h
|
|
* harbour/include/hbcompdf.h
|
|
* harbour/source/compiler/complex.c
|
|
* harbour/source/compiler/harbour.c
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
* harbour/source/compiler/hbcomp.c
|
|
* harbour/source/compiler/hbgenerr.c
|
|
* harbour/source/compiler/hbident.c
|
|
* changed code for generating in PCODE line numbers and module names
|
|
there was serious problem with line numbers and module names in old
|
|
code - in many cases line numbers were not generated at all or
|
|
generated in wrong places. Also file module name was not updated
|
|
when inside of function some code was included with #include
|
|
For such situation now modified version of HB_P_MODULE is generated
|
|
with module name only but without function name, f.e.:
|
|
HB_P_MODULE "test.prg:"
|
|
exactly the same form of HB_P_MODULE is used in xHarbour.
|
|
Debugger code should be updated to recognize such HB_P_MODULE version
|
|
Ryszard any chance that you can look at it?
|
|
And what about syncing with xHarbour debugger?
|
|
I can add some missing functions to compiler and HVM but I do not
|
|
want to update next peace of code myself. Sorry but I do not have
|
|
enough time. I'd prefer to finish some other things I'm working.
|
|
If Ryszard is busy can someone else try to port xHarbour debugger
|
|
to Harbour?
|
|
|
|
2007-02-14 00:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/contrib/libct/ctwfunc.c
|
|
* harbour/contrib/libct/ctwin.c
|
|
* harbour/contrib/libct/ctwin.h
|
|
+ added CTWIN compatible ALERT - it works in differ way then the
|
|
standard Clipper one. In the moment when CTWIN is activated
|
|
(it's enough to call any CTWIN function like WOPEN()/WBOARD(),...
|
|
or CTWINIT()) standard ALERT() is replaced by CTWIN one build
|
|
in inside CTWIN GT driver. It allocates separate window for ALERT
|
|
box and makes differ formatting of passed text.
|
|
TODO: add support for SET KEY blocks
|
|
|
|
2007-02-13 21:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/bin/hb-func.sh
|
|
* do not pass linking parameters to GCC/G++ when is used for
|
|
compilation only
|
|
|
|
* harbour/contrib/rdd_ads/Makefile
|
|
* set -DWIN32 for W32 compilation
|
|
* harbour/contrib/rdd_ads/makefile.bc
|
|
* formatting
|
|
|
|
* harbour/include/hbapi.h
|
|
* harbour/source/rtl/strcase.c
|
|
+ added hb_charUpper() and hb_charLower()
|
|
|
|
* harbour/include/hbapigt.h
|
|
* harbour/include/hbgtcore.h
|
|
* harbour/source/rtl/gtapi.c
|
|
* harbour/source/rtl/hbgtcore.c
|
|
+ added support for ALERT() on GT level - C functions: hb_gtAlert()/
|
|
hb_gt_Alert()
|
|
To replicate some details of Clipper and CT3 behavior ALERT() cannot
|
|
be implement only on upper level as .prg function
|
|
* harbour/source/rtl/gtfunc.c
|
|
+ added .prg function HB_GTALLERT()
|
|
* harbour/source/rtl/alert.prg
|
|
* redirected ALERT() to HB_GTALLERT()
|
|
|
|
* harbour/source/rtl/fstemp.c
|
|
* use the same case conversion as in low level hb_fs*() functions to
|
|
avoid possible problems with national characters
|
|
|
|
* harbour/source/rtl/dates.c
|
|
* harbour/source/rtl/set.c
|
|
* harbour/source/rtl/strmatch.c
|
|
* harbour/source/rtl/transfrm.c
|
|
* use hb_charUpper()
|
|
* casting
|
|
|
|
2007-02-12 16:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/contrib/rdd_ads/ads1.c
|
|
* do not release FLOCK() after DBAPPEND() - only RLOCKs should be
|
|
removed
|
|
* harbour/contrib/rdd_ads/rddads.h
|
|
* set ADS_REQUIRE_VERSION when not set by user scripts
|
|
|
|
2007-02-12 10:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/pp/ppcore.c
|
|
! fix line numbering when preprocess static buffers, f.e. by
|
|
__PP_PROCESS()
|
|
|
|
* harbour/source/rtl/strcase.c
|
|
* harbour/source/rtl/transfrm.c
|
|
- removed unnecessary extern PHB_CODEPAGE hb_cdp_page;
|
|
|
|
2007-02-09 00:28 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
|
* harbour/source/rtl/isprint.c
|
|
* harbour/include/hbapi.h
|
|
! hb_printerIsReady() C level function made public again.
|
|
+ Added proper declaration for it.
|
|
|
|
* harbour/bin/bld.bat
|
|
! Mistakenly committed change undone.
|
|
|
|
2007-02-09 00:10 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
|
|
* harbour/source/common/hbstr.c
|
|
! Fixed three BCC5.5 warnings.
|
|
|
|
2007-02-08 23:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/include/hbgtinfo.ch
|
|
* harbour/contrib/libct/ctwin.c
|
|
* harbour/source/rtl/gtalleg/gtalleg.c
|
|
* harbour/source/rtl/gtcrs/gtcrs.c
|
|
* harbour/source/rtl/gtdos/gtdos.c
|
|
* harbour/source/rtl/gtos2/gtos2.c
|
|
* harbour/source/rtl/gtpca/gtpca.c
|
|
* harbour/source/rtl/gtsln/gtsln.c
|
|
* harbour/source/rtl/gtstd/gtstd.c
|
|
* harbour/source/rtl/gtwin/gtwin.c
|
|
* harbour/source/rtl/gtwvt/gtwvt.c
|
|
* harbour/source/rtl/gtxwc/gtxwc.c
|
|
+ added support for GTI_FULLSCREEN, GTI_KBDSUPPORT, GTI_ISCTWIN
|
|
|
|
* harbour/source/rtl/hbgtcore.c
|
|
! fixed line and box drawing when the coordinates are out of screen size
|
|
|
|
* harbour/include/hbapi.h
|
|
* harbour/include/hbcomp.h
|
|
* harbour/include/hbpcode.h
|
|
* harbour/include/hbstack.h
|
|
* harbour/include/hbvm.h
|
|
* harbour/include/hbxvm.h
|
|
* harbour/source/compiler/complex.c
|
|
* harbour/source/compiler/genc.c
|
|
* harbour/source/compiler/gencc.c
|
|
* harbour/source/compiler/harbour.c
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
* harbour/source/compiler/harbour.yyh
|
|
* harbour/source/compiler/hbdead.c
|
|
* harbour/source/compiler/hbfix.c
|
|
* harbour/source/compiler/hblbl.c
|
|
* harbour/source/compiler/hbpcode.c
|
|
* harbour/source/compiler/hbstripl.c
|
|
* harbour/source/vm/classes.c
|
|
* harbour/source/vm/estack.c
|
|
* harbour/source/vm/hvm.c
|
|
* harbour/source/vm/itemapi.c
|
|
! added protection against cyclic references in arrays
|
|
* eliminated action parameter from hb_vmRequestReenter() /
|
|
hb_vmRequestRestore()
|
|
* moved s_lRecoverBase and s_uiActionRequest to HB_STACK structure
|
|
for future MT HVM version
|
|
+ added internal item structure hb_struRecover - it's not real item
|
|
but this structure is used to keep information about BEGIN SEQUENCE
|
|
data - it reduce HB_STACK usage
|
|
+ added support for ALWAYS clause in BEGIN SEQUENCE
|
|
The syntax is:
|
|
BEGIN SEQUENCE
|
|
<code>
|
|
[ RECOVER [ USING oErr ] ]
|
|
<recoverCode>
|
|
[ ALWAYS ]
|
|
<alwaysCode>
|
|
END [ SEQUENCE ]
|
|
It's guaranteed that <alwaysCode> is _ALWAYS_ executed even if
|
|
inside <code> or <recoverCode> some new exceptions like RETURN,
|
|
BREAK or QUIT will appear.
|
|
Please note that when the following code is executed:
|
|
BEGIN SEQUENCE
|
|
<code>
|
|
ALWAYS
|
|
<alwaysCode>
|
|
END
|
|
(without RECOVER clause) then BREAK exception inside <code> is not
|
|
recovered, <alwaysCode> is executed and then BREAK exception is
|
|
passed to outer BEGIN SEQUENCE. This is the same semantic as
|
|
used in TRY / [ CATCH ] / FINALLY / END
|
|
Those of you who prefer to use TRY / CATCH / FINALLY / END instead
|
|
of BEGIN SEQUENCE / RECOVER / ALWAYS / END can simply add to your
|
|
source code:
|
|
#command TRY => BEGIN SEQUENCE
|
|
#command CATCH [ oErr ] => RECOVER [ USING <oErr> ]
|
|
and:
|
|
errorBlock( {|oErr| break( oErr ) } )
|
|
Though instead of 'break( oErr )' I suggest to use some small function
|
|
which will support some basic recovery/substitute operations like in
|
|
default errorsys() and LockErrHandler() to not break existing code
|
|
which may depends on the default behavior.
|
|
If you want I can add direct support for TRY / CATCH / FINALLY / END
|
|
but I'm not sure it's really necessary.
|
|
Please note also that in Harbour ALWAYS code is execute even for QUIT
|
|
excpetion.
|
|
When <alwaysCode> is executed current exception is stored and restored
|
|
when is finished. If new exception appears inside <alwaysCode> then
|
|
restored exception depends on the priority in the following order:
|
|
QUIT // highest priority
|
|
BREAK
|
|
RETURN
|
|
If both exceptions have the same priority and contain additional value
|
|
(error object in BREAK or return value in RETURN) then the recently set
|
|
one is restored. It's similar behavior to destructor code.
|
|
|
|
* harbour/source/common/hbstr.c
|
|
* moved one character length string table (hb_szAscii) from hvm.c
|
|
to use it also in compiler and preprocessor
|
|
|
|
* harbour/source/compiler/ppcomp.c
|
|
* harbour/source/pp/ppcore.c
|
|
* harbour/source/pp/pplib.c
|
|
* tuned error messages to be more Clipper compatible
|
|
% use static strings from hb_szAscii
|
|
|
|
* harbour/source/rtl/alert.prg
|
|
* use hb_gtInfo( GTI_FULLSCREEN ) to detect type of GT driver
|
|
! some minor fixes
|
|
TOFIX: we have to also use GTI_ISCTWIN or add window allocation
|
|
to standard GT drivers to be Clipper compatible when CTWIN
|
|
is used - In Clipper Tools ALERT() works in differ way then
|
|
the standard one. It creates separate window box to display
|
|
data, supports SETKEY(), etc. I'll think about adding some
|
|
extended support for ALERT() and similar operations (f.e.
|
|
separate debugger windows) to GT API so it will be also
|
|
possible to overload standard alert() command by GUI message
|
|
box in GTGUI and similar GT drivers.
|
|
|
|
* harbour/source/rtl/binnumx.c
|
|
! fixed U2BIN() - wrong casting
|
|
|
|
2007-01-24 23:10 UTC+0200 Tomaz Zupan <tomaz.zupan@orpo.si>
|
|
* harbour.spec
|
|
* Aded Mandriva One distro to platforms
|
|
* bin/hb-func.sh
|
|
* Aded Mandriva and Mandriva One distro to platforms
|
|
|
|
2007-01-24 10:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/config/w32/bcc32.cf
|
|
* harbour/include/hbexprb.c
|
|
* harbour/include/hbpcode.h
|
|
* harbour/include/hbxvm.h
|
|
* harbour/source/compiler/genc.c
|
|
* harbour/source/compiler/gencc.c
|
|
* harbour/source/compiler/hbdead.c
|
|
* harbour/source/compiler/hbfix.c
|
|
* harbour/source/compiler/hblbl.c
|
|
* harbour/source/compiler/hbpcode.c
|
|
* harbour/source/compiler/hbstripl.c
|
|
* harbour/source/rtl/set.c
|
|
* harbour/source/rtl/gtsln/gtsln.c
|
|
* harbour/source/vm/hvm.c
|
|
* recent fixes from Beta1
|
|
|
|
* harbour/contrib/libct/Makefile
|
|
- harbour/contrib/libct/bit1.c
|
|
- harbour/contrib/libct/bit2.c
|
|
- harbour/contrib/libct/bit3.c
|
|
+ harbour/contrib/libct/bitnum.c
|
|
! rewritten bit functions
|
|
|
|
* harbour/contrib/libct/addascii.c
|
|
* cleanup
|
|
|
|
* harbour/contrib/odbc/Makefile
|
|
* harbour/contrib/odbc/odbc.c
|
|
* harbour/contrib/odbc/sql.ch
|
|
- harbour/contrib/odbc/sql.h
|
|
- harbour/contrib/odbc/sqlext.h
|
|
- harbour/contrib/odbc/sqltypes.h
|
|
* harbour/contrib/odbc/todbc.prg
|
|
! synced with xHarbour
|
|
|
|
* harbour/contrib/rdd_ads/ads1.c
|
|
! fixed typo in DBI_GETHEADERSIZE
|
|
|
|
* harbour/contrib/rdd_ads/adsfunc.c
|
|
+ added ADSDDREMOVEINDEXFILE - borrowed from xHarbour
|
|
|
|
* harbour/source/rtl/alert.prg
|
|
* minor cleanup
|
|
|
|
* harbour/source/rtl/gtfunc.c
|
|
* use HB_ERR_ARGS_BASEPARAMS in error messages
|
|
|
|
* harbour/source/rtl/transfrm.c
|
|
* casting
|
|
|
|
2007-01-17 13:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/compiler/gencc.c
|
|
* harbour/source/vm/hvm.c
|
|
! fixed typo in hb_xvmGreaterEqualThenIntIs() - <= was used instead
|
|
of >=
|
|
! fixed :¯o() messages used in WITH OBJECT structure and -gc3
|
|
output
|
|
+ added some missing optimizations in -gc3 output
|
|
|
|
2007-01-17 03:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/contrib/libct/ctc.c
|
|
* harbour/contrib/libct/files.c
|
|
* harbour/contrib/libnf/ftattr.c
|
|
* harbour/contrib/libnf/n2color.c
|
|
* cleaned some BCC warnings
|
|
|
|
* harbour/include/hbapi.h
|
|
* harbour/include/hbexpra.c
|
|
* harbour/include/hbexprb.c
|
|
* harbour/include/hbsetup.ch
|
|
* harbour/source/common/expropt1.c
|
|
* harbour/source/common/expropt2.c
|
|
* harbour/source/common/hbver.c
|
|
* harbour/source/common/hbverdsp.c
|
|
* harbour/source/compiler/hbcomp.c
|
|
* harbour/source/vm/arrays.c
|
|
* harbour/source/vm/arrayshb.c
|
|
* harbour/source/vm/cmdarg.c
|
|
* harbour/source/vm/hvm.c
|
|
! fixed Harbour support for accessing string characters with array
|
|
index operators []
|
|
+ added support for #define HB_COMPAT_XHB - it's disabled by default.
|
|
When set it enables some of xHarbour features like negative array
|
|
indexes calculated from tail, accessing string characters with []
|
|
operators (warning it's not compatible with default Harbour version
|
|
enabled by -ks during compilation and //flags:s at runtime - in
|
|
xHarbour compatibility mode "ABC"[2] returns "B" when in Harbour 66)
|
|
and some other minor features.
|
|
|
|
* harbour/source/compiler/cmdcheck.c
|
|
* added support for optional setting C output type in -go switch
|
|
Now it accepts optional digit [0123] after -go in the same way
|
|
as -gc, f.e.: -go3
|
|
|
|
* harbour/source/compiler/harbour.c
|
|
* call hb_compExprLstDealloc() only when errors appeared during
|
|
compilation - it disable automatic freeing all allocated expressions
|
|
in clean compilation. I make it intentionally for easier detecting
|
|
problems one some expressions are not freed. So far the final cleanup
|
|
code always deallocated expressions what can hide some real bugs.
|
|
|
|
* harbour/source/vm/hvm.c
|
|
! fixed very serious bug in HVM closing. The s_uiActionRequest flag
|
|
was not cleared before hb_rddShutDown() so when RDD buffers were
|
|
hot and flushing required some PCODE evaluation (f.e. index KEY
|
|
or FOR expression) then they were not properly evaluated.
|
|
|
|
* harbour/source/vm/macro.c
|
|
* minor improvement
|
|
|
|
* harbour/utils/hbtest/rt_misc.prg
|
|
! fixed one of expected result, it was neither Harbour nor Clipper
|
|
result (I've just made some test with Clipper), I do not know why
|
|
it existed
|
|
|
|
2007-01-14 16:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/source/macro/macro.y
|
|
* formatting
|
|
|
|
* harbour/source/vm/macro.c
|
|
! fixed macrocompiler for proper compilation of string with embedded
|
|
ASCII NUL byte (chr(0)), f.e.:
|
|
? &("'["+chr(0)+"]'")
|
|
|
|
2007-01-13 14:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/contrib/rdd_ads/adsfunc.c
|
|
* harbour/source/rdd/workarea.c
|
|
* formatting
|
|
|
|
* harbour/include/hbapi.h
|
|
* harbour/source/vm/extend.c
|
|
+ added missing hb_storptrGC()
|
|
|
|
* harbour/include/hbapicdp.h
|
|
* harbour/source/rtl/cdpapi.c
|
|
+ added parameter to unicode translation function to protect control
|
|
code translation
|
|
* formatting
|
|
|
|
* harbour/source/rtl/gtsln/kbsln.c
|
|
* harbour/source/rtl/gtxwc/gtxwc.c
|
|
* use new unicode translation function format. It also fixes problem
|
|
with space translation in GTLSN used in UTF8 mode
|
|
|
|
* harbour/include/hbapiitm.h
|
|
* harbour/source/vm/itemapi.c
|
|
+ added hb_itemCopyToRef(), hb_itemMoveToRef(), hb_itemMoveRef(),
|
|
hb_itemUnRefWrite()
|
|
|
|
* harbour/include/hbexprb.c
|
|
! use HB_P_DUPLUNREF instead of HB_P_DUPLICATE when assign is used in
|
|
push context - Clipper compatible behavior, see:
|
|
x:=10
|
|
f(y:=iif(.t.,@x,))
|
|
? x, y
|
|
func f(x)
|
|
x+=100
|
|
return nil
|
|
|
|
* harbour/include/hbver.h
|
|
* harbour/source/common/hbver.c
|
|
* changed status to "devel"
|
|
|
|
* harbour/source/common/expropt2.c
|
|
* disabled setting NIL when iif(.t.,,sth()) is optimized to avoid
|
|
warning when iif() is used as statement - to fix number of parameters
|
|
passed to function in code like f(iif(.t.,,sth())) we will need a
|
|
little bit deeper modification
|
|
|
|
* harbour/source/compiler/complex.c
|
|
* added hack for potential problems caused by WITH OBJECT syntax, f.e.
|
|
in code like:
|
|
proc p(obj,x)
|
|
case:=myCaseClass():new()
|
|
retu:=myCaseClass():new()
|
|
WITH OBJECT obj
|
|
do case
|
|
case x==nil
|
|
case:value()
|
|
case:action()
|
|
retu:sth()
|
|
end
|
|
END
|
|
case:action()
|
|
retu:sth()
|
|
return
|
|
case:action(), case:value(), retu:sth() can means two different things
|
|
and compiler cannot guess which one should use. It cannot be fixed
|
|
because it's caused by bad WITH OBJECT syntax. In xHarbour constractions
|
|
like case:value() or retu:sth() are always used as in WITH OBJECT
|
|
context what is not Clipper compatible. I do not want to introduce
|
|
such limitations. We have two choices: change WITH OBJECT syntax or
|
|
add some hack to "hide" the problem a little bit. Now I intorduce
|
|
ugly hack which check number of spaces between ':' so
|
|
case :action()
|
|
is compiled as case condition using WITH OBJECT message and
|
|
case:action() as sending message to object in case variable
|
|
|
|
* harbour/source/compiler/harbour.y
|
|
* harbour/source/compiler/harbour.yyc
|
|
+ added support for passing base value to FOR EACH by reference.
|
|
|
|
* harbour/source/vm/arrays.c
|
|
* use hb_itemMoveRef() in AINS()/ADEL() to avoid creation of cyclic
|
|
reference chains
|
|
|
|
* harbour/source/vm/debug.c
|
|
* harbour/source/vm/memvars.c
|
|
* use hb_itemCopyToRef() to avoid creation of cyclic reference chains
|
|
|
|
* harbour/source/vm/classes.c
|
|
* harbour/source/vm/hvm.c
|
|
* use hb_itemMoveToRef() to avoid creation of cyclic reference chains
|
|
+ added support for for writable string enumerators, f.e.:
|
|
proc main()
|
|
local s, c
|
|
s:="abcdefghijklmnopqrst"
|
|
for each c in @s
|
|
if c$"aeio"
|
|
c:="*"
|
|
endif
|
|
next
|
|
? s // "*bcd*fgh*jklmn*pqrst"
|
|
return
|
|
|
|
2007-01-09 16:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/harbour.spec
|
|
* harbour/include/hbver.h
|
|
* updated version number to 1.1.0
|
|
|
|
2007-01-09 15:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
|
* harbour/ChangeLog
|
|
+ harbour/ChangeLog.017
|
|
* new ChangeLog file created
|
|
* harbour/doc/whatsnew.txt
|
|
* harbour/harbour.spec
|
|
* harbour/include/hbver.h
|
|
* updated version number to 0.47.0
|
|
* tagged CVS as build47
|