+ contrib/hbmisc/tests/numtxtru.prg
* contrib/hbmisc/numtxtru.prg
* contrib/hbmisc/hbmisc.hbx
* tests/testmny.prg
* applied coding standards (no common.ch, no '=' op, move test
code to separate source, use iif(), unicode support, UTF-8/ASCII
source only, use svn props, use IS*()/hb_default() functions,
updated .hbx)
* changed interface to accept language code as string
instead of numeric constant.
; Please review
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyc
* minor formatting
* harbour/contrib/hbct/ctwfunc.c
* harbour/contrib/hbct/ctwin.c
* harbour/contrib/hbct/ctwin.h
+ added undocumented CT3 window functions:
WALIAS( <nHandle> ) -> <nHandle> | -1
change current window handle to <nHandle>
if <nHandle> is not used by other window.
return <nHandle> on success or -1 to indicate error.
Warning: I replicated CT3 limit here so <nHandle>
cannot be bigger then 255
WLIST() -> <cHandleList>
_WSTACK() -> <cHandleList>
return string with window handles in each character,
the ASCII value of the first character is handle of the
most bottm window and the last character is the top window.
Warning: this is compatibility only function
which works correctly for first 255 windows.
Harbour does not have any internal limits on
maximum number of windows so it's possible
to create more then 255 windows and this function
will return wrong results.
* contrib/hbmisc/hbmisc.hbp
+ contrib/hbmisc/numtxtru.prg
+ added functions to convert a number and date to East Slavic (Russian,
Ukrainian and Belorussian) text:
NumToTxtRU() - convert a number
MnyToTxtRU() - convert a money
DateToTxtRU() - convert a date
+ tests/testmny.prg
+ added sample class Money with overloading of arithmetical operations
* bin/commit.hb
* made git detection generic
! fixed calling shell on OS/2
* config/global.mk
* minor sync with other parts of Harbour
* contrib/hbblink/blinker.prg
! fixed SWPRUNCMD() on OS/2
* contrib/hbxpp/runshell.prg
! fixed for RUNSHELL() on non-*nix platforms
* contrib/hbhttpd/readme.txt
* doc/dirstruc.txt
* doc/xhb-diff.txt
* include/hbapi.h
* INSTALL
* NEWS
* src/common/hbver.c
* src/main/harbour.c
* src/pp/hbpp.c
* src/rtl/version.c
* src/vm/cmdarg.c
* Avoiding the word "SVN" (use 'source repository',
'repository' or 'repo' for short)
* Added new names that don't refer to SVN:
C level:
- hb_verRevision() (was: hb_verSvnID())
- hb_verChangeLogID() (was: hb_verSvnChangeLogID())
- hb_verChangeLogLastEntry() (was: hb_verSvnLastEntry())
.prg level:
- HB_VER_REVID built-in macro (was: HB_VER_SVNID)
; Old functions/macros will be deleted after next major
revision, start using the new names until then.
* contrib/hbnf/aavg.prg
* contrib/hbnf/adessort.prg
* contrib/hbnf/amedian.prg
* contrib/hbnf/anomatch.prg
* contrib/hbnf/any2any.prg
* contrib/hbnf/asum.prg
* contrib/hbnf/clrsel.prg
* contrib/hbnf/d2e.prg
* contrib/hbnf/ftround.prg
* contrib/hbnf/invclr.prg
* contrib/hbnf/nwsem.prg
* contrib/hbnf/popadder.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/tests/clrsel.prg
* contrib/hbnf/tests/d2e.prg
* do not use common.ch. __defaultNIL() is used instead, for
full compatibility here. Should ideally be changed to
hb_default(), but it will break RTE compatibility for
invalid values. Should we do it? (this would also fix
calling internal functions from a contrib)
* contrib/hbnf/tests/d2e.prg
! fixed defaulting to wrong value (regression)
* extras/gtwvw/tests/drawimg.prg
* extras/gtwvw/tests/ebtest7.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/wvwmouse.prg
* extras/gtwvw/tests/wvwtest9.prg
* do not use common.ch. Use hb_default() instead.
; Only gtwvg, hbgd, xhb and httpsrv remain to use common.ch
for DEFAULT TO command. Notice it's bad practice since it
only checks for NIL for defaulting, so RTE can easily be
forced by passing a value of wrong type. DEFAULT TO can
be directly replaced with __defaultNIL(), or ideally with
hb_default(). Notice that hb_default() is a pure function,
and since the default value needs to be evaluated even if
correctly typed parameter is passed, it may have
a performance penalty if that default value is coming as
a result of complex expression or function call. I value
type safety more than performance, so in most cases this
is IMO a useful compromise, though of course someone might
as well use 'IF ! HB_IS*( xVar ); xVar := xValue; ENDIF'
which is type safe while having no extra RT performance
penalty, though a bit verbose.
* tests/hbpptest/hbpptest.prg
* utils/hbtest/rt_misc.prg
* do not include unused common.ch
* contrib/xhb/cgi.ch
* formatting
* harbour/include/hbcomp.h
* harbour/src/compiler/hbmain.c
* harbour/src/compiler/hbstripl.c
% eliminate repeated HB_P_LINE pcodes bound by unconditional jump
This optimization is not enabled when debug mode (-b) is used.
* harbour/include/hberrors.h
* harbour/src/compiler/hbgenerr.c
* harbour/src/compiler/harbour.y
* harbour/src/compiler/harbour.yyc
+ added new compile time error: "Duplicate case value"
* src/debug/dbgwa.prg
* src/rtl/browse.prg
* src/rtl/dbedit.prg
% deleted EXIT from SWITCH statements' OTHERWISE branches.
(it'd be nice if the compiler could ignore these
automatically - in case it can be solved with low cost)
* extras/gtwvw/tests/prog2.prg
* extras/gtwvw/tests/wvwtest9.prg
* src/debug/debugger.prg
* src/rtl/tgetlist.prg
* tests/sbartest.prg
* tests/tb1.prg
! further cases of object vars called as methods, though
these didn't (necessarily) caused errors.
I wish Harbour had a native core OOP engine to catch
all (there are more cases than above) this mess at
compile-time.
* src/rtl/browse.prg
! fixed not appending a new record when pressing K_DOWN
in append mode (and perhaps some other cases)
The problem was using 'oBrw:HitBottom( .T. )' instead
of 'oBrw:HitBottom := .T.'
* minor optimizations and cleanup.
; Some stats: it was a 5 year old bug
took about 10 hours to find the solution. Sheet.
* contrib/xhb/cstructc.c
* contrib/xhb/dbf2txt.c
* contrib/xhb/fparse.c
* contrib/xhb/hbxml.c
* contrib/xhb/xhbis.c
* minor formatting
* use ',' instead of 44
* extras/gtwvw/gtwvw.c
! fixed one code line after uncrustify
* contrib/hbmisc/fileread.prg
* contrib/hbmisc/tests/readfile.prg
* contrib/hbmisc/tests/rtfclass.prg
* contrib/hbmisc/tests/testhbf.prg
* contrib/hbmisc/tests/twirl.prg
* minor cleanups, hbformat, using fileio.ch constants,
minor regression in one test app
* config/postinst.hb
* utils/hbmk2/hbmk2.prg
+ Use the second parameter in HB_CWD() calls.
* contrib/hbformat/hbfmtcls.prg
! fixed embedded comment in last commit.
* harbour/src/rtl/philes.c
* modified HB_CWD() to return previous path if new one is set by
optional parameter so current syntax is:
HB_CWD( [ <cNewWD> ] ) -> <cPrevWD>
+ set FError() in HB_CWD() function. Now programmer can check if HB_CWD()
succeed checking result of FError() function, i.e.
HB_CWD( cNewPath )
IF FError() != 0
? "Cannot set working directory to:", cNewPath
ELSE
// stuff
ENDIF
+ set FError() in the following functions:
HB_FGETATTR(), HB_FSETATTR(),
HB_FGETDATETIME(), HB_FSETDATETIME(),
HB_FISDEVICE()
* contrib/hbformat/hbfmtcls.prg
+ added TOFIX
* INSTALL
+ added http://sourceforge.net/projects/mingwbuilds/ as
recommended source for mingw builds (both 32 and 64 bit)
Be aware that these are not QT-compatible (as of now),
but they seem to be much faster at compile time.
* tests/tscmdarg.c
* formatting
* extras/httpsrv/uhttpd.prg
* tests/db_brows.prg
* tests/inherit.prg
* tests/stripem.prg
- deleted now unnecessary SET EXACT settings. There is none
of those in Harbour repo anymore.
* src/rtl/tget.prg
! fixed regression from 2012-01-29 17:22 UTC+0100
when non-numeric index was allowed on a non-hash
variable and then an RTE generated.
Caused rto_get.prg to RTE in the middle.
* contrib/gtwvg/activex.prg
* contrib/gtwvg/class.prg
* contrib/gtwvg/tests/demoxbp.prg
* contrib/gtwvg/tests/utils.prg
* contrib/rddads/doc/en/adsfuncs.txt
* contrib/rddads/doc/en/readme.txt
* contrib/xhb/tfile.prg
* contrib/xhb/txml.prg
* contrib/xhb/xhbole.prg
* doc/windll.txt
* extras/gtwvw/gtwvw.c
* extras/gtwvw/hbgtwvw.h
* extras/gtwvw/tests/maincoor.prg
* extras/gtwvw/wvwcheck.c
* extras/gtwvw/wvwdraw.c
* extras/gtwvw/wvwedit.c
* extras/gtwvw/wvwfuncs.c
* extras/gtwvw/wvwmenu.c
* extras/gtwvw/wvwpush.c
* extras/gtwvw/wvwstbar.c
* extras/gtwvw/wvwtbar.c
* extras/hbdoc/tmplates.prg
* tests/gtcolors.prg
* tests/ipclnt.prg
* tests/ipsvr.prg
* tests/rto_get.prg
* tests/rto_tb.prg
* tests/usrrdd/exarr.prg
* tests/usrrdd/exfcm.prg
* tests/usrrdd/exhsx.prg
* tests/usrrdd/exlog.prg
* tests/usrrdd/exmemo.prg
* tests/usrrdd/exrlx.prg
* tests/wcecon.prg
* full formatting using hbformat (where needed)
* Win32 -> Windows
* 32-bit deleted where it didn't make sense
* using K_* constants
! fixed != operators where used on strings (more to come)
Thanks to Jose F. Gimenez for the ones in txml.prg.
* avoid "common.ch"
% use hb_ntos() in Harbour specific code
- tests/test_all.prg
* deleted MS-DOS batch specific tool. Now hbrun can
be used to run tests very easily
* contrib/hbmisc/tests/rtfclass.prg
* platform dependent stuff deleted/fixed
* contrib/xhb/xhbfs.c
* corrected .prg macro to C one (doesn't change
compiled code)
* tests/test.prg
* minor
* utils/hbmk2/hbmk2.prg
* changed "||" operator to ".OR." in #ifdef