Commit Graph

381 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
7311612b6b 2008-05-06 02:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! do not add .exe suffix if user added it explicitly in W32/DOS builds

  * harbour/source/vm/dynsym.c
    * added internal error when size of dynamic table exceed maximal size
    % small optimization in hb_dynsymFind() function

  * harbour/source/pp/ppcore.c
    * added support for generating #line directives in strictly Clipper
      compatible way even if they are redundant. It can be enabled
      by HB_PP_STRICT_LINEINFO_TOKEN compiler time macro, f.e. using
      environment variables:
         set C_USR=-DHB_PP_STRICT_LINEINFO_TOKEN %C_USR%
      and making clean build.
2008-05-06 00:44:50 +00:00
Przemyslaw Czerpak
86cc775eb5 2008-04-23 09:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fixed some combinations of user functions in stream pragmas, f.e.:
         #pragma __cstream|f1(%s)|f2()
      or:
         #pragma __cstream||f2(%s)
    + added support for:
         #pragma __[c]streaminclude "fileName"|<code with %s result marker>
      f.e.:
         #pragma __streaminclude "foo1.html"|cHtml:=%s
      __cstreaminclude decode C like escape sequences, __streaminclude
      doesn't do that and takes file body in raw form. Maximum file size
      is arbitrary set to 65520.
2008-04-23 07:47:02 +00:00
Przemyslaw Czerpak
bf68197ca0 2008-04-09 20:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
  * harbour/harbour.spec
    * reverted translation to UTF8 - Tomaz please check your editor
      settings and disable automatic translation to UTF8. It's not
      the first as such situation happens.

  * harbour/include/hbclass.ch
    + added two missing PP directives
    ! protected against some repeated external definitions

  * harbour/source/pp/Makefile
  * harbour/source/pp/hbppgen.c
  * harbour/source/pp/ppcore.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbverdsp.c
  * harbour/source/main/harbour.c
  * harbour/source/vm/cmdarg.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/include/hbver.h
  * harbour/include/hbapi.h
  * harbour/make_vcce.mak
  * harbour/make_b32.mak
  * harbour/make_vc.mak
  * harbour/make_gcc.mak
    + added support for dynamically set during compilation ChangeLog entry
      ChangeLog ID and SVN revision and compilation flags
      Now hbppgen creates in include directory hbverbld.h file with
      information extracted from ChangeLog. New hbppgen parameters:
         Syntax:  ./hbppgen <file>[.prg] [options]
         Options: -i<path>       add #include file search path
                  -c[<file>]     look for ChangeLog file
                  -o<file>       creates .c file with PP rules
                  -v<file>       creates .h file with version information
                  -w             write preprocessed (.ppo) input file
                  -q             disable information messages
    + added new C functions:
         int hb_verSvnID( void )
            - retrieves ChangeLog SVN revision number
         const char * hb_verSvnChangeLogID( void )
            - retrieves a static buffer containing ChangeLog ID string
         const char * hb_verSvnLastEntry( void )
            - retrieves a static buffer containing ChangeLog last entry string
         const char * hb_verFlagsC( void )
            - retrieves a static buffer containing build time C compiler
              flags in C_USR envvar
         const char * hb_verFlagsL( void )
            - retrieves a static buffer containing build time linker
              flags in L_USR envvar
         const char * hb_verFlagsPRG( void )
            - retrieves a static buffer containing build time Harbour compiler
              flags in PRG_USR envvar
    + added new default PP defines which can be used in .prg code compiled
      by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID

  * harbour/source/rtl/gtxwc/gtxwc.c
    * formatting

  * harbour/source/rtl/gttrm/gttrm.c
    ! fixed redrawing GPM mouse pointer after screen updating

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    * updated for compilation even if some POSIX macros are not supported
      f.e. problems with some DJGPP versions reported recently

  * harbour/source/debug/dbgentry.c
  * harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgbrwsr.prg
  * harbour/source/debug/dbgthsh.prg
  * harbour/source/debug/tbrwtext.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbghelp.prg
  * harbour/source/debug/dbgtarr.prg
    ! Fixed object inspector in the debugger.
    ! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger.
    ! Added an minimalistic TBrowse implementation that is just enough
      for internal use by the debugger. Fixes miscellaneous problems e.g.
      when debugging a piece of code with RELATIONs turned on.
    Fixes by Phil Krylov borrowed from xHarbour.
2008-04-09 18:44:03 +00:00
Przemyslaw Czerpak
6a7620a2ee 2008-02-22 03:42 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    * added -xhgtk switch for linking with xHGtk library

  * harbour/source/pp/hbppgen.c
  * harbour/utils/hbpp/hbpp.c
    ! added missing #include "hbset.h"
2008-02-22 02:43:14 +00:00
Przemyslaw Czerpak
67d8ed6afd 2008-02-20 00:11 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/hbppgen.c
    ! added hb_setGetDirSeparator()

  * harbour/source/common/hbfsapi.c
    ! fixed wrong index in path updating
2008-02-19 23:11:12 +00:00
Viktor Szakats
c85b890109 2008-01-26 11:00 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
     ! Missed modification made after lib name change.
2008-01-26 10:01:06 +00:00
Viktor Szakats
80e4b3ae70 2008-01-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/pplib.c
   * source/rtl/run.c
   * source/rtl/hbgtcore.c
   * source/rtl/philesx.c
   * source/rtl/strzero.c
   * source/vm/runner.c
   * source/vm/debug.c
   * source/vm/itemapi.c
   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/dbfcdx/dbfcdx1.c
     ! Replaced 9999 internal and RT error codes with 
       unique ones, in new Harbour ranges:
       RT/PP: 1001-1999
       RT/BASE: 6001-6999
          runner: 6101-6199
       Internal/misc: 6001-6999
       Internal/RDD: 7001-7999
          CDX: 7001-7099
          NTX: 7101-7199
       NOTE: If you find some more 9999s in the core code, 
             pls tell.
2008-01-26 06:54:55 +00:00
Viktor Szakats
b9c3cbccfc 2008-01-25 21:27 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour-ce-spec
   * harbour-w32-spec
   * bin/bld.bat
   * harbour.spec
   * common.mak
   * source/pp/Makefile
   * source/lang/Makefile
   * source/macro/Makefile
   * source/rtl/Makefile
   * source/vm/mainstd/Makefile
   * source/vm/Makefile
   * source/vm/mainwin/Makefile
   * source/main/Makefile
   * source/debug/Makefile
   * source/codepage/Makefile
   * source/common/Makefile
   * source/rdd/nulsys/Makefile
   * source/rdd/Makefile
   * source/rdd/hsx/Makefile
   * source/rdd/usrrdd/Makefile
   * source/compiler/Makefile
   * contrib/hbct/tests/Makefile
   * contrib/hbodbc/tests/bld_b32.bat
   * contrib/hbole/tests/bld_b32.bat
   * contrib/hbapollo/tests/bld.bat
   * contrib/hbfbird/tests/bld_b32.bat
   * contrib/hbfbird/tests/Makefile
   * contrib/hbpgsql/tests/Makefile
   * contrib/hbfimage/tests/bld_b32.bat
   * contrib/hbgd/tests/bldtest.bat
   * contrib/hbmisc/tests/Makefile
   * contrib/hbgf/tests/bld_b32.bat
   * contrib/hbbtree/tests/Makefile
   * contrib/examples/guestbk/Makefile
   * contrib/examples/pe/Makefile
   * contrib/examples/dbu/Makefile
   * contrib/examples/misc/Makefile
   * contrib/examples/hscript/Makefile
   * utils/hbdoc/Makefile
   * utils/hbextern/Makefile
   * utils/hbdot/Makefile
   * utils/hbmake/Makefile
   * utils/hbmake/hbmutils.prg
   * utils/hbmake/hbmake.prg
   * utils/hbpp/Makefile
   * utils/hbpptest/Makefile
   * utils/hbtest/Makefile
   * utils/hbrun/Makefile
   * tests/Makefile
     * Core libs renamed to be prefixed with hb, while 
       having the first significant 5 chars unique.

       Old name    New name
       --------    --------
       codepage -> hbcpage 
       common   -> hbcommon
       compiler -> hbcplr  
       debug    -> hbdebug 
       hbsix    -> hbsix   
       hsx      -> hbhsx   
       lang     -> hblang  
       macro    -> hbmacro 
       pp       -> hbpp    
       rtl      -> hbrtl   
       vm       -> hbvm    
       rdd      -> hbrdd
       dbfcdx   -> rddcdx
       dbffpt   -> rddfpt
       dbfntx   -> rddntx
       nulsys   -> hbnulrdd
       usrrdd   -> hbusrrdd
       mainwin  -> hbmainwin
       mainstd  -> hbmainstd

       NOTE/TODO: We're currently not in sync with contribs, 
                  regarding hb prefixing, since in contrib 
                  rdds and gts (rightly) also have hb prefixes.
                  The only reason not to add them in core this
                  time, is to keep compatibility with DJGPP.
                  Maybe we should remove those prefixes from 
                  contrib.

       NOTE/TODO: Do tests in as many platforms and as many contrib 
                  tests as possible. Feedback from hbmake users is 
                  also welcome.

       !!! Please update your local make files !!!

   * include/hbgtinfo.ch
     + Added HB_ prefixed versions for all GTI_ macros.
       Unprefixed GTI_ macros are to be considered xhb 
       compatible (or legacy) ones, and they can be 
       excluded by #defining HB_GT_NO_XHB if they seem to 
       collide with user code.
       TODO: Switch to use HB_GTI_* inside Harbour code.
2008-01-25 20:40:49 +00:00
Przemyslaw Czerpak
4d9930caa6 2008-01-09 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    * added missing static to s_initSymbol declaration

  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/scroll.c
    * formatting

  * harbour/common.mak
    * added empty line necessary for some make systems (f.e. wmake)

  * harbour/bin/hb-func.sh
    * changed system libs order to avoid problems on some platforms

  * harbour/bin/pack_src.sh
    * collect information about repository files using 'svn status -v'
      command instead of scanning .svn/entries files to avoid problems
      with different formats used by SVN

  * harbour/include/hbchksum.h
  * harbour/include/hbset.h
    ! added missing extern in few function prototypes

  * harbour/include/hbclass.ch
    * use HB_CLS_PARAM_LIST macro instead of ... for strict C52 mode

  * harbour/source/common/hbfsapi.c
    + added missing const to one declaration

  * harbour/source/common/hbstr.c
    * minor cleanup in hb_stricmp()

  * harbour/source/rtl/inkey.c
    ! casting to avoid negative values during char to int translation

  * harbour/source/rtl/mouse53.c
    * added one internal definition

  * harbour/source/rtl/philes.c
    * removed unnecessary #include(s)
    * added missing const to one declaration

  * harbour/source/rtl/valtype.c
  * harbour/source/vm/hashfunc.c
    * cleanup RT error call to eliminate hb_paramError() function

  * harbour/source/pp/pplib.c
  * harbour/source/vm/runner.c
  * harbour/source/vm/debug.c
  * harbour/source/vm/arrayshb.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/hvm.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtfunc.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/hbregex.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/hbtoken.c
  * harbour/source/rtl/direct.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbcmd53.c
  * harbour/source/rdd/fieldhb.c
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/rdd/hbsix/sxcrypt.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/contrib/hbrddads/adsfunc.c
  * harbour/contrib/hbrddads/adsmgmnt.c
    - removed unnecessary calls to hb_ret()
    % replaced hb_itemRelease( hb_itemReturn( pItem ) ) with
      hb_itemReturnRelease( pItem )
    % replaced hb_itemPut*( hb_arrayGetItemPtr( pArray, ... ), ... ) with
      hb_arraySetNI( pArray, ... )

  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/contrib/xhb/cstructc.c
  * harbour/contrib/hbw32/w32_ole.c
  * harbour/contrib/hbgtwvg/wvtcore.c
    * cleaned typos with double ;;

  * harbour/source/vm/extend.c
  * harbour/source/rtl/math.c
    * cleaned HB_EXPORT usage

  * harbour/source/pp/ppcore.c
    ! fixed Harbour extension which allows to use match marker
      at the beginning of rule definition

  * harbour/source/main/harbour.c
    ! fixed hex conversion in FM log module - fix done by Phil Krylov
      in xHarbour

  * harbour/source/rdd/nulsys/nulsys.c
    + added dummy version of DBEVAL() and DBFILTER() - these functions
      are used in RTL

  * harbour/contrib/hbct/bitnum.c
    + added INTNEG(), INTPOS()

  + harbour/contrib/hbct/ctrand.prg
    + added RANDOM(), RAND() - borrowd from xHarbour by Pavel Tsarenko

  + harbour/contrib/hbct/setrc.c
    + added SETRC()

  * harbour/contrib/hbct/getinput.prg
    % minor optimization

  * harbour/contrib/hbct/Makefile
  * harbour/contrib/hbct/common.mak
    * updated for new files

  * harbour/contrib/hbnf/tempfile.prg
    * use HB_FTempCreate() - modification borrowed from xHarbour
      TOFIX this function uses hb_isbyref() which does not exist
      in Harbour

  * harbour/config/w32/msvc.cf
    + added -nologo flag for cl.exe (Phil Krylov's modification borrowed
      from xHarbour

  * harbour/config/w32/mingw32.cf
    - removed repeated definitions

  * harbour/config/w32/install.cf
    ! added alternative install rule for command.com with max line size limit
2008-01-09 14:04:12 +00:00
Przemyslaw Czerpak
5de7824e15 2007-11-12 16:09 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/source/common/hbfsapi.c
    + added hb_fsMaxFilesError()

  * harbour/source/pp/ppcore.c
  * harbour/utils/hbpp/hbppcore.c
    * use hb_fsMaxFilesError() to avoid direct accessing of errno
      value - some compilers/platforms do not support errno

  * harbour/include/hbdate.h
  * harbour/source/rtl/seconds.c
    + added hb_dateMilliSeconds()

  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/inkey.c
    * use hb_dateMilliSeconds() to avoid using clock_t clock()
      some compilers/platforms do not support it

  * harbour/include/hbwince.h
  * harbour/source/common/hbwince.c
    * disabled clock_t clock() emulation - it's not longer used
    + added some declarations for ANSI functions emulated by us
      for WinCE and some defines - code sent by Marek Paliwoda

  * harbour/include/hbwmain.c
  * harbour/source/vm/mainwin.c
    * always use unicode translations with WinMain() parameters for compilers
      which do not set UNICODE macro for WinCE

  * harbour/source/rtl/fserror.c
    * do not include errno.h for HB_WIN32_IO - it's not necessary

  * harbour/utils/hbver/hbverfix.c
    * do not include errno.h for _MSC_VER and HB_WINCE builds

  * harbour/contrib/libmisc/dates2.c
    - commented DATETIME() function - this was not standard DATETIME()
      value but raw ctime() function output and some compilers/platforms
      do not support ctime()

  * harbour/contrib/libnf/getenvrn.c
    + added HB_OS_WIN_32_USED

  * harbour/contrib/mtpl.mak
  * harbour/contrib/pdflib/pdflib.h
    * replaced TABs with SPACEs

  * harbour/include/hbsetup.ch
    ! reenabled HB_EXTENSION in default builds - disabling it makes
      a lot of RDD code unusable and breaks default builds due to
      insufficient dependences
2007-11-12 15:10:28 +00:00
Przemyslaw Czerpak
a3fc484d14 2007-11-07 13:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/source/vm/classes.c
  * harbour/source/common/reserved.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbfunchk.c
    * cleaned possible dangerous code reported by Chen - many thanks
2007-11-07 12:53:20 +00:00
Przemyslaw Czerpak
07c9e15d8d 2007-11-06 12:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbwince.h
    * put functions declarations inside HB_EXTERN_BEGIN / HB_EXTERN_END

  + harbour/include/hbwmain.c
    + added WinMain() to main() wrapper

  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
    ! fixed typo reported by Chen

  * harbour/source/pp/hbppgen.c
  * harbour/source/main/harbour.c
  * harbour/utils/hbpp/hbpp.c
    * use hbwmain.c when main() is not supported by C compiler/platform

  * harbour/source/rtl/gtwin/gtwin.c
    * include wincon.h in all builds except LCC

  * harbour/source/rtl/fserror.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/filesys.c
    * use HB_OS_WIN_32_USED as in other files (still on TOFIX list)

  * harbour/source/rtl/seconds.c
    + added HB_OS_WIN_32_USED

  * harbour/source/compiler/hbcomp.c
    ! fixed typo: stderr was used instead of stdout
2007-11-06 11:59:02 +00:00
Przemyslaw Czerpak
13427dd60a 2007-11-03 02:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
    * replaced all direct access to hb_set structure with functions
      Now it's possible to link bmdbfcdx with harbour.dll but because
      it still access hb_cdp_page then only if linker supports auto
      import conversions

  * harbour/source/common/hbfsapi.c
  * harbour/source/main/harbour.c
  * harbour/source/pp/hbppgen.c
  * harbour/utils/hbpp/hbpp.c
    * added filename conversion (hb_fsNameConv()) to hb_fsFileExists()
      function

  * harbour/include/hbapifs.h
  + harbour/source/common/hbfopen.c
  * harbour/source/common/Makefile
  * harbour/common.mak
    + added hb_fopen() function - it's a wrapper to fopen() function but
      calls internally hb_fsNameConv()

  * harbour/source/pp/hbppgen.c
  * harbour/source/pp/ppcore.c
  * harbour/source/common/hbtrace.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/genc.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/vm/fm.c
    * use hb_fopen() instead of fopen()
2007-11-03 01:35:47 +00:00
Przemyslaw Czerpak
55747014ee 2007-10-29 17:57 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour-ce-spec
  * harbour/make_xmingwce.sh
  * harbour/make_xmingw.sh
    * removed HOST_OS_UNIX_COMPATIBLE

  * harbour/makefile.gc
    * changed ppgen.c -> hbppgen.c

  * harbour/source/pp/hbppgen.c
  * harbour/source/vm/dynsym.c
    * fixed some typos in comment

  * harbour/source/rtl/hbcrc.c
    ! fixed casting
2007-10-29 16:58:14 +00:00
Viktor Szakats
72526bc283 2007-10-27 01:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
     - Removed HOST_OS_UNIX_COMPATIBLE which was a misleading 
       alias for OS_UNIX_COMPATIBLE.

   * source/compiler/hbcomp.c
     % HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE

   * common.mak
   * harbour-ce-spec
   * make_xmingw.sh
   * make_xmingwce.sh
   * makefile.bc
   * makefile.gc
   * makefile.vc
   * source/pp/Makefile
   - source/pp/ppgen.c
   + source/pp/hbppgen.c
     ! executable ppgen renamed to hbppgen.

   * samples/pe/editorlo.c
   * samples/pe/pe.prg
   + samples/pe/bld_b32.bat
     + Added BCC build batch file.
     ! Fixed to compile under current Harbour.
     ! Fixed filename casing.
     ! Fixed several warnings (quite some signedness problem still remain).
     ; This is a very nice editor written in C (Harbour callable),
       I think it is the work of Ryszard.

   * samples/hscript/bld_b32.bat
   * samples/hscript/hscript.prg
   * samples/hscript/dir.hs
   * samples/hscript/multiply.hs
   * samples/hscript/ugly.hs
   * samples/hscript/hello.hs
     ! Fixed build batch file.
     ! Fixed to use NFLib file IO rather than libmisc, because 
       latter was broken (it is a clone of the NFLib file IO).
     ! Fixed scripts to use Start instead of Main as an entry 
       point otherwise __hrbRun() got confused and called the 
       app Main().
     ! Fixed some other problems to make it run.
2007-10-26 23:26:59 +00:00
Przemyslaw Czerpak
32f17091b8 2007-10-26 03:46 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/include/hboo.ch
  * harbour/ChangeLog
  * harbour/utils/hbmake/hbmlang.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/source/pp/ppcore.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtalleg/fixedth.sfc
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/hbregex.c
  * harbour/source/vm/hvm.c
  * harbour/contrib/xhb/hboutdbg.c
  * harbour/contrib/xhb/hbxml.c
  * harbour/contrib/xhb/hbxml.h
  * harbour/contrib/xhb/cstructc.c
  * harbour/contrib/xhb/hbsyslog.c
  * harbour/contrib/libmisc/hb_f.c
  * harbour/contrib/libnf/fttext.c
  * harbour/contrib/libnf/mouse.c
  * harbour/contrib/tip/encmthd.c
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/ace.h
  * harbour/contrib/btree/hb_btree.c
  * harbour/contrib/samples/status.c
  * harbour/contrib/samples/gauge.c
  * harbour/contrib/odbc/odbc.c
  * harbour/contrib/bmdbfcdx/hbrddbmcdx.h
  * harbour/contrib/bmdbfcdx/bmdbfcdx1.c
    * cleanup errors in strict ANSI C compilation
2007-10-26 01:47:21 +00:00
Przemyslaw Czerpak
c99ac3d297 2007-10-18 23:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-mkslib.sh
  * harbour/bin/pack_src.sh
    * updated for recent Viktor's modifications

  * harbour/source/rtl/oemansix.c
    ! added missing #include "hbpai.h"

  * harbour/include/Makefile
  + harbour/include/hbwince.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbrdddbt.h
  * harbour/include/hbdefs.h
  * harbour/include/hbsetup.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrddfpt.h
  * harbour/contrib/xhb/hboutdbg.c
  * harbour/contrib/xhb/hbsyslog.c
  * harbour/contrib/xhb/xhbfunc.c
  * harbour/contrib/libct/ctnet.c
  * harbour/contrib/libct/files.c
  * harbour/contrib/libct/disk.c
  * harbour/contrib/libnf/getenvrn.c
  * harbour/contrib/win32/tprinter.c
  * harbour/contrib/win32/w32_ole.c
  * harbour/contrib/win32/w32_prn.c
  * harbour/contrib/odbc/odbc.c
  * harbour/source/pp/ppgen.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/gtclip.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/oemansi.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/net.c
  * harbour/source/rtl/gtgui/gtdef.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/vm/Makefile
  * harbour/source/vm/mainwin.c
  * harbour/source/vm/dynlibhb.c
  + harbour/source/vm/mainwin/Makefile
  * harbour/source/common/Makefile
  * harbour/source/common/hbgete.c
  * harbour/source/common/hbver.c
  + harbour/source/common/hbwince.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/utils/hbdot/hbdot.prg
  * harbour/utils/hbver/hbverfix.c
    + added support for WinCE and PocketPC

  + harbour/make_xcemgw.sh
  + harbour/config/w32/cemgw.cf
  * harbour/bin/hb-mkslib.sh
  * harbour/bin/hb-func.sh
  * harbour/bin/postinst.sh
    + added support for CeGCC-MinGW32 port - those of you who want to
      create applications for WinCE on PockePC with ARM processors on
      Linux or MS-Windows can download from SF cegcc-mingw32ce port.
      User using RPM based Linux distribution for x86 CPUs can simply
      download cegcc-mingw32ce-0.50-1.i586.rpm and install it.
      The hb* scripts created by ./make_xcemgw.sh [tgz|gnu] are
      automatically updated to work with CeGCC-MinGW32 so later you
      can simply crate WinCE-ARM binaries using them as for native port.

     I'm waiting for users feedback. Please remember that I'm not Windows
     user and even this port was created without any Pocket machine.
     With Marek Paliwoda help I only tested that final applications are
     working using PocketPC emulator.
2007-10-18 21:55:39 +00:00
Przemyslaw Czerpak
01c5248dde 2007-10-15 17:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmath.h
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
  * harbour/source/pp/Makefile
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/fserror.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/gttone.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/vm/mainwin.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbtrace.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/ppcomp.c
  * harbour/utils/hbver/hbverfix.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/config/w32/pocc.cf
    * code cleanup:
      - eliminated unnecessary errno access
      - use WinAPI functions instead of some standard C library functions
        in Windows builds
2007-10-15 15:40:17 +00:00
Przemyslaw Czerpak
b5d010fbeb 2007-10-01 19:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/errorapi.c
    + added protection against possible GPF when some assign methods
      were called without parameters

  * harbour/source/rdd/workarea.c
    * initialize uiFalgs also when DBS_FLAGS is not set

  * harbour/contrib/bmdbfcdx/bmdbfcdx1.c
    * fixed hb_cdxSkipFilter() declaration - it should be 'static' function

  * harbour/source/pp/ppcore.c
  * harbour/source/compiler/ppcomp.c
    + added support for changing all -k? switches by #pragma, f.e.;
         #pragma -ks+
         #pragma -kM-
         #pragma -kx1
         #pragma -kJ0

  * harbour/source/compiler/hbusage.c
    * changed -ks description

  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
    * do not generate error message for negative indexes and
      [] operators are used for simple types when -ks option
      is used

  * harbour/include/hbvmpub.h
  * harbour/include/hbapi.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/memvars.c
    + added HB_IT_DEFAULT flags - it allows to check if item was changed

  * harbour/source/vm/memvars.c
  * harbour/include/hbvm.h
    ! fixed HB_IT_MEMOFLAG updating to be Clipper compatible. Here we are
      not Clipper compatible in one place: in clodeblock local parameters
      with memo values are marked as MEMO but if you leave function where
      codeblock were created then Clipper during detaching removes MEMO
      flag. In Harbour memo flag is kept.

  * harbour/include/hbvm.h
  * harbour/source/vm/classes.c
  * harbour/source/vm/hvm.c
    % improved speed of extended references used for SETGET methods
      and overloaded [] operators

  * harbour/include/hbapi.h
  * harbour/include/hbsetup.ch
  * harbour/source/compiler/hbcomp.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/cmdarg.c
    * removed HB_COMPAT_XHB flags - only one HB_COMPAT_XHB still exist
      in HVM in hashes.c - it will be removed soon.

  * harbour/source/common/hbverdsp.c
    * removed information about xHarbour compatibility mode - it's not
      longer used. We are emulating xHarbour behavior using external
      XHB library and standard compiler/HVM features

  * harbour/contrib/xhb/xhb.ch
  * harbour/contrib/xhb/xhbfunc.c
  * harbour/source/vm/arrayshb.c
    * moved XHB_AINS(), XHB_ADEL() from XHB lib to HVM as HB_AINS(), HB_ADEL()

  * harbour/contrib/xhb/xhb.ch
    + added #pragma -ks+
    + added transaltion for hb_enumindex( <enumvar> )

  + harbour/contrib/xhb/xhbenum.c
    + added emulation for HB_EUMMINDEX()

  * harbour/contrib/xhb/xhbfunc.c
    * do not add INET*() function wrappers for DOS builds or when
      HB_NO_DEFAULT_INET macro is set

  * harbour/contrib/xhb/xhbmsgs.c
    * added comment

  * harbour/contrib/Makefile
    + added TIP and XHB

  * harbour/make_rpm.sh
  * harbour/harbour.spec
    * removed HB_COMPAT_XHB, --with tip, --with xhb
      they are not longer necessary
2007-10-01 17:43:52 +00:00
Przemyslaw Czerpak
503c1ddf13 2007-09-02 17:27 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/hbgtmk.sh
  * harbour/tests/codebl.prg
  * harbour/tests/testprof.prg
  * harbour/tests/keywords.prg
  * harbour/tests/testpp.prg
  * harbour/make_rpm.sh
  * harbour/makefile.gc
  * harbour/bin/hb-mkslib.sh
  * harbour/include/hbexpra.c
  * harbour/include/hbmath.ch
  * harbour/include/hbrddntx.h
  * harbour/include/hbexprb.c
  * harbour/harbour.spec
  * harbour/contrib/dot/pp.prg
  * harbour/contrib/libct/ctwin.c
  * harbour/contrib/ole2/w32ole.c
  * harbour/contrib/hgf/win32/win32.c
  * harbour/contrib/mysql/mysql.ch
  * harbour/contrib/odbc/todbc.prg
  * harbour/contrib/odbc/sql.ch
  * harbour/contrib/hb_struc/hbstruc.ch
  * harbour/contrib/bmdbfcdx/bmdbfcdx1.c
  * harbour/contrib/msql/msql.ch
  * harbour/contrib/msql/readme.txt
  * harbour/source/pp/ppcore.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtxwc/gtxwc.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtcrs/gtcrs.h
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtalleg/fixedth.sfc
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/itemseri.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtsln/gtsln.h
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/hbhex.c
  * harbour/source/rtl/tget.prg
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/vm/hvm.c
  * harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/common/expropt2.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/utils/hbpptest/pp_test.prg
  * harbour/utils/hbpptest/pretest.prg
  * harbour/make_tgz.sh
    * converted TABs to SPACEs
2007-09-02 15:28:05 +00:00
Przemyslaw Czerpak
ea97d11a41 2007-08-22 19:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/pp/ppcore.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/main/harbour.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
    * added 'const' to some 'char *' declarations
    + added hb_pp_inBuffer()
    + extended hb_compMain() to accept source code passed as ASCIIZ
      string
    + .prg function HB_COMPILEFROMBUF()
    + added support for -q2 compiler switch - it disables _ALL_ stdout/stderr
      messages

  * harbour/utils/Makefile
  + harbour/utils/hbdot
  + harbour/utils/hbdot/hbdot.prg
  + harbour/utils/hbdot/Makefile
    + added hbdot utility program.
      It's a "DOt Prompt" Console for the Harbour Language
         Syntax:  hbdot [<hrbfile[.prg]> [<parameters,...>]]
      It should look and work in similar way to pp/xBaseScript
      by Ron Pinkas but unlike xBaseScript is does not have preprocessor
      or simulated runtime environment but simply uses Harbour pp and
      compiler libraries to preprocess and compile commands. It means
      that it supports all language constructions also statements, f.e.:
         "for i:=1 to 10; ? i; next"
      Additionally it can also compile and execute .prg files given as
      first parameter just like hbrun.
      Please test it. If it will work as expected then we can remove
      'pp' (contrib/dot) from standard packages
2007-08-22 17:10:40 +00:00
Przemyslaw Czerpak
c35370c2b9 2007-08-21 16:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    + added __MVSETBASE() function

  * harbour/source/pp/ppcore.c
    * redirect error messages when error trap is not defined into
      user dispout function

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/genjava.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/hbgenerr.c
    + added hb_compOutStd() and hb_compOutErr()
    * redirected all compiler output to above functions
2007-08-21 14:01:01 +00:00
Przemyslaw Czerpak
8db4f58efb 2007-08-08 15:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/libnf/at2.prg
  * harbour/contrib/libnf/min2dhm.prg
  * harbour/contrib/libnf/ontick.c
  * harbour/contrib/libnf/sqzn.prg
  * harbour/contrib/libnf/bytexor.prg
  * harbour/contrib/libnf/asum.prg
  * harbour/contrib/libnf/sleep.prg
  * harbour/contrib/libnf/any2any.prg
  * harbour/contrib/libnf/origin.c
  * harbour/contrib/libnf/mouse.c
  * harbour/contrib/libnf/stod.c
  * harbour/contrib/libnf/vertmenu.prg
  * harbour/contrib/libnf/aredit.prg
  * harbour/contrib/libnf/n2color.c
  * harbour/contrib/libnf/xbox.prg
  * harbour/contrib/libnf/hex2dec.prg
  * harbour/contrib/libnf/getver.c
  * harbour/contrib/libnf/Makefile
  * harbour/contrib/libnf/invclr.prg
  * harbour/contrib/libnf/popadder.prg
  * harbour/contrib/libnf/d2e.prg
  * harbour/contrib/libnf/anomatch.prg
  * harbour/contrib/libnf/color2n.c
  * harbour/contrib/libnf/datecnfg.prg
  * harbour/contrib/libnf/easter.prg
  * harbour/contrib/libnf/ntow.prg
  * harbour/contrib/libnf/floptst.prg
  * harbour/contrib/libnf/pchr.prg
  * harbour/contrib/libnf/tbwhile.prg
  * harbour/contrib/libnf/e2d.prg
  * harbour/contrib/libnf/sysmem.prg
  * harbour/contrib/libnf/dfile.prg
  * harbour/contrib/libnf/clrsel.prg
  + harbour/contrib/libnf/fttext.c
  + harbour/contrib/libnf/putkey.c
    * basic cleanup and syncing with some of xHarbour fixes and extensions.
      I'd like to ask Windows users to update non GNU make file

  * harbour/source/pp/ppcore.c
    + added support for .T., .F., .Y., .N. in PP and #IF ... / #ELIF ...
      expressions. It was reported by Nick Van Dyck on xHarbour devel list
      that old PP supported it. I haven't known that old PP suported .T.
      and .F. in #IF directive. Please not that there are other diferences
      between new PP and the old one in expresions which can be used in
      #IF ... / #ELIF directives. New PP supports C like expressions with
      support for pseudo functions like defined(), operates on integer
      numbers only to not damage 64bit values during conversion to double
      and keep C compatible results (the old one used double values) and
      is much more restrictive in checking for valid expression.
2007-08-08 13:21:15 +00:00
Przemyslaw Czerpak
237af158fa 2007-07-04 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
    ! fixed using LOOP inside SWITCH/CASE.../END statement
    ! fixed possible memory leeks when compile time error appear
      with some unfinished LOOP statements
    ! do not push unnecessary NIL on HVM stack when SWITCH/CASE.../END
      statement were used without OTHERWISE clause

  * harbour/source/pp/ppcore.c
    ! do not calculate last line when it does not contain any character
    * clear line number counter after preprocessing standard definitions/
      rules - I hope it will make David happy ;-)
2007-07-04 13:13:10 +00:00
Przemyslaw Czerpak
113866e6a1 2007-06-20 21:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
    + added GTI_ADDKEYMAP and GTI_DELKEYMAP

  * harbour/include/hbapicdp.h
  * harbour/source/rtl/cdpapi.c
    + added const to declarations of some function parameters

  * harbour/include/hbgtcore.h
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/gtcrs/Makefile
  - harbour/source/rtl/gtcrs/chrmap.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/gtcrs.h
    * hb_gt_chrmapinit() common function now for different GT drivers
    * minor cleanup in GTCRS code

  * harbour/include/hbcompat.ch
    + added some new translation rules

  * harbour/include/hbapi.h
    * cleanup comment

  * harbour/source/pp/ppcore.c
    ! fixed line numbering when errors are reported in different order
      due to preprocessing extended code block

  + harbour/source/rtl/gttrm
  + harbour/source/rtl/gttrm/Makefile
  + harbour/source/rtl/gttrm/gttrm.c
    + added new GT driver - it's terminal driver like GTCRS and GTSLN
      but it does not use any external library like [N]CURSES or SLANG
      so it can be compiled in nearly all POSIX systems. It's not such
      flexible like curses or slang base drivers because instead of
      using termcap/terminfo databases to extract terminal capabilities
      it uses some hard coded sequences for few terminals (now Linux, ANSI,
      XTERM) but it should cover users requests in 95% of cases. Terminals
      I tested are quite well supported (GTTRM works even better then GTCRS
      or GTSLN and is much faster in full screen mode - 2-4 times).
      I noticed that most terminal emulators works much better with GTTRM
      then with GTCRS or GTSLN due to limited list of used escape sequences
      so some minor differences in each terminal implementation are not
      noticeable. GTTRM automatically detects ISO/UTF8 terminal mode and
      chose valid output what should also help *nix users.
      Now I would like to ask BSD and MacOSX users to test GTTRM in these
      systems with pure text console and XWindow terminal emulators. I'm
      interesting in any problems you may found.

  * harbour/source/vm/hvm.c
    + added protection for possible GPF caused by wrong .prg code

  * harbour/source/vm/maindllp.c
    % store function addreses in static variables to improved execution
      speed
    + added support for compilers which does not use "_" as function prefix
    + added support for using with harbour*.dll

  * harbour/source/vm/memvars.c
    + added new method of detaching enumerators and array item references
      covered by HB_COMPAT_XHB macro. xHarbour does not work in such way
      but the final results are similar.

  * harbour/source/vm/dynlibhb.c
    + added protection against passing wrong pointer items to HB_LIB*()
      functions

  * harbour/source/common/reserved.c
    * cleaned warning

  * harbour/bin/hb-func.sh
  * harbour/config/hpux/global.cf
  * harbour/config/darwin/global.cf
  * harbour/config/linux/global.cf
  * harbour/config/sunos/global.cf
  * harbour/config/bsd/global.cf
    + added GTTRM to library list
2007-06-20 19:07:37 +00:00
Przemyslaw Czerpak
ad2ab41638 2007-06-14 00:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompat.ch
    + added translation rules for extended code blocks

  * harbour/source/compiler/gencc.c
    * cleaned C compiler warnings in -gc3 output and SWITCH <exp>
      statement

  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    * allow to use 0d0 and 0d00000000 as empty date value

  * harbour/source/pp/Makefile
    * workaround for problems with some GNU make  versions,
      f.e. 3.76.1 on OS2
2007-06-13 22:06:19 +00:00
Przemyslaw Czerpak
bedaef925f 2007-05-28 09:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_xmingw.sh
  * harbour/source/pp/Makefile
    * recent xHarbour fixes for MinGW Linux->W32 cross build by Phil Krylow
      with small modifications

  * harbour/config/rules.cf
    + added rules for C++ files

  * harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    + added hb_arraySetForward()

  * harbour/include/hbapi.h
  * harbour/source/rtl/strmatch.c
    + added hb_strMatchFile() - compare two strings using platform dependent
      rules for file matching, respects platform dependent wildcards
    + added hb_strMatchCaseWildExact() - compare two strings using pattern
      with wildcard (?*) ignoring the case of the characters - patern have
      to cover whole string
    * changed hb_strMatchRegExp() to use real reguar expresions, if build
      does not support regex then redirected to hb_strMatchWildExact()
    - removed not longer used hb_strMatchDOS() - in fact it was neither DOS
      nor classic wildcards (?*) compatible

  * harbour/source/common/hbstr.c
    ! casting to avoid possible problem on platforms where toupper does not
      accept negative char value

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/hbmain.c
    * minor modifications in cleanup functions

  * harbour/source/rtl/hbffind.c
    * use hb_strMatchFile()

  * harbour/source/vm/memvars.c
    * use hb_strMatchCaseWildExact() instead of hb_strMatchRegExp()
      I still keep the hack which translates any mask starting with '*'
      to "*" but if you think that we should fully respect wildcards
      patterns then we should remove it from function hb_memvarGetMask()
      Opinions?
2007-05-28 07:52:08 +00:00
Przemyslaw Czerpak
0724963ab3 2007-05-26 09:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fixed bug reported by Lorenzo

  * harbour/contrib/rdd_ads/ads1.c
    * changed static variable name from iSetListenerHandle to
      s_iSetListenerHandle to keep common naming convention

  * harbour/include/hbapi.h
  * harbour/source/vm/hashes.c
  * harbour/source/vm/hashfunc.c
  * harbour/source/vm/hvm.c
    + added new 3-rd parameter to hb_hashGetItemPtr() to control
      independently hash autoadd behavior in access/assign operation

  * harbour/include/hbrdddbf.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * moved static variables holding RDDI_* settings to RDDNODE data so
      they can be set separately for each RDD which inherits from DBFNTX

  * harbour/source/vm/classes.c
    + added disabled code to access hash items using messages

  * harbour/source/vm/garbage.c
    * comment
2007-05-26 07:06:07 +00:00
Przemyslaw Czerpak
e0aa40573c 2007-05-21 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fixed E"..."
    ! added new hack for strings inside []
2007-05-21 11:21:20 +00:00
Przemyslaw Czerpak
ff3876d887 2007-05-19 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    * formatting

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    + added support for:
         #pragma escapedstrings = on
         cStr := "some value with internal \" character"
         #pragma escapedstrings = off
    + added support for multiline strings in escaped strings

  * harbour/source/compiler/gencobj.c
    * minor simplification

  * harbour/source/rtl/hbffind.c
    * always set hb_fsError()

  * harbour/source/rtl/mlcfunc.c
    ! fixed minor typo
2007-05-19 13:41:20 +00:00
Przemyslaw Czerpak
c1ceed3cf0 2007-05-17 00:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/TODO
    * removed some not longer necessary TODO/TOFIX

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  - harbour/source/rtl/memoline.c
  - harbour/source/rtl/mlcount.c
  - harbour/source/rtl/mlctopos.c
  - harbour/source/rtl/mlpos.c
  - harbour/source/rtl/mpostolc.c
  + harbour/source/rtl/mlcfunc.c
    * new version of memo line functions:
         MEMOLINE(), MLCOUNT(), MLPOS(), MLCTOPOS(), MPOSTOLC()

  * harbour/include/hbexpra.c
    ! fixed in HB_COMPAT_XHB build hb_enumIndex() used inside internal
      FOR/NEXT loop

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    ! removed some not longer necessary hack
    % added some speed optimizations - it's not done in the way I want to
      have in the final version but with some very small modifications it
      should make people using a lot of #[x]translate (Enrico ;-)) happy.

  * harbour/source/rtl/set.c
    * minor cleanup in HB_SET_EOL initialization

  * harbour/source/vm/hvm.c
    * clean MEMO flag in array and hash items created by { MEMOFILED, ... }
      or { "KEY" => MEMOFILED, ... } and optimized results of PLUS operation

  * harbour/utils/hbtest/rt_misc.prg
    * SET EOL to CHR(13) + CHR( 10 ) before MLCTOPOS() tests to avoid false
      alarm on platforms with differ default EOL
2007-05-16 22:20:36 +00:00
Przemyslaw Czerpak
2f0189d34f 2007-05-12 10:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/include/hbpp.h
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbmain.c
  * harbour/source/pp/ppcore.c
    + added support for extended multiline codeblocks:
         { |<params,...>| <EOL>
            <statement1>
            ...
            <statementN>
            return <val>
         }
      Such codeblocks allow nested definitions. They can also have their
      own variable declarations (local, static, field, memvar, parameters,
      private, public) and visibility of declared variables is similar to
      nested function in Pascal but please note that there is one limitation
      which exists also for normal codeblocks (Clipper compatible behavior):
      internal codeblock local parameters and local variables cannot be
      used in nested codeblocks, f.e. such code:
            eval( { |p| eval( {|| qout( p + 1 ) } ) } )
      is illegal in Clipper and Harbour. This limitation also can be
      eliminated but but it will be necessary to make deeper modifications
      in code for local detaching changing the method of generating
      codeblocks local variables in nested blocks so unlike the above
      also some modifications in HVM will be necessary.
      Please test.
2007-05-12 08:48:12 +00:00
Przemyslaw Czerpak
a44eae4498 2007-04-16 21:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompat.ch
    * always translate hash H*() function to HB_H*() ones even if
      HB_COMPAT_XHB is set. Code which uses HB_H*() functions can
      be linked with any Harbour builds

  * harbour/include/hbapi.h
  * harbour/source/vm/hashes.c
    + added hb_hashId()

  * harbour/source/pp/ppcore.c
    + added #ytranslate, #ycommand, #yuntranslate, #yuncommand
      case sensitive version of corresponding #x* directives

  * harbour/source/rtl/itemseri.c
    + added support for serialization arrays and/or hashes with cyclic
      references
2007-04-16 19:29:50 +00:00
Przemyslaw Czerpak
23bc767460 2007-04-12 13:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbgenerr.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/pplib.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/utils/hbpp/hbppdef.h
    * changed error and warning messages to const char *

  * harbour/source/compiler/genhrb.c
    * rewritten to work on memory buffers and with new compiler code

  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/main/harbour.c
    + added LANG_PORT_OBJ_BUF which allow to generate .hrb files into
      memory buffers

  * harbour/source/compiler/hbcmplib.c
    + added HB_COMPILEBUF() functions which returns compiled .hrb file
      as string item

  * harbour/source/vm/runner.c
    + added support for executing compiled .hrb files stored in string
      items in __HRBRUN() function - it works just like in __HRBLOAD()

  * harbour/harbour.spec
  * harbour/utils/hbrun/hbrun.prg
    + added default include directories to hbrun
    * use HB_COMPILEBUF() instead of HB_COMPILE() to eliminate temporary
      files
2007-04-12 11:57:04 +00:00
Przemyslaw Czerpak
96561eeae0 2007-03-31 12:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
  + harbour/include/hbchksum.h
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/hbadler.c
  + harbour/source/rtl/hbcrc.c
  + harbour/source/rtl/hbmd5.c
    + added functions to calculate different checksums
         HB_ADLER( <cValue> [, <nStart> ] ) -> <nCC>
         HB_CRC32( <cValue> [, <nStart> ] ) -> <nCRC>
         HB_CRC16( <cValue> [, <nStart> ] ) -> <nCRC>
         HB_CRC  ( <cValue> [, <nStart> ] [, <nPolynomial> ] ) -> <nCRC>
         HB_CRCCT( <cValue> [, <nStart> ] [, <nPolynomial> ] ) -> <nCRC>
         HB_MD5( <cString> ) -> <cMD5>
         HB_MD5FILE( <cFileName> ) -> <cMD5>
      HB_CRC() is general CRC function which can be used for any polynomial
      given as second argument, f.e.: 0x104C11DB7 is CRC32 polynomial,
      0x18005 -> CRC16, 0x11021 -> CRC16 X.26, 0x1393 -> CRC12, 0x101 -> LCR8
      HB_CRCCT() makes exactly the same job but it uses broken algorithm.
      Unfortunately it seems that this broken version is widely used by many
      other projects, f.e. HB_CRCCT() gives exactly the same results as
      COM_CRC() from CT3. Generated results are usually "good enough" but
      if you do not need compatibility with some other tools which uses
      broken CRC algorithm then I suggest to not use it.
      HB_ADLER() is ADLER32 check sum - this function gives the same results
      as HB_CHECKSUM in xHarbour.
      HB_MD5*() functions are from Dmitry V. Korzhov code modified a
      little bit by me for other then x86@32 machines files and buffers
      longer then 2^32. I also fixed possible problems with wrong results
      in some cases.

  * harbour/source/compiler/hbmain.c
    * increase number of optimization passes

  * harbour/source/pp/ppcore.c
    * cleaned C compiler warning
2007-03-31 10:42:19 +00:00
Przemyslaw Czerpak
a5d329536c 2007-03-30 18:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    + added support for multiline string concatenated by ';'
      f.e.:
         cVar := "line 1;
         line 2;
         line 3"
      To enable the above it's necessary to build PP with
      HB_PP_MULTILINE_STRING macro.
      It's not Clipper compatible extension and it's not enabled by default
      anyhow old PP worked in such way so I'm leaving the decision to Harbour
      community if the above should be enabled by default or not.
2007-03-30 16:51:26 +00:00
Przemyslaw Czerpak
759c045f73 2007-03-30 15:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprb.c
    % optimize PCODE generated for IIF() used as statement

  * harbour/include/hbpp.h
    * fixed typo in comment

  * harbour/source/pp/ppcore.c
    * fixed .ppo output in some string expressions inside []

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    + added some missing DBOI_* actions

  * harbour/source/rtl/hbregex.c
    + added comment

  * harbour/source/vm/hashes.c
    * set autoadd by default when compiled with HB_COMPAT_XHB macro

  * harbour/source/debug/debugger.prg
  * harbour/source/rdd/dbstrux.prg
  * harbour/source/rtl/tbrowse.prg
    * removed unnecessary NIL in in IIF() statements
  * harbour/utils/hbtest/rt_misc.prg
    * removed unnecessary ::cValue in in IIF() statements
2007-03-30 13:16:10 +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
aae5c40c3a 2007-03-13 23:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/pplib.c
    ! fixed std rules initialization - now it should also use GC pointer
      item or __PP_STDRULES will ignore it
2007-03-13 22:35:22 +00:00
Przemyslaw Czerpak
0ef0f1aab9 2007-03-13 19:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/source/vm/garbage.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/itemapi.c
    + added hb_gcFunc(), hb_parptrGC(), hb_itemGetPtrGC()
      hb_parptrGC() and hb_itemGetPtrGC() uses GC cleanup function address
      to validate if pointer item points to expected memory block type

  * harbour/source/common/hbhash.c
  * harbour/source/compiler/hbident.c
    * formatting and minor modifications

  * harbour/source/pp/pplib.c
  * harbour/source/pp/pplib2.c
    * use hb_parptrGC() to be sure that given pointer item points
      to PP structure

  + harbour/include/hbregex.h
  + harbour/source/rtl/hbregex.c
  * harbour/source/rtl/Makefile
  * harbour/common.mak
    + added support for regular expressions. Now it's enabled by default
      only in *nixes (POSIX regex) and BCC 5.5 (PCRE regex). Setting
      HB_PCRE_REGEX macro enables Perl-Compatible Regular Expressions
      and HB_POSIX_REGEX - POSIX regular expressions. In xHarbour regex
      support is enabled for all builds because PCRE source code is stored
      in CVS. If you will want we can make the same.
    + the following C functions are available:
      hb_regexCompile(), hb_regexGet(), hb_regexFree(), hb_regexMatch()
    + the following PGR functions are available:
      HB_REGEXCOMP(), HB_ISREGEX(), HB_ATX(), HB_REGEX(), HB_REGEXMATCH(),
      HB_REGEXSPLIT(), HB_REGEXATX(), HB_REGEXALL()
      They are working in similar way to the ones in xHarbour with the
      exception to some bug fixes and form of compiled regular expression.
      In Harbour it's pointer item for which HB_ISREGEX() returns TRUE when
      in xHarbour it's binary string.

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * enabled code to seek in index using regular expressions
      (DBOI_SKIPREGEX[BACK])
2007-03-13 18:40:56 +00:00
Przemyslaw Czerpak
f9452a8f85 2007-03-04 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbpp.h
  * harbour/source/common/hbfsapi.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
    * cleanup .ppo file creation
    + new compiler switch: p+ to enable preprocessor tracing
      when used information about applied rules is stored in .ppt file
  * harbour/include/hbdefs.h
  * harbour/source/rtl/gtos2/gtos2.c
    * OS2 build cleanup
2007-03-04 13:11:36 +00:00
Przemyslaw Czerpak
29f3929a08 2007-03-02 00:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    * clear included file counter in hb_pp_reset()
    * insert space after stream comment /* */ - it's not Clipper
      compatible but it's necessary as long as we have automatic
      identifier concatenation
2007-03-01 23:44:00 +00:00
Przemyslaw Czerpak
425dfbe58e 2007-03-01 05:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fixed comments like /*/*/
2007-03-01 04:22:57 +00:00
Przemyslaw Czerpak
01c55fa2c1 2007-03-01 01:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    * cleaned scope error message

  * harbour/include/hbpp.h
  * harbour/source/pp/ppcore.c
    * added hack for accepting expressions which start with ':' character
      as regular/list match markers
2007-03-01 00:57:25 +00:00
Przemyslaw Czerpak
1cba971155 2007-02-28 08:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/pp/ppcore.c
    * updated lexer to recognize IF(<exp1>,<exp2>,<exp3>) in expressions like
      IF(<exp,...>) - it allow to make some grammar rules much more simple.
2007-02-28 07:11:17 +00:00
Przemyslaw Czerpak
fb4d3ca4b8 2007-02-25 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstdgen.ch
    * added #undef HB_COMPAT_XHB
  * harbour/source/common/hbstr.c
    * indenting
  * harbour/source/compiler/ppcomp.c
    * updated line numbering in #pragma dump code and error messages
      executed for disabled code
  * harbour/source/pp/ppcore.c
    * changed the precedence of #pragma BEGINDIUMP/ENDDUMP - now
      it has higher precedence then conditional compilation with
      #IF[DEF]/#ENDIF
    * added support for defined() pseudo function in #IF / #ELIF
      directives, f.e.:
         #if defined( __HARBOUR__ ) .and. !defined( HB_COMPAT_XHB )
            #stdout "Harbour compiler compiled without xHarbour extensions."
         #endif
2007-02-25 16:20:22 +00:00
Przemyslaw Czerpak
36d66abf4d 2007-02-12 10:50 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    ! fix line numbering when preprocess static buffers, f.e. by
       __PP_PROCESS()

  * harbour/source/rtl/strcase.c
  * harbour/source/rtl/transfrm.c
    - removed unnecessary extern PHB_CODEPAGE hb_cdp_page;
2007-02-12 09:52:59 +00:00
Przemyslaw Czerpak
48f8dba263 2007-02-08 23:55 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbgtinfo.ch
  * harbour/contrib/libct/ctwin.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtxwc/gtxwc.c
    + added support for GTI_FULLSCREEN, GTI_KBDSUPPORT, GTI_ISCTWIN

  * harbour/source/rtl/hbgtcore.c
    ! fixed line and box drawing when the coordinates are out of screen size

  * harbour/include/hbapi.h
  * harbour/include/hbcomp.h
  * harbour/include/hbpcode.h
  * harbour/include/hbstack.h
  * harbour/include/hbvm.h
  * harbour/include/hbxvm.h
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hblbl.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
    ! added protection against cyclic references in arrays
    * eliminated action parameter from hb_vmRequestReenter() /
      hb_vmRequestRestore()
    * moved s_lRecoverBase and s_uiActionRequest to HB_STACK structure
      for future MT HVM version
    + added internal item structure hb_struRecover - it's not real item
      but this structure is used to keep information about BEGIN SEQUENCE
      data - it reduce HB_STACK usage
    + added support for ALWAYS clause in BEGIN SEQUENCE
      The syntax is:
         BEGIN SEQUENCE
            <code>
         [ RECOVER [ USING oErr ] ]
            <recoverCode>
         [ ALWAYS ]
            <alwaysCode>
         END [ SEQUENCE ]
      It's guaranteed that <alwaysCode> is _ALWAYS_ executed even if
      inside <code> or <recoverCode> some new exceptions like RETURN,
      BREAK or QUIT will appear.
      Please note that when the following code is executed:
         BEGIN SEQUENCE
            <code>
         ALWAYS
            <alwaysCode>
         END
      (without RECOVER clause) then BREAK exception inside <code> is not
      recovered, <alwaysCode> is executed and then BREAK exception is
      passed to outer BEGIN SEQUENCE. This is the same semantic as
      used in TRY / [ CATCH ] / FINALLY / END
      Those of you who prefer to use TRY / CATCH / FINALLY / END instead
      of BEGIN SEQUENCE / RECOVER / ALWAYS / END can simply add to your
      source code:
         #command TRY               => BEGIN SEQUENCE
         #command CATCH [ oErr ]    => RECOVER [ USING <oErr> ]
      and:
         errorBlock( {|oErr| break( oErr ) } )
      Though instead of 'break( oErr )' I suggest to use some small function
      which will support some basic recovery/substitute operations like in
      default errorsys() and LockErrHandler() to not break existing code
      which may depends on the default behavior.
      If you want I can add direct support for TRY / CATCH / FINALLY / END
      but I'm not sure it's really necessary.
      Please note also that in Harbour ALWAYS code is execute even for QUIT
      excpetion.
      When <alwaysCode> is executed current exception is stored and restored
      when is finished. If new exception appears inside <alwaysCode> then
      restored exception depends on the priority in the following order:
         QUIT     // highest priority
         BREAK
         RETURN
      If both exceptions have the same priority and contain additional value
      (error object in BREAK or return value in RETURN) then the recently set
      one is restored. It's similar behavior to destructor code.

  * harbour/source/common/hbstr.c
    * moved one character length string table (hb_szAscii) from hvm.c
      to use it also in compiler and preprocessor

  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/pplib.c
    * tuned error messages to be more Clipper compatible
    % use static strings from hb_szAscii

  * harbour/source/rtl/alert.prg
    * use hb_gtInfo( GTI_FULLSCREEN ) to detect type of GT driver
    ! some minor fixes
      TOFIX: we have to also use GTI_ISCTWIN or add window allocation
             to standard GT drivers to be Clipper compatible when CTWIN
	     is used - In Clipper Tools ALERT() works in differ way then
	     the standard one. It creates separate window box to display
	     data, supports SETKEY(), etc. I'll think about adding some
	     extended support for ALERT() and similar operations (f.e.
	     separate debugger windows) to GT API so it will be also
	     possible to overload standard alert() command by GUI message
	     box in GTGUI and similar GT drivers.

  * harbour/source/rtl/binnumx.c
    ! fixed U2BIN() - wrong casting
2007-02-08 22:56:31 +00:00
Ryszard Glab
c018b6bf9a 2006-12-18 18:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* include/hbcomp.h
      + added extern BOOL hb_compCheckUnclosedStru( HB_COMP_DECL )

   * include/hbcompdf.h
      + added 'int iLastLineErr' to HB_COMP structure

   * include/hbpp.h
      + added extern BOOL hb_pp_eof( PHB_PP_STATE )

   * source/compiler/harbour.c
   * source/compiler/harbour.y
   * source/compiler/harbour.yyc
   * source/compiler/harbour.yyh
   * source/compiler/hbgenerr.c
      * fixed reporting errors in cases of unclosed delimiters or
      unclosed control structures IF/WHILE/FOR/etc

   * source/pp/ppcore.c
      + added hb_pp_eof() function
2006-12-18 17:22:06 +00:00
Przemyslaw Czerpak
93e0db5a23 2006-12-09 17:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/gcc.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/dos/bcc16.cf
  * harbour/config/dos/djgpp.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/dos/rsx32.cf
  * harbour/config/hpux/gcc.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/owatcom.cf
  * harbour/config/os2/gcc.cf
  * harbour/config/os2/icc.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/w32/bcc32.cf
  * harbour/config/w32/gcc.cf
  * harbour/config/w32/mingw32.cf
  * harbour/config/w32/msvc.cf
  * harbour/config/w32/rsxnt.cf
  * harbour/config/w32/watcom.cf
    * added respecting HB_GT_DEFAULT, though it's quite possible that I'll
      remove it at all soon.
    * some other cleanup

  * harbour/source/compiler/complex.c
    ! fixed wrongly replicated from FLEX lexer condition used to DECLARE.
      Now they should be the same as in FLEX lexer but IMHO they are not
      Clipper compatible.

  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/genjava.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/harbour.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/pp/ppcore.c
  * harbour/source/rdd/workarea.c
    ! fixed sizes of some C stack buffers and strncpy() parameters
    * use hb_strn*() instead of strn*() in few places to be sure that 0
      is always stored in destination buffer

  * harbour/source/rtl/gtcgi/gtcgi.c
    * change reported GT name from "Standard stream console" to
      "Raw stream console" to make it differ then GTSTD one.
2006-12-09 16:11:10 +00:00