Commit Graph

5993 Commits

Author SHA1 Message Date
Viktor Szakats
4e153b2773 2009-06-21 20:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    + Added iccia64 build example.

  * source/vm/fm.c
    + Added C++ new/delete operator override to hb_xgrab()/hb_xfree().
      Thanks to Xavi.
      Please make any required correction, I didn't do tests with it.

  * utils/hbmk2/hbmk2.prg
    + Added support for linux/icc compiler. (untested)
    ; Tested win/icc support (static exe, shared exe, lib, dll).
      It worked, except that in shared mode it will display this,
      when the MinGW built .dll is used (instead of its own):
      Unrecoverable error 9012: Can't locate the starting procedure: 'MAIN'
2009-06-21 18:56:11 +00:00
Viktor Szakats
1192b4ac32 2009-06-21 12:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/binnumx.c
  * contrib/xpp/binnumx.c
    + Added F2BIN() and BIN2F() Xbase++ functions.
      Code is the same as FTOC() and CTOF() in hbct.
2009-06-21 10:55:59 +00:00
Viktor Szakats
b9bbb2161f 2009-06-21 08:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/extend.c
    * Minor formatting.

  * source/rtl/mlcfunc.c
    ! Fixed warning in HB_C52_STRICT mode.

  * contrib/hbxbp/xbp.ch
    ! Fixed HB_OUTDEBUG() macro to work also in codeblocks when
      not in debug mode, and also to better handle the case when
      parameter is a variable.

  * ChangeLog
    + Added incompat NOTE to hb_par*/hb_stor*() change.
2009-06-21 06:30:30 +00:00
Przemyslaw Czerpak
73fe9dd917 2009-06-21 07:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/mlcfunc.c
    ! fixed missing ulLen declaration in if() branch
    % restored a little bit optimized Viktor's code - now it's safe to
      call hb_par*() expecting default value on wrong type even if given
      parameter is array
2009-06-21 05:05:20 +00:00
Przemyslaw Czerpak
68c738b9ba 2009-06-20 22:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/extend.c
    * renamed existing hb_par*() and hb_stor*() functions which supports
      variable number of parameters (...) into hb_parv*() and hb_storv*()
    * added new hb_par*() and hb_stor*() functions which use strict number
      of parameters. New hb_par*() functions do not make hidden conversion
      between types, f.e. hb_parl() returns 1 only for logical parameters
      which contain .T.

  * harbour/include/extend.api
    * map Clipper _par*() functions to hb_parv*()
    * map Clipper _stor*() functions to hb_storv*()

  * harbour/source/vm/dynsym.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/thread.c
  * harbour/source/vm/classes.c
  * harbour/source/rtl/cdpapi.c
  * harbour/source/rtl/mlcfunc.c
  * harbour/contrib/hbnf/dispc.c
  * harbour/contrib/hbnf/mouse.c
  * harbour/contrib/hbnf/getenvrn.c
  * harbour/contrib/hbhpdf/harupdf.c
  * harbour/contrib/gtwvg/wvgcuig.c
  * harbour/contrib/gtwvg/wvgwin.c
  * harbour/contrib/gtwvg/wvgutils.c
  * harbour/contrib/gtwvg/wvgcore.c
  * harbour/contrib/gtwvg/wvgwing.c
  * harbour/contrib/rddads/adsfunc.c
  * harbour/contrib/rddads/ads1.c
  * harbour/contrib/rddads/adsmgmnt.c
  * harbour/contrib/hbmisc/hb_f.c
  * harbour/contrib/hbwin/wapi_commctrl.c
    * replaced hb_par*() and hb_stor*() calls used with additional parameters
      by hb_parv*() and hb_storv*()
    TODO: update examples/hbwhat/*.c files

  * harbour/examples/uhttpd2/socket.c
  * harbour/examples/httpsrv/socket.c
    * changed hb_parni() to hb_parnidef()

  * harbour/source/vm/itemapi.c
    * removed some conversion which are not necessary for CA-Cl*pper
      compatibility

  * harbour/source/macro/macrolex.c
    * replaced HB_LEX_IS*() macros by by HB_IS*() ones
2009-06-20 20:25:26 +00:00
Viktor Szakats
fe9ab29884 2009-06-20 20:31 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/fm.c
    ! Renamed s_fInited to s_fInitedFM to avoid collision 
      with similarly named variable in estack.c when using
      HB_FM_STATISTICS and HB_HVM_ALL at the same time.
      Thanks Xavi for the find.
2009-06-20 18:31:57 +00:00
Viktor Szakats
6e495cb274 2009-06-20 20:10 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/mlcfunc.c
    ! Fixed after prev optimization. (some optimizations 
      were kept, but with no change of functionality)
2009-06-20 18:11:03 +00:00
Viktor Szakats
60243735d5 2009-06-20 04:22 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/mlcfunc.c
    % Minor optimization to EOL parameter handling.
      Please review.

  * source/rtl/dates.c
    ! Fixed warning with cast.

  * contrib/hbwin/win_misc.c
    + Enabled WIN_LOWORD(), WIN_HIWORD(). Added casts.

  - examples/wxh
    - Deleted empty dir. Will readd when moving wxh lib here.
2009-06-20 02:28:33 +00:00
Przemyslaw Czerpak
e1709d1fff 2009-06-20 03:47 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/runner.c
    ! fixed possible static function overloading
2009-06-20 01:47:28 +00:00
Przemyslaw Czerpak
7abda8c763 2009-06-19 18:38 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbhrb.ch
  * harbour/source/vm/runner.c
    + added support for HB_HRB_BIND_LAZY flag.
      Lazy binding with public external functions allows to load .hrb files
      with unresolved or cross function references.
2009-06-19 16:38:54 +00:00
April White
5d12fe83f7 2009-06-19 10:16 UTC+0600 April White (april users.sourceforge.net)
* ChangeLog
   * contrib/hbbtree/doc/hb_btree.txt
   * contrib/hbbtree/hb_btree.c
   * contrib/hbbtree/hb_btree.ch
   * contrib/hbbtree/hb_btree.h
   * contrib/hbbtree/tbtree.prg
   * contrib/hbbtree/tests/ctest.c
   * contrib/hbbtree/tests/test.prg
   * contrib/hbbtree/tests/ttest.prg
   * doc/en-EN/set.txt
   * source/compiler/hbusage.c
   * source/rtl/setkey.c
   * tests/setkeys.prg
      * changed my email address
2009-06-19 14:26:20 +00:00
Przemyslaw Czerpak
0b660d8efd 2009-06-19 14:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
- harbour/include/hbhrb.ch
  + harbour/include/hbhrb.ch
    * replaced hbhrb.ch with slightly different version and set SVN
      attributes:
         svn:keywords : Author Date Id Revision
         svn:eol-style : native
      Now optional HB_HRBLOAD()/HB_HRBRUN() parameter is bitfield and
      the following predefined values can be used to control function
      bindings in loaded .hrb files:
         HB_HRB_BIND_DEFAULT      - do not overwrite any functions, ignore
                                    public HRB functions if functions with
                                    the same names already exist in HVM
         HB_HRB_BIND_LOCAL        - do not overwrite any functions
                                    but keep local references, so
                                    if module has public function FOO and
                                    this function exists also in HVM
                                    then the function in HRB is converted
                                    to STATIC one
         HB_HRB_BIND_OVERLOAD     - overload all existing public functions
         HB_HRB_BIND_FORCELOCAL   - covert all public functions to
                                    STATIC ones
      Other HB_HRB_* defines will be added in the future

  * harbour/include/hbvm.h
    * declared hb_vmSetFunction() as internal function

  * harbour/source/vm/hvm.c
    * modified hb_vmSetFunction() to update references also in unused
      modules.

  * harbour/source/vm/runner.c
    * removed CanUnload - it was not fully functional. Modules which
      overloads public functions cen be unload just like any other ones
      but unloading does not restore references to overloaded functions.
      Now such references are simply lost and this should be fixed in the
      future.
    + added support for HB_HRB_BIND_FORCELOCAL
    ! fixed <nOptions> parameter decoding in HB_HRBLOAD() to strictly
      follow declaration:
         HB_HRBLOAD( [ <nOptions>, ] <cHrb> [, <xparams,...> ] )
    ! fixed init procedures parameters in HB_HRBLOAD() to no pass <nOptions>
    + added support for <nOptions> to HB_HRBRUN()
         HB_HRBRUN( [ <nOptions>, ] <cHrb> [, <xparams,...> ] ) -> <retVal>
    * changed HB_HRBRUN() return value - now it's the result of executed
      function instead of .T.
    ! fixed public symbol updating to keep valid references to HB_FS_LOCAL
      function
    ! fixed possible memory leak
    % added const to some char * declarations

   TOFIX/TODO: add support for restoring overloaded functions when module
               is unloaded.
2009-06-19 12:09:26 +00:00
Viktor Szakats
1c20b41cc2 2009-06-19 11:32 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/testhrb.prg
  * tests/Makefile
  * include/Makefile
  * include/hbhrb.ch
  * source/vm/runner.c
    ! Added new files to Makefiles.
    ! Fixed to use hbhrb.ch from .c rather than replicating #defines.
      (also fixed comments to be ANSI)
    ! Added self protection to .ch.
    ! Made .hrb file lowercase in testhrb.prg
    ! Deleted double license header from .ch.

  * utils/hbmk2/hbmk2.prg
    + Added logic to move embedded compilers under a common subdir.
      To stay compatible with 2.0.0beta1 release I didn't yet set
      this, but it will be for final release.
      Probably 'comp', or maybe 'opt'. Sorry for asking for opininons,
      but they're welcome anyway.
2009-06-19 09:33:42 +00:00
Jean-Francois Lefebvre
d7a22185d5 2009-06-19 10:56 UTC+0200 Jean lefebvre (jfl at mafact dot com)
* vm/runner.c
    FIXED ;
    ../../runner.c:413: error: '_HB_SYMB' undeclared (first use in this function)
  + include/hbhrb.ch:  HB_HRBLOAD() mode #define new file
  + tests/testhrb.prg: test program fro new params 
  + tests/exthrb.prg:  test program to be compiled as .HRB using /gh option
2009-06-19 09:00:16 +00:00
Viktor Szakats
ce275c340e 2009-06-19 00:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/runner.c
    * Formatted.
    ; TOFIX:
        ../../runner.c: In function 'hb_hrbLoad':
        ../../runner.c:413: error: '_HB_SYMB' undeclared (first use in this function)
        ../../runner.c:413: error: (Each undeclared identifier is reported only once
        ../../runner.c:413: error: for each function it appears in.)
2009-06-18 22:36:27 +00:00
Jean-Francois Lefebvre
0c36fe41df 2009-06-18 21:18 UTC+0200 Jean lefebvre (jfl at mafact dot com) 2009-06-18 19:25:56 +00:00
April White
1050cd8fb2 2009-06-18 16:14 UTC+0600 April White (april@users.sourceforge.net)
* source/rtl/mlcfunc.c
    * detect if parameter is a string vs array
    * allocate memory for the array before resetting the counter
2009-06-18 14:43:17 +00:00
Viktor Szakats
a48321cf39 2009-06-18 00:52 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/mousehb.c
  * source/rdd/rddinfo.c
  * source/rdd/dbdrop.c
  * source/rdd/dbexists.c
  * source/rdd/fieldhb.c
    * Rest of similar to STOD() status functions also 
      protected with ! HB_C52_STRICT.
2009-06-17 22:52:52 +00:00
Viktor Szakats
e601da299c reapplied changes 2009-06-17 22:48:46 +00:00
Viktor Szakats
0f98f116b8 restored with history 2009-06-17 22:48:03 +00:00
Viktor Szakats
c0bd6c42f4 temp delete 2009-06-17 22:46:52 +00:00
Viktor Szakats
41b7534251 2009-06-18 00:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/rtl/datesx.c
    * STOD() function not protected by HB_COMPAT_XPP anymore.
      Instead it's turned off only in HB_C52_STRICT mode.

  + contrib/xpp/xppextrn.ch
    + Added.

  * contrib/hbwin/win_misc.c
    + Added WIN_HIWORD() and WIN_LOWORD() functions (from GTWVG).
      But commented because of colliding names.
2009-06-17 22:34:21 +00:00
Viktor Szakats
fb75f441ac 2009-06-17 23:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbblat/blatcls.prg
    ! Added type checks for all params.
    % File() -> hb_FileExists()
    * Minor formatting.

  * source/rtl/browdbx.prg
    * Minor formatting in comment.

  * contrib/xpp/Makefile
  + contrib/xpp/dbcmdx.c
  + contrib/xpp/tgetx.prg
  + contrib/xpp/tbcolumx.prg
  + contrib/xpp/dbjoinx.prg
  + contrib/xpp/idlex.c
  + contrib/xpp/typefilx.prg
  + contrib/xpp/philesx.c
  + contrib/xpp/browdbx.prg
  + contrib/xpp/dbdetacx.c
  + contrib/xpp/dblistx.prg
  + contrib/xpp/binnumx.c
  + contrib/xpp/mousex.c
  + contrib/xpp/dbupdatx.prg
  + contrib/xpp/dbfuncsx.prg
  + contrib/xpp/oemansix.c
  + contrib/xpp/tbrowsex.prg
  + contrib/xpp/thfuncx.prg
  + contrib/xpp/dbtotalx.prg
  + contrib/xpp/datesx.c
  + contrib/xpp/tthreadx.prg
  + contrib/xpp/dbstruxx.prg
  + contrib/xpp/dbsortx.prg
    + Made a copy of all Xbase++ related Harbour core components
      into this separate lib. As we're starting to have a larger
      and larger amount of Xbase++ functions, to not pollute core,
      to have a clear separation of components and to allow
      toggling Xbase++ compatibility at user level (instead of
      Harbour level), it's a good time to make this long planned
      first step. This means that now Harbour can be built with
      HB_COMPAT_XPP turned off, yet - with this lib - all Xbase++
      feature can still be used, and this is the recommended way.
      The name of the lib is tentative and in the future it may
      even be moved or renamed. 2.0.0 final version will still
      have HB_COMPAT_XPP enabled in core.
    ; NOTE: Please add new Xbase++ compatibility functions to this lib.
    ; TOFIX: xpp_TBrowse() needs some internal parts from tbrowse.prg,
             so current solution isn't finished.
    ; TOFIX: A few Xbase++ compatibility features are embedded
             into core source. These should be resolved by other
             means. (f.e. compiler time/runtime/hbmk2 switches, but
             for  that we need to move back this lib inside core)
    ; TODO: Decide about the status of STOD() function, which is
            currently an XPP compatibility function, not in Harbour
            namespace, yet it's widely used with same functionality.
2009-06-17 21:13:27 +00:00
Przemyslaw Czerpak
d364d762d9 2009-06-17 14:06 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbmain.c
    * extended -n2 to work also with code without starup procedure but with
      local variables

  * harbour/utils/hbrun/hbrun.prg
    + added -n2 to compiler parameters when .prg file is compiled and
      executed. It allows to use with hbrun .prg files with and without
      startup procedure
2009-06-17 11:56:30 +00:00
Przemyslaw Czerpak
11dc6a48a4 2009-06-17 13:17 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
    ! fixed bad typo introduced in last days probably during some code
      formatting which broke HB_INETRECVLINE() and some other functions
2009-06-17 11:07:49 +00:00
Przemyslaw Czerpak
cbe41c950b 2009-06-17 13:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapierr.h
    * added HB_EXPORT attribute to hb_err*() public functions

  * harbour/source/rdd/wacore.c
    * minor formatting
2009-06-17 10:57:19 +00:00
Przemyslaw Czerpak
20c62d1431 2009-06-16 16:09 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapirdd.h
  * harbour/source/rdd/wafunc.c
    + added HB_ERRCODE hb_rddEvalWA( PHB_ITEM pBlock )

  * harbour/source/rdd/dbcmd.c
    + added HB_WAEVAL( <pBlock> ) function which evaluates given
      <pBlock> in each used worakrea. The workarea iteration is
      interrupted if <pBlock> returns .F.

  * harbour/source/rdd/wafunc.c
    * restore workarea number in hb_rddCloseAllParentRelations()

  * harbour/source/rdd/workarea.c
    * added small protection against releasing WA by user codeblock in
      EVALBLOCK() method

  * harbour/source/rdd/wacore.c
    * added small protection against releasing WA by user code during
      area iteration
2009-06-16 13:59:12 +00:00
Viktor Szakats
0a25e75b8f 2009-06-16 15:03 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* utils/hbmk2/hbmk2.prg
    + Added preliminary support for autosetup for several more
      compilers: win/watcom, win/pocc, win/pocc64, wce/poccarm,
      dos/djgpp, dos/watcom.
      Only these were tested: dos/djgpp, win/watcom, win/pocc.
      This means it's now possible to "bundle" DJGPP, watcom or
      pocc _compiler tools_ with Harbour and hbmk2 will be able
      to detect them, or user can choose between them using
      -arch/-comp switches, then hbmk2 will just be able to use
      them "as is", without the need to change anything on the
      environment. zero-conf usage in essence, just like we
      already had for mingw family.
    ; NOTE: Before the release I'll rethink placement of these 
            tools inside the Harbour directory tree. Currently 
            they are detected in the Harbour root dir, but with 
            multiple compilers this is not ideal.

  * source/vm/thread.c
    ! Fixed compile error after 2009-06-16 08:55 UTC+0200.
2009-06-16 13:05:23 +00:00
Przemyslaw Czerpak
01162d9200 2009-06-16 13:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/token1.c
    % use explicit constant value instead of HB_MKULONG() macro

  * harbour/source/compiler/cmdcheck.c
    ! fixed few typos in bit manipulation used to calculate result in
      PackDateTime() function by rewriting it to use bitfield union.
2009-06-16 11:27:55 +00:00
Viktor Szakats
d234bc24f5 2009-06-16 08:55 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/vm/thread.c
    * HB_MUTEXQUEUEINFO() returning logical var.
    ! HB_MUTEXQUEUEINFO() resetting ref params with 0 in case of error.
2009-06-16 06:55:21 +00:00
Viktor Szakats
4dbccf8ead 2009-06-16 08:50 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
  * examples/uhttpd2/umain.prg
    * Replaced HB_MUTEXWAITERSCOUNT() with 
      HB_MUTEXQUEUEINFO( hMutex, [ @nWaitersCount ], [ @nQueueLength ] )
    ; Please review.
2009-06-16 06:51:12 +00:00
Viktor Szakats
c73804dc7a 2009-06-15 20:44 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/thread.c
    + Added HB_MUTEXWAITERSCOUNT() to core.
      (slightly rewritten using local functions)

  - examples/uhttpd2/umutex.c
    - No longer needed.
2009-06-15 18:45:17 +00:00
Przemyslaw Czerpak
69941dbb06 2009-06-15 18:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/fstemp.c
  * harbour/source/rtl/filesys.c
    * convert '/' to '\' in hb_fTempCreate*()/CurDir() functions in
      DJGPP builds
2009-06-15 16:29:58 +00:00
Przemyslaw Czerpak
7bf93bff46 2009-06-15 15:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/mainstd.c
    * forced '\' in argv[0] instead of '/' in DJGPP builds
    * disabled using SHELL envvar and forced COMSPEC in system() function
      in DJGPP builds (it effects __run() and hb_run() .prg functions)
2009-06-15 13:09:53 +00:00
Przemyslaw Czerpak
19cc018359 2009-06-14 21:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapirdd.h
  * harbour/include/hbusrrdd.ch
  * harbour/contrib/rddsql/sddodbc/odbcdd.c
  * harbour/contrib/rddads/ads1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
    * changed HB_FT_DAYTIME to HB_FT_TIMESTAMP
2009-06-14 19:40:43 +00:00
Przemyslaw Czerpak
10de04c2fa 2009-06-14 21:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/Makefile
    ! fixed / used as directory separator in $(RM) command with non *nix like
      shells
    * restored wildcard hack for some dynamic shortcut redirectors, f.e.
      DOSEMU
2009-06-14 19:10:30 +00:00
Viktor Szakats
a255567515 2009-06-14 19:56 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Updated.

  * source/pp/Makefile
    ! Fixed to ignore clean command result which is a TOFIX.
      (anyone to help here?)
    ! Changed ChangeLog file detection to specifically look 
      for CHANGE~1 and to not look for CHANGE~* and CHANG~* 
      where the latter cannot exist and the former may 
      accidentally pick up wrong file.
2009-06-14 17:59:01 +00:00
Przemyslaw Czerpak
5d2a6931be 2009-06-14 14:49 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/gtwvg/wvgwin.c
    ! fixed wrongly used & operator

  * harbour/source/rtl/hbproces.c
    * added TODO warning in OpenWatcom Linux builds

  * harbour/make_gnu.sh
    ! fixed test_param() function definition - it has to be defined it's
      before use

  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/rtl/round.c
    * removed unnecessary <math.h>

  * harbour/source/vm/hvm.c
  * harbour/source/common/expropt2.c
  * harbour/contrib/hbct/ctmath.h
  * harbour/contrib/hbclipsm/num.c
  * harbour/contrib/hbclipsm/numfloor.c
  * harbour/contrib/hbclipsm/numceil.c
    * use "hbmath.h" instead of <math.h> to avoid possible desynchronization
      between used math libraries and header files

  * harbour/source/pp/Makefile
    ! fixed real DOS compilation - replaced Windows only hack by wildcard
      function usage

  * harbour/config/dos/dir.cf
    * removed intermediate sh call from executed commands

  * harbour/source/vm/Makefile
    * disabled HB_HVM_ALL in all Watcom builds - it works but the compilation
      time is very huge so user who wants to use it should set envvar
      HB_HVM_ALL=yes
    * enabled HB_HVM_ALL for DJGPP builds
2009-06-14 12:40:11 +00:00
Viktor Szakats
ed8f2896b3 2009-06-14 13:23 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/pp/Makefile
    ! Fixed (almost) to delete include/hbverbld.h on clean.
      Keeping this file there hid DOS build problems when using
      Windows host.
    ; TOFIX: Filename in delete command for all platforms.
    ; TOFIX: HB_CHANGELOG value for DOS builds. It's currently
             broken for MS-DOS hosts. To avoid these problems
             we should use 'CHANGES' instead of 'ChangeLog'...
    ; TOFIX: I applied Przemek's patch to make_gnu.sh wrongly,
             and have no idea how to fix it.
2009-06-14 11:25:07 +00:00
Viktor Szakats
8cff1ae469 2009-06-14 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextern.ch
  * source/vm/hashfunc.c
    + Added HB_HGETDEF( <hHash>, <xKey>[, <xDefault> ] ) -> <value>
      This function will return <xDefault> when <xKey> isn't 
      found in the hash table. If <xDefault> isn't passed, it 
      will return NIL.
2009-06-14 08:38:37 +00:00
Viktor Szakats
e4ddd5f914 2009-06-13 23:51 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* contrib/hbxbp/hbxbp.hbc
    + Added gtgui as default GT on win/wce systems.

  * include/extend.api
  * include/hbsetup.ch
  * include/hbapi.h
    + Added new HB_LEGACY_LEVEL3 macro to wrap legacy
      constructs to be deprecated in the next major release.
      Currently legacy IS*() parameter type checking macros
      are marked as such, ones present in CA-Cl*pper retained
      in extend.api even when this macro off.

    ; NOTE: It's recommended for 3rd party developers to
            start using new HB_IS*() macros. They work
            the same as Clipper compatible IS*() macros,
            but got a HB_ prefix: ISNUM( 1 ) -> HB_ISNUM( 1 )
            (not to be confused with HB_IS_*() macros which
            accept a PHB_ITEM)
            Here's a little batch which helps this process:
            ---
            gsar -o -s:x20ISNUM(       -r:x20HB_ISNUM(       *.c *.cpp
            gsar -o -s:x20ISCHAR(      -r:x20HB_ISCHAR(      *.c *.cpp
            gsar -o -s:x20ISLOG(       -r:x20HB_ISLOG(       *.c *.cpp
            gsar -o -s:x20ISARRAY(     -r:x20HB_ISARRAY(     *.c *.cpp
            gsar -o -s:x20ISBYREF(     -r:x20HB_ISBYREF(     *.c *.cpp
            gsar -o -s:x20ISDATE(      -r:x20HB_ISDATE(      *.c *.cpp
            gsar -o -s:x20ISDATETIME(  -r:x20HB_ISDATETIME(  *.c *.cpp
            gsar -o -s:x20ISNIL(       -r:x20HB_ISNIL(       *.c *.cpp
            gsar -o -s:x20ISTIMESTAMP( -r:x20HB_ISTIMESTAMP( *.c *.cpp
            gsar -o -s:x20ISBLOCK(     -r:x20HB_ISBLOCK(     *.c *.cpp
            gsar -o -s:x20ISPOINTER(   -r:x20HB_ISPOINTER(   *.c *.cpp
            gsar -o -s:x20ISSYMBOL(    -r:x20HB_ISSYMBOL(    *.c *.cpp
            gsar -o -s:x20ISOBJECT(    -r:x20HB_ISOBJECT(    *.c *.cpp
            gsar -o -s:x20ISHASH(      -r:x20HB_ISHASH(      *.c *.cpp
            gsar -o -s!ISNUM(          -r!HB_ISNUM(          *.c *.cpp
            gsar -o -s!ISCHAR(         -r!HB_ISCHAR(         *.c *.cpp
            gsar -o -s!ISLOG(          -r!HB_ISLOG(          *.c *.cpp
            gsar -o -s!ISARRAY(        -r!HB_ISARRAY(        *.c *.cpp
            gsar -o -s!ISBYREF(        -r!HB_ISBYREF(        *.c *.cpp
            gsar -o -s!ISDATE(         -r!HB_ISDATE(         *.c *.cpp
            gsar -o -s!ISDATETIME(     -r!HB_ISDATETIME(     *.c *.cpp
            gsar -o -s!ISNIL(          -r!HB_ISNIL(          *.c *.cpp
            gsar -o -s!ISTIMESTAMP(    -r!HB_ISTIMESTAMP(    *.c *.cpp
            gsar -o -s!ISBLOCK(        -r!HB_ISBLOCK(        *.c *.cpp
            gsar -o -s!ISPOINTER(      -r!HB_ISPOINTER(      *.c *.cpp
            gsar -o -s!ISSYMBOL(       -r!HB_ISSYMBOL(       *.c *.cpp
            gsar -o -s!ISOBJECT(       -r!HB_ISOBJECT(       *.c *.cpp
            gsar -o -s!ISHASH(         -r!HB_ISHASH(         *.c *.cpp
            ---

  * source/rtl/hbinet.c
    * Formatting.
    % Minor optimizations.

  * source/debug/dbgentry.c
  * source/rdd/dbcmd.c
  * source/rdd/dbcmd53.c
  * source/rdd/dbcmdx.c
  * source/rdd/dbdetach.c
  * source/rdd/dbsql.c
  * source/rdd/hbsix/sxfname.c
  * source/rdd/hbsix/sxord.c
  * source/rdd/hbsix/sxtable.c
  * source/rdd/usrrdd/usrrdd.c
  * source/rtl/at.c
  * source/rtl/box.c
  * source/rtl/cdpapi.c
  * source/rtl/chrasc.c
  * source/rtl/colorind.c
  * source/rtl/console.c
  * source/rtl/copyfile.c
  * source/rtl/dateshb.c
  * source/rtl/dirdrive.c
  * source/rtl/diskspac.c
  * source/rtl/disksphb.c
  * source/rtl/errapi.c
  * source/rtl/filesys.c
  * source/rtl/fscopy.c
  * source/rtl/fssize.c
  * source/rtl/fstemp.c
  * source/rtl/gete.c
  * source/rtl/gtfunc.c
  * source/rtl/gx.c
  * source/rtl/hbbit.c
  * source/rtl/hbgtcore.c
  * source/rtl/hbhex.c
  * source/rtl/hbi18n1.c
  * source/rtl/hbinet.c
  * source/rtl/hbprocfn.c
  * source/rtl/hbrandom.c
  * source/rtl/hbregex.c
  * source/rtl/hbstrsh.c
  * source/rtl/hbtoken.c
  * source/rtl/hbzlib.c
  * source/rtl/hbzlibgz.c
  * source/rtl/inkey.c
  * source/rtl/itemseri.c
  * source/rtl/left.c
  * source/rtl/math.c
  * source/rtl/maxrow.c
  * source/rtl/mlcfunc.c
  * source/rtl/mouse53.c
  * source/rtl/mousex.c
  * source/rtl/mtran.c
  * source/rtl/natmsg.c
  * source/rtl/padc.c
  * source/rtl/padl.c
  * source/rtl/padr.c
  * source/rtl/philes.c
  * source/rtl/philes53.c
  * source/rtl/rat.c
  * source/rtl/replic.c
  * source/rtl/right.c
  * source/rtl/round.c
  * source/rtl/run.c
  * source/rtl/saverest.c
  * source/rtl/scroll.c
  * source/rtl/setcolor.c
  * source/rtl/setcurs.c
  * source/rtl/setpos.c
  * source/rtl/shadow.c
  * source/rtl/strc.c
  * source/rtl/strmatch.c
  * source/rtl/strpeek.c
  * source/rtl/strtoexp.c
  * source/rtl/strtran.c
  * source/rtl/stuff.c
  * source/rtl/substr.c
  * source/rtl/tone.c
  * source/rtl/trace.c
  * source/rtl/transfrm.c
  * source/rtl/valtype.c
  * source/rtl/word.c
  * source/vm/arrayshb.c
  * source/vm/asort.c
  * source/vm/classes.c
  * source/vm/cmdarg.c
  * source/vm/eval.c
  * source/vm/hashfunc.c
  * source/vm/hvm.c
  * source/vm/memvars.c
  * source/vm/proc.c
  * source/vm/thread.c
    * IS*() -> HB_IS*() macro rename.
      (pass 1 - sf.net SVN works badly today, so I've split 
      the commit to raise the chances of a successfully 
      finished one)
2009-06-13 22:44:34 +00:00
Viktor Szakats
3219e88ed7 2009-06-13 13:49 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/achoice.prg
    ! Partially reverted this commit:
      https://sourceforge.net/apps/trac/harbour-project/changeset/10605
      After this change, activating DBU menus with all items disabled
      (f.e. F7/F8) caused app hang.
      This line:
         nUserFunc := iif( nMode != AC_NOITEM,;
            Do( xUserFunc, nMode, nPos, nPos - nAtTop ), NIL )
      Was now changed back to this:
         nUserFunc := Do( xUserFunc, nMode, nPos, nPos - nAtTop )
      ac_test2.prg still seem to function fine after this, but
      I'd kindly like to ask Vladislav Lavrecky to make tests
      again, maybe we need another fix here.

  * source/vm/evalhb.c
    * Minor formatting.

  * contrib/hbtip/client.prg
    * Minor formatting.
    ! :ReadToFile() nMode param check.

  * utils/hbmk2/hbmk2.prg
    * Cleanup to variable name prefixes.

  * contrib/xhb/Makefile
  + contrib/xhb/xthrow.prg
    + Added THROW() function for xhb compatibility.
      This is written in Harbour, based on hbcompat.ch
      and has Harbour license + exception.

  + contrib/xhb/xcstr.prg
  + contrib/xhb/xdbmodst.prg
  * contrib/xhb/Makefile
    + Ported following old functions from xhb:
      CSTRTOVAL(), STRINGTOLITERAL(), VALTOPRG(), PRGEXPTOVAL()
    + Ported following new functions from xhb:
      VALTOARRAY(), VALTODATE(), VALTOHASH(), VALTOLOGICAL()
      VALTONUMBER(), VALTOARRAY(), VALTOTYPE(),
      DBMODIFYSTRUCTURE(), DBIMPORT(), DBMERGE()
      (borrowed from xhb, work of Ron Pinkas)
2009-06-13 11:56:32 +00:00
Viktor Szakats
caeeac68d5 2009-06-12 11:02 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/debug/dbgentry.c
  * contrib/xhb/hbxml.c
  * contrib/hbbtree/hb_btree.c
    % hb_itemRelease( hb_itemReturn() ) -> hb_itemReturnRelease()

  * contrib/xhb/hbxml.c
    ! Applied this fix from xhb:
      2008-11-06 20:00 UTC+0100 Jose F. Gimenez <jfgimenez/at/wanadoo.es>
      ! 'Escape' characters, such &amp; or &quot; were not written correctly in node attribute values
      ! 'Escape' characters in the form &#NN; and &#xHH; were not allowed when reading
2009-06-12 09:03:14 +00:00
Viktor Szakats
a12807edfe 2009-06-12 09:26 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* doc/man/hbmk.1
  * doc/whatsnew.txt
  * INSTALL
  * bin/hb-mkdyn.bat
  * external/libhpdf/Makefile
  * make_gnu.bat
  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
  * utils/hbmk2/examples/contribf.hbc
  * source/vm/Makefile
  * contrib/gtalleg/Makefile
  * contrib/hbqt/Makefile
  * contrib/hbxbp/Makefile
  * contrib/gtqtc/Makefile
  * contrib/gtwvg/Makefile
  * contrib/hbssl/Makefile
  * config/dos/global.cf
  - config/dos/owatcom.cf
  + config/dos/watcom.cf
  - config/win/owatcom.cf
  + config/win/watcom.cf
  - config/linux/owatcom.cf
  + config/linux/watcom.cf
  - config/os2/owatcom.cf
  + config/os2/watcom.cf
    * Renamed 'owatcom' to 'watcom'.
      Please adjust your make files, or just let them autodetect.

  * utils/hbmk2/examples/contribf.hbc
    ! Adjusted hbsqlit3 filter after enabling for dos.

  * external/sqlite3/Makefile
    + Added comment for DJGPP hack.
2009-06-12 07:28:53 +00:00
Viktor Szakats
4b17624bbf 2009-06-11 21:01 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/gtdos/Makefile
  * source/rtl/gtwin/Makefile
  * source/rtl/gtos2/Makefile
  * source/rtl/gtgui/Makefile
  * source/rtl/gtwvt/Makefile
    + Added architecture protection.
      Just a step to make them all self detecting.

  * mpkg_win.nsi
    * Updated links installed.

  * examples/superlib/readme.txt
  * examples/dbu/readme.txt
  * examples/rl/readme.txt
    ! Fixed my typo in hbformat cmdline.
2009-06-11 19:05:34 +00:00
Alexander S.Kresin
0c5fc764f2 2009-06-11 22:57 UTC+0300 Alexander Kresin <alex at belacy.belgorod.su>
* source/debug/tbrwtext.prg
    ! Bug fixed in Search() method.
2009-06-11 18:56:23 +00:00
Viktor Szakats
059939de5f 2009-06-11 08:24 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
    * Stripped "\devl" from all examples dirs.
    + Adjusted all examples dir to use default installation
      paths where possible.
    + Adjusted examples dir to not include a version number.
    + Added OS/2 Watcom example (untested)
    ; These makes example much more readily usable and
      avoid some more potential confusion.

  * mpkg_win.bat
    ! Handling spaces in HB_DIR_NSIS.

  * make_gnu.bat
    + Added beeps if errors were detected.
      (step towards error handling)

  * source/common/hbver.c
    * Changed OS version for DOS to show "(Windows NT)
      under NT systems (instead of former "(Windows NT/2000)").
2009-06-11 06:25:39 +00:00
Viktor Szakats
8875ec290f 2009-06-10 23:33 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
; TOFIX: dos/owatcom builds can now created successfully
           (using standard Open Watcom 1.8 installation),
           the bad news is that f.e. hbmk2 will crash the
           NTVDM when trying a simple make.

  * INSTALL
    ! Minor fix to DOS instructions.
    + Added DOS build examples.

  * mpkg_dos.bat
    ! Fixed target dir and archive name to be different
      for djgpp and owatcom builds.

  * make_gnu.bat
  + config/djg-make.exe
    + Added embedded copy of DOS build of GNU Make.
      This is to make DOS builds, specifically dos/owatcom
      builds simpler. Original filename was 'make.exe'.
      This can probably be removed once we move DOS
      platform status to a 'target-only' one, like WinCE/ARM.

  * make_gnu.bat
    ! Ugly hack added to create doc/en-EN dir. This still
      won't solve the DOS copy problem unless I remove
      the hack committed previously. If I remove it
      the make process cannot be anymore started without
      this batch file as it would choke on xcopy if
      above dir doesn't exist.

  * make_gnu.sh
    ! Applied fix to only create install dirs if called
      with 'install' option. At the same time enabled
      this feature for all platforms. It will also create
      doc/en-EN dir.
      PLEASE TEST/REVIEW, I didn't do any testing.
    ; TOFIX: Much or all of these should IMO be done directly
             from make files, it would be much self-contained
             and consistent.

  * source/pp/Makefile
    ! Fixed to find ChangeLog when building for DOS targets.
      This was a problem when trying to build dos/owatcom.
      Now in DOS mode it will refer to the ChangeLog by its
      8.3 name.

  * utils/hbmk2/hbmk2.prg
    * Minor formatting.

  * mpkg_deb.sh
  * harbour.spec
    - Deleted hbmsql.
    ; TOFIX: hbqt is missing from some Linux make files.
    ; TOFIX: (in next major release) We should try to 
             make Linux build files less-maintenance intensive.
2009-06-10 21:49:10 +00:00
Viktor Szakats
6243be7d28 2009-06-10 19:36 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* config/dos/global.cf
    ! Fixed to use xcopy instead of copy to 'install' files.
      This means long filenames (and also casing) will be retained.
      This also means that now 'install' actually works.
      It may also mean that creating a DJGPP build isn't anymore
      possible on a pure DOS system, I can't remember when xcopy
      was introduced. Anyway I think it's better to have this
      requirement than not having a proper DOS build at all
      (since long years).
      This also means that our DOS release cannot even be *used* 
      in pure DOS environment, since our long filenames will 
      be chopped when extracting the distro .zip. Only final 
      .exes are able to run under DOS.
      We still have the option to implement full short name 
      support, but I'm not sure this has any importance anymore.
      If we don't want to do this, we can finally lift some 
      restrictions which tied our hands so far, based on the 
      fact that DOS builds cannot even be created and run on 
      real DOS. So, this means:
        - We may use long filenames as distro name.
        - We may convert DOS platform as a target only platform, 
          similar to WinCE/ARM.
        - If we do the above, we may even embed our DOS
          libs in Windows distro, and build DOS apps using
            hbmk2 hello.prg -arch=dos
        - We may use long filename anywhere in our tree.
          (but we must check first if long names are also 
          supported for headers, dirnames and source names)
      If you have an opinion, please tell.

  * config/dos/global.cf
    ! Adding ending pathsep to DOC_SUBDIR to make xcopy happy
      and not ask if the target is a file or directory.
    ; TOFIX: Anyhow, DOC_SUBDIR feature simply doesn't work since
             very long, so we should do something about it in the future.

  * debian/changelog
    + Added new version entry. (Thanks Guy)

  * bin/postinst.bat
    ! Added workaround to make it work under DOS.
      (avoiding 'Out of environment space' error)

  + mpkg_dos.bat
    + Added DOS package generator batch. Very similar
      to mpkg_win.bat, maybe we should merge them in
      the future.

  * mpkg_win.bat
    * Using short name for main dir, just to sync it with
      DOS version.

  * utils/hbformat/hbformat.prg
    + Changed default GT to GTCGI.

  * utils/hbmk2/hbmk2.prg
    ! Added workaround for dos/djgpp anomaly in hb_DirBase()
      (and also hb_ProgName()) where path contains forward
      slashed instead of backslashes.
    ; TOFIX: In core.

  * source/vm/Makefile
    ! Disabled hbvmall for dos build because of thid djgpp error:
      ---
      gcc -I. -I../../../../include  -Wall -W -O3    -c ../../hvmall.c -ohvmall.o
      In file included from ../../../../include/hbmath.h:60,
                      from ../../itemapi.c:97,
                      from ../../hvmall.c:67:
      c:/devl/djgpp/include/libm/math.h:97: error: redefinition of 'struct exception'
      ---

  * contrib/hbblat/hbblat.hbc
  * contrib/hbhpdf/hbhpdf.hbc
    * Minor formatting.
2009-06-10 17:38:18 +00:00
Viktor Szakats
a4f90ee0fb 2009-06-10 09:45 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* INSTALL
     + Added comp.lang.clipper as public forum.

   * make_gnu.bat
     ! Minor.

   * source/pp/hbpp.c
     ! Added version status to banner.

   * examples/superlib/hbsuper.hbp
   * examples/superlib/hbsuper.dif
   * examples/superlib/readme.txt
   * examples/dbu/dbu.hbp
   - examples/dbu/dbu.dif
   + examples/dbu/dbu52.dif
   + examples/dbu/dbu53.dif
   * examples/dbu/readme.txt
   * examples/rl/rl.hbp
   * examples/rl/rl.dif
   * examples/rl/readme.txt
     * Updated instructions: New item for *nix users to convert
       to lowercase and native EOL format, added hbmk2 command
       for all projects, separate 5.2/5.3 DBU patches.
     + Added separate patch for C53 version of DBU sources.
     * Converted all original filename references to lowercase.
     ! Fixed a few bugs in previous patches.
     ! Fixed .dif files to work on both *nix and non-*nix systems
       (had to create them on *nix then convert them to have consistent EOLs)
2009-06-10 07:48:17 +00:00