Commit Graph

3999 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
2e751d16e9 2005-11-08 01:56 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/garbage.c
    - removed unnecessary memset()

  * harbour/source/vm/hvm.c
    % use startup initialized symbols: hb_symEnumIndex, hb_symEnumBase,
      hb_symEnumValue instead of strcmp( pSym->szName, ... ) in hb_vmSend()
    % remove unnecessary temporary item in hb_vmEnumStart() and use
      hb_itemMove() instead of hb_itemCopy()+hb_itemClear()
    % changed main VM loop to eliminate one comparision done on each
      loop. Now HB_P_ENDBLOCK and HB_P_ENDPROC pcodes set HB_ENDPROC_REQUESTED
      and the main loop can be exited only from one place. It gives some
      small but noticeable speed improvement.
      Ryszard please check this modification. AFAIK it should not cause
      any bad side effect and IMHO the code is cleaner now.

  * harbour/source/vm/itemapi.c
    % removed two unnecessary hb_itemClear() before hb_itemRelease()
2005-11-08 01:07:00 +00:00
Ryszard Glab
d947f68c8e 2005-11-07 14:35 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbapi.h
   * include/hbapiitm.h
   * include/hbcomp.h
   * include/hberrors.h
   * include/hbexpra.c
   * include/hbpcode.h
   * include/hbsetup.h
   * source/common/expropt1.c
   * source/compiler/expropta.c
   * source/compiler/genc.c
   * source/compiler/gencli.c
   * source/compiler/harbour.c
   * source/compiler/harbour.l
   * source/compiler/harbour.y
   * source/compiler/hbfix.c
   * source/compiler/hbgenerr.c
   * source/compiler/hbpcode.c
   * source/macro/macroa.c
   * source/vm/hvm.c
   * source/vm/itemapi.c
   + tests/foreach.prg
      + added support for FOR EACH loop
         FOR EACH var1 [,var255] IN expr1 [,expr255] [DESCEND]
         NEXT

         Note:
            -expr can be a string or an array
               if it is a string then assigments to the control
               variable does not change the string
            -after the loop the controlling variable(s) store the
             value which they had before entering the loop
            -the controlling variable supports the following properties
             :__enumindex - the loop counter for variable
             :__enumbase  - the value that is being traversed
             :__enumvalue - the value of variable
            -see tests/foreach.prg for examples

      + added warnings in cases of duplicated loop variables
       eg. FOR i:=1 TO 5
            FOR i:=i TO i+5

      -removed strong typing in the compiler (xHarbour too)
      (reactivate it by compiling with -DHB_COMP_STRONG_TYPES)

NOTE:
   The new pcodes were added - rebuild everything
2005-11-07 13:28:40 +00:00
Antonio Linares
5672782171 hb_UnhandledExceptionFilter() modified to return EXCEPTION_CONTINUE_SEARCH 2005-11-04 21:17:20 +00:00
Antonio Linares
7a684045ba UnhandledExceptionFilter renamed as hb_UnhandledExceptionFilter, and
WINBASEAPI removed.
2005-11-04 11:40:58 +00:00
Antonio Linares
b933034111 UnhandledExceptionFilter renamed as hb_UnhandledExceptionFilter 2005-11-04 11:32:42 +00:00
Antonio Linares
1bbad05cb0 added Microsoft initialization code 2005-11-03 09:41:04 +00:00
Antonio Linares
4864d5ae60 harbour/source/lang/msggl.c 2005-11-03 09:30:25 +00:00
Antonio Linares
7894cbc937 harbour/source/lang/msgeswin.c 2005-11-03 09:28:50 +00:00
Przemyslaw Czerpak
33b161641c 2005-11-01 23:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_gnu.sh
  + harbour/make_xmingw.sh
  * harbour/bin/hb-mkslib.sh
  * harbour/bin/postinst.sh
  * harbour/config/w32/mingw32.cf
    * added support for cross compilation (Windows binaries at Linux) with
      MinGW - borrowed from xHarbour Phil Krylov solution

  * harbour/contrib/btree/hb_btree.c
    * casting

  * harbour/contrib/libct/files.c
    ! fixed iAttr initialization in SETFATTR()

  * harbour/contrib/ole/ole2.c
    ! fixed names of included files

  * harbour/contrib/rdd_ads/ace.h
    * cover #pragma warning( error : 4706 ) by !defined( __GNUC__ )

  * harbour/include/hbapi.h
  * harbour/include/hbdefs.h
  + harbour/source/common/hbarch.c
  * harbour/source/common/Makefile
    * added functions for machine independent double and long long conversions
      (my code borrowed from xHarbour)

  * harbour/include/hbapifs.h
    * synced file IO with xHarbour - it fixes some problems, adds some
      missing functionality and long (64bit) file support for Windows.
      For Linux I added it some time ago.

  * harbour/include/hbcomp.h
    * changed 'char cScope' to 'HB_SYMBOLSCOPE cScope'

  * harbour/source/common/hbfsapi.c
    ! fixed some possible buffer overflow

  * harbour/source/common/hbstr.c
    * synced with xHarbour

  * harbour/source/common/hbver.c
    + added hb_iswinnt() (borrowed from xHarbour)

  * harbour/source/compiler/cmdcheck.c
    + added -undef: compiler switch (borrowed from xHarbour)

  * harbour/source/compiler/gencobj.c
    * cleanup

  * harbour/source/pp/ppcore.c
    ! fixed path delimiters in included file names

  * harbour/source/rtl/Makefile
  + harbour/source/rtl/fserror.c
    + added C -> OS file error trnalsations - not perfect but better then
      the used hacks (borrowed from xHarbour)

  * harbour/source/rtl/file.c
    * use hb_fileNameConv() instead of hb_filecase() - hb_fileNameConv()
      is the only one function to make file name conversions dependent on
      some SETs.

  * harbour/source/rtl/filesys.c
    * synced file IO with xHarbour - it fixes some problems, adds some
      missing functionality and long (64bit) file support for Windows.
      For Linux I added it some time ago.

  * harbour/source/rtl/fstemp.c
    * synced with xHarbour

  * harbour/source/rtl/strings.c
    * use ULONG instead of size_t in hb_strnicmp declaration - we have to
      decide what we should use. Using size_t or its Harbour version f.e.
      HB_SIZE_T seems to be reasonable but it has to be global - redefining
      single functions does not make sense and will create troubles only.
2005-11-01 22:31:05 +00:00
Chen Kedem
953d42b905 2005-10-30 14:50 UTC+0200 Chen Kedem <niki@actcom.co.il> 2005-10-30 12:50:27 +00:00
Viktor Szakats
8c0f1c7afa 2005-10-28 10:23 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
   * include/hbapicdp.h
   * source/codepage/Makefile
   * source/codepage/cdphu852.c
   * source/lang/Makefile
   * source/lang/msg_tpl.c
   * source/lang/msghu852.c
   + source/codepage/cdpbg866.c
   + source/codepage/cdpbgiso.c
   + source/codepage/cdpbgwin.c
   + source/codepage/uc8859_5.c
   + source/lang/msgbg866.c
   + source/lang/msgbgiso.c
   + source/lang/msgbgwin.c
     + Added BG language support.
     * HU minor fix.
     * Lang template updated.
2005-10-28 08:23:35 +00:00
Viktor Szakats
8f6ae8aa61 2005-10-24 12:08 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
   * source/codepage/Makefile
   * source/codepage/cdphu852.c
   + source/codepage/cdphuiso.c
   * source/codepage/cdphuwin.c
   * source/lang/Makefile
   * source/lang/msghu852.c
   * source/lang/msghucwi.c
   + source/lang/msghuiso.c
   * source/lang/msghuwin.c
     * HU lang stuff updated. ISO cp added (same as Win cp). Minor fixes
       (not related to functionality) added.
2005-10-24 11:46:06 +00:00
Przemyslaw Czerpak
6d28a19d98 2005-10-24 13:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbdefs.h
  * harbour/include/hbtypes.h
  * harbour/source/rtl/empty.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/maindllp.c
    + added HB_TYPE to as HB_ITEM type marker.
    * set HB_TYPE as UINT32
    * updated to the above modifications
    * cleaned some ~HB_IT_BYREF which has no effect in current VM
2005-10-24 11:29:10 +00:00
Przemyslaw Czerpak
5aa228910c 2005-10-24 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbtypes.h
  * harbour/source/vm/maindllp.c
    ! fixed some declaration I missed in previous commit
2005-10-24 10:47:32 +00:00
Viktor Szakats
9ad10dc666 2005-10-24 12:08 UTC+0100 Viktor Szakats (viktor.szakats/syenar.hu)
* hrbdll.bc
   * hrbdll.vc
   * makefile.bc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
   * source/codepage/Makefile
   * source/codepage/cdphu852.c
   + source/codepage/cdphuiso.c
   * source/codepage/cdphuwin.c
   * source/lang/Makefile
   * source/lang/msghu852.c
   * source/lang/msghucwi.c
   + source/lang/msghuiso.c
   * source/lang/msghuwin.c
     * HU lang stuff updated. ISO cp added (same as Win cp). Minor fixes
       (not related to functionality) added.
2005-10-24 10:15:48 +00:00
Przemyslaw Czerpak
188575920d 2005-10-24 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/dot/pp.prg
  * harbour/contrib/dot/pp_harb.ch
  * harbour/include/hbapi.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbdefs.h
  * harbour/include/hbextern.ch
  * harbour/include/hbinit.h
  * harbour/include/hbstack.h
  * harbour/include/hbsxfunc.h
  * harbour/include/hbvm.h
  + harbour/include/hbvmopt.h
  * harbour/include/hbvmpub.h
  * harbour/source/codepage/cdp_tpl.c
  * harbour/source/codepage/cdppl852.c
  * harbour/source/codepage/cdppliso.c
  * harbour/source/codepage/cdpplmaz.c
  * harbour/source/codepage/cdpplwin.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/harbour.c
  * harbour/source/lang/msgca.c
  * harbour/source/lang/msgpl852.c
  * harbour/source/lang/msgpliso.c
  * harbour/source/lang/msgplmaz.c
  * harbour/source/lang/msgplwin.c
  * harbour/source/rdd/Makefile
  * harbour/source/rdd/dbcmd.c
  -  harbour/source/rdd/dbf0.prg
  * harbour/source/rdd/dbf1.c
  -  harbour/source/rdd/delim0.prg
  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/rddsys.prg
  -  harbour/source/rdd/sdf0.prg
  * harbour/source/rdd/sdf1.c
  * harbour/source/rdd/dbfcdx/Makefile
  -  harbour/source/rdd/dbfcdx/dbfcdx0.prg
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  -  harbour/source/rdd/dbfcdx/sixcdx0.prg
  * harbour/source/rdd/dbfdbt/Makefile
  -  harbour/source/rdd/dbfdbt/dbfdbt0.prg
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/Makefile
  -  harbour/source/rdd/dbffpt/dbffpt0.prg
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/Makefile
  * harbour/source/rdd/dbfntx/dbfntx0.prg
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/hbsix/Makefile
  * harbour/source/rdd/hbsix/sxcompr.c
  * harbour/source/rdd/hbsix/sxcrypt.c
  * harbour/source/rdd/hbsix/sxdate.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rdd/nulsys/nulsys.prg
  * harbour/source/rtl/browdbx.prg
  * harbour/source/rtl/cdpapi.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/arrayshb.c
  * harbour/source/vm/asort.c
  * harbour/source/vm/break.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/debug.c
  * harbour/source/vm/dynlibhb.c
  * harbour/source/vm/dynsym.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/evalhb.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/fm.c
  * harbour/source/vm/garbage.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/initsymb.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/maindllp.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/memvclip.c
  * harbour/source/vm/pcount.c
  * harbour/source/vm/proc.c
  * harbour/source/vm/pvalue.c
  * harbour/source/vm/runner.c
    * remove default API and stack macros. Now API/stack macros can be
      enabled by including hb_vmopt.h file.
      This file should be included _ONLY_ by core code because binary
      object/libraries generated after can work only with _EXACTLY_ the
      same HVM compiled the same C alignment switches
    * cleaned some HB_EXTERN_C declaration - Anotonio you should be able
      to build FWH now
    * cleaned startup initialization code -
      please update lang and codepage files - I only updated
      source/codepage/cdppl*.c and source/lang/msgpl*.c files
      Or other files should be updated or they will not work MSC
    * synced with recent xHarbour modification in RDD init code
2005-10-24 00:52:42 +00:00
Antonio Linares
44bd86333a Minor fix to support define HB_NO_DEFAULT_API_MACROS (if used)
required by Microsoft compiler
2005-10-23 07:13:09 +00:00
Antonio Linares
faeb92ea67 Minor fix to support define HB_NO_DEFAULT_API_MACROS (required by Microsoft compiler) 2005-10-23 07:09:59 +00:00
Przemyslaw Czerpak
23172a52ce 2005-10-12 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/global.cf
    + added HB_DB_DRVEXT envvar support for additional RDDs

  * harbour/config/linux/gcc.cf
  + harbour/config/linux/gpp.cf
    + added GNU C++ support

  * harbour/config/linux/owatcom.cf
  * harbour/contrib/btree/hb_btree.c
  * harbour/contrib/libct/ct.h
  * harbour/contrib/libct/ctc.c
  * harbour/contrib/odbc/odbc.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/include/hbapi.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapilng.h
  * harbour/source/compiler/harbour.c
  * harbour/source/rtl/console.c
  * harbour/source/rtl/datec.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/errorint.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/isprint.c
  * harbour/source/rtl/natmsg.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/setcolor.c
  * harbour/source/rtl/spfiles.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/runner.c
    * fixed for popper compilation with GNU C++ and OpenWatcom on Linux
2005-10-12 00:30:49 +00:00
Ryszard Glab
252a1e65cb 2005-10-05 15:05 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/common/expropt2.c
      * fixed bug in ASC() optimization (when character code > 127)
2005-10-05 12:57:22 +00:00
Ryszard Glab
b7321e3a01 2005-09-28 13:05 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* makefile.bc
   * makefile.nt
   * makefile.vc
   * makefile64.nt
      - removed references to DBFDBT library

   * source/debug/dbgtmenu.prg
   * source/debug/dbgtmitm.prg
   * source/debug/dbgtwin.prg
   * source/debug/debugger.prg
   * source/rtl/alert.prg
      * fixed displaying of boxes under the xterm
        (use @ ... TO ... instead of @ ... BOX)

   * source/rtl/gtcrs/gtcrs.c
      * fixed restoring of alternate characters flag
2005-09-28 11:20:52 +00:00
Przemyslaw Czerpak
7bb567d30d 2005-09-25 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/make_tgz.sh
  * harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  * harbour/config/global.cf
  * harbour/include/hbapiitm.h
  * harbour/include/hbdate.h
  * harbour/include/hbextern.ch
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rtl/dates.c
  * harbour/source/vm/itemapi.c
    * updated for proper RDD synchronization with xHarbour

  * harbour/source/vm/hvm.c
    ! fixed bug in divide by 0 substitution

  * harbour/contrib/rdd_ads/ads0.prg
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/rdd_ads/rddads.h
    * synced base of ADS RDD with xHarbour - old code cannot be compiled
      without it - external ADS*() functions not synced - I do not use them
      and I do not want to break sth - Harbour ADS developers should check it
2005-09-26 10:08:47 +00:00
Przemyslaw Czerpak
ded757f92c 2005-09-25 21:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/make_tgz.sh
  * harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  * harbour/config/global.cf
  * harbour/include/hbapiitm.h
  * harbour/include/hbdate.h
  * harbour/include/hbextern.ch
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rtl/dates.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
    * updated for proper RDD synchronization with xHarbour

  * harbour/contrib/rdd_ads/ads0.prg
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/rdd_ads/rddads.h
    * synced base of ADS RDD with xHarbour - old code cannot be compiled
      without it - external ADS*() functions not synced - I do not use them
      and I do not want to break sth - Harbour ADS developers should check it
2005-09-25 19:39:45 +00:00
Ryszard Glab
7d20bfda2f 2005-09-23 15:05 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbextern.ch
      * removed reference to SDFC and DELIMC
   * source/rdd/dbcmd.c
      * removed definition of DBSKIPPER function (it is defined
      already in rtl/browdbx.prg)
2005-09-23 12:56:14 +00:00
Ryszard Glab
691b3a9890 2005-09-23 15:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* changes to synhronize RDD code with xHarbour (state of 23.09.2005)
        Many, many thanks to Przemek Czerpak for his work.
2005-09-23 08:45:05 +00:00
Viktor Szakats
2e2b735224 2005-09-20 10:16 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* source/rtl/tget.prg
     ! One previous fix reverted because it broke numeric data entry.
       Solved from caller side for the meantime. TOFIX added.
2005-09-20 08:16:39 +00:00
Alejandro de Garate
e318271c7a Added sample of scrollbar class 2005-08-23 22:51:38 +00:00
Viktor Szakats
587507c89d 2005-06-14 21:11 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* source/rtl/disksphb.c
     * hb_DiskSpace() changed to not give a runtime error in case
       of any error, but set the FError() value instead.

   * config/bsd/global.cf
   * config/darwin/global.cf
   * config/dos/global.cf
   * config/dos/owatcom.cf
   * config/hpux/global.cf
   * config/linux/global.cf
   * config/linux/owatcom.cf
   * config/os2/dir.cf
   * config/os2/global.cf
   * config/os2/install.cf
   * config/sunos/global.cf
   * config/w32/global.cf
     ! Changed all line beginning spaces to Tabs.
2005-06-14 19:12:08 +00:00
Viktor Szakats
193e4b6372 2005-06-11 13:01 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* source/rtl/idle.c
     ! Fix to prev. commit.
2005-06-11 11:02:31 +00:00
Viktor Szakats
282c6ee70f 2005-06-09 18:09 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* source/rtl/tget.prg
     ! :displat fixed (again) to always call VarGet block
       to be CA-Cl*pper compatible.

   * config/w32/global.cf
     ! Fixed to properly create the obj directories when compiling
       using GCC under XP. This broke in the near past.

   * source/pp/ppcore.c
     ! Fixed two compiler warnings.
     ; Please review one of them if you made the change, since
       I'm not sure what the intention was, here's the code snippet:

       ...
       lenreal = IsMacroVar( *ptri, com_or_tra ); /* THIS LINE IS NOW COMMENTED OUT */
       *ptri +=1;
       lenreal = getExpReal( expreal+2, ptri, FALSE, maxlenreal, FALSE );
       ...

   * source/codepage/cdphu852.c
     ! HU sorting order fixed to be more compatible with CA-Cl*pper.
       (Still missing some non-852 chars though)

   * source/common/hbver.c
     ! Fixed forming NT version number (5.01.2600 -> 5.1.2600)

   * source/compiler/hbusage.c
     + Copyright year updated.

   * harbour/source/rtl/idle.c
     * Cleaned up a platform dependent code part.
2005-06-09 16:04:09 +00:00
Antonio Linares
50d62fc2fa 64 bits support - temporary minor workarounds 2005-04-18 22:15:28 +00:00
Antonio Linares
51671e6848 hb_vmArrayGen() - Microsoft C 64 bits required fix 2005-04-17 11:02:45 +00:00
Ryszard Glab
971da5e61e 2005-03-18 11:45 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* config/dos/global.cf
      *restored creation of subdirectiories under plain DOS

   * include/hbapi.h
   * include/hbcomp.h
   * include/hbdefs.h
   * include/hbvm.h
   * source/compiler/genc.c
   * source/compiler/harbour.c
   * source/compiler/hbpcode.c
   * source/vm/dynsym.c
   * source/vm/hvm.c
   * source/vm/macro.c
      *modified creation of symbols table
         *symbol of function name never share a symbol of variable
         *symbol for INIT/EXIT procedure has now '$' suffix - this means
         that such procedures cannot be called from user code
         (Clipper compatible)
       See the following code:
       PROCEDURE MAIN
        aaa()
       RETURN
       INIT PROCEDURE aaa
        ? "In INIT procedure", PROCNAME(0)
       RETURN
       STATIC PROCEDURE aaa
        ? "In STATIC procedure", PROCNAME(0)
       RETURN
       It will print:
       In INIT procedure aaa$
       In STATIC procedure aaa

      *fixed access to static functions in a macro compiler (symbols for
      static functions never goes into dynamic symbols table)

   * source/pp/ppcore.c
      *increased numer of nested optional clauses (max 5 currently - work
      in progress)
2005-03-18 10:39:33 +00:00
Antonio Linares
fd3a96bead hb_objGetpMethod() compiled as extern "C" for MSVC compatibility with xHarbour 2005-02-16 12:52:01 +00:00
Przemyslaw Czerpak
7750612ce9 2005-02-01 20:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    * fixed public releasing - fix borrowed from xHarbour
      Ryszard please check if it doesn't cause any bad side effects.
      The following code demonstrate the problem.

      ===========================================
         memvar x, y, z
         proc main()
         local l := { || x }
         public x := "QWE"
         private z := "asd"
         Errorblock( { | oError | errHandler( oError ) } )
         ? eval( l )
         test()
         ? x
         ? z
         ? eval( l )
         return

         proc test()
         private y := "xyz"
         release x, y, z
         ? x
         ? y
         ? z
         return

         func errHandler( oErr )
         local varName := oErr:operation()
         public &varName := oErr:description() + ": " + varName
         return .t.
      ===========================================
2005-02-01 19:57:39 +00:00
Przemyslaw Czerpak
5b55562b32 2005-01-31 20:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* xharbour/source/rdd/dbf1.c
    * fixed possible GPF I introduced with last update.
2005-01-31 19:48:36 +00:00
Przemyslaw Czerpak
e31bdceeb4 2005-01-30 22:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* xharbour/contrib/rdd_ads/ace.h
    * small modification for OpenWatcom on Linux

  * xharbour/source/rdd/dbfntx/dbfntx1.c
    * minor fix: use *_GOTO( pArea, 0 ) instead
      of *_GOTO( pArea, pArea->ulRecCount+1000 )
    + use hb_fsSeekLarge() - for DBFs longer then 2GB

  * xharbour/include/hbrddcdx.h
  * xharbour/source/rdd/dbfcdx/dbfcdx1.c
    + use hb_fsSeekLarge() - for DBFs longer then 2GB
    * my last xHarbour modifications:
      improved indexing speed of DBFs with very big number of
      records. In small DBFs less then 100'000 records the new
      algorithm can even decrease the speed by ~0.5% due to static
      costs but in bigger it becomes faster. For 1'000'000 records
      DBFs is about 20% faster, for 10'000'000 records about twice
      faster. With bigger DBFs more. Please test it. If you will
      have any troubles (I hope not) then please comment out in
      dbfcdx.c:
        #define HB_CDX_NEW_SORT
      I should done it before when I was rewriting the indexing but
      sorry I was too lazy. Now I've found a while. Current cost of
      key comparisons is always n*log2(n) and cannot be more improved.
      Some small optimizations still can be done but the static cost
      for small database will be bigger then ~0.5% as in this case
      so I do not plan to do it in the nearest future.

  * harbour/include/dbinfo.ch
  * harbour/source/rdd/dbf1.c
    + use hb_fsSeekLarge() - for DBFs longer then 2GB
    * synched with xHarbour (added DBRI_RAW*)
    * do not call GOCOLD() inside CHILDSYNC() but do it in FORCEREL()
      the modification based on CL5.3 NG.
      Below is a note I lef in dbf1.c:
      /*
       * !!! The side effect of calling GOCOLD() inside CHILDSYNC() is
       * evaluation of index expressions (index KEY and FOR condition)
       * when the pArea is not the current one - it means that the
       * used RDD has to set proper work area before eval, DBFCDX does
       * but DBFNTX not yet - it should be changed.
       * IMHO GOCOLD() could be safely removed from this place but I'm not
       * sure it's Clipper compatible - I will have to check it, Druzus.
       */
      /*
       * I've checked in CL5.3 Technical Reference Guide that only
       * FORCEREL() should ensure that the work area buffer is not hot
       * and then call RELEVAL() - I hope it describes the CL5.3 DBF* RDDs
       * behavior so I replicate it - the GOCOLD() is moved from CHILDSYNC()
       * to FORCEREL(), Druzus.
       */

  * harbour/source/rdd/dbf0.prg
  * harbour/source/rdd/delim0.prg
  * harbour/source/rdd/rddsys.prg
  * harbour/source/rdd/sdf0.prg
  * harbour/source/rdd/dbfntx/dbfntx0.prg
    * formatting (adding EOL at EOF)

  * harbour/include/hbapifs.h
  * harbour/source/rtl/filesys.c
    * added hb_fsLockLarge() and hb_fsSeekLarge() which uses 64bit ofsets

  * harbour/source/rdd/workarea.c
    * set current work area to the used one in EVALBLOCK RDD method
      before code block evaluation

  * harbour/source/vm/harbinit.prg
  * harbour/source/vm/hvm.c
    + added hb_vmDoInitClip() which calls CLIPINIT function to initialize
      ErrorBlock() and __SetHelpK()
      Because on some platform the execution order of init functions
      is out of Harbour control then CLIPINIT has to be called explicitly
      in VM initialization process before hb_vmDoInitFunctions() and do not
      depends on INIT clause.
    * small modification in VM loop which gives noticeable speed-up
2005-01-30 21:11:50 +00:00
Alexander S.Kresin
36dacf4a3c 2005-01-22 23:40 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2005-01-22 20:39:39 +00:00
Alexander S.Kresin
5dfdadc1ea 2005-01-22 19:55 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2005-01-22 16:58:53 +00:00
Przemyslaw Czerpak
47fed5e797 2004-01-13 09:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* xharbour/source/rtl/mod.c
    ! fixed mod() function to be Clipper/DBASE III compatible
      (not the % operator) for combination of psitive and negative
      numbers
2005-01-13 08:30:56 +00:00
Przemyslaw Czerpak
fb7302c76b 2004-01-13 08:15 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
+ harbour/include/hbfixdj.h
    + I missed to add this file in my last commit - it's borrowed from
      xHarbour.
  * harbour/source/rtl/filesys.c
    ! fixed DJGPP compilation I broke
2005-01-13 07:15:37 +00:00
Przemyslaw Czerpak
21ddfc5d47 2004-01-12 18:25 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/hbgtmk.sh
  * harbour/make_rpm.sh
  * harbour/harbour.spec
    * added flex to dependences
    * added --without gpl swich to exclude code which needs 3-rd party
      GPL libs (GPM, SLANG) - necessary for people who want to create
      commercial closed source application

  * harbour/make_gnu.sh
    * modified DJGPP detection - try to use env var first
    * set HB_GT_LIB depending on platform information
    * check PREFIX env var for default installation

  * harbour/make_tgz.sh
    * modified to work with DJGPP and 8.3 file names

  * harbour/bin/hb-func.sh
    * DJGPP support

  * harbour/bin/pack_src.sh
    * autodetect Harbour version number

  * harbour/config/linux/gcc.cf
    * added small comment

  + harbour/config/linux/owatcom.cf
    + OpenWatcom support on Linux

  * harbour/config/w32/global.cf
  * harbour/config/w32/mingw32.cf
    * small modification in clean procedure
    + added Phil's modification for MINGW cross compilation in Linux and BSD

  * harbour/source/compiler/gencobj.c
    + added Phil's modification for MINGW cross compilation in Linux and BSD

  * harbour/include/hbsetup.h
    * added OS_HAS_DRIVE_LETTER, OS_PATH_DELIMITER_STRING, OS_FILE_MASK,
      OS_DRIVE_DELIMITER and HOST_OS_UNIX_COMPATIBLE
    * modified for OW on Linux and MINGW cross compilation
    * added snprintf macro for compilers which do not support it

  * harbour/source/rtl/mod.c
    ! fixed bug in mod(a,b) when a/b exceeds LONG limit

  * harbour/source/rtl/filesys.c
    * removed HB_FS_DRIVE_LETTER - use OS_HAS_DRIVE_LETTER
    * modified for OW on Linux and MINGW cross compilation

  * harbour/contrib/libct/files.c
  * harbour/include/hb_io.h
  * harbour/include/hbdefs.h
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/net.c
  * harbour/source/rtl/seconds.c
  * harbour/source/rtl/gtcrs/Makefile
  * harbour/source/rtl/gtcrs/kbdcrs.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/Makefile
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/mainstd.c
  * harbour/source/vm/mainwin.c
    * modified for OW on Linux and MINGW cross compilation

  * harbour/source/vm/memvars.c
    - removed unnecessary checking for s_globalTable == NULL in
      hb_memvarValueDecRef() - in Harbour it cannot happen
  * harbour/source/vm/itemapi.c
    - removed snprintf macros (see hbsetup.h)
    * fixed possible GPF in hb_itemCopyC()
    * modified hb_itemGetPtr() to check item type
2005-01-12 17:28:05 +00:00
Ryszard Glab
1f694e7a7b 2005-01-06 12:15 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/pp/ppcore.c
      * defined pseudo-functions' parameters are case sensitive now
      (this fixes bug #define F( n )  FF( n, N ) )
2005-01-06 11:06:39 +00:00
Ryszard Glab
0dd2bc56b7 2005-01-03 14:15 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbexprb.c
   * source/compiler/exproptb.c
   * source/macro/macrob.c
      * fixed to compile with SIMPLEX defined
      Notice: Simplex version is not updated for a long time and
      it doesn't support all fixes from FLEX version
2005-01-03 13:09:47 +00:00
Ryszard Glab
181e59a3a6 2005-01-03 10:30 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbcomp.h
   * include/hbexprb.c
   * include/hbmacro.h
   * source/compiler/exproptb.c
   * source/compiler/harbour.c
   * source/compiler/hbgenerr.c
   * source/macro/macrob.c
   * source/vm/macro.c
      * compiler reports error on the following syntax now (Clipper
        compatibility):
         {|| &macrovar <operator> anysymbol}
        "codeblock contains both macro and declared symbol reference"
        Notice, that Clipper reports error even in this case:
        MEMVAR mvar
        {|| &mvar,mvar}

   * source/vm/memvars.c
      * restored initial and expand sizes for memvars table

   * source/pp/ppcore.c
      * some empty lines added
2005-01-03 09:28:58 +00:00
Luis Krause
39844a68f0 2004-12-31 06:16 UTC-0800 Luis Krause Mantilla 2004-12-31 14:19:59 +00:00
Przemyslaw Czerpak
78070e00c4 2004-12-31 12:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/source/codepage/cdp_tpl.c
  * harbour/source/codepage/cdpeldos.c
  * harbour/source/codepage/cdpelwin.c
  * harbour/source/codepage/cdpesdos.c
  * harbour/source/codepage/cdpeswin.c
  * harbour/source/codepage/cdpgedos.c
  * harbour/source/codepage/cdpgewin.c
  * harbour/source/codepage/cdphu852.c
  * harbour/source/codepage/cdphuwin.c
  * harbour/source/codepage/cdppl852.c
  * harbour/source/codepage/cdppliso.c
  * harbour/source/codepage/cdpplmaz.c
  * harbour/source/codepage/cdpplwin.c
  * harbour/source/codepage/cdppt850.c
  * harbour/source/codepage/cdpptiso.c
  * harbour/source/codepage/cdpru866.c
  * harbour/source/codepage/cdprukoi.c
  * harbour/source/codepage/cdpruwin.c
  * harbour/source/codepage/cdpsl437.c
  * harbour/source/codepage/cdpsl852.c
  * harbour/source/codepage/cdpsliso.c
  * harbour/source/codepage/cdpslwin.c
  * harbour/source/codepage/cdpsrwin.c
  * harbour/source/rtl/cdpapi.c
    * fix memory leak reported for accented and multi byte CPs

  + harbour/source/codepage/cdpesmwi.c
    * added missing Spanish modern CP

  * harbour/include/hbstack.h
  * harbour/include/hbapiitm.h
  * harbour/source/vm/estack.c
  * harbour/source/vm/itemapi.c
    + added hb_stackReturnItem()
    - removed hb_itemReturnPtr()

  * harbour/source/rdd/workarea.c
    ! fixed possible restoring of scopes in scoped relations after
      'SET RELATION TO'

  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * use hb_stackReturnItem() instead of direct stack accessing

  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! Fixed opening NTX file in ReadOnly mode
    * use hb_stackReturnItem() instead of direct stack accessing

  * harbour/source/rtl/filesys.c
    * cleaned unnecessary initialization

  * harbour/source/vm/memvars.c
    * formatting and small fix for calling GC after hb_memvarsRelease()
2004-12-31 11:47:58 +00:00
Przemyslaw Czerpak
a188a207d6 2004-12-28 11:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/samples/dbf.c
  * harbour/contrib/samples/time.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rtl/accept.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/initsymb.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/memvclip.c
    * changed 'extern HB_FUNC' to HB_FUNC_EXTERN for easier ABI
      manipulations
2004-12-28 10:33:04 +00:00
Przemyslaw Czerpak
e4ac791059 2004-12-28 10:30 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/hbgtmk.sh
  * harbour/make_rpm.sh
  * harbour/bin/pack_src.sh
    * updated for recent changes in make process

  * harbour/contrib/Makefile
    * added odbc lib for Linux compilation

  * harbour/contrib/btree/Makefile
    * changed lib name from hb_btree to hbtree

  * harbour/contrib/btree/hb_btree.api
  * harbour/contrib/btree/hb_btree.c
    * fixed GCC compilation in HB_TR_DEBUG mode

  * harbour/contrib/hbzlib/hbzip.h
  * harbour/contrib/hbzlib/include/hbzip.h
  * harbour/include/hbapi.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbapierr.h
  * harbour/include/hbapifs.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbapilng.h
  * harbour/include/hbapirdd.h
  * harbour/include/hbcomp.h
  * harbour/include/hbdate.h
  * harbour/include/hbdbsort.h
  * harbour/include/hberrors.h
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/include/hbhash.h
  * harbour/include/hbinit.h
  * harbour/include/hbmacro.h
  * harbour/include/hbpp.h
  * harbour/include/hbrdddel.h
  * harbour/include/hbrddntx.h
  * harbour/include/hbrddsdf.h
  * harbour/include/hbrddwrk.h
  * harbour/include/hbset.h
  * harbour/include/hbstack.h
  * harbour/include/hbtrace.h
  * harbour/include/hbvm.h
  * harbour/include/hbvmpub.h
    * changed #if defined (HB_EXTERN_C) to HB_EXTERN_BEGIN / HB_EXTERN_END
      macros for easier manipulation with different ABI
    * added HB_IS_BADITEM() macro for debugging
    * synced CDP with xHarbour - added basic Unicode support
    * synced RDD with xHarbour

  * harbour/source/codepage/Makefile
  * harbour/source/codepage/cdp_tpl.c
  * harbour/source/codepage/cdpeldos.c
  * harbour/source/codepage/cdpelwin.c
  * harbour/source/codepage/cdpesdos.c
  * harbour/source/codepage/cdpeswin.c
  * harbour/source/codepage/cdpgedos.c
  * harbour/source/codepage/cdpgewin.c
  * harbour/source/codepage/cdphu852.c
  * harbour/source/codepage/cdphuwin.c
  * harbour/source/codepage/cdppl852.c
  * harbour/source/codepage/cdppliso.c
  * harbour/source/codepage/cdpplmaz.c
  * harbour/source/codepage/cdpplwin.c
  * harbour/source/codepage/cdppt850.c
  * harbour/source/codepage/cdpptiso.c
  * harbour/source/codepage/cdpru866.c
  * harbour/source/codepage/cdprukoi.c
  * harbour/source/codepage/cdpruwin.c
  * harbour/source/codepage/cdpsl437.c
  * harbour/source/codepage/cdpsl852.c
  * harbour/source/codepage/cdpsliso.c
  * harbour/source/codepage/cdpslwin.c
  * harbour/source/codepage/cdpsrwin.c
  + harbour/source/codepage/uc1250.c
  + harbour/source/codepage/uc1251.c
  + harbour/source/codepage/uc1253.c
  + harbour/source/codepage/uc1257.c
  + harbour/source/codepage/uc737.c
  + harbour/source/codepage/uc850.c
  + harbour/source/codepage/uc852.c
  + harbour/source/codepage/uc866.c
  + harbour/source/codepage/uc88591b.c
  + harbour/source/codepage/uc8859_1.c
  + harbour/source/codepage/uc8859_2.c
  + harbour/source/codepage/uckoi8.c
  + harbour/source/codepage/uckoi8u.c
  + harbour/source/codepage/ucmaz.c
  * harbour/source/rtl/cdpapi.c
    * synced HB CDP API with xHarbour - added basic Unicode support

  * harbour/source/common/expropt2.c

  * harbour/source/common/hbstr.c
    * removed unnecessary initialization to avoid BCC warnings

  * harbour/source/compiler/harbour.c
    * formatting
      hb_compCodeBlockStop() looks like work in progress or is has
      some old unused code - Ryszard, can you look at it?

  * harbour/source/macro/macro.y
    * removed hack for GCC and old Bison versions

  * harbour/source/pp/ppcore.c
    * removed unnecessary initialization to avoid BCC warnings

  * harbour/source/pp/pptable.c
    + added some sets for RDD synchronization with xHarbour

  * harbour/source/rdd/dbcmd.c
    + added __RDDGETTEMPALIAS

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbfuncs.prg
  * harbour/source/rdd/dbnubs.c
  * harbour/source/rdd/dbstrux.prg
  * harbour/source/rdd/hbdbsort.c
  * harbour/source/rdd/rddord.prg
  * harbour/source/rdd/workarea.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  * harbour/source/rdd/dbfdbt/dbfdbt1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
    * synchronized with xHarbour - still dbcmd.c has to be synced yet
    ! fixed all known bugs
    Alexander, please look at DBFNTX - I hope all is correct.

  * harbour/source/vm/codebloc.c
    * formatting

  * harbour/source/vm/fm.c
    + added HB_PARANOID_MEM_CHECK to force reallocations in hb_xrealloc
      and fill allocated and freed memory with HB_MEMFILER (0xff by default)
      It's for debugging only.

  * harbour/source/vm/hvm.c
    ! fixed hb_vmTopNumber() declaration for BCC
    * use hb_gcCollectAll() at HVM exit instead of hb_gcReleaseAll() to
      report allocated and not freed items - It could caused that some
      programs begin to report memory leaks.

  * harbour/source/vm/itemapi.c
    * check for HB_IS_BADITEM inside hb_itemClear() when compiled with
      HB_PARANOID_MEM_CHECK for debugging

  * harbour/source/vm/memvars.c
    * formatting
    ! fixed pItem initialization in hb_memvarDetachLocal()
      BTW - is this really necessary? I copy it form hb_itemUnRef()
      but in fact it cannot detect all possible item reference cycles
      if they appear - can they appear?
2004-12-28 09:29:30 +00:00
Ryszard Glab
d959aa7c95 2004-12-27 10:37 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/vm/memvars.c
      * changed algorithm for recycling of unused memvar values
        - thanks to Przemek
2004-12-27 09:37:52 +00:00