Commit Graph

4156 Commits

Author SHA1 Message Date
Ryszard Glab
385facd33c 2006-07-20 11:40 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* source/pp/ppcore.c
      * fixed bugs which I introduced

   * utils/hbpptest/pretest.prg
      * added more test cases

   + utils/hbpptest/pp_test.prg
      * new file to test preprocessor Preprocess both with Clipper
        and harbour and next use diff utility to compare outputs -
        ignore the number of white spaces (use diff -w -u ...)
2006-07-20 09:36:28 +00:00
Przemyslaw Czerpak
65d8bc1265 2006-07-18 21:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! fixed executing EXIT procedures after external to BEGIN SEQUENCE / END
      BREAK - now by default we are taking the same action as after QUIT
      what seems to be intention of Clipper authors. When HVM is compiled
      with HB_C52_STRICT macro then we will try to emulate real Clipper
      behavior.

  * harbour/include/hbapi.h
  * harbour/source/vm/itemapi.c
    + added single member to hb_struPointer structure for internal HVM use.
      The reference counter for GC collectible HB_IT_POINTER items which have
      'single' member set to TRUE is not updated in hb_itemCopy().

  * harbour/source/rdd/workarea.c
    * code cleanup
2006-07-18 19:28:34 +00:00
Viktor Szakats
543a5c815d minor 2006-07-18 10:50:34 +00:00
Ryszard Glab
3b93622069 2006-07-18 12:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* source/pp/ppcore.c
      * added guard for infinite loop

   * utils/hbpptest/pretest.prg
      * added more test cases (3 of them fails)
2006-07-18 10:14:31 +00:00
Przemyslaw Czerpak
294032d320 2006-07-18 12:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! fixed problems reported by Marek with EXIT procedures after my
      last commit
2006-07-18 09:59:23 +00:00
Viktor Szakats
3cc9382678 2006-07-18 10:21 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/lang/msgcs852.c
   * harbour/source/lang/msgcsiso.c
   * harbour/source/lang/msgcskam.c
   * harbour/source/lang/msgcswin.c
     + Updates/fixes and more translated texts for Czech
       language modules. Thanks to:
       Vojtech Obrdlik <vobrdlik centrum.cz>

   * harbour/source/pp/pplib.c
     ! Fixed function names in trace calls.

   * harbour/source/rdd/dblist.prg
   *	harbour/source/rdd/dbsort.prg
   * harbour/source/rdd/dbstrux.prg
     + Minor improvements.
2006-07-18 08:34:15 +00:00
Marek Paliwoda
7abd0077a3 2006-07-18 08:00 UTC+0100 Marek Paliwoda (mpaliwoda at interia pl)
* harbour/source/vm/mainwin.c
     ! Fixed compilation in C mode under Msvc

   * harbour/include/hbapi.h
     * Added HB_EXPORT to hb_symbolNew()

   * harbour/makefile.bc
   * harbour/makefile.vc
   * harbour/make_b32.bat
   * harbour/make_vc.bat
   * harbour/Common.mak
     ! Fixed compilation of Harbour DLL
     ! Fixed compilation of HbPPTest.exe
     % Improved building of customized Harbour DLL
     % Some more minor fixes and improvements
2006-07-18 06:07:59 +00:00
Przemyslaw Czerpak
f844d53197 2006-07-18 03:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/en/hb_vm.txt
  * harbour/doc/es/hb_vm.txt
  * harbour/include/hbvm.h
  * harbour/contrib/hgf/gtk/mainlgtk.c
  * harbour/source/compiler/gencc.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/vm/maindll.c
  * harbour/source/vm/mainpm.c
  * harbour/source/vm/mainstd.c
  * harbour/source/vm/mainwin.c
  * harbour/source/vm/hvm.c
    * changed hb_vmQuit() to not execute EXIT() but return s_nErrorLevel
    ! execute EXIT procedures in hb_vmRequestQuit() - Clipper compatible
      behavior
    * do not exit immediately in RT errors but return from all executed
      functions - some internal parts of RDD code will have to be fixed.

  * harbour/source/vm/proc.c
    ! fixed procname for codeblocks. Seems that we are not fully Clipper
      compatible yet. I'll look at it closer soon.

  * harbour/TODO
    + added new item: Clean RDD code to be safe for return from RT errors
      assigned to me
2006-07-18 01:30:23 +00:00
Przemyslaw Czerpak
c3758d5849 2006-07-17 13:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_tgz.sh
    * added hbpptest to list of tools rebuilt with shared library

  * harbour/source/rdd/dbcmd.c
    ! fixed possible access to uninitialized variable in __dbApp()/__dbCopy()
2006-07-17 11:37:31 +00:00
Viktor Szakats
72ef53f6a5 2006-07-17 03:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/dbedit.prg
     % Optimized codeblock creation.
     + Restores 100% compatible codeblock creation for STRICT mode.
     - Removed a strange extension which looked like a mistake
       (besides not being CA-Cl*pper compatible).
     * Comments reviewed/changed/added.
     ; Review done, now 100% compatible.
2006-07-17 01:48:27 +00:00
Viktor Szakats
a524f48e1f 2006-07-17 00:41 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/common.mak
   * harbour/makefile.bc
   * harbour/makefile.vc
   * harbour/utils/Makefile
     + Added hbpptest

   * harbour/utils/hbpptest/pretest.prg
     + Output now goes to STDOUT.

   * harbour/source/compiler/harbour.c
     ! Possible memory leak fixed.

   * harbour/source/rtl/Makefile
     ! Fixed tabs (readded them).

   - harbour/source/rtl/dbdelim.prg
   + harbour/source/rdd/dbdelim.prg
   - harbour/source/rtl/dbjoin.prg
   + harbour/source/rdd/dbjoin.prg
   - harbour/source/rtl/dbsdf.prg
   + harbour/source/rdd/dbsdf.prg
   * harbour/source/rtl/Makefile
   * harbour/source/rdd/Makefile
   * harbour/common.mak
     * Moved three RDD related internal function source files
       to the RDD library. (They did depend on each other
       anyway.)

   * harbour/source/rdd/dbcmd.c
   * harbour/source/rdd/dbfuncs.prg
   * harbour/source/rdd/dblist.prg
   * harbour/source/rdd/dbsort.prg
   * harbour/source/rdd/dbstrux.prg
   * harbour/source/rdd/dbtotal.prg
   * harbour/source/rdd/dbupdat.prg
   * harbour/source/rdd/rddord.prg
   * harbour/source/rtl/dbdelim.prg
   * harbour/source/rtl/dbedit.prg
   * harbour/source/rtl/dbjoin.prg
     % Cleanups, minor optimizations.
     ! __dbApp(), __dbCopy() to return LOGICAL.
     ! Problem where error condition was not detected if BREAK didn't
       set the error object.
     ! __dbTotal() lRest handling fixed.
     ! __dbTotal() ErrorBlock overriding removed.
     ! __dbCreate() now generating default alias.
     % __dbCreate() using dbCreate() undoc param to open the tables.
     ! __dbDelim() return value.
     ! __dbSDF() return value.
     + CA-Cl*pper undocumented call added: _dtxCondSet()
     + XBase++ compatible calls implemented:
       dbJoin(), dbList(), dbSort(), dbTotal(), dbUpdate(), _dbExport()
       dbCopyStruct(), dbCopyExtStruct()
     + Added some more 10 chars call stubs:
       __dbCopySt(), __dbCopyXS(), __dbOpenSD(), __dbArrang()
     + Comments.
     + Formatting.
     ; All high-level db functions seems to be compatible now.
       DBEDIT() is left TODO for review (refix).

   * harbour/source/rtl/tbrowse.prg
     * Minor cleanup.

   * harbour/include/hbexpra.c
   * harbour/source/vm/arrayshb.c
   * harbour/source/rdd/dblist.prg
     - Removed compiler+RTL __dbList() hack which
       made it incompatible with CA-Cl*pper. The
       hack targeted an XBase++ extension, but it's
       compatible even without the hack. Tested with
       XBase++ 1.82.294.

   * harbour/source/rtl/typefile.prg
     % FUNCTION -> PROCEDURE
     + _TypeFile() XBase++ internal function added.
2006-07-17 00:22:56 +00:00
Enrico Maria Giordano
086eb93910 2006-07-16 23:26 UTC+0100 Enrico Maria Giordano <e.m.giordano@emagsoftware.it>
* source\common\expropt1.c
    * Removed unuseful break inside hb_compExprAsSymbol function
2006-07-16 21:27:37 +00:00
Przemyslaw Czerpak
5db88c1acc 2006-07-16 19:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    ! fixed typo in date

  * harbour/doc/gtapi.txt
  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtgui/gtdef.c
    * changed HB_GT_DEFAULT_<name> to HB_GT_<name>_DEFAULT and added
      REQUEST posibilities so now the GT drivers can be REQUESTed and
      the default one set in similar way.
      F.e.:
         REQUEST HB_GT_WIN
         REQUEST HB_GT_WVT_DEFAULT
         REQUEST HB_GT_STD
      I think that it will be much easier and also using _DEFAULT as suffix
      does not resolve fully 10 character symbol but will work if GT name
      is not longer then 3 characters
2006-07-16 16:59:43 +00:00
Przemyslaw Czerpak
62edb72902 2006-07-45 16:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/harbour.c
    ! fixed typo in binary or - || was used instead of |
    * reenabled frame optimization for compilation without -n switch
2006-07-16 15:46:53 +00:00
Przemyslaw Czerpak
9fae0a713a 2006-07-16 16:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/genc.c
    - removed debug message I left by mistake

  * harbour/bin/hb-func.sh
    * use by default -gc0 output when compiled as temporary workaround
      for GPF in -gc2
2006-07-16 14:18:39 +00:00
Przemyslaw Czerpak
a854da38b2 2006-07-16 14:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
    ! fixed .prg file name stored in generated .c files

  * harbour/source/compiler/harbour.c
    ! update function counter when startup function is removed
      It fixes compilation of empty .prg files in C++ mode

  * harbour/source/rtl/dbjoin.prg
    - removed unused variable
2006-07-16 12:42:27 +00:00
Ryszard Glab
912b301c85 2006-07-14 16:00 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* include/hbcomp.h
   * include/hberrors.h
   * include/hbexpra.c
   * include/hbexprb.c
   * include/hbexprc.c
   * include/hbmacro.h
   * include/hbpcode.h
   * include/hbpp.h
   * include/hbxvm.h
   * source/common/expropt1.c
   * source/compiler/cmdcheck.c
   * source/compiler/expropta.c
   * source/compiler/exproptb.c
   * source/compiler/exproptc.c
   * source/compiler/genc.c
   * source/compiler/gencc.c
   * source/compiler/gencli.c
   * source/compiler/genhrb.c
   * source/compiler/genjava.c
   * source/compiler/genobj32.c
   * source/compiler/harbour.c
   * source/compiler/harbour.l
   * source/compiler/harbour.y
   * source/compiler/hbdead.c
   * source/compiler/hbfix.c
   * source/compiler/hbfunchk.c
   * source/compiler/hbgenerr.c
   * source/compiler/hblbl.c
   * source/compiler/hbpcode.c
   * source/compiler/hbstripl.c
   * source/macro/macroa.c
   * source/macro/macrob.c
   * source/macro/macroc.c
   * source/vm/hvm.c
   * source/vm/macro.c
      * fixed compilation of code that uses '@' pass by
       reference. The following syntax is no longer supported:
       var := IIF( .T., @var, var )
       however you can still use the following:
       funcall( IIF( bPassbyRef, @someVar, someVar ) )
      +added support for the following statement:
         WITH OBJECT <objexpression>
            ...
         END
       inside this statement you can use simplified form of sending
       messages to the object specified by <objexpression>
         :message( )    instead objexpression:message()
         :property      instead objexpression:property
       The runtime error will be generated at the time of message
       sending (or property access/assign) if <objexpression>
       is not a value of type object.
       You can use the reserved property:
         :__withobject
       to access/assign the controlling object.
      *fixed support for command line response file (@file.clp)
       to be compatible with Clipper (Clipper genertes a single
       obj file)
      *fixed memory leaks when there is a fatal error in autoopened
       module (using DO ... statement)
      *implicit startup functions are removed from the list of
       functions before generation of output code

   * source/pp/ppcomp.c
   * source/pp/pplib.c
   * source/pp/ppcore.c
      * redefinition of #define no longer causes a memory leak
      * fixed repeatable optional clauses
         #xcommand SET <var1> [, <varN>] WITH <val> =>
          <var1>:=<val>[; <varN>:=<val>]
      * fixed compilation of optional clauses (when used in different
        order then declared) -this fixes the following long
        waiting bug:
         #command MYCOMMAND [<mylist,...>] [MYCLAUSE <myval>] => ;
            MyFunction( {<mylist>} [, <myval>] )
         MYCOMMAND MYCLAUSE 321 "HELLO"
      * fixed restricted macro match marker <x:&>

   * tests/Makefile
   - tests/pretest.prg
   + utils/hbpptest
   + utils/hbpptest/Makefile
   + utils/hbpptest/pretest.prg
      * moved file 'pretest.prg' from tests to separate directory
        to make easier validation of the preprocessor

   * TODO
      * added note to fix hb_objGetMethod() so it will not generate
        error if there is no method

   * doc/en/clipper.txt
      * added documentation for WITH OBJECT usage
2006-07-14 13:47:17 +00:00
Viktor Szakats
a5ab290ddc 2006-07-13 16:49 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rdd/dbtotal.prg
     % Unused variable removed, one other optimized out, other minor optimizations.
     ! Fixed not resetting the error block when used on a table containing
       Memo fields only.
     ! Fixed error when passing xFor parameter as a string.
     ! Set(_SET_CANCEL...) calls removed.
     + Formatting, added few comments, CA-Cl*pper differences.
2006-07-13 22:00:20 +00:00
Przemyslaw Czerpak
90caeffb84 2006-07-13 14:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/dbjoin.prg
    + added __dbJoin() - code by Pavel Tsarenko borrowed from xHarbour

  * harbour/source/rdd/dbtotal.prg
    + added __dbTransRec() and updated to use it like in Clipper
      Can someone tell me why we have Set( _SET_CANCEL, .f. ) in this
      function?

  * harbour/source/rtl/dummy.prg
    - removed __dbJoin() and __dbTransRec()
      Now only one function is defined here: __dbFList()
      I have no idea what it does - if someone knows then please
      implement it.

  * harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
    * formatting

  * harbour/source/rdd/dbcmd.c
    * keep strict Clipper compatibility in DBCREATE() parameters

  * harbour/source/rdd/dbsort.prg
  * harbour/source/rdd/dbstrux.prg
  * harbour/source/rtl/dbdelim.prg
    * updated for strict Clipper DBCREATE() parameters
2006-07-13 12:10:54 +00:00
Viktor Szakats
c944577d58 fix to prev 2006-07-13 10:32:49 +00:00
Viktor Szakats
e3b605665e 2006-07-13 12:27 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/hvm.c
     ! errorlevel changed to int from byte.

   * harbour/source/rtl/errorapi.c
     * Minor formatting.
2006-07-13 10:29:29 +00:00
Przemyslaw Czerpak
482c47321d 2006-07-12 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextern.ch
    - removed ORDCOND() - it's not normal function

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

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

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

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

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

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

  * harbour/source/vm/cmdarg.c
  * harbour/source/vm/itemapi.c
    * formatting
2006-07-12 16:47:25 +00:00
Przemyslaw Czerpak
61321e4739 2006-07-11 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    * minor optimizations

  * harbour/source/vm/itemapi.c
    * make hb_itemClear() safe for not allocated stack items
2006-07-11 12:21:22 +00:00
Viktor Szakats
0bf0623100 2006-07-10 13:29 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rdd/dbcmd.c
     ! AFIELDS() made fully CA-Cl*pper compatible.

   * harbour/contrib/libct/ctc.c
     ! Warning fixed.
2006-07-10 11:31:21 +00:00
Przemyslaw Czerpak
61dffc7bb7 2006-07-07 18:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbvmpub.h
  * harbour/source/vm/classes.c
    + added HB_ARRAY_OBJ() and changed HB_IS_OBJECT() to use it
      instead of HB_OBJ_CLASS() - it allows to use HB_IS_OBJECT()
      without including hbapicls.h
2006-07-07 16:45:32 +00:00
Przemyslaw Czerpak
e4f4ea7783 2006-07-07 12:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/libct/ctwfunc.c
    + added missing header note

  * harbour/include/hbapigt.h
  * harbour/include/hbgtcore.h
  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/gtapi.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
    * started basic modifications for multi CDP unicode screen buffer
      added hb_gtSetFlag(), removed hb_gt_SetCompatBuffer(),
      added GTI_STDOUTCON, GTI_STDERRCON, etc.

  * harbour/source/vm/arrays.c
    ! fixed bug I introduce recently in AEVAL and additional range checking
    * minor optimizations in ASCAN
2006-07-07 10:13:23 +00:00
Przemyslaw Czerpak
fe67521514 2006-07-06 23:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/Makefile
    + added usrrdd.ch

  * harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    + added hb_itemPutSymbol()

  * harbour/source/vm/hvm.c
    ! fixed HB_P_POPVARIABLE - it should work like HB_P_POPMEMVAR
      This Ron's code which illustrates it:
            PROCEDURE Main()
               USE Test
               First := First
               CLOSE
               ? First
            RETURN
      In practice it means that we do not need this PCODE at all and
      we should replace it in compiler by HB_P_POPMEMVAR and reuse
      it in the future for differ things.

  * harbour/source/vm/memvars.c
    * code cleanup

  * harbour/source/vm/runner.c
    ! fixed possible memory leaks when corrupted .hrb file is loaded
2006-07-06 21:07:38 +00:00
Przemyslaw Czerpak
688bec195a 2006-07-04 13:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbstack.h
  * harbour/source/vm/estack.c
    - removed hb_stackTopItem()
    + added hb_stackItemBasePtr(), hb_stackAllocItem()
    * changed the item initialization/clearing in push/pop operation
      Now only complex item are cleared and it's not guaranteed that
      the top item will be set to NIL. In fact it was not guarantied
      even before my modifications. You coule be sure only that the
      allocated item will not be complex one and you can safely pass
      pointer to it to any other functions. It allow to clean a little
      bit some code and remove redundant and repeated setting HB_IT_NIL
      for allocated items.
      Now using hb_stackPush() can be necessary only in some very seldom
      cases. hb_stackAllocItem() allocates new item and returns pointer
      to this item. After some code cleaning hb_stackPush() is not used
      by core Harbour code at all so if you have it in your sources then
      please check if you should not update them.

  * harbour/source/rdd/usrrdd/usrrdd.c
    * use hb_vmPushNil() instead of hb_stackPush()

  * harbour/source/vm/arrays.c
    * changed hb_arrayNew() to be safe for automatic GC activation
    * some minor speed improvement

  * harbour/source/vm/codebloc.c
    * changed hb_codeblockNew() and hb_codeblockMacroNew() to be safe
      for automatic GC activation

  * harbour/source/vm/debug.c
    * use only stack function/macros instead of direct accessing hb_stack
      I hope that I haven't break anything.

  * harbour/source/vm/hvm.c
    ! use hb_stackAllocItem() instead of hb_stackTopItem() to make our
      HVM reentrant safe. This modifications also fixed some possible
      bugs which could be exploited by other modules which have to execute
      .prg code - f.e. in RDD when relation codeblock has to be executed
      to position record in fieldget/fieldput operations.

  * harbour/source/vm/itemapi.c
  * harbour/source/vm/memvars.c
   * use hb_stackAllocItem()

   The above modifications finish stack usage and making our HVM reentrant
   safe. There is only one thing which have to be fixed yet. It's HVM
   support for xbase++ syntax in things like:
      func(&<paramList>), aVal[&<indexList>], {&<itemList>}
   To fix it we will have to change PCODE generated by compiler and
   replace some PCODEs used for current code by the new one. I will
   wait with this modifications for Ryszard.
   With the above exception now we are ready to implement destructors,
   add automatic GC and begin to work on MT though before that I'd like
   to clean the RT error support.
   Please carefully check if all is correct. It was modification in core
   code and even small typo can break whole application.
2006-07-04 11:27:48 +00:00
Przemyslaw Czerpak
31c319f922 2006-06-29 00:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
  * harbour/include/hbgtcore.h
    * use HB_FUNC*() macros

  * harbour/source/rdd/dbcmd.c
    ! added fix for GPF in APPEND FROM when source file has repeated
      fields with the same names.
2006-06-28 22:27:13 +00:00
Antonio Linares
861aced933 added Microsoft requested header file 2006-06-28 22:00:43 +00:00
Przemyslaw Czerpak
c5382221de 2006-06-28 02:32 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbgtcore.c
    - removed forgotten printf() used as debug message

  * harbour/source/rtl/gtgui/gtdef.c
    * register "GUI" GT as default one by executing
      hb_gtSetDefault( "GUI" ) at startup
2006-06-28 00:29:08 +00:00
Przemyslaw Czerpak
57241721b9 2006-06-27 23:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    * indenting

  * harbour/include/hbrddcdx.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbrdddbt.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbf1.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
    * remove SYSNAME() method - use the default WA one.

  * harbour/source/vm/hvm.c
    ! fixed last C stack usage of HB_ITEM - now HVM should be cleaned
      and we begin to implement automatic GC activation

  * harbour/config/w32/mingw32.cf
    * updated for current xHarbour state - not tested but I guess it
      works for Lorenzo
2006-06-27 20:40:41 +00:00
Przemyslaw Czerpak
b76d9f8dd3 2006-06-27 19:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
    * indenting

  * harbour/source/vm/hvm.c
  * harbour/source/vm/macro.c
    ! fixed HB_P_MACROPUSHINDEX
      - removed hb_vm_iExtraIndex
      - fixed GPF in direct uninitialized HB_ITEM usage
      - make it safe for HVM reentrant and pending RT errors
      There is a set of global hb_vm*Extra* variables which
      tries to extend HVM by adding some additional registers
      to it. This code does not work as it should even know
      and it's absolutely not reentrant safe. It will have to
      be fixed before we will have .prg destructor and MT support.
      As I can see the same problems has xHarbour.
2006-06-27 17:11:17 +00:00
Przemyslaw Czerpak
5cbcaa09f0 2006-06-27 10:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/source/vm/proc.c
    + added BOOL hb_procinfo( int iLevel, char * szName,
                              USHORT * puiLine, char * szFile )

  * harbour/include/hbstack.h
  * harbour/source/vm/estack.c
    + added hb_stackTotalItems(), hb_stackDateBuffer(),
      hb_stackGetStaticsBase(), hb_stackSetStaticsBase(),
      hb_stackBaseProcInfo()

  * harbour/source/vm/garbage.c
    * indenting

  * harbour/source/vm/classes.c
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/fm.c
  * harbour/source/vm/hvm.c
    * replaced direct stack access by stack functions/macros

  * harbour/source/vm/debug.c
    * removed hb_stackLenGlobal() and replace it by hb_stackTopOffset()
      Warning!!! hb_stackTopOffset() returnes results smaller by 1.
      The TOP stack item is undefined and should not be accessed by
      debuger.
    * changed HB_DBG_VMSTKGLIST() to operate on functions/macros.
      It's possible that the above will badly interact with core debugger
      code so I stop farther modifications leaving them for someone who
      knows debugger core code.
2006-06-27 08:53:26 +00:00
Ryszard Glab
5c01e3a134 2006-06-26 16:35 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* include/hbapi.h
   * source/vm/garbage.c
      * changed hb_gcUnregistedSweep to static function
      * fixed handling of sweeper functions
      * there is no need to call hb_UnregisterSweep - this
        is done automatically inside hb_gcFree and during
        garbage collecting
2006-06-26 14:27:57 +00:00
Przemyslaw Czerpak
d082893701 2006-06-26 15:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtgui/Makefile
  * harbour/source/rtl/gtgui/gtgui.c
  + harbour/source/rtl/gtgui/gtdef.c
    + added GT version info
    * modified the hack which overwrite the default GT name
      Now original GTGUI is always present and only separate
      file add linker bindings. It will be cleaner solution which
      will allow to use REQUEST HB_GT_GUI in valid programs and
      libraries.

  * harbour/source/rtl/gtwin/gtwin.c
    * indenting

  * harbour/source/vm/garbage.c
    * minor modification: use HB_GC_PTR() to take HB_GRABAGE pointer
    + added alternate code for sweep function execution - disabled by
      default, maybe it will be used when we agree the sweep function
      behavior

  * harbour/contrib/rdd_ads/ads1.c
    * BCC warnings clean-up - synced with xHarbour

  * harbour/source/rtl/empty.c
    * added HB_IT_SYMBOL
2006-06-26 13:02:32 +00:00
Ryszard Glab
aa07c5e26a 2006-06-26 12:55 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* TODO
      * assigned SQLRDD to me

   * source/compiler/harbour.c
   * source/compiler/harbour.y
      * fixed one more warning (function with no RETURN) in cases:
         IF tmp>0
            RETURN 1
         ELSE
            RETURN 0
         ENDIF

   * include/hbapi.h
   * source/vm/garbage.c
      * fixed to call hb_gcUnregisterSweep before the memory
      block clean-up
2006-06-26 10:42:18 +00:00
Przemyslaw Czerpak
2a3c796c2b 2006-06-23 02:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtgui/Makefile
  * harbour/source/rtl/gtgui/gtgui.c
    * hacked GTGUI for W32 to be compiled using the same name as RTL default
      GT driver (GTWIN).

  * harbour/include/hbgtcore.h
  * harbour/source/rtl/hbgtcore.c
    * changed 'char *' to 'const char *' in hb_gtSetDefault(), hb_gtLoad()
2006-06-23 01:00:15 +00:00
Viktor Szakats
8e526ae4c7 2006-06-22 19:43 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/errorsys.prg
     ! Fixed to use OutErr() instead of QOut() for CA-Cl*pper
       compatibility. (Thanks Chen)
     ! Fixed to set ErrorLevel to 1 in case of a RT error.
       (this was once removed by me as a fix about 7 years ago,
       but I can't remember what was the reason. It looks to be
       a wrong fix back then.)

   * harbour/utils/hbtest/rt_array.prg
     * Removed one codeblock unused var warning.
2006-06-22 17:56:45 +00:00
Przemyslaw Czerpak
caf9728775 2006-06-22 16:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/Makefile
  + harbour/source/rtl/gtclip.c
  + harbour/source/rtl/gttone.c
  * harbour/include/hbgtcore.h
    * separated low level TONE and ClipBoard code for W32
      new functions:
         hb_gt_w32_Tone()
         hb_gt_w32_SetClipboard()
         hb_gt_w32_GetClipboard()
      Please update non GNU make files

  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.c
    * use hb_gt_w32_*() for common GT code

  * harbour/config/w32/global.cf
  + harbour/source/rtl/gtgui/Makefile
  + harbour/source/rtl/gtgui/gtgui.c
    + added GTGUI GT driver - it inherits from GTNUL and add support
      for TONE and CLIPBOARD
2006-06-22 14:55:19 +00:00
Przemyslaw Czerpak
1f3d20c259 2006-06-22 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/source/vm/classes.c
    + hb_objSendMessage( PHB_ITEM pObj, PHB_DYNS pMessage, ULONG ulArg, ... )
    * code clean-up

  * harbour/source/rtl/do.c
    * removed old not longer necessary code - thanks to Chen.

  * harbour/source/vm/runner.c
    * added one TODO note

  * harbour/source/rtl/gtstd/gtstd.c
    * try to enable raw mode for console stdin in W32

  * harbour/source/rdd/dbfntx/dbfntx1.c
    * code clean-up
2006-06-22 09:32:15 +00:00
Ryszard Glab
16450c2e30 2006-06-22 10:55 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* harbour.spec
   * include/hbver.h
      * updated to set version 0.46.2

   * include/hbapi.h
   * source/vm/garbage.c
      + added possibility to register a sweep function that will scan
      memory block allocated with hb_gcAlloc

   * source/compiler/harbour.c
   * source/compiler/harbour.y
      * fixed 'unreachable code' warning in IF/ELSEIF
      * fixed 'variable unused' warnings when -w3 switvh was used
2006-06-22 08:45:54 +00:00
Viktor Szakats
5dcbeffc68 2006-06-22 00:25 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/include/common.ch
   * harbour/source/debug/dbghelp.prg
   * harbour/source/debug/dbgmenu.prg
   * harbour/source/debug/dbgtarr.prg
   * harbour/source/debug/dbgtobj.prg
   * harbour/source/debug/dbgwa.prg
   * harbour/source/debug/debugger.prg
   * harbour/source/rdd/dbupdat.prg
   * harbour/source/rtl/achoice.prg
   * harbour/source/rtl/checkbox.prg
   * harbour/source/rtl/dbedit.prg
   * harbour/source/rtl/getsys.prg
   * harbour/source/rtl/listbox.prg
   * harbour/source/rtl/persist.prg
   * harbour/source/rtl/pushbtn.prg
   * harbour/source/rtl/radiobtn.prg
   * harbour/source/rtl/tbcolumn.prg
   * harbour/source/rtl/tbrowse.prg
   * harbour/source/rtl/tclass.prg
   * harbour/source/rtl/teditor.prg
   * harbour/source/rtl/tget.prg
   * harbour/source/rtl/tgetlist.prg
   * harbour/source/rtl/tlabel.prg
   * harbour/source/rtl/treport.prg
   * harbour/utils/hbdoc/genchm.prg
   * harbour/utils/hbdoc/genhtm.prg
   * harbour/utils/hbdoc/genng.prg
   * harbour/utils/hbdoc/genos2.prg
   * harbour/utils/hbdoc/genrtf.prg
   * harbour/utils/hbdoc/gentrf.prg
   * harbour/utils/hbdoc/html.prg
   * harbour/utils/hbdoc/ng.prg
   * harbour/utils/hbdoc/os2.prg
   * harbour/utils/hbdoc/rtf.prg
   * harbour/utils/hbmake/checks.prg
   * harbour/utils/hbmake/hbmake.prg
   * harbour/utils/hbmake/hbmutils.prg
   * harbour/utils/hbmake/radios.prg
   * harbour/utils/hbtest/rt_hvm.prg
     + HB_SYMBOL_UNUSED() added for .prg code. It can suppress unused
       var warnings where applicable. The code won't generate any final
       pcodes, so it won't cause overhead. The only current downside
       is that it cannot be used inside codeblocks.
     ! Fixed a number (>200) of declared but unused variable /w2 error.
       All parts were scanned and fixed (except contrib).
       Note that there are several false "unreachable code" warnings,
       and there are still quite a few unused var warnings inside
       codeblocks. After fixing these /w2 switch could be added to
       the standard build process to maintain code quality.
2006-06-21 22:25:00 +00:00
Przemyslaw Czerpak
6199d29f05 2006-06-21 00:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/w32/dir.cf
    + added EOL at EOF

  * harbour/config/w32/global.cf
    * changed clean and dirbase commands to work cleanly with CMD.EXE

  * harbour/source/rtl/gtwin/gtwin.c
    * always try to allocate console
    + added workaround for MSYS console which does not support
      WriteConsoleOutput()/ReadConsoleInput()

  * harbour/source/rtl/gtwvt/gtwvt.c
    * changed default codepage to OEM
2006-06-20 22:54:59 +00:00
Przemyslaw Czerpak
60d2420387 2006-06-20 17:22 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/classes.c
    ! fixed memory leak when CLASSSEL() message was sent to non object
      item
2006-06-20 15:41:53 +00:00
Przemyslaw Czerpak
ee780cf997 2006-06-20 14:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/source/vm/classes.c
    ! fixed typo in function name should be hb_objHasMessage()
2006-06-20 12:51:16 +00:00
Przemyslaw Czerpak
96229354ab 2006-06-20 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/source/vm/classes.c
    + added hb_objHasMesage( PHB_ITEM pObject, PHB_DYNS pMessage )
    + added hb_objGetpMethod() for backward binary compatibility with FWH
    * hidden for 3-rd party users hb_objGetMethod() and hb_objPopSuperCast()
      If for some reason 3-rd party code will need these methods please
      tell me in which case and I'll add necessary functions. Please
      try to not use any non-public function. I strongly prefer to
      add new public functions for which we will know that they are used
      by 3-rd party code then create problems with binary compatibility
      after updating local HVM functions.
2006-06-20 11:36:43 +00:00
Viktor Szakats
d3bb5f0317 2006-06-20 11:33 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/gtwin/gtwin.c
     ! Stupid bug fixed in prev commit.
2006-06-20 09:32:41 +00:00
Viktor Szakats
c7f5e6eb5e 2006-06-20 09:45 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/gtwin/gtwin.c
   * harbour/source/rtl/gtwxt/gtwxt.c
     ! Possible (double) fix to properly handle embedded zero bytes
       when getting clipboard content.
2006-06-20 07:45:51 +00:00
Viktor Szakats
8414073d1c 2006-06-20 08:55 UTC+0100 Viktor Szakats (viktor.szakats syenar.hu)
* harbour/source/rtl/gtwin/gtwin.c
     + Copied Windows Clipboard support from the GTWVT driver. So now
       it is available in Win32 console apps too. (Thanks Przemek for
       the functions and instructions).
       Set/Get the Clipboard using: hb_GTInfo( GTI_CLIPBOARDDATA[, <newvalue>] )
2006-06-20 06:58:41 +00:00