* 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
* include/harbour.hbx
* src/rtl/hbdoc.prg
* tests/hbdoctst.prg
+ added __hbdoc_DirLastModified( <cDir> ) -> <tLastModified>
function that returns last modification timestamp for a
given NF doc root directory. It returns empty date if the
directory doesn't exist or is empty.
It can be used to decide whether to update .hbd files f.e.
in an hbmk2 plugin that builds .hbd files automatically.
* harbour/include/hbapifs.h
* harbour/src/rtl/filesys.c
+ added two new C functions:
HB_BOOL hb_fsGetCWD( char * pszBuffer, HB_SIZE nSize );
HB_BOOL hb_fsSetCWD( const char * pszDirName );
* synced some parameters names with declarations in header
* harbour/src/rtl/hbfilehi.prg
* harbour/src/rtl/philes.c
* rewritten HB_CWD() function in C
! fixed to HB_CWD() work with UNC path in MS-Windows and other
systems using drive letters
+ added support for setting new working directory (and drive)
by HB_CWD( <cNewWD> )
* contrib/hbct/tests/*.prg
* tests/tstuse.prg
* cleanups (mostly QOUT() -> ?)
; hbrun works beautifully with tests, finally I don't have
to build them to exe to run them.
* contrib/hbnf/popadder.prg
* src/rtl/listbox.prg
* src/rtl/scrollbr.prg
* src/rtl/tmenuitm.prg
* tests/db_brows.prg
! reverted to use plain Chr() for low-ASCII (0-31) drawing chars
(hb_UTF8ToStr*() converts these to "?", which is expected)
* contrib/hbnf/dispc.c
+ added TOFIX (needs to be updated for unicode savescreen buffers)
* contrib/hbnf/menu1.prg
! use inkey.ch constants
* contrib/hbnf/pickday.prg
* comment
* contrib/hbnf/tests/*.prg
+ added '#require "hbnf"' so they all work as hbrun scripts now.
pretty cool.
* Added CLS calls for few files to force CUI mode.
* utils/hbmk2/hbmk2.prg
+ added tricky feature which attempts to autodetect whether
a script is meant to be run on an interactive CUI as
opposed to the default command line (CLI, aka GTCGI) mode.
It makes it possible to keep cmdline oriented scripts
running using GTCGI, while full-screen apps are run
using GTWIN and friends without code changes. F.e.
/tests apps can be run this way easily.
; scripts can force to use CLI by using:
'REQUEST HB_GT_CGI_DEFAULT'
; scripts can switch to CUI mode explicitly by running
this code:
#ifdef __HBSCRIPT__HBSHELL
hbshell_gtInteractive()
#endif
Experimental, might change to something more elegant.
* tests/db_brows.prg
! fixed CUI for unicode and readded CUI drawing elements
* tests/sbartest.prg
* comment deleted
* contrib/hbmisc/hbedit.prg
* src/debug/dbghelp.prg
* src/debug/dbgtmenu.prg
* src/debug/dbgtwin.prg
* src/debug/dbgwa.prg
* src/rtl/browse.prg
* src/rtl/listbox.prg
* src/rtl/radiogrp.prg
* src/rtl/tmenuitm.prg
* src/rtl/tpopup.prg
* tests/gtwin.prg
* tests/box.prg
* tests/boxtst2.prg
* tests/scroll.prg
* tests/vidtest.prg
! fixed to use new unicode-compatible box.ch/button.ch macros
For standalone programs (in tests) in only makes any difference
when running them as scripts, now they will work (after
adding hbshell_gtInteracive() call at startup), while
before the drawing chars were scrambled.
* src/rtl/browse.prg
* src/rtl/checkbox.prg
* src/rtl/dbedit.prg
* src/rtl/dbedit.prg
* src/rtl/listbox.prg
* src/rtl/scrollbr.prg
* src/rtl/tmenuitm.prg
! fixed Chr() calls for drawing chars to unicode strings
to be compatible with both unicode and non-unicode (and
any BOXCP) mode.
* src/rtl/browse.prg
! fixed to use '!( hb_keyChar( nKey ) == "" )' instead
of looking for keycode between 32 and 255 (inclusive)
making it unicode compatible
* formatting
* src/rtl/tpersist.prg
* src/rtl/memoedit.prg
* src/debug/debugger.prg
* src/debug/dbgthsh.prg
* src/debug/dbgtarr.prg
* src/debug/tbrwtext.prg
* formatting
* src/rtl/tmenuitm.prg
* src/rtl/tpopup.prg
+ added TOFIXes where drawing chars are used as internal
flags. This may cause problems if switching CPs while
using these objects.
* tests/sbartest.prg
+ unicode compatibility while keeping it Cl*pper compatible
! fixed RTE due to using wrong SCROLLBAR method
* tests/tb1.prg
* changed to use new unicode-compatible box.ch/button.ch macros
while keeping Cl*pper compatibility
* tests/vidtest.prg
! fixed remaining drawing chars using Chr() (Cl*pper
compatibility maintained)
* tests/testsha2.prg
* tests/utf8at.prg
! fixed to use HB_BCHAR() instead of CHR() for unicode compatibility.
; NOTE: After above changes scripts and commands run via hbrun
will display drawing chars properly. Unicode apps as
well, even with BOXCP set to unicode, too.
; TODO: Fix above things also on C level, f.e. DISPBOX() with
numeric box drawing request.
* harbour/src/pp/ppcore.c
! fixed possible GPF when some broken expressions are used as
part of extended expression match marker
* harbour/src/rtl/padr.c
* harbour/src/rtl/padc.c
* harbour/src/rtl/padl.c
! fixed PADR(), PADL() and PADC() to accept pad mulibyte characters
when CPs with such encoding is used, i.e. CP950 or UTF8EX
* harbour/contrib/xhb/xhb.hbx
* updated to follow recent modifications
* include/box.ch
* include/button.ch
+ added Unicode compatible macros for drawing strings
* contrib/hbmisc/hbedit.prg
* contrib/hbmisc/stringp.prg
* contrib/hbmisc/twirler.prg
* contrib/hbmisc/hbmisc.hbx
* formatted using hbformat and manually
* DEFAULT() made STATIC. It was colliding with xhb
after latest changes. INCOMPATIBLE. Use HB_DEFAULT()
instead.
! DEFAULT() fixed using != on strings
* include/harbour.hbx
* src/rtl/Makefile
+ src/rtl/cdpbox.prg
+ added HB_UTF8TOSTRBOX( <cUTF8String> ) -> <cStringEncodedIn_GT_BOXCP>
It's needed because HB_UTF8TOSTR() will convert to main CP,
but box drawing CP can be setup differently with HB_GTI_BOXCP,
that function call will take that into account.
* contrib/hbnf/aredit.prg
* contrib/hbnf/clrsel.prg
* contrib/hbnf/dispmsg.prg
* contrib/hbnf/menu1.prg
* contrib/hbnf/pegs.prg
* contrib/hbnf/pickday.prg
* contrib/hbnf/popadder.prg
* contrib/hbnf/tbwhile.prg
* contrib/hbnf/vertmenu.prg
* tests/db_brows.prg
* tests/gtchars.prg
* tests/testbrw.prg
* extras/gtwvw/tests/prog0.prg
* extras/gtwvw/tests/prog1.prg
* extras/gtwvw/tests/prog2.prg
! fixed drawing chars to display properly regardless of HB_GTI_BOXCP
setting.
! some related minor fixes
* tests/tb1.prg
! fixed to compile and build using Clipper after recent
UTF8 compatibility updates (not tested though)
; TOFIX: Pad*() function handle 3rd parameter as binary string,
so it doesn't work properly in UTF8 mode.
* src/lang/sk.c
+ updated Slovak language module.
Patch by Jaroslav Janík. Many thanks.
* contrib/hbnf/calendar.prg
* contrib/hbnf/pegs.prg
* tests/ac_test.prg
* minor formatting.