Commit Graph

101 Commits

Author SHA1 Message Date
Viktor Szakats
43c3c2eeb1 2008-05-22 10:30 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
   * source/rdd/dbcmdx.c
     + Added dbPack() and dbZap() XBase++ 
       compatibility functions.
2008-05-22 09:12:40 +00:00
Viktor Szakats
addea6d04e 2008-05-22 08:00 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
- contrib/hbmisc/dbftools.c
   * contrib/hbmisc/common.mak
   * contrib/hbmisc/Makefile
     - Removed to avoid collision with similar file in hbct.
       Notice the content was also similar, except that 
       in hbct it was updated and extended. There was also 
       FIELDTYPE() implemented which was colliding with 
       function with the same name in core.

   * include/hbextern.ch
   * source/rdd/dbcmd.c
   * source/rdd/dbdrop.c
   * source/rdd/dbexists.c
   * source/rdd/fieldhb.c
     + Added HB_ prefixed versions of DBDROP(), 
       DBEXISTS(), FIELDDEC(), FIELDLEN(), FIELDTYPE()

   * source/rdd/rddinfo.c
     ! Comment.

   * tests/multifnc/Makefile
     ! Updated lib names.

   * contrib/hbapollo/apollo.c
     ! Fixed MSVC errors.

   * contrib/mtpl_b32.bat
   * contrib/mtpl_vc.bat
     ! Removed one obsolete line.
     + Now defines _HB_MAKELOG.

   * contrib/hbapollo/make_b32.bat
   * contrib/hbapollo/make_vc.bat
   * contrib/hbfimage/make_b32.bat
   * contrib/hbgd/make_b32.bat
   * contrib/hbhpdf/make_b32.bat
   * contrib/hbmysql/make_b32.bat
   * contrib/hbodbc/make_b32.bat
   * contrib/hbodbc/make_vc.bat
   * contrib/hbpgsql/make_b32.bat
   * contrib/hbpgsql/make_vc.bat
   * contrib/hbw32ddr/make_b32.bat
   * contrib/hbw32ddr/make_vc.bat
   * contrib/hbzlib/make_b32.bat
   * contrib/rddads/make_b32.bat
     + Redirects .lib creation (implib, lib) output to log file.

   * contrib/xhb/hbcompat.ch
     + Added some more converions for xhb code.

   * contrib/rddads/ads1.c
     + Added two TODOs. (to adsDrop and adsExists)

   * source/pp/hbppgen.c
     ! MSVC warning fixed.

   * make_vc.mak
     ! Typo in prev commit.
2008-05-22 06:09:35 +00:00
Viktor Szakats
53030631bf 2008-05-07 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/make_b32.bat
   * contrib/rddads/make_vc.bat
   * contrib/rddads/ads.ch
   * contrib/rddads/rddads.h
   * contrib/rddads/ads1.c
   * contrib/rddads/adsfunc.c
   * contrib/rddads/adsmgmnt.c
     + Added ACE version autodetection.
       You can override with: -DADS_LIB_VERSION=700 (and similar)
       (ADS_REQUIRE_VERSION still accepted for compatibility)
     ! Fixed a few lib version related problems.
     ! hMgmtHandle global renamed to ads_g_hMgmtHandle.
     * Formatting.

   * contrib/rddads/rddads.h
     + QUESTION: added about ADS_MAX_KEY_LENGTH redefinition.
       Is it needed?

   * source/compiler/hbmain.c
     * Changed output device (hb_compOutStd() -> hb_compOutErr()) 
       for following texts:
       "Compiling..."
       "No code generated"
       "Lines x, Functions/Procedures x"
       This is to replicate CA-Cl*pper behaviour a bit more.

   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   * source/rtl/maxrow.c
   + source/rtl/scrrow.c
   * contrib/xhb/hbcompat.ch
     + Added hb_ScrMaxRow(), hb_ScrMaxCol()
       These will return the screen dimensions regardless 
       of the size of an active window (when using CT 
       windows for example). Functionality is the same 
       as MaxRow(.T.) and MaxCol(.T.) previously.
     ! MaxRow()/MaxCol() extended parameters removed.
     + Added MaxRow(.T.)/MaxCol(.T.) conversions for 
       xhb lib (hbcompat.ch) in both directions.
     ; XBase++ doesn't have any extended parameters 
       for Max*() function. Flagship has two of them, 
       both of them doing something different. CAVO doesn't 
       have these functions at all.

   * contrib/xhb/hbcompat.ch
     ! GTI_* macros updated to HB_GTI_*.

   * source/vm/memvclip.c
     % Minor opt in __QQPUB().

   * source/vm/extend.c
     * 0 -> NULL

   * source/vm/estack.c
     - QUESTION removed.

   * source/lang/msgbgmik.c
   * source/rtl/console.c
   * source/rtl/philes.c
   * source/rtl/adir.prg
   * source/rtl/getsys53.prg
   * source/rtl/getsys.prg
   * source/rtl/tget.prg
   * source/rtl/ttopbar.prg
   * source/rtl/pushbtn.prg
   * source/rtl/mod.c
   * source/rtl/memofile.c
   * source/rtl/radiobtn.prg
   * source/rtl/filesys.c
   * source/rtl/tbrowse.prg
   * source/vm/estack.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/cmdarg.c
   * source/vm/fm.c
   * source/vm/eval.c
   * source/common/hbver.c
   * source/common/expropt2.c
   * utils/hbtest/hbtest.prg
   * utils/hbtest/rt_misc.prg
   * utils/hbtest/rt_str.prg
     ! Comment fixes and minor formatting.
2008-05-07 10:26:41 +00:00
Viktor Szakats
31d82e116c 2008-04-29 13:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * source/rdd/Makefile
   * source/rdd/dbstrux.prg
   * source/rdd/rddord.prg
   + source/rdd/rddordu.prg
   + source/rdd/dbstruxu.prg
     + Moved some UNDOC functions to separate files.
     * Removed STRICT guard from _dtxCondSet().

   * include/hbextern.ch
     ! Added missing _dtxCondSet().

   * source/rtl/colorind.c
   * source/rtl/direct.c
     * Minor formatting.

   * source/vm/asort.c
     ! Changed one direct item access to item API call.

   * contrib/rddads/ads.ch
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
     ! Added support for ADS9 VFP file type and fields.
     ; Borrowed from xhb / Luiz Rafael Culik.
       (changed to compile using original - older - ADS headers)
     ; Please review & test.

   * source/vm/pcount.c
     % Minor opt.

   * contrib/hbtip/sendmail.prg
     ! SF bugtracker#1934698 fix applied. Thanks Chen.

   - contrib/hbapollo/tests/bld.bat
   * contrib/hbapollo/tests/bld_b32.bat
     % Using central bld.bat instead of modified local copy.

   + contrib/gtwvg/tests/bld_b32.bat
     + Added BCC32 build batch file for GTWVG tests.
     ; NOTE: demowvg still doesn't seem to work.
2008-04-29 11:08:12 +00:00
Viktor Szakats
afe85d8f42 2008-04-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     ! Fixed to not extend ::left(), ::right(), ::backspace(), 
       ::delete() with an internally used (but also externally 
       accessible) extra parameter. This is interface is now 
       made fully C5x compatible.

   * tests/rto_tb.prg
     ! Fixed to override __eInstVar53() (instead of _eInstVar())

   * include/hbextern.ch
   * common.mak
   * source/rdd/Makefile
   + source/rdd/dbcmdhb.c
     + Added non-internal versions of __dbPack() and __dbZap(), 
       named: hb_dbPack() and hb_dbZap(). If group needs it I 
       can add dbPack() and dbZap() too in separate files to 
       lessen the problem of name collision with app code.

   * source/rtl/inkey.c
     * Formatting.
     + HB_KEYPUT(): Now possible to pass an array with string elements.
       (see feature in xhb/__KEYBOARD())
     * HB_KEYPUT(): For string parameter it now uses hb_inkeySetText()
       API, rather than a loop of hb_inkeyPut()s.

   * contrib/xhb/xhbfunc.c
     ! xhb flavour of __KEYBOARD() sync fixed. (hb_inkeySetText() got 
       extended in xhb, so here we're using hb_inkeyPut() for single 
       numeric key codes).
     ; Now same code is used as in HB_KEYPUT().

   * source/vm/memvars.c
   * source/vm/hvm.c
   * source/vm/arrayshb.c
     + Added HB_C52_STRICT branches for the remaining RTEs 
       which produced different results in hbtest.
     ! Fixed HB_C52_STRICT RTE for AFill().
     ; NOTE: It's not possible to build Harbour currently when 
             HB_C52_STRICT, so it's not easy to test these.

   * include/hbclass.ch
     ! Typos.

   * source/rtl/memoedit.prg
   * source/rtl/achoice.prg
   * source/rtl/treport.prg
     * Formatting.

   * source/rtl/tobject.prg
     * Formatting.
     % Minor opt.
2008-04-26 06:39:37 +00:00
Viktor Szakats
026c5720f3 2008-04-21 15:02 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * include/hbextern.ch
   * source/rtl/Makefile
   * source/rtl/checkbox.prg
   * source/rtl/einstvar.prg
   + source/rtl/einstv52.prg
   * source/rtl/listbox.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/tbcolumn.prg
   * source/rtl/tbrowse.prg
   * source/rtl/tget.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tpopup.prg
   * source/rtl/ttopbar.prg
     ! _eInstVar() made compatible with C5.2 in C5.2 mode.
     * Renamed _eInstVar52() -> __eInstVar52()
       (Harbour internal function namespace)
     * Renamed _eInstVar53() -> __eInstVar53()
       (Harbour internal function namespace)
     * __eInstVar52() moved to a separate file.
     * Harbour now uses __eInstVar53() internally.

   - make_os2_gcc.cmd
   + make_gnu_os2.cmd
     * Renamed to align the filename with the rest of the 
       GNU make command files. Content unchanged.

   TODO: TGET test case for my vtgetlst problem.
   TODO: TGET fix for the above.
2008-04-21 13:14:35 +00:00
Viktor Szakats
b007d20e6b 2008-04-21 14:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/rto_get.prg
   * tests/rto_tb.prg
     + Added more tests.
     + Enabled object as array results by default.
     + More details for TGet test results.

   * bin/bld_os2.cmd
     ! Fixed lib names. Thanks David.

   * source/rtl/tobject.prg
     * Formatting.

   * source/rtl/tget.prg
     ! Delimiter colors in C5.3 mode made compatible.
     ! ::colorSpec handling in C5.3 mode made compatible 
       for some invalid parameter types.
     ! Fixed handling decimals in :row, :col, :pos 
       methods.
     ! Fixed to compile in C5.2 mode without warning
       (introduced in recent commit).

   * source/rtl/tbrowse.prg
     ! Fixed handling decimals in :nTop, :nBottom, :nLeft, :nRight.
     + Added unfinished XPP method :viewArea()
     + Added untested XPP method :firstScrCol()
     ; Few minor formatting.

   * include/hbextern.ch
   * source/rtl/einstvar.prg
     + Added _eInstVar52() which is the C5.2 compatible version 
       of this function. It also replicates a bug.
     * _eInstVar() renamed to _eInstVar53().
     * _eInstVar() made a stub to call _eInstVar53().

   * source/rtl/checkbox.prg
   * source/rtl/listbox.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/scrollbr.prg
   * source/rtl/symbol.prg
   * source/rtl/teditor.prg
   * source/rtl/tget.prg
   * source/rtl/tget1.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tmenusys.prg
   * source/rtl/tpopup.prg
   * source/rtl/ttopbar.prg
     * Formatting (EXPORT: -> EXPORTED:)

   * contrib/hbtip/thtml.prg
   * contrib/hbtip/ftpcln.prg
     ! Fixed to work regardless of SET EXACT setting.
     ; NOTE: I'd suggest an optional compiler warning 
             to detect plain "=" usage. It's bad practice 
             in most cases.

   TODO: make_os2_gcc.cmd -> make_gcc_os2.cmd
   TODO: TGET test case for my vtgetlst problem.
   TODO: TGET fix for the above.
   TODO: _eInstVar() -> _eInstVar53()
2008-04-21 12:56:13 +00:00
Viktor Szakats
cb966c280e 2008-04-17 03:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
   * source/rtl/errorapi.c
     + Added ERRORINHAN() (and alias ERRORINHANDLER()) CA-Cl*pper 
       compatible, undocumented function, guarded with HB_C52_UNDOC.
       Same as Harbour __ERRINHANDLER().

   * source/rtl/trim.c
   * source/rtl/strtran.c
     + Added strict branches for incompatible error messages.
     % Minor optimization in STRTRAN() parameter checking.

   * utils/hbtest/rt_str.prg
     + Reenabled two C53-only test calls.

   * include/hbdefs.h
     ! Minor indentation fix.

   * utils/hbdoc/hbdoc.prg
   * utils/hbdot/hbdot.prg
   * utils/hbmake/hbmake.prg
   * utils/hbpp/hbpp.c
   * utils/hbtest/hbtest.prg
   * utils/hbrun/hbrun.prg
     ! Year updated in copyright banners.
2008-04-17 02:02:02 +00:00
Viktor Szakats
8a5c03a538 2008-01-31 16:32 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
   * source/rtl/net.c
   * contrib/xhb/hbcompat.ch
     ! Removed non-compatible xhb extension from NetName().
     + hb_UserName() function added with the above functionality.
     ! Slight correction to the Win32 branch of hb_UserName().
     + Added compatibility translations to NetName(1) for 
       xhb lib users (enough to #include "hbcompat.ch").
2008-01-31 15:46:59 +00:00
Viktor Szakats
12bb58304e 2007-12-06 02:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
   * common.mak
   * source/codepage/Makefile
   - source/codepage/cpdedos.c
   + source/codepage/cpde850.c
   - source/codepage/cpeldos.c
   + source/codepage/cpel737.c
   - source/codepage/cpesdos.c
   + source/codepage/cpes850.c
   - source/codepage/cpfrdos.c
   + source/codepage/cpfr850.c
   - source/codepage/cptrdos.c
   + source/codepage/cptr857.c
     ! Renamed some codepage modules to include the 
       actual DOS codepage number instead of nothing 
       or generic "dos" name.

   * common.mak
   * source/lang/Makefile
   + source/lang/msgtr857.c
   - source/lang/msgtrdos.c
     ! Rename one language module to be in sync with 
       proper internal ID.
2007-12-06 01:26:32 +00:00
Viktor Szakats
5a278f5646 2007-12-06 01:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* doc/howtosvn.txt
     ! Fixed the SVN propset command to include all needed keywords, 
       not just "Id".

   * common.mak
   * source/codepage/Makefile
   - source/codepage/cpgedos.c
   - source/codepage/cpgeiso.c
   + source/codepage/cpdedos.c
   + source/codepage/cpdeiso.c
     ! Renamed to be in sync with rules and content.

   * source/lang/msgnl.c
     ! svn propset svn:keywords "Author Date Id Revision".
       (to correct my prev commit)

   * include/hbextern.ch
     ! Adjusted CP/MSG module names.
2007-12-06 01:12:29 +00:00
Viktor Szakats
630119e503 2007-11-23 03:03 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* make_b32.mak
   * make_gcc.mak
   * make_vc.mak
   * make_vcce.mak
   * common.mak
     ! Fixed copyrights.
     ! Tabs converted to spaces.
     - CFLAGS not advertised anymore as an official public var to set 
       compiler flags.
       C_USR should be used, which is also GNU make system compatible.

   * make_vc.mak
   * make_vcce.mak
     ! Removed /Y from copy command
       (we're using the COPYCMD trick in core make files).

   - contrib/adordd/access1.prg
   - contrib/adordd/access2.prg
   - contrib/adordd/mysql1.prg
   - contrib/adordd/mysql3.prg
   + contrib/adordd/tests
   + contrib/adordd/tests/access1.prg
   + contrib/adordd/tests/access2.prg
   + contrib/adordd/tests/mysql1.prg
   + contrib/adordd/tests/mysql3.prg
   - contrib/btree/mktest.bat
   + contrib/btree/test/mktest.bat
   - contrib/samples/testdate.prg
   - contrib/samples/testenv.prg
   - contrib/samples/testgaug.prg
   - contrib/samples/testnum.prg
   - contrib/samples/teststat.prg
   - contrib/samples/testtime.prg
   - contrib/samples/tststack.prg
   + contrib/samples/tests
   + contrib/samples/tests/testdate.prg
   + contrib/samples/tests/testenv.prg
   + contrib/samples/tests/testgaug.prg
   + contrib/samples/tests/testnum.prg
   + contrib/samples/tests/teststat.prg
   + contrib/samples/tests/testtime.prg
   + contrib/samples/tests/tststack.prg
     * Test related files moved to test dir.
     ! Added EOLs to the last line in adordd files.

   - contrib/gd/README
   + contrib/gd/readme.txt
     * Renamed to use proper extension.

   * contrib/adordd/common.mak
   * contrib/apollo/common.mak
   * contrib/bmdbfcdx/common.mak
   * contrib/btree/common.mak
   * contrib/directx/common.mak
   * contrib/firebird/common.mak
   * contrib/freeimage/common.mak
   * contrib/gd/common.mak
   * contrib/hbzlib/common.mak
   * contrib/hgf/win32/common.mak
   * contrib/htmllib/common.mak
   * contrib/ole/common.mak
   * contrib/pdflib/common.mak
   * contrib/pgsql/common.mak
   * contrib/libct/common.mak
   * contrib/libgt/common.mak
   * contrib/libnf/common.mak
   * contrib/libmisc/common.mak
   * contrib/mysql/common.mak
   * contrib/odbc/common.mak
   * contrib/rdd_ads/common.mak
   * contrib/samples/common.mak
   * contrib/telepath/common.mak
   * contrib/tip/common.mak
   * contrib/win32/common.mak
   * contrib/xhb/common.mak
     * Formatting made consistent.

   * contrib/adordd/common.mak
   * contrib/bmdbfcdx/common.mak
   * contrib/btree/common.mak
   * contrib/freeimage/common.mak
   * contrib/gd/common.mak
   * contrib/hgf/win32/common.mak
   * contrib/libct/common.mak
   * contrib/libnf/common.mak
   * contrib/mysql/common.mak
   * contrib/odbc/common.mak
   * contrib/pdflib/common.mak
   * contrib/pgsql/common.mak
   * contrib/rdd_ads/common.mak
   * contrib/samples/common.mak
   * contrib/tip/common.mak
   * contrib/xhb/common.mak
     + Added headers.

   * contrib/btree/common.mak
   * contrib/freeimage/common.mak
   * contrib/freeimage/Makefile
   * contrib/hbzlib/common.mak
   * contrib/hbzlib/Makefile
   * contrib/libct/common.mak
   * contrib/libmisc/common.mak
   * contrib/libmisc/Makefile
   * contrib/mysql/common.mak
     ! Library names synced between GNU and non-GNU 
       make systems.
     ! Some libraries renamed to not have a too common 
       or non-descriptive name, like "misc".
       non-GNU hb_btree   -> hbbtree (synced with GNU)
       non-GNU fi_lib     -> hbfreeimage
       GNU     fi_lib     -> hbfreeimage
       non-GNU hbzip      -> hbziparch
       GNU     ziparchive -> hbziparch
       non-GNU libct      -> ct (synced with GNU)
       non-GNU libmisc    -> hbmisc
       GNU     misc       -> hbmisc
       non-GNU mysql      -> hbmysql (synced with GNU)

   * contrib/apollo/Makefile
   * contrib/firebird/Makefile
     ! Fixed space to tabs.

   + contrib/msql/make_b32.bat
   + contrib/msql/make_vc.bat
   + contrib/msql/common.mak
     + Added non-GNU make files.
     ; TOFIX: I cannot compile these still.

   * contrib/msql/Makefile
     ! Added SVN header.
     ; TOFIX: This is a non-standard Makefile.
              Did anyone manage to compile this lib?

   * contrib/adordd/adordd.ch
   * contrib/adordd/adordd.prg
     ! Added EOLs to the last line.

   * utils/hbmake/hbmutils.prg
     * Lib names fixed and changed to reflect the recent 
       changes in contrib.

   * contrib/rdd_ads/rddads.h
     ! Minor cosmetic fix.

   * include/hbextern.ch
   * source/rtl/memofile.c
     ! MEMOWRIT() 3rd parameter marked as extension.
     + HB_MEMOWRIT() function added, which never write the 
       obsolete EOF char at the end of the file.
2007-11-23 02:08:37 +00:00
Viktor Szakats
0de23eaa4f 2007-11-16 14:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.ch
     ! Minor fix in comments.

   * contrib/xhb/hbcompat.ch
     + Added hb_rddInfo() translation for xhb apps.

   * common.mak
   * include/hbextern.ch
   * source/rtl/Makefile
   + source/rtl/natmsgu.c
   * source/rtl/natmsg.c
     + Added Harbour internal version of undocument Clipper 
       Nat*() (and friends) calls. These are always available 
       in core.
       Harbour __natIsAffirm()   = Clipper IsAffirm()
       Harbour __natIsNegative() = Clipper IsNegative()
       Harbour __natMsg()        = Clipper NationMsg()
       Harbour __natSortVer()    = Clipper _NatSortVer()
       Harbour __natMsgVer()     = Clipper _NatMsgVer()

   * utils/hbtest/rt_misc.prg
   * source/rtl/dircmd.prg
   * source/rtl/getsys.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tlabel.prg
   * source/rtl/treport.prg
     ! Now using Harbour internal __NAT*() functions 
       instead of C5.x undocumented calls, so Harbour 
       will now compile with HB_C52_UNDOC turned off.
2007-11-16 13:48:29 +00:00
Viktor Szakats
a35b2d9643 2007-11-14 23:54 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* common.mak
   * include/hbextern.ch
   * source/rdd/Makefile
   + source/rdd/rddinfo.c
   * source/rdd/dbcmd.c
   + source/rdd/dbdrop.c
   + source/rdd/dbcmd53.c
   + source/rdd/dbexists.c
   + source/rdd/fieldhb.c
     ! Moved away C53 functions to a separate file.
     + Added HB_RDDGETTEMPALIAS() as a documented version 
       of the long existing __RDDGETTEMPALIAS(). The latter 
       name still kept for compatibility.
     ! Moved away non-namespace conformant HB_EXTENSIONs 
       to separate files to cause less harm form those not 
       wanting these or already using these names in app 
       code.
     + Added HB_RDDINFO() namespace conformant version of 
       the RDDINFO() Harbour extension. RDDINFO() still works 
       but it's now defined in a separate file to cause less 
       potential harm.
     - Removed HB_EXTENSION guards from around DBDROP(), DBEXISTS(), 
       RDDINFO(), FIELDLEN(), FIELDDEC(), FIELDTYPE() non namespace 
       conformant Harbour extensions.
     ; Przemek: I'm sorry you didn't bother to answer, so I 
       just can hope these address the problems you were having.

   * source/rdd/sdf1.c
   * source/rdd/delim1.c
     ! Removed two __XHARBOUR__ guards, by making the guarded 
       code the default. We have SET EOL support in Harbour now, 
       so this seems okey. If not, tell.
     ; TOFIX: We still have __XHARBOUR__ #defines in pp/ppcore.c 
       and debug/debugger.prg.

   * include/hbsetup.ch
     ! HB_EXTENSION turned off.
2007-11-14 23:08:54 +00:00
Viktor Szakats
f7de654b8b 2007-11-11 22:26 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* common.mak
   * source/rtl/Makefile
   + source/rtl/getsys53.prg
   * source/rtl/getsys.prg
   + source/rtl/secondfs.c
   * source/rtl/seconds.c
   + source/rtl/mouse53.c
   * source/rtl/mouseapi.c
     + Some C53 and FlagShip functions moved to separate source file.

   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   + source/rtl/hbstrsh.c
   * utils/hbtest/rt_stra.prg
     + Added hb_StrShrink(<cString>[,<nShrinkBy>]) -> cStringShrinked
       <nShrinkBy> has a default value of 1. Returns empty string 
       on error, returns full string if <nShrinkBy> is zero or negative.
       This function call is meant to be use instead of code like this:
       cString := Left( cString, Len( cString ) - 1 ) ->
       cString := hb_StrShrink( cString, 1 )
       TODO: Maybe to support passing it by reference and make it even 
             faster.
     + Added regression tests for this function.
2007-11-11 21:55:39 +00:00
Viktor Szakats
97aad59548 2007-11-11 12:51 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/std.ch
     ! SET STRICTREAD command definition fixed.

   * include/hbextern.ch
     ! Fixed placement of MENUMODAL, to compile when HB_COMPAT_C53
       is turned off.

   * contrib/libmisc/Makefile
     ! Fixed test dir name. (broken since yesterday)

   * contrib/pdflib/common.mak
     + Added another file.

   + contrib/pdflib/Makefile
     + Added GNU make file for pdflib.

   * utils/hbdoc/ft_funcs.prg
   * utils/hbmake/ft_funcs.prg
   * utils/hbmake/hbmake.prg
     ! Made them compile with HB_COMPAT_C53 turned off.
       There is a loss of functionality in this case.
       (MAKEDIR(), DIRCHANGE() and @ CHECKBOX are used here)

   * source/rtl/menuto.prg
   * source/rtl/tgetlist.prg
     ! Fixed to compile when HB_COMPAT_C53 is turned off.

   * include/hbextern.ch
   * source/rtl/defpath.c
   * source/rtl/adir.prg
     * __DEFPATH() is now always included, not just when HB_C52_UNDOC 
       is defined, since we use this function from core, and __*() 
       functions are okey to be included without this guard.
       DEFPATH() is still marked as HB_C52_UNDOC.
     ! ADIR() now uses __DEFPATH() instead of DEFPATH() to compile
       with HB_C52_UNDOC turned off.
     ; TOFIX: There are still a few functions we use from core, which 
       are guarded with HB_C52_UNDOC: NATIONMSG(), ISNEGATIVE()

   * source/vm/memvars.c
     * Changed HB_EXTENSION to HB_C52_STRICT. Reason: This 
       is a Harbour internal (undocumented) function, where extension 
       is possible. CA-Cl*pper internal (undocumented) function __MRESTORE()
       is mapped to this function, which is still okey. We could 
       create a fully CA-Cl*pper compatible, non-extended __MRESTORE() 
       without any trouble, if this is an issue.
2007-11-11 12:05:38 +00:00
Viktor Szakats
31f9030f34 2007-11-11 02:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/at.c
   * include/hbextern.ch
     + Added hb_At() which is equivalent to At() with 
       HB_EXTENSION turned on. Users are encouraged to 
       use hb_At(), and this is also a must inside core.

   * include/hbextern.ch
     ! Added missing hb_AIns(), hb_ADel(), hb_AScan()

   * source/rtl/persist.prg
     ! Fixed hard-wired EOL length.
     ! Fixed to not go into an infinite loop on 
       non EOL terminated texts. (Thanks Petr)
     ! Fixed to use hb_At() instead of extended At().
     ! Fixed to also handle LF delimited texts.
     ; All this in static function ExtractLine()

   * contrib/rdd_ads/doc/gendoc.bat
     ! Added version header.

   * contrib/hgf/tests/bld_b32.bat
     ! Some more minor cleanups.

   * contrib/pgsql/make_vc.bat
   * contrib/apollo/make_vc.bat
   * contrib/gd/make_vc.bat
   * contrib/adordd/make_vc.bat
   * contrib/pdflib/make_b32.bat
   * contrib/pdflib/make_vc.bat
   * contrib/btree/make_vc.bat
   * contrib/samples/make_vc.bat
   * contrib/mysql/make_vc.bat
   * contrib/odbc/make_vc.bat
   * contrib/bmdbfcdx/make_vc.bat
     ! Fixed EOL-style.

   + contrib/libmisc/test
   - contrib/libmisc/tests
     * Dir rename.
2007-11-11 01:42:42 +00:00
Mindaugas Kavaliauskas
7eb0a16404 2007-11-04 03:40 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* include/hbapifs.h
  * harbour/source/common/hbfsapi.c
    ! fixed hb_fsFileExists() for DOS 
    + Added hb_fsDirExists()

  * include/hbextern.ch
  * source/rtl/hbfile.c
    + Added HB_DIREXISTS()
2007-11-04 01:40:13 +00:00
Viktor Szakats
88cb3664a9 2007-10-27 16:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapifs.h
   * source/common/hbfsapi.c
     ! Added missing HB_EXPORTs.
     + Added hb_fsFileExists(). This is the preferred way to check 
       for the existence of a file, because it is fast and will 
       find a file even of directory traversal is not possible 
       for the file's directory. Works the same way as file 
       existence check in most other tools.
     ; NOTE: DOS branch was not compiled or tested (it is a 
             rewrite of a tested ASM function though).

   * common.mak
   * include/hbextern.ch
   * source/rtl/Makefile
   + source/rtl/hbfile.c
     + Added HB_FILEEXISTS() Harbour level function to check 
       for the existence of a file. This works better than 
       FILE() in most situations, but it doesn't accept any 
       wildcards.

   * source/compiler/gencobj.c
     ! Fixed to not used access(). Using hb_fsFileExists() instead.
2007-10-27 14:51:53 +00:00
Viktor Szakats
8db0ce3340 2007-10-16 12:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/isprint.c
     ! Fixed ISPRINTER() on Win32 after last changes.
       Thanks Guillermo, pls test now.
   
   * source/rdd/dbcmd.c
     ! Marked as HB_EXTENSION: FIELDLEN(), FIELDDEC(), FIELDTYPE()

   * include/hbextern.ch
   * source/rdd/dbcmd.c
     ! Marked as HB_EXTENSION: DBDROP(), DBEXISTS(), RDDINFO()
       (they were properly marked in hbextern.ch but not in source)

   * include/hbextern.ch
   * source/rtl/disksphb.c
   * source/rtl/fssize.c
   * source/rtl/fstemp.c
   * source/rtl/inkey.c
   * source/rtl/oemansi.c
   * source/rtl/philes.c
   * source/rtl/setcolor.c
   * source/rtl/setfunc.prg
   * source/rtl/setkey.c
   * source/rtl/shadow.c
   * source/rtl/trace.c
   * source/rtl/valtostr.c
   * source/vm/dynsym.c
     + Removed HB_EXTENSION from all the .prg level functions 
       prefixed with HB_.
       (there was a mixed situation here, but there's no need 
       to mark any HB_ functions as extensions, as it's obvious 
       by their name. So as a rule, no HB_ prefixed function 
       should ever be marked as HB_EXTENSION anymore.)
     ! Fixed some inconsistencies in HB_EXTENSION between 
       hbextern.ch and actual sources.

   * source/rtl/tgetlist.prg
     * One HB_EXTENSION changed to !HB_C52_STRICT because it 
       was guarding a bugfix rather than a real extension.

   * source/rtl/gui.prg
     * _GetNumCol() is now always strictly compatible.
       NOTE added about sloppy C5.3 behaviour.

   * source/rtl/inkey.c
   * contrib/xhb/xhb.ch
   * contrib/xhb/xhbfunc.c
     ! __KEYBOARD() xhb hidden parameter extension moved to 
       xhb lib. For similar functionality inside Harbour 
       pls use HB_KEYPUT(). __KEYBOARD is now 100% C5.x 
       compatible.

   * source/rtl/setfunc.prg
     * __SetFunction() extension now uses HB_KEYPUT() instead 
       of __KEYBOARD() extended parameters.

   * source/compiler/hbfunchk.c
   * source/rtl/at.c
     ! AT() extra parameters handled when HB_EXTENSION is on 
       (was !HB_C52_STRICT). (The first extra parameter is 
       XPP and Flagship compatible. The three parameter version 
       of this function is called AT3() in CAVO.)
     ! TRIM()/RTRIM() extra parameters handled on compiler level 
       when HB_EXTENSION is on (default).
     ! FILE() parameter check turned off in compiler.
       (to be C5.x compatible)

   * source/rtl/alert.prg
     ! ALERT() Harbour extended parameter (1st parameter type) 
       is now guarded with HB_EXTENSION instead of HB_C52_STRICT.

   * source/rtl/gete.c
     ! GETE[NV]() Harbour extended parameter guarded with HB_EXTENSION.

   * source/vm/proc.c
     ! PROCFILE() Harbour extended parameter guarded with HB_EXTENSION.

   * source/rtl/mlcfunc.c
     ! Harbour extended parameters for MEMOLINE()/MLCOUNT()/
       MLPOS()/MLCTOPOS()/MPOSTOLC() are now guarded with HB_EXTENSION 
       (instead of HB_C52_STRICT). It seems to be possible to 
       specify custom EOLs for all these functions. (Maybe simple 
       automatic Unix/Win EOL style handling would be better here)

   * source/vm/memvars.c
     ! Guarded Harbour extension in __MVRESTORE() with HB_EXTENSION.

   ; After this cleanup:
     - HB_EXTENSION is marking extra features living inside existing C5.x 
                    functions or classes, or Harbour extension functions 
                    not complying with the HB_ prefix rule (we have six 
                    such functions in RDD). If there are more extended 
                    parameters in Harbour pls mark them with HB_EXTENSION 
                    too.
     - HB_C52_STRICT is guarding bugfixes compared to C5.x.
     - No HB_ functions are guarded with HB_EXTENSION anymore.
     - We'd pbly need to review each HB_EXTENSIONs to check whether they 
       are safe or not.
     - A list of HB_EXTENSIONs:
       - MLCOUNT()
         MEMOLINE()
         MLPOS()
         MLCPOS()
         MPOSTOLC()      - 5th and up can specify custom EOLs.
       - ALERT()         - 1st parameter type can be any type in Harbour, char only in C5.x
       - SET FUNCTION TO
         __SETFUNCTION   - 2nd parameter can be numeric or array of numeric in Harbour.
       - SETKEY()        - 3rd codeblock parameter ("isactive" block)
       - SAVESCREEN()    - 5th parameter: lNoCheck (?)
         RESTSCREEN()    - 6th parameter: lNoCheck (?)
       - AT()            - 3rd and 4th parameters to set search range. 3rd parameter is 
                           also supported by XPP and FS. Results in compiler error in C5.x.
                           (CAVO uses AT2() and AT3() for extended versions.)
       - TRIM()
         RTRIM()         - 2nd parameter is an extension regarding space trimming mode.
                           Results in compiler error in C5.x.
       - ALLTRIM()       - 2nd parameter is an extension regarding space trimming mode.
       - GETE()
         GETENV()        - 2nd parameter specifies a default value. Can be found in HB_GETENV().
       - PROCFILE()      - 1st parameter is a Harbour extension. Undocumented function in C5.x.
                           The extension looks similar to the one found in Flagship.
       - __MVRESTORE()   - 3rd/4th parameters are Harbour extensions to set variable name 
                           mask. Redirected from the internal 5.x function named __MRESTORE().
       - DB*()           - cRDD, nConnection, cCodePage extra parameters in many DB*() functions.
                           TOFIX: None of them is marked as HB_EXTENSION.
       - SET()s          - These are not marked as HB_EXTENSION.
       - ?               - Is there anything else?
2007-10-16 11:04:51 +00:00
Viktor Szakats
2c6c52830f 2007-10-16 09:29 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
   * source/rtl/gete.c
     + Added HB_GETENV(). There you have a 2nd parameter 
       which will be returned in case the requested 
       envvar doesn't exist. This extensions is still present 
       in GETE[NV](), but we'd better remove it.

   * include/hbextern.ch
   * source/rtl/isprint.c
     + Added HB_ISPRINTER() with support for extra parameter 
       printer port name. This parameter also currently has 
       support for Win32 printers. Win32 printer name support 
       was removed from ISPRINTER() to keep compatibility.
       ISPRINTER() extra parameter is enabled with HB_COMPAT_XPP 
       (which is the default).
2007-10-16 07:39:29 +00:00
Viktor Szakats
799edeb1e5 2007-10-01 23:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* contrib/tip/Makefile
   * contrib/tip/makefile.bc
   + contrib/tip/makefile.vc
   + contrib/tip/make_vc.bat
   * contrib/tip/tip.ch
   * contrib/tip/utils.c
   * contrib/tip/base64x.c
   * contrib/tip/encmthd.c
   - contrib/tip/hbhex2n.c
   * contrib/tip/cgi.prg
   * contrib/tip/client.prg
   * contrib/tip/ftpcln.prg
   * contrib/tip/httpcln.prg
   * contrib/tip/mail.prg
   * contrib/tip/thtml.prg
   * contrib/tip/url.prg
     + Code converted to not require xhb lib.
     % Now compiled with -kM switch to avoid macro expansion 
       of strings. This is important here, as "&" char is used 
       quite often in the code, so expect a somewhat better 
       performance.
     - Removed hex number conversion functions, as compatible 
       versions are now available in Harbour with am hb_ prefix.
     + C code update to use Harbour API calls only.
     + Added VC build script.
     ! Fixed two C warnings.
     ! Standardized SVN header in one file.
     ! Set std SVN keywords and eol-style.
     ; Please test it.

   * include/hbextern.ch
   * source/rtl/hbinet.c
   * contrib/xhb/xhb.ch
   * contrib/xhb/xhbfunc.c
     * Renamed hb_IsInetSocket() to hb_inetIsSocket() to 
       keep all inet related functions in one namespace.
2007-10-01 22:17:21 +00:00
Przemyslaw Czerpak
b4e5912a0e 2007-09-25 03:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
  + harbour/contrib/xhb/xhbextrn.ch
  * harbour/contrib/xhb/Makefile
    * moved xHarbour compatible functions from hbextern.ch to xhbextrn.ch
2007-09-25 01:35:15 +00:00
Viktor Szakats
9303fd7c30 2007-09-17 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* common.mak
   + source/rtl/tbrowsys.prg
   * source/rtl/Makefile
   * source/rtl/getsys.prg
   * source/rtl/tbrowse.prg
     + Added new file for C5.3 TB*() functions.
       Most of them is dummy, a few of them were moved 
       here from existing files.

   * include/hbextern.ch
     + Added rest of C5.3 TB*() functions.

   * source/rtl/teditor.prg
     ! Fixed new scope violations reported by Guillermo.

   * source/rtl/tbrowse.prg
     + :border implemented (to be tested).
     ! :setColumn() return value fixed, NOTE added.
     ! Non-character :picture handled properly.
       (to be tested for full compatibility)
     % Some optimizations.
     - :TApplyKey() removed (it is not a C5.3 method)
     ; Some source cleanup and other changes.
     ; Work in progress.

   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   + source/rtl/tscalar.prg
   - source/rtl/array.prg
   - source/rtl/block.prg
   - source/rtl/characte.prg
   - source/rtl/date.prg
   - source/rtl/logical.prg
   - source/rtl/nil.prg
   - source/rtl/numeric.prg
   - source/rtl/scalar.prg
     + Consolidated scalar classes to one file.
     + Minor optimizations and cleanup done on files.
     + Class function names now consistently HB*()
       (was non-Class(y) compatible and a mixed list 
       of plain unprefixed class names and class names 
       prefixed with an underscore). Notice however that 
       Class(y) has only CsyArray() defined in its own 
       library, the rest was seemingly made only 
       available as additional source code.
     ! Fixed NIL class to be named NIL (was _NIL).
     % Some unneeded MESSAGE redirections removed.
     % LOCAL var[0] -> LOCAL var := {}. This results 
       in better pcode.
     + Added all these symbols to hbextern.ch

   * source/rtl/symbol.prg
     * Some cleanup.
     ; I believe this should be named HBSymbol() and 
       added to hbextern.ch
2007-09-17 10:28:19 +00:00
Viktor Szakats
94e55db264 2007-09-11 00:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcompat.ch
   * include/hbextern.ch
   * source/rtl/hbini.prg
     + .ini functions added to hbextern.ch.
     * .ini functions renamed so that all of them reside 
       in the hb_ini*() namespace. xhb compatibility translates 
       added.

   * source/debug/debugger.prg
     * Formatting.

   * source/rtl/memoedit.prg
     % Minor optimization.

   * source/rtl/teditor.prg
     ! Fixed to not ask for confirmation when pressing 
       <Esc> on an unedited buffer.
2007-09-10 22:41:17 +00:00
Viktor Szakats
485c23ffe7 2007-09-07 12:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
     ! Fix of some corrected public function names.
2007-09-07 10:56:00 +00:00
Viktor Szakats
80fb85b354 minor fix after commit 2007-09-07 02:11:09 +00:00
Viktor Szakats
1b46bf32b9 2007-09-07 03:38 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* tests/Makefile
   * tests/rto_get.prg
   + tests/rto_tb.prg
   * include/button.ch
   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   - source/rtl/mssgline.prg
   + source/rtl/gui.prg
   + source/rtl/menusys.prg
   + source/rtl/tmenusys.prg
   * source/rtl/checkbox.prg
   * source/rtl/einstvar.prg
   * source/rtl/getlist.prg
   * source/rtl/getsys.prg
   * source/rtl/listbox.prg
   * source/rtl/memoedit.prg
   * source/rtl/pushbtn.prg
   * source/rtl/radiobtn.prg
   * source/rtl/radiogrp.prg
   * source/rtl/scrollbr.prg
   * source/rtl/tbcolumn.prg
   * source/rtl/tbrowse.prg
   * source/rtl/teditor.prg
   * source/rtl/tget.prg
   * source/rtl/tgetlist.prg
   * source/rtl/tlabel.prg
   * source/rtl/tmenuitm.prg
   * source/rtl/tpopup.prg
   * source/rtl/treport.prg
   * source/rtl/ttopbar.prg
     ; These changes mainly targeted the .prg 
       level UI classes of Harbour.
     + Code standardization, cleanup, formatting.
       (formatting is not fully complete yet)
     ! Lots of compatibility fixes.
     ! Lots of bugfixes (crashes, wrongly passed 
       parameters, etc).
     ! Minor fix in one of the methods of HBReportForm()
     - Non-Clipper classes removed (the MENUSYS/msgline 
       related ones).
     ! Some fixes adapted from xHarbour's TBrowse()
     + Class VARs properly scoped.
     + TBColumn() is now fully compatible.
     * The mess in the TTopBar and related classes was 
       cleaned up, some small non-Clipper compatible 
       classes were removed and a new TMenuSys class 
       was created of the related parts.
     % Optimizations.
     + TBrowse/TBColumn regression test suite 
       added (far from complete at this point).
     ; NOTE: No C5.3 GUI support is implemented in Harbour.
     ; NOTE: Harbour uses Disp*() functions in UI functions 
             to update screen. C5.x uses a mixture of Dev*(), 
             Q?Out() and Disp*().
     ; NOTE: TBrowse() fixing is still a work in progress.
     ; Please test.
2007-09-07 02:00:07 +00:00
Przemyslaw Czerpak
da4d8743b5 2007-08-31 11:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbhex.c
    + added HB_HEXTOSTR() and HB_STRTOHEX() - they are compatible with
      HEXTOSTR() and STRTOHEX() in xHarbour

  * harbour/include/hbcompat.ch
    + added translations for HB_HEXTOSTR(), HB_STRTOHEX()

  * harbour/include/hbextern.ch
    + added new functions

  * harbour/contrib/libct/ctextern.ch
    * updated function list
2007-08-31 09:55:23 +00:00
Przemyslaw Czerpak
39970a9215 2007-08-23 17:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gttrm/gttrm.c
    * set cursor position at beginning of new line on application exit

  * harbour/include/hbextern.ch
    + added missing functions (CDPs, LANGs, HSX, ...)

  * harbour/utils/hbdot/Makefile
  * harbour/utils/hbrun/Makefile
    + added codepage library
2007-08-23 15:15:16 +00:00
Przemyslaw Czerpak
57748f5e13 2007-08-14 15:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/cdpapi.c
    + added HB_UTF8TRAN(), HB_UTF8STUFF(), HB_UTF8POKE()
2007-08-14 13:27:17 +00:00
Viktor Szakats
20f052ed91 2007-08-08 16:31 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcompat.ch
   * include/hbextern.ch
   * contrib/libnf/fttext.c
   * source/vm/arrayshb.c
     + xhb RASCAN() added to Harbour without HB_COMPAT_XHB 
       switch, under the name HB_RASCAN().
       Translation from RASCAN() is done via hbcompat.ch
     ! NFLib/FT_FRSEEK() now works in Harbour regardless 
       of the HB_COMPAT switches.
2007-08-08 14:33:26 +00:00
Przemyslaw Czerpak
f679ae3bc0 2007-07-04 18:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    + added some other missing functions for which I had no doubt they
      should be included
2007-07-04 16:25:16 +00:00
Przemyslaw Czerpak
2a7af92999 2007-07-03 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompat.ch
   ! added closing parentheses in operators translation rules to avoid
     wrong translations
  * harbour/include/hbextern.ch
   + added many missing functions
2007-07-03 19:40:37 +00:00
Przemyslaw Czerpak
685393a361 2007-06-23 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/gttrm/Makefile
  * harbour/source/rtl/gttrm/gttrm.c
    + set Id keyword property

  * harbour/source/common/expropt1.c
    ! fixed typo in HB_TRACE() parameters

  * harbour/include/hbapicdp.h
  * harbour/include/hbapirdd.h
  * harbour/source/rtl/strcase.c
  * harbour/source/rtl/is.c
  * harbour/source/rtl/gtxwc/gtxwc.h
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/gtsln.h
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/vm/hvm.c
    ! fixed compilation with HB_CDP_SUPPORT_OFF - I do not plan to
      create such builds but now these macro allow to easy locate
      CDP dependent code

  * harbour/include/hbextern.ch
  * harbour/source/rtl/cdpapi.c
    + added two prg functions for translations from/to UTF-8:
         HB_STRTOUTF8( <cStr> [, <cCPID> ] ) -> <cUTF8Str>
         HB_UTF8TOSTR( <cUTF8Str> [, <cCPID> ] ) -> <cStr>
      <cCPID> is Harbour codepage id, f.e.: "EN", "ES", "ESWIN",
      "PLISO", "PLMAZ", "PL852", "PLWIN", ...
      When not given then default HVM codepage (set by HB_SETCODEPAGE())
      is used.
2007-06-23 09:13:50 +00:00
Przemyslaw Czerpak
271095b949 2007-05-03 16:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/include/hbapirdd.h
  - harbour/include/hbrddwrk.h
  * harbour/source/rdd/Makefile
  + harbour/source/rdd/wacore.c
  + harbour/source/rdd/wafunc.c
  * harbour/source/rdd/workarea.c
    * cleaned RDD code:
      * the default work area implementation from which each RDD inherits
        and RDD management is now in workarea.c file - this part will be
        common for all threads in future MT version
      * the code to mange workareas and aliases moved to wacore.c - this
        code uses some static variables which will be moved to HVM stack
        in MT version
      * helper RDD functions thread independent moved to wafunc.c

  * harbour/source/rdd/dbcmd.c
    * removed RDD/WorkArea management code - only independent HB_FUNCs
      left. IMHO it will be good to divide this file into few ones.
    * changed dbCreate() and dbUseArea() to return logical value

  * harbour/config/global.cf
    - removed nulsys from linked library list - it should not be here
      because it can confuse some linkers and wrong library will be
      created

  * harbour/contrib/rdd_ads/ads1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/nulsys/nulsys.c
    * updated for recent modifications in RDD API

  * harbour/include/hbextern.ch
    - removed __RDDSETDEFAULT() - this function was necessary with old
      rdd register code and we not not need it for few years. It's not
      Clipper function so I do not see any reason to keep it but if you
      want we can add wrapper to standard RDDSETDEFAULT()

  * harbour/source/rdd/hbsix/sxcompr.c
    + added workaround for SIX3 bug which I intentionally replicated in
      [x]Harbour but it may cause data corruption so IMHO it will be better
      to fix it.

  * harbour/source/rtl/errorsys.prg
    * added default action for EG_LOCK - it's Clipper compatible behavior
      but done in differ way. Due to some differences in linker we are
      using we cannot exactly replicate Clipper behavior because it will
      not work on some platforms as expected so I decided to add it here.
      I think it's even more Clear then the trick with source/sys/ntxerr.prg
      done by Clipper. Many people do not even knows about it.

  * harbour/source/rtl/gtcrs/chrmap.c
    * changed environment variable name from HB_CHRMAP to HB_CHARMAP to
      be compatible with description in default map file
2007-05-03 14:11:30 +00:00
Viktor Szakats
56267f28dd 2007-04-14 12:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbstdgen.ch
   * harbour/include/box.ch
   * harbour/include/hbclass.ch
   * harbour/include/hbcommon.ch
   * harbour/include/hbextern.ch
   * harbour/include/hbgetcmt.ch
   * harbour/include/hbsetup.ch
   * harbour/include/ord.ch
   * harbour/source/rdd/dbdelim.prg
   * harbour/source/rdd/dbfuncs.prg
   * harbour/source/rdd/dbjoin.prg
   * harbour/source/rdd/dblist.prg
   * harbour/source/rdd/dbsort.prg
   * harbour/source/rdd/dbstrux.prg
   * harbour/source/rdd/dbtotal.prg
   * harbour/source/rdd/dbupdat.prg
   * harbour/source/rdd/rddord.prg
   * harbour/source/rtl/alert.prg
   * harbour/source/rtl/browdb.prg
   * harbour/source/rtl/browdbx.prg
   * harbour/source/rtl/checkbox.prg
   * harbour/source/rtl/dircmd.prg
   * harbour/source/rtl/getsys.prg
   * harbour/source/rtl/input.prg
   * harbour/source/rtl/mssgline.prg
   * harbour/source/rtl/pushbtn.prg
   * harbour/source/rtl/radiobtn.prg
   * harbour/source/rtl/radiogrp.prg
   * harbour/source/rtl/setfunc.prg
   * harbour/source/rtl/setta.prg
   * harbour/source/rtl/tbcolumn.prg
   * harbour/source/rtl/tget.prg
   * harbour/source/rtl/tgetint.prg
   * harbour/source/rtl/tmenuitm.prg
   * harbour/source/rtl/tpopup.prg
   * harbour/source/rtl/ttopbar.prg
   * harbour/source/rtl/typefile.prg
   * harbour/source/vm/harbinit.prg
   * harbour/utils/hbrun/external.prg
   * harbour/utils/hbtest/rt_main.ch
     + Following #defines are now available by default without
       the need to #include "hbsetup.ch". These are of course
       also available for applications as defined at Harbour
       build time:
       HB_EXTENSION
       HB_C52_UNDOC
       HB_C52_STRICT
       HB_COMPAT_C53
       HB_COMPAT_XPP
       HB_COMPAT_VO
       HB_COMPAT_FLAGSHIP
       HB_COMPAT_FOXPRO
       HB_COMPAT_DBASE
       HB_COMPAT_CLIP
       HB_COMPAT_XHB
       HB_SHORTNAMES
       HB_FILE_VER_STATIC

   * harbour/source/compiler/hbusage.c
     * Mail address update.
2007-04-14 10:41:54 +00:00
Przemyslaw Czerpak
49b4fc91e3 2007-04-04 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/tip/Makefile
  - harbour/contrib/tip/atokens.c
    * removed HB_ATOKENS()

  - harbour/source/rtl/teditorl.c
    - removed __STRTOKEN(), __STRTKPTR()

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  * harbour/include/hbextern.ch
  + harbour/source/rtl/hbtoken.c
    + added set of functions to manipulate string tokens:
         HB_TOKENCOUNT( <cString>, [ <cDelim> ], [ <lSkipStrings> ],
                        [ <lDoubleQuoteOnly> ] ) -> <nTokens>
         HB_TOKENGET( <cString>, <nToken>, [ <cDelim> ], [ <lSkipStrings> ],
                      [ <lDoubleQuoteOnly> ] ) -> <cToken>
         HB_TOKENPTR( <cString>, @<nSkip>, [ <cDelim> ], [ <lSkipStrings> ],
                      [ <lDoubleQuoteOnly> ] ) -> <cToken>
         HB_ATOKENS( <cString>, [ <cDelim> ], [ <lSkipStrings> ],
                     [ <lDoubleQuoteOnly> ] ) -> <aTokens>
      All these functions use the same method of tokenization. They can
      accept as delimiters string longer then one character. By default
      they are using " " as delimiter. " " delimiter has special mening
      Unlike other delimiters repeted ' ' characters does not create empty
      tokens, f.e.: HB_ATOKENS( "    1     2 3  " ) returns array { "1", "2" }
      Any other delimiters are restrictly counted, f.e. HB_ATOKENS( ",,1,,2,")
      return array: { "", "", "1", "", "2", "" }.

    + added emulation for old __STRTOKEN(), __STRTKPTR() and xHarbour's
      __STRTOKENCOUNT() by HB_TOKEN*() functions. They do not return
      exactly the same result as __STRT*() functions which in some cases
      ignored some delimiters and return wrong results.

  * harbour/source/rdd/Makefile
  + harbour/source/rdd/dbsql.c
    + added __DBSQL() function

  * harbour/include/hbsetup.h
  * harbour/source/vm/fm.c
    + added support for native Windows memory allocation functions
      It can be enabled by HB_FM_WIN32_ALLOC macro and disable C-RTL
      memory manager.

  * harbour/tests/mousetst.prg
    * touch screen output before MPRESENT() to work with GTXWC
2007-04-04 08:35:12 +00:00
Przemyslaw Czerpak
88cda3200d 2007-03-22 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
    * updated for new files - please check

  * harbour/harbour.spec
    * added compiler library

  * harbour/bin/pack_src.sh
  * harbour/bin/hb-func.sh
    * updated for new files and libraries

  * harbour/config/w32/mingw32.cf
  * harbour/config/w32/watcom.cf
  * harbour/config/w32/xcc.cf
    * added winsock libraries

  * harbour/include/hbapicdp.h
  * harbour/source/rtl/cdpapi.c
    + added hb_cdpicmp() - not case sensitive version of hb_cdpcmp()

  * harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    + hb_itemStrICmp(), hb_itemCopyFromRef(), hb_itemMoveFromRef()

  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/include/hbmacro.h
  * harbour/include/hbpcode.h
  * harbour/include/hbvmpub.h
  * harbour/include/hbxvm.h
  * harbour/source/common/expropt1.c
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/genobj32.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/hbmain.c
  * harbour/source/compiler/hbopt.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.yyh
  * harbour/source/macro/macrolex.c
  * harbour/source/vm/Makefile
  * harbour/source/vm/arrays.c
  * harbour/source/vm/asort.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/garbage.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/macro.c
  + harbour/source/vm/hashes.c
  + harbour/source/vm/hashfunc.c
    + added hash items, f.e.:
         local h1 := {=>}, h2 := { "a"=>1.234, "b"=>2.345 }
         ? h2[ "a" ], h2[ "b ]
    + added support for DYNAMIC function declaration - it allow to define
      functions which are lately bound at runtime, f.e.:
         /*** t01.prg ***/
         dynamic func1
         proc main()
         local h:=__hrbload("t02.hrb")
         ? func1()
         return

         /*** t02.prg ***/
         func func1
         return "Hello!!!"

    % use new FUNCALL structure to hold EXTERNAL and DYNAMIC functions,
      it reduce memory usage, FUNCALL is much smaller then FUNCTION
    % use symbol scope bits when possible instead of making some linear scan
    + added new enumarator message: __ENUMKEY - it allow to access
      key value when hash item is base enumerator value, f.e.:
         proc main()
         local v, h:={"a"=>1.000,"b"=>2.000,"c"=>3.000}
         heval( h, { |k,v,i| qout( k, v, i ) } ); ?
         for each v in h
            ? v, "=>", v:__enumKey(), v:__enumValue(), v:__enumIndex(), ;
                       valtype(v:__enumBase())
            v += 0.123
         next
         ? ;heval( h, { |k,v,i| qout( k, v, i ) } )
         return
    + added C level hb_hash*() functions
    + added support for full HASH item cloning and updated array cloning
      to also clone nested hashes - please note that xHarbour does not do
      that, in xHarbour ACLONE() clones _ONLY_ nested arrays and HCLONE()
      _DOES_NOT_ clone _ANY_ nested items.

  * harbour/include/hbextern.ch
    + added hash functions HB_H*()
    * changed INET*() functions to HB_INET*()
    + added hash functions H*() and socket functions INET*() when
      HB_COMPAT_XHB is set

  * harbour/include/hbtypes.h
    + added missing HB_EXTERN_BEGIN / HB_EXTERN_END

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    ! added protection against automatic word concatenation in some cases
    ! fixed preprocessing expressions when match marker matches ';' token

  * harbour/source/rtl/Makefile
  + harbour/source/rtl/itemseri.c
    + added functions for item serialization: HB_SERIALIZE() and
      HB_DESERIALIZE() - these function are not binary compatible
      with xHarbour functions with the same names but make very
      similar job with the exception to serialization of codeblock
      and object variables - Harbour does not allow to serialize
      codeblocks and serialize objects as arrays.
      In most cases these functions can replace the xHarbour ones
    + added HB_DESERIALBEGIN() and HB_DESERIALIZE() functions covered
      by HB_COMPAT_XHB macro - this functions are only for compatibility
      with existing xHarbour code, In Harbour HB_DESERIALBEGIN() is
      dummy function which returns first parameter and HB_DESERIALNEXT()
      is a simple wrapper to HB_DESERIALIZE() so it's not necessary to
      use them.

  * harbour/source/rtl/hbinet.c
    * changed INET*() functions to HB_INET*() and enable them for default
      build
    + added INET*() functions wrappers covered by HB_COMPAT_XHB macro

  * harbour/source/rtl/hbrandom.c
    + added HB_RANDOMINT() - xHarbour compatible

  * harbour/source/rtl/len.c
    + added support for HASHes

  * harbour/source/rtl/valtype.c
    + added support for HASHes
    + added set of HB_IS*() functions - they are a little bit faster then
      calling VALTYPE( v ) == <cVal>
    - removed HB_ISBYREF() - this function cannot longer work, it was using
      a Clipper incompatible anomalies in passing variables by reference I
      fixed so it has to stop to work. If it will be realy necessary to
      implement HB_ISBYREF() function then please inform me - it will have
      to be done at compiler level or with some much deeper HVM stack
      checking.

  * harbour/source/vm/extend.c
    ! fixed hb_extIsArray() and hb_extIsObject() to work well with
      parameters passed by reference.
      Please note that now hb_extIsArray() return TRUE only for pure arrays
      not object values.

  * harbour/contrib/Makefile
  + harbour/contrib/tip/Changelog
  + harbour/contrib/tip/Makefile
  + harbour/contrib/tip/atokens.c
  + harbour/contrib/tip/base64x.c
  + harbour/contrib/tip/cgi.prg
  + harbour/contrib/tip/client.prg
  + harbour/contrib/tip/credent.prg
  + harbour/contrib/tip/cstr.prg
  + harbour/contrib/tip/encb64.prg
  + harbour/contrib/tip/encmthd.c
  + harbour/contrib/tip/encoder.prg
  + harbour/contrib/tip/encqp.prg
  + harbour/contrib/tip/encurl.prg
  + harbour/contrib/tip/ftpcln.prg
  + harbour/contrib/tip/hbhex2n.c
  + harbour/contrib/tip/httpcln.prg
  + harbour/contrib/tip/mail.prg
  + harbour/contrib/tip/popcln.prg
  + harbour/contrib/tip/smtpcln.prg
  + harbour/contrib/tip/tip.ch
  + harbour/contrib/tip/url.prg
  + harbour/contrib/tip/utils.c
    + added TIP library - code borrowed from xHarbour



   Please test - a lot of above code is not well tested, also some peaces
   were written over year ago for different things (f.e. serialization for
   NETRDD) and now I collected them and committed.
   The TIP library was not tested at all. It can be compiled but I cannot
   say if it works - I hope that people familiar with it can make necessary
   test and fixes.
   It's also not the final version of low level HASH item code. I'm working
   on more efficient structure which uses binary tries but I cannot say when
   I'll finish it (maybe in this weekend or maybe in next year) so I committed
   working version now even if I'm not happy with overall performance (BTW
   not worser then in xHarbour)
2007-03-22 12:28:14 +00:00
Przemyslaw Czerpak
a193cd605d 2007-03-14 14:45 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapiitm.h
  * harbour/source/vm/eval.c
    + added C function hb_execFromArray()

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/hbinet.c
    + added xHarbour compatible INET*() functions - code borrowed
      from xHarbour with some minor modifications and fixes

  * harbour/include/hbextern.ch
    + added regex functions
    + added INET*() functions when compiled with HB_COMPAT_XHB
2007-03-14 13:47:39 +00:00
Przemyslaw Czerpak
8d38c093b4 2006-11-17 13:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/common/hbstr.c
  * harbour/source/compiler/harbour.l
  * harbour/source/macro/macro.l
  * harbour/source/macro/macro.slx
  * harbour/source/compiler/harbour.slx
    * changed parameters in function: hb_compStrToNum() now the string
      size is passed explicitly so it can work with strings which does
      not have trailing ASCII NUL character.

  * harbour/source/macro/macro.y
    * indenting

  * harbour/include/hbmacro.h
  * harbour/source/common/hbstr.c
  * harbour/source/macro/macro.l
  * harbour/source/macro/macro.y
    * added two new functions for macro compiler: hb_macroLexNew() and
      hb_macroLexDelete() to clearly separate lexer from grammar parser.

  * harbour/source/compiler/harbour.l
  * harbour/source/common/hbstr.c
  * harbour/source/pp/ppcore.c
    * added error generation for wrong e"..." strings and fixed \" quoting
    * removed \q quoting

  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
    * added small description in headers

  * harbour/common.mak
  * harbour/source/pp/Makefile
  * harbour/source/pp/pplib.c
  + harbour/source/pp/pplib2.c
  * harbour/include/hbextern.ch
    + added auto destructor for allocated PP context, it's not longer
      necessary to execute __PP_FREE() so this function was moved from
      the standard .prg API to file with backward compatible functions
    * changed __PREPROCESS() to __PP_PROCESS()
    * moved setting std rules to separate file so now if user uses PP
      with only his own rules we are not forcing linking static tables
      which are quite huge (over 100kb)
      To include stdandard rules in static binaries user should add
      to his code:
         REQUEST __PP_STDRULES

  + harbour/source/pp/pplib3.c
    * old PP functions for backward compatibility:
         __PPADDRULE(), __PREPROCESS(), __PP_FREE()
      Please note that using this function is not MT safe. They should
      work like with old PP code. Using any of this function automatically
      forces linking __PP_STDRULES
2006-11-17 12:29:24 +00:00
Przemyslaw Czerpak
8deba76fc3 2006-09-28 14:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/common.ch
    + added ISSYMBOL()

  * harbour/include/hbextern.ch
    - removed __CLS_PARAM()

  * harbour/include/hbclass.ch
  * harbour/source/rtl/tclass.prg
  * harbour/source/vm/classes.c
    * replaced __CLS_PAR00() and __CLS_PARAM() functions by preprocessor
      rules. These functions are not longer necessary though I left them
      in classes.c for backward binary compatibility. Probably they will
      be removed in the future.
    ! use function pointers (@<funcname>()) instead of function names
      with REQUEST for super classes ID. It fixes using STATIC class
      functions.
2006-09-28 12:29:24 +00:00
Przemyslaw Czerpak
c35391da65 2006-09-14 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/garbage.c
    * minor cleanup

  * harbour/source/rtl/cdpapi.c
  * harbour/include/hbextern.ch
    + added HB_CDPLIST() - it returns array with all registered CODEPAGEs

  * harbour/source/rtl/set.c
    ! fixed typo in _SET_DEFEXTENSIONS

  * harbour/tests/testrpt.prg
    ! fixed syntax
    ! use lower name in report name to work properly on case sensitive
      file systems
2006-09-14 13:09:01 +00:00
Viktor Szakats
bd29875021 2006-07-18 13:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/include/hbextern.ch
     ! Removed __dbfList() reference.
2006-07-18 11:26:11 +00:00
Przemyslaw Czerpak
482c47321d 2006-07-12 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    - removed ORDCOND() - it's not normal function

  * harbour/include/ord.ch
    + added documented by CL5.3 NG but not implemented in Clipper
      pseudofunction ORDCOND()

  * harbour/source/rdd/dbcmd.c
    + added __dbOpenSDF() function
      In Clipper dbCreate() can receive also 6-th undocumented
      parameter: cDelim. In [x]Harbour this parameter is used
      for code page ID. I'd like you decide if we should move
      it and keep exact Clipper parameters. I'm also not sure
      if __dbOpenSDF() is the exact Clipper's name. In Clipper
      the name has only 10 characters __dbOpenSD() and this
      function is used to open for import DELIMITED and SDF
      files so maybe SD is not from SDF. Can anyone confirm
      it's valid name. Maybe we should remove the last F.

  * harbour/source/rdd/dbstrux.prg
    * small speed optimization

  * harbour/source/rtl/dbdelim.prg
    * added alternatice Clipper like version of __dbDelim(). It executes
      internally the same functions as Clipper - if someone has a while
      and can check if it works correctly giving the same as Clipper
      results then I'll be helpfull.

  * harbour/source/rtl/dummy.prg
    - removed ORDCOND() and __dbOpenSDF()

  * harbour/source/vm/arrays.c
    * minor optimization

  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/itemapi.c
    * formatting
2006-07-12 16:47:25 +00:00
Przemyslaw Czerpak
a290c984e7 2006-02-04 17:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/make_bsd.sh
  * harbour/make_drw.sh
  * harbour/make_gnu.sh
  * harbour/make_rpm.sh
  * harbour/make_tgz.sh
  * harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  * harbour/config/c.cf
  * harbour/config/global.cf
  * harbour/config/rules.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/darwin/global.cf
  * harbour/config/dos/djgpp.cf
  * harbour/config/dos/global.cf
  * harbour/config/dos/install.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/hpux/gcc.cf
  * harbour/config/hpux/global.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/global.cf
  * harbour/config/linux/owatcom.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/w32/watcom.cf
    * include ADSRDD by default in RPMs
    * updated for new RPM which does not accept some old tags
    * set -fPIC on 64bit platforms
    + added /etc/harbour/hb-charmap.def
    * updated for new GT system and drivers

  * harbour/contrib/dot/pp.prg
  * harbour/contrib/dot/pp_harb.ch
    * use _APMAIN as startup function
    * cleaned direct access to item internals

  * harbour/contrib/libct/Makefile
  + harbour/contrib/libct/ctwfunc.c
  + harbour/contrib/libct/ctwin.c
  + harbour/contrib/libct/ctwin.h
    * added CT3 like Window System - it's a GT driver which inherits
      from the existing one and adds CTW functionality

  * harbour/contrib/libct/screen1.c
    * updated for GTAPI modifications

  * harbour/contrib/libnf/Makefile
  * harbour/contrib/libnf/chdir.c
  * harbour/contrib/libnf/mkdir.c
  * harbour/contrib/libnf/rmdir.c
    * use hb_fs*() API functions instead of calling DOS interrupts
      Now NF dir functions works on all platforms - it will be nice
      to update other functions too.

  * harbour/contrib/libnf/dispc.c
  * harbour/contrib/libnf/ftattr.c
    * updated for GT API modifications, some of this code still depends
      on EGA/VGA video buffer so will work only if user will force in GT
      using it - it will be nice to rewrite them

  * harbour/contrib/odbc/odbc.c
  * harbour/contrib/ole/ole2.c
    * casting and cleaning direct access to item internals

  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/rdd_ads/adsmgmnt.c
    * synced with xHarbour

  * harbour/include/Makefile
    * added new header files

  + harbour/include/hbgtinfo.ch
    + added GTI_* defintions for hb_gtInfo() function.
      This function works in similar way to dbInfo() in RDD.
      The GTI_* definitions are taken from xHarbour "as is" and
      they should be cleaned - not all functionality are supported
      in Harbour and some others should be implemented in differ
      way then in xHarbour.

  + harbour/include/hbgtcore.h
  * harbour/include/hbapigt.h
    * new GTAPI
      hbgtcore.h file should not be included by user code
      it's only for internal use in GT drivers
    * HB_inkey_enum changed to int - this is bit field not enumerated type.
      Many of C/C++ compilers forbid bit operations on enum types and
      forcing it by casting which finally exceeds the enum range is defined
      as bug because it may badly interacts with some compiler optimizations

  * harbour/include/hbapi.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapifs.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbapilng.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbdate.h
  * harbour/include/hbdefs.h
  * harbour/include/hbinit.h
  * harbour/include/hbpcode.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbset.h
  * harbour/include/hbstack.h
  * harbour/include/hbvm.h
  * harbour/include/hbvmopt.h
  * harbour/include/hbvmpub.h
    * separated internal and external API. Now the definitions for
      internal HVM structures and functions are excluded by default
      they could be enabled if user include hbvmopt.h before other
      header files. Such operation should be done _ONLY_ by core
      code - if 3-rd party developers make sth like that then it's
      for their own risk and such code may stop to work with next
      Harbour versions. Without hbvmopt.h the internal structures
      like HB_ITEM, HB_DYNS, ... are  mapped to 'void' so there is
      no way to access their members so we can modify them in the
      future without afford for 3-rd party code.
      There is one small exception 'type' should be the first member
      for HB_ITEM structure because I used a small ugly hack in
      HB_IS_*() macros with castin PHB_ITEM to HB_TYPE* - it works
      without speed overhead but if you think that it will be
      better/cleaner to not use such tricks then it's enough to
      change HB_ITEM_TYPE() definitions in hbvmpub.h - see note.
    * cleared the usage of HB_EXPORT - to avoid problems with some C/C++
      compilers we agreed that the only one common way of using HB_EXPORT
      is adding it ad begining of declaration - please keep this convention
      in the future.
    + added new functions:
      hb_extIsObject(), hb_codeblockId(), hb_idleSleep(),
      hb_fsGetOsHandle(),
      hb_dynsymFindSymbol(), hb_dynsymGetSymbol(),
      hb_dynsymSymbol(), hb_dynsymName(),
      hb_dynsymMemvarHandle(), hb_dynsymAreaHandle(), hb_dynsymSetAreaHandle()
    * changed hb_arrayClone() declaration to:
         PHB_ITEM hb_arrayClone( PHB_ITEM pArray )
    * changed hb_arrayFromParams() declaration to:
         PHB_ITEM hb_arrayFromParams( int iLevel )
      The previous version needed a pointer to stack relocatable area
      so any stack resizing could cause GPF.

  * harbour/include/inkey.ch
    * added definitions for extended mouse keys/events and some key
      combinations

  * harbour/source/codepage/uc1250.c
  * harbour/source/codepage/uc1251.c
  * harbour/source/codepage/uc1253.c
  * harbour/source/codepage/uc1257.c
  * harbour/source/codepage/uc737.c
  * harbour/source/codepage/uc850.c
  * harbour/source/codepage/uc852.c
  * harbour/source/codepage/uc866.c
  * harbour/source/codepage/uc88591b.c
  * harbour/source/codepage/uc8859_1.c
  * harbour/source/codepage/uc8859_2.c
  * harbour/source/codepage/uc8859_5.c
  * harbour/source/codepage/uckoi8.c
  * harbour/source/codepage/uckoi8u.c
  * harbour/source/codepage/ucmaz.c
    * updated unicode values for characters in rabge 1-31 to keep
      DOS compatibility

  * harbour/source/common/expropt1.c
  * harbour/source/common/hbarch.c
  * harbour/source/common/hbdate.c
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
    * keep HB_EXPORT at the beginning of function declaration

  * harbour/include/hbpcode.h
  * harbour/include/hbcomp.h
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/hbfix.c
  + harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbpcode.c
  + harbour/source/compiler/hbstripl.c
    % rewritten jump optimization
      ! fixed some minor problems
      * do not optimize jumps and local variable access by shorter
        PCODE version and HB_P_NOOP when jump optimization is
        disabled, this is a note I left in source code in few places:
         /*
          * optimizing jumps here by shorting them and setting HB_P_NOOPs
          * only slow down the compilation process for three reasons:
          * 1. When it's dummy jump to next instruction we need two passes
          *    in hb_compOptimizeJumps() to fully remove it
          * 2. hb_compOptimizeJumps() also make jump shortcutting in each pass
          * 3. When Jump Optimization is disabled (-kJ) then it cause slowness
          *    at runtime because we will have more HVM loops: first  for the
          *    shorter jump and next for the HB_P_NOOP PCODE(s)
          * [druzuz]
          */

      + added support for multi passes in jump/dead code elimination
        (hb_compOptimizeJumps())
        By default is set upto three passes.
        Now hb_compOptimizeJumps() keeps all compiler internal data clean
        on exist and can be called any times and does not change other
        compiler's functions behaviors
      + added dummy jumps elimination
      + added optimization for:
            IF .T.
            IF .F.
            WHILE .T.
            WHILE .F.
         etc.
      * restored empty BEGIN/RECOVER sequence block elimination
        if Jump Optimization is enabled then it marks the block
        with HB_P_NOOPS else it cut the generated PCODE
      + added dead code eliminator (new functions hb_compCodeTraceMarkDead()/
        hb_compPCodeTrace() - it works only when Jump Optimization is
        not disabled)
      As a result of the above we have smaller and faster PCODE.

      I do not think that we will have meta code support in the reasonable
      time and because I need some valid compiler data/structures like
      updated table of all jumps for real C code (not PCODE in .c files)
      generation then I decide to make some modifications and the above
      is in practice a side effect of this work.

  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/rddord.prg
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/nulsys/nulsys.c
    * synced with my modifications in xHarbour
    * updated for API modifications

  * harbour/source/rtl/Makefile
    + added gtsys.c, gtfunc.c, hbgtcore.c

  * harbour/source/rtl/accept.c
  * harbour/source/rtl/alert.prg
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/dates.c
  * harbour/source/rtl/do.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/errorsys.prg
  * harbour/source/rtl/file.c
  * harbour/source/rtl/fserror.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/oldclear.c
  * harbour/source/rtl/strmatch.c
  * harbour/source/rtl/strpeek.c
  * harbour/source/rtl/valtype.c
  * harbour/source/rtl/xsavescr.c
    * updated for API modifications
    * cleaned some compiler warnings

  * harbour/source/rtl/filesys.c
    + added hb_fsGetOsHandle()
    * updated for API modifications

  * harbour/source/rtl/gt.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/gtapiu.c
  + harbour/source/rtl/gtfunc.c
  + harbour/source/rtl/gtsys.c
  + harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/inkey.c
  * harbour/source/rtl/maxrow.c
  * harbour/source/rtl/mouseapi.c
  * harbour/source/rtl/setcolor.c
  * harbour/source/rtl/setposbs.c
  * harbour/source/rtl/shadow.c
    * new GT API code

  * harbour/source/rtl/saverest.c
    * changed default behavior in SEVESCREEN/RESTSCREEN with parameters
      out of screen range to be Clipper compatible. Added last logical
      parameter to keep previous behavior for programs which begins to
      use it.

  * harbour/source/rtl/seconds.c
    * include missing header file to fix C++ compilation
    * make hb_secondsCPU global function

  * harbour/source/rtl/set.c
    * make HB_SET_TYPEAHEAD Clipper compatible

  * harbour/source/rtl/gtcgi/Makefile
  * harbour/source/rtl/gtcgi/gtcgi.c
  - harbour/source/rtl/gtcgi/mousecgi.c
    * rewritten for new GT API
      some detail behaviors has been changed but I think the current
      implementation is better for CGI programs output - please check
      and fix me if necessary

  * harbour/source/rtl/gtcrs/Makefile
  - harbour/source/rtl/gtcrs/charmap.prg
  + harbour/source/rtl/gtcrs/chrmap.c
  - harbour/source/rtl/gtcrs/debug.map
  - harbour/source/rtl/gtcrs/eterm.map
  * harbour/source/rtl/gtcrs/gtcrs.c
  + harbour/source/rtl/gtcrs/gtcrs.h
  + harbour/source/rtl/gtcrs/hb-charmap.def
  - harbour/source/rtl/gtcrs/kbdcrs.c
  - harbour/source/rtl/gtcrs/keymap.prg
  - harbour/source/rtl/gtcrs/linux.map
  - harbour/source/rtl/gtcrs/mousecrs.c
    * new GTCRS based on my xHarbour and Flagship curses code
      Please not that at runtime it looks for a file
      /etc/harbour/hb-charmap.def where user can fully tune output
      for his terminal. This file is included with proper path in
      binaries created by make_rpm.sh and make_tgz.sh
      Ryszard I've removed some of your extensions which are no longer
      necessary and some other (keyboard sequence redefinition) should
      be done in a little bit differ way. I would like to talk about it
      when you test current code.
      Added support for extended mouse keys (middle button and wheel).

  * harbour/source/rtl/gtdos/Makefile
  * harbour/source/rtl/gtdos/gtdos.c
  - harbour/source/rtl/gtdos/mousedos.c
    * rewritten for new GT API
      Fixed some small problems, finished mouse code which for DJGPP
      is fully Clipper compatible with real mouse SAVE/RESTORE code.
      For other compilers it should be updated depending on memory
      model and used DPMI driver (if any).

  * harbour/source/rtl/gtos2/Makefile
  * harbour/source/rtl/gtos2/gtos2.c
  - harbour/source/rtl/gtos2/mouseos2.c
    * rewritten for new GT API
      Fixed some problems and finished the mouse code.
      Please test it - I made all modifications without OS2 and
      I was not able to make any test. I'm interesting in information
      if it works and the speed difference - f.e. results from
      tests/vidtest.prg run with previous and current version.

  * harbour/source/rtl/gtpca/Makefile
  * harbour/source/rtl/gtpca/gtpca.c
  - harbour/source/rtl/gtpca/kbdos2.gcc
  - harbour/source/rtl/gtpca/mousepca.c
    * rewritten for new GT API
      and finished so now it's full functional GT driver
      I'm interesting in keyboard sequences used by PC-ANSI drivers
      in DOS so it will be possible to implement also support for
      extended keys input.

  * harbour/source/rtl/gtsln/Makefile
  * harbour/source/rtl/gtsln/gtsln.c
  + harbour/source/rtl/gtsln/gtsln.h
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtsln/keytrans.c
  * harbour/source/rtl/gtsln/mousesln.c
    * rewritten for new GT API basing on current xHarbour code
      added support for slang 1.4x patched for UNICODE (Debian
      patches used by most of current Linux distributions) and
      slang 2.x - It's unicode ready, tries to detect terminal mode
      (utf-8/iso) at startup and switch the internal logic to
      iso/unicode mode. When compiled with slang 1.4x or 2.x
      and terminal is in UTF-8 it can display all characters like
      in DOS if only used font have them or good fall-back table is
      loaded (f.e. the one created by QRCZAK)
      Added support for extended mouse keys (middle button and wheel).

  * harbour/source/rtl/gtstd/Makefile
  * harbour/source/rtl/gtstd/gtstd.c
  - harbour/source/rtl/gtstd/mousestd.c
    * rewritten for new GT API
      Now it can work as full screen GT driver redrawing the previous
      screen contents from internal GT core buffers. I run with this
      GT some of my programs and they work quite well ;-) of course
      without colors.

  * harbour/source/rtl/gtwin/Makefile
  * harbour/source/rtl/gtwin/gtwin.c
  - harbour/source/rtl/gtwin/mousewin.c
    * updated for new GT API

  + harbour/source/rtl/gtxwc/Makefile
  + harbour/source/rtl/gtxwc/gtxwc.c
  + harbour/source/rtl/gtxwc/gtxwc.h
    * new XWindow Console GT driver based on my and Giancarlo Niccolai
      code form xHarbour - this GT can work in XWindow environment only
      and create its own window for  console output. It delays the
      initialization to the moment when user try to display anything on
      the screen so even without X Window system programs which uses this
      GT can work as long as use only outstd/outerr output.

  * harbour/source/vm/arrays.c
    * updated for API modifications
    + added hb_arrayId(),
    * changed hb_arrayClone() declaration to:
         HB_EXPORT PHB_ITEM hb_arrayClone( PHB_ITEM pSrcArray )
    * changed hb_arrayFromParams() declaration to:
         PHB_ITEM hb_arrayFromParams( int iLevel )

  * harbour/source/vm/arrayshb.c
    * updated for API modifications
    + added new parameter iLevel to function HB_APARAMS()

  * harbour/source/vm/classes.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/fm.c
  * harbour/source/vm/garbage.c
  * harbour/source/vm/maindll.c
  * harbour/source/vm/maindllh.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/mainstd.c
  * harbour/source/vm/mainwin.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/pcount.c
  * harbour/source/vm/proc.c
    * updated for API modifications

  * harbour/source/vm/codebloc.c
    * updated for API modifications
    + added hb_codeblockId()

  * harbour/source/vm/dynsym.c
    * updated for API modifications
    + added new functions:
      hb_dynsymFindSymbol(), hb_dynsymGetSymbol(),
      hb_dynsymSymbol(), hb_dynsymName(),
      hb_dynsymMemvarHandle(), hb_dynsymAreaHandle(), hb_dynsymSetAreaHandle()

  * harbour/source/vm/eval.c
    * updated for API modifications
    * call hb_vmPushState()/hb_vmPopState() in hb_itemDo()/hb_itemDoC()
      functions - it's necessary to make HVM reentrant safe.

  * harbour/source/vm/extend.c
    * updated for API modifications
    + added hb_extIsObject() similar to existing hb_extIsArray()

  * harbour/source/vm/hvm.c
    * updated for API modifications
    + added new functions: hb_vmPushState(), hb_vmPopState()
      which save/restore HVM state (the top stack value which can be
      processed and return item and maybe sth else in the future) making
      HVM ready for reentrant.

  * harbour/source/vm/itemapi.c
    * updated for API modifications
    + added new function:
         HB_EXPORT PHB_SYMB hb_itemGetSymbol( PHB_ITEM pItem );
    ! fixed bug in hb_itemPutNInt()

  * harbour/tests/Makefile
  * harbour/utils/hbdoc/Makefile
  * harbour/utils/hbextern/Makefile
  * harbour/utils/hbmake/Makefile
  * harbour/utils/hbrun/Makefile
  * harbour/utils/hbtest/Makefile
    - removed badly added: dbfntx, dbfcdx, dbffpt, hbsix libraries.
      what broke GNU make compilation for some compilers
      This libraries should be included automatically when RDD lib
      is included by *.cf files

   Summary:
      The whole patch (cvs diff -uN) is ~1.5MB length and I cannot describe
      everything in details - sorry but it was too much modifications in
      one commit so now just some of general notes.
      The header files included as is does not have any information about
      internal HVM structures and some functions. In practice only HB_SYMB
      is public and it has to be public for .c files generated from .prg
      so I force the fixed size of this structure (alignment independent)
      by redefining some members to union with void * - it's a little bit
      ugly trick but it effectively eliminates the problem of linking
      binaries compiled with differ alignment C compiler switches.
      The structures like HB_ITEM, HB_CODEBLOCK, HB_STACK, HB_DYNS are not
      longer defined and pointers to the defined as void * - like in Clipper
      the ITEM structure. It caused that I had to add some new functions
      to make some operation still possible to implement. If I missed sth
      and any of you will have a problem with your code then please inform
      me about it and after a small discussion on Harbour developers list
      we can decide if other functions should be added.
      The internal API is still accessible. It's enough to include "hbvmopt.h"
      file before other header files to enable it. Now only files in
      source/vm directory include it.
      The 3-rd party code which does not include hbvmopt.h (or tries to
      set some internals macros) should be safe for future HVM modifications
      and will work also with new binaries so 3-rd party library developers
      should remember about it. If they won't then it's only their and
      their clients problem not Harbour developers.
      With this modifications I also create new GT model which is similar
      to the one used by RDD with multi inheritance. It can be quite easy
      extended to simultaneously load more then one GT subsystem (sth like
      work areas in RDD) but I left it for the future when someone may
      need it. hbapigt.h file now contains only information about public
      functions and does not have any code which depends on current
      internal implementation - it should be backword compatible as long
      as somone did not try to use internal GT functions.
      The internal GT system use hbgtcore.h file which should not be
      included by 3-rd party code as long as someone will not make new
      GT driver. The internal GT code is new so I expect that it will
      be changed yet in the nearest future (I'm waiting for other developers
      feedback) and in such case any 3-rd party GTs will have to be updated.
      How it works:
         The base GT driver (GTNUL) is fully functional GT driver which
         makes all operations on memory buffer. After each screen write
         Flush() method is called which check for dispcount() and if
         it's 0 then call Refresh() method to update modified area by
         Redraw() method. This method is dummy in GTNUL and external
         output with this GT can be reached by outstd()/outerr() which
         are now redirected to GT methods. A simple GT driver may overload
         only Refresh() method to give full screen output.
         Application can use only this GT driver and it seems to be very
         good choice for GUI and background daemon/service programs.
         This GT is loaded at startup then all other GTs can be loaded
         later and inherit from the previously loaded GT drivers.
         The new GT driver can overload as much method as wants/needs.
         Now all GT operations are implemented as GT method so GT driver
         can easy change their default behavior, f.e. it may fully overload
         color parsing methods and use differ or extended to Clipper color
         definitions.
         I rewrote all existing GTs to work with new GT model.
         OS2 users - please test GTOS2 which I was not able to test and
         see the note in Redraw() method. If possible please make some
         speed tests.
         In fact now there is much more internal operations then it was
         before but because they are done on memory only then current
         code is much faster in this GT drivers which so far makes all
         operations on real video area. I made some tests with GTNUL
         and tests/vidtest.prg and the total overhead is minimal. Now
         dipbegin()/dispend() in practice does not cost anything so it
         gives additional speed improvement in application which extensively
         use it.
         More then one GT driver can be linked with final binaries and
         chose on application startup by //GT<NAME> switch and/or environment
         variable HB_GT=<name>
         In the RTL is new GT function GTSYS() which works in similar way
         to RDDSYS() in RDD subsystem and for linking default GT driver
         for given platform. When RTL is compiled the default GT driver
         is set to HB_GT_DEFAULT envvar and if not exist to HB_GT_LIB
         envvar and if it also does not exist to hard coded platfom GTs
         (see source/rtl/gtsys.c and source/rtl/Makefile for rules)
         Adding to source code:
            ANNOUNCE GTSYS
         disable linking the default GT driver and:
            REQUEST HB_GT_<name>
         for linking given (<name>) GT driver, f.e.: REQUEST HB_GT_WIN
         If you are working in SH environment (Linux and other *nixes users,
         DJGPP bash, MinGW shell then it's possible to use -gt<name> switch
         in hblnk / hbmk scripts to force linking GT drivers (it could be
         repeated with different <name>) and the first one becomes the default
         one. F.e.:
            xhbmk -m -n -w -es2 -gtcrs -gtsln -gtstd -gtpca vidtest.prg
         Usually the GT driver are loaded at HVM startup but it's possible
         to load it later. I created new GT driver CTW which gives full
         CT3 like Window system. The CT3 extended driver change the behavior
         of some function in Clipper extended driver, f.e WRITECON() or
         SETPOS() with parameters out of screen range. So I implemented it
         CTW as RT GTs which is loaded when some of CTWIN function is used
         (f.e. WOPEN()/WBOARD()) and inherits from any existing GT driver.
         This is full CT3 WIN implementation with all detail behaviors I
         found (with some CT3 bug fixes). It does not have any CT3 limitations
         and can be used for any virtual screen/window size though I hardcoded
         CT3 limitation for backword compatibility. If somone will want to
         remove it then it will be enough to delete few lines from ctwin.c
         file. I'm not CTWIN Clipper user so maybe I missed some side effects
         in this driver and was not able to well test it so if you will find
         any incompatibilities then please inform me.
         THe default GT buffer uses 32bit character cell internally but
         in savescreen/restscreen it uses VGA compatible two bytes character
         cell. Some GT drivers may want to use differ character cell.
         Now GTCRS and GTSLN use 32bit character cell by default. They
         need additional information about character set (box/normal) to
         properly display box characters. It is possible to force in this
         GT drivers using Clipper compatible character cell by calling:
            hb_gtInfo( GTI_COMPATBUFFER, <lCompat> ) -> <lPreviousSeting>
         but in may cause that box drawing characters will be lost in
         some countries after RESTSCREEN(). It will depend on used code
         page.
         HB_GTINFO() is new function which works in similar way to DBINFO()
         in RDD. It allows to retrieve/change some of GT driver settings.
         GTI_* actions are defined in hbgtinfo.ch - it has all GTI_*
         definitions used in xHarbour. Now in Harbour only few of them
         are implemented.
         The new three .prg functions:
            HB_SETKEYCP( <cTermCP> [,<cHostCP>] )
            HB_SETDISPCP( <cTermCP> [,<cHostCP>] [,<lBoxChar>] )
            HB_SETTERMCP( <cTermCP> [,<cHostCP>] [,<lBoxChar>] )
         have been added. They set automatic input (HB_SETKEYCP)
         and output (HB_SETDISPCP) (or both: HB_SETTERMCP) character
         translation. They are also important for some GTs which
         informing them about used internal code page for unicode
         translation (GTXWC, GTSLN) and/or chosing proper character
         set (standard/alternate) for letters and other (f.e. box
         drawing characters) (GTCRS, GTSLN),
            <cTermCP> is encoding used on external (terminal) side
            <cHostCP> is encoding used internally, if not given then
                      current code page set HB_SETCODEPAGE() is used.
                      some of GTs which uses unicode output may
                      ignore <cTermCP>
            <lBoxChar> is optional parameter which interacts with dispbox()
                       output disabling switching to alternate character
                       set in some GTs. It effectively causes that if internal
                       (host) code page contains some letters on the box char
                       positions then they will be shown also by box drawing
                       functions like dispbox() instead of CP437 characters.
                       In some cases it could be useful. By default lBoxChar
                       is not set and GTs which can switch between standard
                       and alternate character set (GTCRS, GTSLN) will try to
                       use alternate character set for box drawing functions.

      Victor: I removed some of your functions. They can be very easy
      implemented with hb_gt_GetChar()/hb_gt_PutChar() but I do not want to
      make them part of documented external API because some GT drivers may
      want to use absolutely differ color definitions and they will stop to
      work so I do not want to make this functions documented external API.

      Ryszard: Setting alternative debug keys does not longer work.
      I like such possibilities but it should be implemented in differ
      way to f.e. using HB_GTINFO interface to allow low level GT driver
      extensions, f.e. in *nixes using CTRL+[A-Z] and SIGINT, SIGQUIT,
      SIGTSTP signals for real asynchronous setting of debug/cancel flag
      without keyboard polling from main HVM loop. I would like to discus
      about such more general solution.

   *** Please updated non GNU make files ***
2006-02-04 16:16:48 +00:00
Viktor Szakats
54ef385941 2005-11-24 23:24 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* include/hbpcode.h
    + Comment added about adding new pcodes at the end of
      the list for compatibility.

  * source/rtl/filesys.c
    + Added hb_fsSetDevMode() Unix branch added (thx Przemek)

  * tests/mathtest.prg
  * source/rtl/math.c
    ! Fixed prev commit to comply with 10char function name
      rule:
      HB_MATHERRMODE()    -> HB_MATHERMODE()
      HB_MATHERRORBLOCK() -> HB_MATHERBLOCK()

  * source/rtl/seconds.c
    ! hb_secondsCPU() move inside FlagShip guard instead
      of HB_EXTENSION.
    * hb_secondsCPU() made static (Harbour level function
      helper only with non-std name).

  * source/vm/dynlibhb.c
  * include/hbextern.ch
    * LIBLOAD(), LIBFREE() moved (back) to Harbour namespace:
      HB_LIBLOAD(), HB_LIBFREE()
    + Added these functions to hbextern.ch

  * source/rtl/symbol.prg
  * source/vm/dynsym.c
  * include/hbextern.ch
    * Internal function names renamed to comply and to
      not collide with existing ones (mistake in prev
      commit).

  + tests/symbolt.prg
    ; Missed from prev commit.
2005-11-24 22:35:36 +00:00
Viktor Szakats
77e2a41f97 2005-11-22 10:31 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* source/rtl/symbol.prg
  * source/vm/dynsym.c
  * include/hbextern.ch
    ! Moved and renamed two functions from BEGINDUMP to their
      proper place.
      GETSYMBOLPOINTER() -> __DYNSGETPOINTER()
      GETSYMBOLNAME() -> __DYNSGETNAME()
    + Added the two functions to hbextern.ch
    + TOFIX added to symbol.prg to remove the remaining one C
      function inside BEGINDUMP. (Antonio, can you take a look?)
2005-11-22 09:34:29 +00:00
Viktor Szakats
58eafb0a08 2005-11-21 17:44 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
+ tests/simplet.prg
   * src/rtl/symbol.prg
     * Embedded example code moved to the test dir.

   * src/rtl/math.c
   * include/hbextern.ch
   * tests/mathtest.prg
   * doc/en/math.txt
     ! HB_ prefix added for non-Clipper functions.
       MATHERRMODE()    -> HB_MATHERRMODE()
       MATHERRORBLOCK() -> HB_MATHERRORBLOCK()
     + Above two functions added to hbextern.ch
     * HB_MATHERRMODE() input validation logic moved to the lower
       level function. This is a step to make this a simple Set()

   * include/math.ch
     + HB_ prefix added.
2005-11-21 16:54:30 +00:00
Viktor Szakats
7f36538154 2005-11-14 20:50 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* hrbdll.vc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
     * Change -o linker option to /OUT: to avoid warning with
       MS Visual Studio 2005 compiler tools.
     + Added -D_CRT_SECURE_NO_DEPRECATE to suppress the many
       new MS warnings about unsafe function usage.
     ; NOTE: MSVC 14.0 fails to compile macroy.c
     ; NOTE: Still tons of warnings, but other than these it
             compiles fine.

   * source/codepage/cdpsl437.c
     ! Fixed wrong escape char (\ -> \\).

   * include/hbsetup.ch
   * source/common/hbverdsp.c
     + Added CLIP compatibility switch.

   * include/hbextern.ch
     + Updated (somewhat).

   * source/rtl/strmatch.c
   * source/rdd/rddord.prg
     ! WILDMATCH() renamed to HB_WILDMATCH()

   * source/rdd/rddord.prg
     ! ORDWILDSEEK() guarded with HB_COMPAT_XPP

   * source/rtl/seconds.c
     ! SECONDSCPU guarded with HB_COMPAT_FLAGSHIP
2005-11-14 19:56:11 +00:00