Commit Graph

79 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
b829975133 2008-07-08 17:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbusage.c
    * cleaned possible warning in some C compilers
2008-07-08 15:05:58 +00:00
Przemyslaw Czerpak
e97fbe0fb0 2008-06-02 19:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt2.c
    + added compile time INT( <num> ) optimization

  * harbour/source/compiler/hbusage.c
    * updated -k? description to show "(default)" for really set flags
2008-06-02 17:55:48 +00:00
Viktor Szakats
af91810256 2008-05-30 22:06 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/pp/ppcore.c
     * "hb_inLine" -> "hb_inline"

   * source/hbpcre/_hbconf.h
     + Added #pragma warn -sig (-w-sig-)

   * source/common/hbverdsp.c
   * source/compiler/hbusage.c
     * Minor adjustments to compatible product names.
2008-05-30 20:08:02 +00:00
Przemyslaw Czerpak
3611daa5a2 2008-01-11 18:01 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapiitm.h
  * harbour/source/vm/itemapi.c
    + added new functions:
         BOOL hb_itemParamStore( USHORT uiParam, PHB_ITEM pItem )
         BOOL hb_itemParamStoreForward( USHORT uiParam, PHB_ITEM pItem )
      They copy/move pItem body to parameter passed by reference and
      return TRUE when operation was done successfully (uiParam was passed
      by reference)
    + added new functions for string manipulation:
         char * hb_itemLockReadCPtr( PHB_ITEM pItem, ULONG * pulLen );
         char * hb_itemLockWriteCPtr( PHB_ITEM pItem, ULONG * pulLen );
         void   hb_itemUnLockCPtr( char * pszString );
      It's recommended to use them instead of hb_itemGetCPtr().
      Pointer to string buffer returned by hb_itemLockReadCPtr() will
      be always valid even if source item will be cleared, destroyed or
      overwritten until hb_itemUnLockCPtr() is called. Each locked string
      has to be unlocked to avoid memory leaks. After unlocking the string
      pointer cannot be longer used.
      hb_itemLockWriteCPtr() works like hb_itemLockReadCPtr() but string
      pointer returned by this function is writable so user can change
      the body of string item. It's the _ONLY_ one way when it's possible.
      Modifying string items using pointers returned by hb_parc() or
      hb_itemGetCPtr() or extracted directly from HB_ITEM body is _FORBIDDEN_
      and can cause unpredictable results (GPF when constant/readonly memory
      pages are changed, changing many different items which share the same
      memory buffer, etc.).
      This is code illustrates how to use hb_itemLockReadCPtr()/
      hb_itemUnLockCPtr() and it's also good example why hb_itemGetCPtr()
      is very danger function and cannot be used in such case - if you
      replace hb_itemLockReadCPtr() with hb_itemGetCPtr() and remove
      hb_itemUnLockCPtr() then you will have buggy code.

         HB_FUNC( MYFUNC )
         {
            PHB_ITEM pObject = hb_param( 1, HB_IT_OBJECT )
            if( pObject )
            {
               char * pszName1, * pszName2;
               PHB_ITEM pResult;

               pResult = hb_objSendMsg( pObject, "POP", 0 );
               pszName1 = hb_itemLockReadCPtr( pResult, NULL );
               pResult = hb_objSendMsg( pObject, "POP", 0 );
               pszName2 = hb_itemLockReadCPtr( pResult, NULL );
               if( pszName1 && pszName2 )
                  hb_retc_buffer( hb_xstrcpy( NULL,
                              "[", pszName1, "]-[", pszName2, "]", NULL ) );
               hb_itemUnLockCPtr( pszName1 );
               hb_itemUnLockCPtr( pszName2 );
            }
         }

      This code shows how to use hb_itemLockWriteCPtr():
         proc main()
            local cVal, cVal2
            cVal := cVal2 := "ABC"
            STRPUT( @cVal2, 2, 42 )
            ? cVal, cVal2
         return
         #pragma begindump
         #include "hbapiitm.h"
         HB_FUNC( STRPUT )
         {
            PHB_ITEM pString = hb_param( 1, HB_IT_STRING );
            ULONG ulAt = hb_parnl( 2 );
            if( pString && ulAt && ISNUM( 3 ) )
            {
               ULONG ulLen;
               char * pszValue;
               pszValue = hb_itemLockWriteCPtr( pString, &ulLen );
               if( pszValue )
               {
                  if( ulAt <= ulLen )
                     pszValue[ ulAt - 1 ] = ( char ) hb_parni( 3 );
                  hb_itemUnLockCPtr( pszValue );
               }
            }
         }
         #pragma enddump

  * harbour/include/hbcompdf.h
  * harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbusage.c
    * removed HB_I18N_SUPPORT macro and enabled I18N code in default build
2008-01-11 17:01:34 +00:00
Viktor Szakats
b0fcd569fe 2007-12-11 23:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/hbusage.c
     * Year bumped to 2008.
2007-12-11 22:38:20 +00:00
Przemyslaw Czerpak
021bc664d5 2007-11-23 21:14 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/man/harbour.1
  * harbour/source/compiler/hbusage.c
    + added description for -j switch

  * harbour/include/hbexprb.c
    * replaced // comments by /* */
    * accept <cContext> (domain) parameters of HB_i18nGettext() when
      number of parameters is two or more
      Should we generate compile time warning when wrong number of
      parameters is passed to this function or they are not literal
      strings? Maybe only after -j+ or sth like that?

  * harbour/include/hbclass.ch
  * harbour/include/tbrowse.ch
  * harbour/include/hbpers.ch
  * harbour/include/getexit.ch
    * replaced // comments by /* */
2007-11-23 20:14:30 +00:00
Viktor Szakats
d9ad098243 minor fix to prev 2007-11-09 14:24:31 +00:00
Viktor Szakats
17a72b54cf 2007-11-09 15:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/hbcomp.c
     ! Changed error messaged to go to stderr on non-Unix 
       platforms too. With this change the Harbour compiler 
       uses the same output on non-Unix platforms as on Unixes.
       With Przemek's previous and now this change, the 
       compiler uses stdout/stderr in the standard way 
       (messages to stdout, warnings/errors to stderr), 
       instead of being more or less CA-Cl*pper compatible.
       (in CA-Cl*pper startup msg plus some info went to 
       stderr and errors/warnings and some other progress 
       info went to stdout)

   * source/compiler/hbusage.c
     + Added -f* switches to help screen.

   * source/compiler/cmdcheck.c
     ! -r=<max> -> -r:<max>

   * contrib/libct/screen2.c
   * contrib/libct/cursor.c
   * contrib/libct/ctstrfil.c
     ! Fixed MSVC warnings.

   * contrib/libct/make_b32.bat
   * contrib/libct/make_vc.bat

   * contrib/htmllib/Makefile.bc
     * Changed to not generate .ppo output on build.

   * contrib/libct/make_b32.bat
   * contrib/libct/make_vc.bat
   - contrib/libct/makefile.bc
   - contrib/libct/makefile.vc
   + contrib/libct/common.mak
   + contrib/maketpl.b32
   + contrib/maketpl.vc
   + contrib/maketpl.mak
     + Added BC/VC non-GNU generic make script for contribs.
     + Using the above generic make scripts to build LIBCT.
       Notice BC/VC now uses one make file per contrib project 
       named common.mak. The two helper batch files are essentially 
       identical for BC and VC, and there is no reduancy or any 
       complexity in common.mak (they much resemble in content 
       to Makefile).
       Notice that with this new system users have to call 
       make_[b32|vc].bat INSTALL in order to get the libs and 
       headers installed in the final lib/header destinations.
       (This step was previously done automatically by the .bat 
       files in LIBCT - or maybe not in other contribs.)
       The new scripts also have a generic CLEAN functionality.
     ; Thanks Marek Paliwoda for the generic make scripts.
2007-11-09 14:23:01 +00:00
Viktor Szakats
6cec6c9644 2007-10-29 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* doc/howtosvn.txt
     + Added few propset command. Would need some more cleanup.

   * contrib/win32/test/testw32p.prg
     ; Formatting

   * source/common/hbfsapi.c
     ! Minor fixes.

   * source/compiler/hbusage.c
     + Added (c) after copyright.

   - lib/b16
   - obj/b16
     - Removed not needed directories.
2007-10-29 10:22:06 +00:00
Viktor Szakats
1320481f88 2007-10-15 18:36 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/tbcolumn.prg
     ! Strict C5.2e compatible behaviour made the default.

   * source/rtl/inkey.c
     + Added handling of arrays of numbers in HB_KEYPUT().
       (this was copied from __KEYBOARD()'s extended section)
     + Added handling of string parameter in HB_KEYPUT().
       (this way we don't really need the hidden extensions 
       in __KEYBOARD() anymore. Also notice that __KEYBOARD() 
       doesn't clear the keyboard buffer when numeric or 
       array is passed, which is not consistent with the 
       Clipper compatible behaviour when strings are passed.)

   * common.mak
   * include/hbcompdf.h
   * source/compiler/hbmain.c
   * source/compiler/cmdcheck.c
   * source/compiler/hbcomp.c
   * source/compiler/harbour.l
   * source/compiler/Makefile
   * source/compiler/ppcomp.c
   * source/compiler/hbusage.c
   - source/compiler/genjava.c
   - source/compiler/gencli.c
     - Removed two non-working (experimental) output types: 
       Java, CLI
     ! Prefixed LANG_* enums with HB_
2007-10-15 16:36:38 +00:00
Przemyslaw Czerpak
c374d6f243 2007-10-13 02:12 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/destruct.txt
    * update description for multiple inherited destructors

  * harbour/source/compiler/complex.c
    * _HB_CLASS and _HB_MEMBER are not longer reserved words

  * harbour/include/hbclass.ch
  * harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/macro/macro.y
  * harbour/source/compiler/harbour.y
    * formatting and minor code cleanup

  * harbour/source/compiler/hbusage.c
    * added missing information about -undef:<id> switch to usage
      description

  * harbour/source/compiler/gencc.c
    ! fixed bug reported by Teo in code generated for SWITCH statement
2007-10-13 00:12:25 +00:00
Przemyslaw Czerpak
b5d010fbeb 2007-10-01 19:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/errorapi.c
    + added protection against possible GPF when some assign methods
      were called without parameters

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * harbour/contrib/Makefile
    + added TIP and XHB

  * harbour/make_rpm.sh
  * harbour/harbour.spec
    * removed HB_COMPAT_XHB, --with tip, --with xhb
      they are not longer necessary
2007-10-01 17:43:52 +00:00
Viktor Szakats
52cf61b74b 2007-09-28 11:56 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/hbusage.c
     ! Show the -ks switch only when compiled with HB_COMPAT_XHB.
2007-09-28 09:57:26 +00:00
Przemyslaw Czerpak
c35370c2b9 2007-08-21 16:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    + added __MVSETBASE() function

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

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/genjava.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/hbgenerr.c
    + added hb_compOutStd() and hb_compOutErr()
    * redirected all compiler output to above functions
2007-08-21 14:01:01 +00:00
Viktor Szakats
4e592458c5 2007-07-07 12:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/hbusage.c
     * Steps done to protect e-mail addresses against e-mail 
       scanners.
2007-07-07 10:29:24 +00:00
Przemyslaw Czerpak
a89bb10a3d 2007-07-07 11:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbusage.c
    * added to credits list some Harbour developers which were missing
      and also some xHarbour developers which are authors of modules
      we borrowed and ported to xHarbour. It's highly possible that
      still some people are missing. If you fill that you or someone
      else should be added to this list then please send a message
      to harbour devel list
2007-07-07 09:35:35 +00:00
Przemyslaw Czerpak
effd14c344 2007-06-26 23:55 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
  * harbour/harbour.spec
    * added description for -L<path> in hb* scripts

  * harbour/include/hbapicls.h
  * harbour/source/vm/classes.c
    * changed hb_objSendMsg() and hb_objSendMessage() to return
      hb_stackReturnItem() - xHarbour users asked about it. It does
      not change binary compatibility with existing code.

  * harbour/common.mak
    * replaced some hard coded values like file extensions with variables
      for future use on other platforms

  * harbour/contrib/mysql/mysql.c
    * changed code to not use non standard function filelength()
      and optimized

  * harbour/source/compiler/cmdcheck.c
    * recognize --version on platforms where '-' is option separator

  * harbour/source/compiler/hbusage.c
    * changed syntax description from:
         Syntax:  harbour <file[s][.prg]> [options]
      to:
         Syntax:  harbour <file[s][.prg]|@file> [options]
2007-06-26 21:55:46 +00:00
Viktor Szakats
56267f28dd 2007-04-14 12:40 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/include/hbstdgen.ch
   * harbour/include/box.ch
   * harbour/include/hbclass.ch
   * harbour/include/hbcommon.ch
   * harbour/include/hbextern.ch
   * harbour/include/hbgetcmt.ch
   * harbour/include/hbsetup.ch
   * harbour/include/ord.ch
   * harbour/source/rdd/dbdelim.prg
   * harbour/source/rdd/dbfuncs.prg
   * harbour/source/rdd/dbjoin.prg
   * harbour/source/rdd/dblist.prg
   * harbour/source/rdd/dbsort.prg
   * harbour/source/rdd/dbstrux.prg
   * harbour/source/rdd/dbtotal.prg
   * harbour/source/rdd/dbupdat.prg
   * harbour/source/rdd/rddord.prg
   * harbour/source/rtl/alert.prg
   * harbour/source/rtl/browdb.prg
   * harbour/source/rtl/browdbx.prg
   * harbour/source/rtl/checkbox.prg
   * harbour/source/rtl/dircmd.prg
   * harbour/source/rtl/getsys.prg
   * harbour/source/rtl/input.prg
   * harbour/source/rtl/mssgline.prg
   * harbour/source/rtl/pushbtn.prg
   * harbour/source/rtl/radiobtn.prg
   * harbour/source/rtl/radiogrp.prg
   * harbour/source/rtl/setfunc.prg
   * harbour/source/rtl/setta.prg
   * harbour/source/rtl/tbcolumn.prg
   * harbour/source/rtl/tget.prg
   * harbour/source/rtl/tgetint.prg
   * harbour/source/rtl/tmenuitm.prg
   * harbour/source/rtl/tpopup.prg
   * harbour/source/rtl/ttopbar.prg
   * harbour/source/rtl/typefile.prg
   * harbour/source/vm/harbinit.prg
   * harbour/utils/hbrun/external.prg
   * harbour/utils/hbtest/rt_main.ch
     + Following #defines are now available by default without
       the need to #include "hbsetup.ch". These are of course
       also available for applications as defined at Harbour
       build time:
       HB_EXTENSION
       HB_C52_UNDOC
       HB_C52_STRICT
       HB_COMPAT_C53
       HB_COMPAT_XPP
       HB_COMPAT_VO
       HB_COMPAT_FLAGSHIP
       HB_COMPAT_FOXPRO
       HB_COMPAT_DBASE
       HB_COMPAT_CLIP
       HB_COMPAT_XHB
       HB_SHORTNAMES
       HB_FILE_VER_STATIC

   * harbour/source/compiler/hbusage.c
     * Mail address update.
2007-04-14 10:41:54 +00:00
Przemyslaw Czerpak
f9452a8f85 2007-03-04 14:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapifs.h
  * harbour/include/hbcompdf.h
  * harbour/include/hbpp.h
  * harbour/source/common/hbfsapi.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
    * cleanup .ppo file creation
    + new compiler switch: p+ to enable preprocessor tracing
      when used information about applied rules is stored in .ppt file
  * harbour/include/hbdefs.h
  * harbour/source/rtl/gtos2/gtos2.c
    * OS2 build cleanup
2007-03-04 13:11:36 +00:00
Przemyslaw Czerpak
30f56abce2 2007-01-09 15:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbusage.c
    * update the year in hb_compPrintLogo() from 2006 to 2007

  * harbour/source/vm/garbage.c
    ! fixed potentially very serious bug - when I added array items
      references I forgot to update GC. Fortunately it was caught
      by code to detect bugs in object destructors so only RT error
      was reported instead of internal HVM memory corruption

  * harbour/tests/hbinline.prg
    * updated comments
2007-01-09 14:10:22 +00:00
Przemyslaw Czerpak
3fd903247e 2007-01-07 05:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbexprc.c
  * harbour/include/hbexprop.h
  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
  * harbour/source/compiler/Makefile
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/macro/Makefile
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.yyh
  * harbour/source/vm/macro.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/memvclip.c
    * keep prefix definition for bison public symbols in *.y files instead
      of passing them as bison arguments to avoid possible mistakes during
      *.yy[hc] file generation
    ! fixed iif() reduction when used as single function parameter
    + add -kM compiler switch - turn off macrotext substitution
    * updated <string> + <string> optimization and other macrotext usage
      to keep more Clipper compatible behavior
    ! fixed typo in expression type checking in IIF() reduction - it was
      working because wrongly used macros has the same values as the valid
      ones
    - removed compiler switches and macros for old HB_INLINE() syntax - it
      was not supported after last months modifications. Only:
         HB_INLINE([params,...]) { C code }
      is supported.
    ! fixed passing parameters by reference in IIF() statement and macro
      compiler. The following valid Clipper code:
         &("myfunc(<exp>, @var1, @var2)")
      was not supported
    ! do not allow to use references or empty expressions in expression list
      AFAIK it's Clipper compatible. If I'm wrong then please fix me but
      Clipper allows to use references only as function arguments, 2-nd and
      3-rd IIF() argument and as directly created array items ( {...@var...} )
      DO ... WITH ... is a special case of function call.
    ! Changed grammar rules to accept only Clipper compatible parameters.
    ! fixed typo in macro name in hb_memvarNewParameter() function.
    * use HB_FUNC_EXEC(...) instead of HB_FUNCNAME(...)()
2007-01-07 04:09:09 +00:00
Przemyslaw Czerpak
e6a3baea64 2006-11-24 19:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/gcc.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/dos/djgpp.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/hpux/gcc.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/owatcom.cf
  * harbour/config/os2/gcc.cf
  * harbour/config/sunos/gcc.cf
  * harbour/config/w32/bcc32.cf
  * harbour/config/w32/gcc.cf
  * harbour/config/w32/mingw32.cf
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hberrors.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbver.h
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
  * harbour/source/compiler/Makefile
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/genjava.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/harbour.c
  - harbour/source/compiler/harbour.simple
  - harbour/source/compiler/harbour.slx
  - harbour/source/compiler/harbour.sly
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/hbgenerr.c
  - harbour/source/compiler/hbslex.c
  - harbour/source/compiler/hbstrong.c
  * harbour/source/compiler/hbusage.c
  - harbour/source/compiler/simplex.c
  * harbour/source/macro/Makefile
  - harbour/source/macro/macro.slx
  - harbour/source/macro/macroslx.c
  * harbour/source/pp/ppcore.c
  * harbour/utils/hbpp/hbppcomp.c
    - removed SIMPLEX references
    ! fixed memory leak in request _GET_
    * use hb_compIdentifiersNew() in INLINE and AUTOOPEN structures
      members
    * eliminated all internal exit() calls. Now hb_compGenError() with
      fatal errors does not interrupt application but only sets
         HB_COMP_PARAM->fExit = TRUE;
      What should cause silent clean application close.
      Please keep it in mind making future modifications and do not
      introduce and exit() function call.
    + added support for \x<hex> and \<oct> quoting in extended strings
      (just like in C). Warning !!!. Embedded 0 bytes are supported by
      PP, lexer and expression optimizer but not by bison. To make them
      working it will be necessary to change Literal terminal symbol
      holder and add length field in bison rules and also change the hash
      table used to hold identifiers, literals and macros to store and use
      real string length. If someone will try to use strings with embedded
      0 now then they will be cut but nothing worser should happen.
2006-11-24 18:10:07 +00:00
Przemyslaw Czerpak
c2b4a94705 2006-11-10 02:05 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbpp.h
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
  * harbour/source/pp/pplib.c
    * restored support for old hb_inLine() syntax
    + added support for hb_inLine() to new PP. It can be enabled by
      -kI compiler switch. It's disabled by default.
      The new hb_inLine{} syntax is:
         [ <exp> ] hb_inLine [ ( [<params,...>] ) ] { [ <c_code> ] } [ <exp> ]
      <c_code> can contain new line characters.
      Nested hb_inLine{} in <params,...> is not supported. If you think
      it's important I can add it in few lines.
      This version does not break any valid Clipper syntax, hb_inLine is
      not reserved word and hb_inLine can be repeated many times in the
      same line. F.e. this code can be properly preprocessed and compied if
      you disable in compiler old hb_inLine() syntax and enable the new one
      by -kcI Harbour compiler switch:

         proc main()
         local hb_inLine := " (var) "
         ? hb_inLine{ hb_retc("inLine"); } + hb_inLine(" parameter ") {
              hb_retc( hb_parc( 1 ) );
              } + "!" + hb_inLine + hb_inLine() { hb_retc( ":-)" ); } + ;
           hb_inLine() + "{}"
         return
         function hb_inLine()
         return " func() "

      So from user point of view this version have real "inline" syntax.
      To be clear: I'm not a fun of any C inline extensions. They works
      only when we use .c code as compiler backend so the code which uses
      them cannot be used in .hrb files and any other format we will add
      in the future which do not support later C code compilation. F.e it
      will not work in compiler integrated with HVM or with .NET
      Anyhow if someone finds it useful then I think that it should be
      properly implemented. This is the reason I added the new version.
      The old one I left only for backward compatibility. It breaks any
      code which uses hb_inLine keyword can be used only once in a line
      and it does not have "inline" so IMHO it should not be enabled by
      default.
      I would like to hear your opinion about default compiler switches:
         1. should we disable both: hb_inLine() and hb_inLine {}
         2. should we disable hb_inLine() and enable hb_inLine {}
         3. should we disable hb_inLine {} and enable hb_inLine()
         4. should we enable both: hb_inLine() and hb_inLine {}

  + harbour/tests/hbinline.prg
    + added test code for new hb_inLine{} syntax

  * harbour/tests/inline_c.prg
    ! replaced direct access to HB_ITEM body by API function calls
2006-11-10 01:12:49 +00:00
Przemyslaw Czerpak
917c8057e6 2006-06-14 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/linux/dir.cf
  * harbour/config/linux/gcc.cf
    * formatting

  * harbour/config/linux/global.cf
  * harbour/config/linux/install.cf
    * added -ldl to linked library list and RANLIB executing after library
      creation

  * harbour/contrib/ole/ole2.c
    * added #include "hbapicls.h"

  + harbour/include/hbapicls.h
  * harbour/include/hbapi.h
    + added HB_IT_ENUM item
    + added collect member to HB_IT_POINTER structure for POINTER items
      inspected by GC
    * changed the order of HB_CODEBLOCK members to safe few bytes on
      alignment
    * removed counters from HB_CODEBLOCK and HB_BASEARRAY structure
    + added hb_xRefInc(), hb_xRefDec(), hb_xRefFree(), hb_xRefCount(),
      hb_xRefResize() functions. They are internal Harbour VM functions
      and covered by internal API macro. Should not be used by 3-rd
      party code because we may change them in the future or even remove.
    + added hb_gcRefInc(), hb_gcRefDec(), hb_gcRefFree(), hb_gcRefCount()
      functions. These are also internal function which corresponds to the
      above hb_x*() ones.
    - removed hb_arrayRelease() function. This function is not longer
      necessary and it should never be public function - it was implemented
      in very dangerous way.
    - removed hb_codeblockDelete() function.
    - removed hb_memvarValueDecGarbageRef()
    + added USHORT usLen parameter to hb_codeblockMacroNew() - when sets
      to non 0 value it informs that PCODE should be copied to dynamically
      allocated buffer.
    * moved all classes/object functions to separate file: hbapicls.h
    + added hb_retptrGC()
    + added internal function hb_memvarGetItem()

  * harbour/include/hbapiitm.h
    - removed hb_itemForwardValue() and added macro which translates
      hb_itemForwardValue() to hb_itemMove()
    + added hb_itemUnShareString() and hb_itemReSizeString() functions
    + added hb_itemSetNil() macro

  * harbour/include/hbdefs.h
    * some cleanups in macro definitions

  * harbour/include/hbexprb.c
    * indenting

  * harbour/include/hbvm.h
  * harbour/include/hbinit.h
    + added hb_vmProcessSymbolsExt(), hb_vmRegisterSymbols(),
      hb_vmFreeSymbols(), hb_vmBeginSymbolGroup(),
      hb_vmInitSymbolGroup(), hb_vmExitSymbolGroup()
    * changed hb_vmProcessSymbols() to return address of register symbol
      table. For normal code it's the same address as given in parameter
      so it does not break backward binary compatibility.
    * changed symbol init macros to work correctly with modified address
      of symbol table

  * harbour/include/hbsetup.h
    * added support for HB_USE_PROFILER macro. Now profiler code is
      is disable in HVM by default
    * commented out HB_ASORT_OPT_ITEMCOPY - it's not longer used - see note.

  * harbour/include/hbstack.h
    * added missing parenthesis in hb_stackItem() macro

  * harbour/include/hbtypes.h
    * updated VM_PROCESS_DLL_SYMBOLS definition
    + added VM_PROCESS_SYMBOLS_EXT
    - removed HB_ARRAYRELEASE

  * harbour/include/hbver.h
    * changed revision number to 2

  * harbour/include/hbvmpub.h
    - remove pFunPtr from HB_DYNS and cover profiler member by
      #ifndef HB_NO_PROFILER
    + added HB_PCODEFUNC structure
    + added HB_FS_PCODEFUNC, HB_FS_DYNCODE and HB_FS_LOCAL - the last one
      is not used yet.

  * harbour/include/hbxvm.h
    * added some multipcode functions for some speed optimization in -gc3
      output

  * harbour/include/hbapicdp.h
  * harbour/source/codepage/cpbg866.c
  * harbour/source/codepage/cpbgiso.c
  * harbour/source/codepage/cpbgwin.c
  * harbour/source/codepage/cpeldos.c
  * harbour/source/codepage/cpelwin.c
  * harbour/source/codepage/cpesdos.c
  * harbour/source/codepage/cpesmwi.c
  * harbour/source/codepage/cpeswin.c
  * harbour/source/codepage/cpgedos.c
  * harbour/source/codepage/cpgewin.c
  * harbour/source/codepage/cphu852.c
  * harbour/source/codepage/cphuiso.c
  * harbour/source/codepage/cphuwin.c
  * harbour/source/codepage/cppl852.c
  * harbour/source/codepage/cppliso.c
  * harbour/source/codepage/cpplmaz.c
  * harbour/source/codepage/cpplwin.c
  * harbour/source/codepage/cppt850.c
  * harbour/source/codepage/cpptiso.c
  * harbour/source/codepage/cpru866.c
  * harbour/source/codepage/cprukoi.c
  * harbour/source/codepage/cpruwin.c
  * harbour/source/codepage/cpsl437.c
  * harbour/source/codepage/cpsl852.c
  * harbour/source/codepage/cpsliso.c
  * harbour/source/codepage/cpslwin.c
  * harbour/source/codepage/cpsrwin.c
  * harbour/source/common/hbfhnd.c
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
  * harbour/source/compiler/gencli.c
  * harbour/source/rtl/fstemp.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/langapi.c
  * harbour/source/rtl/gtalleg/gtalleg.c
  * harbour/source/rtl/gtalleg/ssf.h
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtos2/gtos2.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtwin/gtwin.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/gtxwc/gtxwc.c
    * cleaned the code to avoid warnings for some non ANSI C constructions

  * harbour/source/compiler/cmdcheck.c
    * formatting

  * harbour/source/compiler/gencc.c
    * added some multipcode optimizations

  * harbour/source/compiler/genc.c
    * keep function name set by compiler for static initstatics

  * harbour/source/compiler/harbour.c
    * extend init statics name with the number of used static variables
    * formatting

  * harbour/source/compiler/hbusage.c
    + added my name to developers list - I hope that there is enough
      of my code in Harbour (BTW for quite long time) ;-)

  * harbour/source/rdd/dbcmd.c
    - removed DBF2TEXT() function

  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbffpt/dbffpt1.c
    * generate RT error when someone tries to create DBF with memo fields
      without MEMO RDD linked.

  * harbour/source/rtl/errorapi.c
    * replace all hb_vmDo() with hb_vmSend()

  * harbour/source/rtl/math.c
    * use hb_errPutArgs() to pass parameters to error object

  * harbour/source/rtl/philes.c
  * harbour/source/rtl/space.c
  * harbour/source/rtl/strpeek.c
    * some minor optimizations

  * harbour/source/vm/arrays.c
    - removed hb_arrayRelease() function.
    * changed hb_arrayReleaseGarbage() to be safe for recursive call
    * updated to use GC counters

  * harbour/source/vm/arrayshb.c
    * use stack function/macros instead of direct accessing HB_STACK members

  * harbour/source/vm/asort.c
    * removed unused HB_ASORT_OPT_ITEMCOPY

  * harbour/source/vm/classes.c
    * added class code from HVM
    % added fast overloaded operator detection and execution
    + added hb_objHasOperator(), hb_objOperatorCall()
    + added separated overloading of "=" and "==" operators
    * operate on PHB_SYMB not PHB_FUNC - support for pure PCODE function
      without any machine code
    * use stack function/macros instead of direct accessing HB_STACK members
    * separated profiler code
    * some code cleaning

  * harbour/source/vm/codebloc.c
    + added USHORT usLen parameter to hb_codeblockMacroNew() - when sets
      to non 0 value it informs that PCODE should be copied to dynamically
      allocated buffer.
    * updated to use GC counters
    - removed hb_codeblockDelete() function.
    * changed hb_codeblockDeleteGarbage() to be safe for recursive call
    - removed restoring statics base in hb_codeblockEvaluate()

  * harbour/source/vm/debug.c
    * cleaned and optimized some code

  * harbour/source/vm/dynlibhb.c
    + added support for loading and unloading dynamic libraries with PCODE
    + added support for dynamic libraries in Linux (.so)
    + added HB_LIBERROR() - returns error string with last error in
      HB_LIBLOAD() - now works only in Linux

  * harbour/source/vm/dynsym.c
    * separated profiler code
    + use pDynSym->pSymbol->value.pFunPtr instead of pDynSym->pFunPtr

  * harbour/source/vm/estack.c
    + added #include "hbapicls.h"
    + added hb_stackPushReturn(), hb_stackPopReturn()

  * harbour/source/vm/eval.c
  * harbour/source/vm/extend.c
    * use stack function/macros instead of direct accessing HB_STACK members
    + added hb_retptrGC()

  * harbour/source/vm/fm.c
    + added hb_xRefInc(), hb_xRefDec(), hb_xRefFree(), hb_xRefCount(),
      hb_xRefResize() functions. They are internal Harbour VM functions
      and covered by internal API macro. Should not be used by 3-rd
      party code because we may change them in the future or even remove.

  * harbour/source/vm/garbage.c
    + added hb_gcRefInc(), hb_gcRefDec(), hb_gcRefFree(), hb_gcRefCount()
      functions. These are also internal function which corresponds to the
      above hb_x*() ones.
    * changed Step 3 of GC pass and execution of clean-up function to be
      safe for recursive calls and additional activity.
      Ryszard see my note and s_pDeletedBlock
    + added GC inspected HB_IT_POINTER items.

  * harbour/source/vm/hvm.c
    * separated profiler code
    * separated class code from HVM
    + added support for loading and unloading libraries with PCODE modules
    + added support for pure PCODE functions
    + added support for string item resizing and preallocating string buffer
    + added some new multipcode functions for -gc3 optimization
    + added hb_vmProcessSymbolsExt(), hb_vmRegisterSymbols(),
      hb_vmFreeSymbols(), hb_vmBeginSymbolGroup(),
      hb_vmInitSymbolGroup(), hb_vmExitSymbolGroup()
    * changed hb_vmProcessSymbols() to return address of register symbol
      table. For normal code it's the same address as given in parameter
      so it does not break backward binary compatibility.
    + use new code for operator overloading
    * changed FOR EACH to dynamically check iteration scope in
      hb_vmEnumNext()/hb_vmEnumPrev() and remove max number of iteration
      stored on HVM stack
    * temporary use hb_itemUnRefOnce() instead of hb_itemUnRefRefer() as
      workaround for possible GPF. I'd like Ryszard will chose the final
      version

  * harbour/source/vm/itemapi.c
    + added support for preallocating string buffer size
    + added hb_itemUnShareString() and hb_itemReSizeString()
    * updated string items to use counters allocated with each
      memory block by xh_xgrab()/hb_xalloc()
    * updated codeblock and array items to use GC reference counters
    + added GC inspected HB_IT_POINTER items.
    * generate RT error in hb_itemUnreOnce() for enumerator items
      out of scope
    + added hb_itemPutPtrGC()

  * harbour/source/vm/macro.c
    * use pDynSym->pSymbol->value.pFunPtr instead of pDynSym->pFunPtr

  * harbour/source/vm/maindllp.c
    * updated usage of hb_vmProcessSymbols()
    * added hb_vmProcessSymbolsExt()

  * harbour/source/vm/memvars.c
    + added hb_memvarGetItem()
    - removed hb_memvarValueDecGarbageRef()

  * harbour/source/vm/proc.c
    + added #include "hbapicls.h"

  * harbour/source/vm/pvalue.c
    * do not access stack structure directly but use hb_stack*()
      functions (macros)

  * harbour/source/vm/runner.c
    * synced with xHarbour

  * harbour/utils/hbtest/rt_misc.prg
   * added overloading "=" operator. Now "==" and "=" can be overloaded
     with different methods

   All names I used for new functions/macros can be changed. Please look at
   it and if you will some better propositions then we can use it.
   hb_vmProcessSymbolsExt() is added but not used yet.
2006-06-14 11:21:26 +00:00
Chen Kedem
658d94b056 2006-05-23 14:21 UTC+0300 Chen Kedem <niki@actcom.co.il> 2006-05-23 11:21:29 +00:00
Ryszard Glab
23c07b16d9 2006-03-10 12:20 UTC+0100 Ryszard Glab <rglab//imid.med.pl>
* include/hbpp.h
    + added 'extern' declaration

  * source/compiler/hbusage.c
    + added short usage info abour /r= switch

  * doc/pragma.txt
  * doc/en/compiler.txt
    + added documentation about new pragmas and new /r= switch
2006-03-10 11:16:12 +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
Przemyslaw Czerpak
ef0883bf02 2004-10-11 21:40 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/Makefile
  + harbour/make_bsd.sh
  + harbour/make_drw.sh
  * harbour/make_tgz.sh
  + harbour/bin/hb-func.sh
  * harbour/bin/pack_src.sh
  + harbour/bin/postinst.bat
  + harbour/bin/postinst.sh
  * harbour/config/dir.cf
  * harbour/config/bsd/gcc.cf
  * harbour/config/bsd/global.cf
  + harbour/config/darwin/dir.cf
  + harbour/config/darwin/gcc.cf
  + harbour/config/darwin/global.cf
  + harbour/config/darwin/install.cf
  * harbour/config/dos/dir.cf
  * harbour/config/dos/global.cf
  * harbour/config/dos/install.cf
  * harbour/config/dos/owatcom.cf
  * harbour/config/dos/watcom.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/linux/global.cf
  * harbour/contrib/Makefile
  * harbour/contrib/dot/pp_harb.ch
  * harbour/contrib/libct/Makefile
  * harbour/contrib/libct/bit1.c
  * harbour/contrib/libct/bit2.c
  * harbour/contrib/libct/bit3.c
  * harbour/contrib/libct/files.c
  * harbour/contrib/libct/ftoc.c
  - harbour/contrib/libct/invertwin.prg
  + harbour/contrib/libct/invrtwin.prg
  * harbour/contrib/libct/keyset.c
  * harbour/contrib/libct/makefile.bc
  * harbour/contrib/libmisc/dates2.c
  * harbour/contrib/rdd_ads/ads1.c
  * harbour/contrib/rdd_ads/adsfunc.c
  * harbour/contrib/samples/date.c
  * harbour/include/dbinfo.ch
  * harbour/include/hbapi.h
  * harbour/include/hbapicdp.h
  * harbour/include/hbapifs.h
  * harbour/include/hbapigt.h
  * harbour/include/hbapiitm.h
  * harbour/include/hbcomp.h
  * harbour/include/hbdate.h
  * harbour/include/hbdbf.h
  * harbour/include/hbdbferr.h
  * harbour/include/hbdefs.h
  * harbour/include/hbexprb.c
  * harbour/include/hbexprc.c
  * harbour/include/hbexprop.h
  * harbour/include/hbmacro.h
  * harbour/include/hbmath.h
  * harbour/include/hbpcode.h
  * harbour/include/hbrddcdx.h
  * harbour/include/hbrdddbf.h
  * harbour/include/hbrdddbt.h
  * harbour/include/hbrddfpt.h
  * harbour/include/hbrddntx.h
  * harbour/include/hbset.h
  * harbour/include/hbsetup.h
  * harbour/include/set.ch
  * harbour/source/common/Makefile
  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
  - harbour/source/common/hbffind.c
  * harbour/source/common/hbfsapi.c
  * harbour/source/common/hbstr.c
  * harbour/source/common/hbver.c
  + harbour/source/common/hbverdsp.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/harbour.c
  * harbour/source/compiler/harbour.l
  * harbour/source/compiler/harbour.slx
  * harbour/source/compiler/harbour.sly
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/simplex.c
  * harbour/source/macro/macro.l
  * harbour/source/macro/macro.slx
  * harbour/source/macro/macro.y
  * harbour/source/pp/ppcore.c
  * harbour/source/rdd/dbcmd.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/dbfcdx/dbfcdx1.c
  - harbour/source/rdd/dbfcdx/dbfcdx1.h
  * harbour/source/rdd/dbffpt/dbffpt1.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rtl/Makefile
  * harbour/source/rtl/abs.c
  * harbour/source/rtl/at.c
  * harbour/source/rtl/datec.c
  * harbour/source/rtl/dates.c
  * harbour/source/rtl/dateshb.c
  * harbour/source/rtl/datesx.c
  * harbour/source/rtl/empty.c
  * harbour/source/rtl/errorapi.c
  * harbour/source/rtl/errorint.c
  * harbour/source/rtl/filesys.c
  * harbour/source/rtl/fstemp.c
  + harbour/source/rtl/hbffind.c
  * harbour/source/rtl/hbrandom.c
  * harbour/source/rtl/idle.c
  * harbour/source/rtl/inkey.c
  * harbour/source/rtl/math.c
  * harbour/source/rtl/minmax.c
  * harbour/source/rtl/pad.c
  * harbour/source/rtl/padc.c
  * harbour/source/rtl/padl.c
  * harbour/source/rtl/padr.c
  * harbour/source/rtl/philes.c
  * harbour/source/rtl/round.c
  * harbour/source/rtl/soundex.c
  * harbour/source/rtl/str.c
  * harbour/source/rtl/strcase.c
  * harbour/source/rtl/strmatch.c
  * harbour/source/rtl/strtran.c
  * harbour/source/rtl/strzero.c
  * harbour/source/rtl/substr.c
  * harbour/source/rtl/val.c
  * harbour/source/rtl/gtcrs/gtcrs.c
  * harbour/source/rtl/gtcrs/kbdcrs.c
  * harbour/source/rtl/gtdos/gtdos.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gtsln/kbsln.c
  * harbour/source/rtl/gtsln/keytrans.c
  * harbour/source/vm/arrays.c
  * harbour/source/vm/codebloc.c
  * harbour/source/vm/estack.c
  * harbour/source/vm/eval.c
  * harbour/source/vm/extend.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/vm/macro.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/runner.c
  * harbour/tests/bldtest/bldtest.c
  * harbour/utils/hbtest/hbtest.prg
  * harbour/utils/hbtest/rt_misc.prg
  * harbour/utils/hbtest/rt_str.prg
   * Sorry but it's too much modification for full description
     cvs diff gives file 785982 bytes length. So I only count the
     main things:
   ! cleand the code (no more warning messages under Linux and GCC and
     DOS OpenWatcom) - some of them were real bugs
   ! cleaned all endian dependend code I've found - now Harbour can be
     compiled on LITLE and BIG endian machines - for some other like
     PDP ENDIAN it's enough to define proper macros in hbdefs.h
   + added macros for to get/put values in chosen byte order:
         HB_GET_LE_[U]INT{16,24,32,64}( pPtr )
         HB_GET_BE_[U]INT{16,24,32,64}( pPtr )
         HB_PUT_LE_[U]INT{16,24,32,64}( pPtr, nVal )
         HB_PUT_BE_[U]INT{16,24,32,64}( pPtr, nVal )
   + added macro HB_CAST_BYTE_NUMBERS_OFF which disables casting in
     HB_{GET|PUT}_{LE|BE}_* macros - it's necessary for some platforms
     like ALPHA DEC.
   ! cleaned the code for 64bit machines
   * changed all parameters in hb_date* functions (day, month, year, week)
     from LONG to int - it doesn't change binary compatibility for 32bit
     machines but can cause troubles with compiling the old source
   + changed HB_IT_LONG type to HB_LONG which is mapped to long long
     by default for 32 bit machines.
   + change HB_IT_INTEGER to be real 'int' C type not 'short int'
   + added HB_IS_NUMINT() macro
   + added hb_parnll, hb_stornll, hb_retnll, hbretnlllen, hb_itemPutNLL,
     hb_itemPutNLLLen, hb_itemGetNLL which operates on LONGLONG
   + added hb_parnint, hb_stornint, hb_retnint, hb_retnintlen,
     hb_itemPutNInt, hb_itemPutNIntLen, hb_itemGetNInt which operates on
     HB_LONG
   + added HB_PUSHLONGLONG pcode
   + changed compiler and optimizer to use HB_LONG numbers and reduce
     conversion from to double which may damage the 64bit number.
   + common functions for string to number conversions for compiler, RTL
     and RDD to reduce problems with differ FL values for the same number:
     hb_compStrToNum(), hb_valStrnToNum(), hb_strToNum(), hb_strnToNum()
   + common function hb_numRoun() which uses exactly the same algorithms
     as string to number conversion for the same reason - please keep
     this functions together.
   + hack inside hb_numRound() similar to the one used by CL5.3
   + hb_numInt() which uses uses the same hack as hb_numRound()
   + rewritten number to string conversion
   + some new string manipulation functions hb_strncpy(), hb_strncat(), ...
     They works differ the the C one - always set 0 at the end, the buffer
     has to be n+1 bytes length, the n is total size of buffer not the
     left free space.
   ! cleaned some code which operates on ASCIIZ string to avoid potential
     buffer overflow
   + updated RDD code - it's the first part - in few days I plan to change
     workarea structure in both projects - it will break any 3rd party RDDs
     so they have to be updated. I want to add SUPERTABLE into workarea
     to allow creating new RDD on-line.
   ! cleaned the bugs with negating integers - on most machines (like x86)
     the integers are not 0 symmetric - it means that x = -x does not work
     for {INT,LONG,LONGLONG}_MIN (hb_vmNegate, ABS())
   + cleaned error messages to be Clipper compatible.
   + updated build process for .DEB packages - now hb* scripts and shared
     libs are created by standard make install
   * added new .prg #defines: __PLATFORM__<cPlatfrom>,
     __ARCH{16|32|64}BIT__, __LITTLE_ENDIAN__|__BIG_ENDIAN__|__PDP_ENDIAN__
     !!! cPlatfrom can have lower letters (for xHarbour compatibility)
     If you do not like it please change it.
   * others ...
2004-10-11 20:44:30 +00:00
Ryszard Glab
9df7e88a73 2004-05-08 10:40 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* source/rdd/dbf1.c
   * source/rdd/dbfcdx/dbfcdx1.c
   * source/rdd/dbfdbt/dbfdbt1.c
   * source/rdd/dbffpt/dbffpt1.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rtl/is.c
   * source/rtl/strcase.c
   * source/rtl/transfrm.c
      * updated to refer hb_cdp_page instead of s_cdpage

   * source/vm/itemapi.c
      * snprintf is used only in GCC/Linux and WatcomC
      guarded with #ifdef HB_HAS_SNPRINTF
      (this is ommision from my previous commit)
2004-05-11 13:06:32 +00:00
Ryszard Glab
1e22b1fe7a 2004-03-01 11:15 UTC+0100 Ryszard Glab <rglab@imid.med.pl>
* include/hbexprb.c
   * include/hbmacro.ch
      * fixed support for strings as array of bytes
        (in macro compiler)
      * added a new #define HB_SM_ARRSTR as a flag
        for HB_SETMACRO() to disable/enable strings
        as array of bytes

   * source/vm/macro.c
      * added HB_SM_ARRSTR support
      * fixed TYPE() function to return correct value when an
        assigment to undeclared variable is checked (Clipper
        creates the memvar variable) - thanks to Phil Krylov

   * source/compiler/hbusage.c
      * fixed typo for -ks switch
2004-04-01 09:17:44 +00:00
Viktor Szakats
1722254d81 2004-02-13 21:56 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu>
* souce/rtl/gtapi.c
     ! hb_gtSetColorStr() removed one suspicious assigment which
       showed incompatible with CA-Cl*pper, whete CLR_UNSELECTED
       was made equal to CLR_ENHANCED if missing from the color string.
     * Using CLR_ constants instead of literals.

   * source/rtl/tget.prg
     ! :ColorSpec() method unselected color defaulting fixed.

   * source/compiler/hbusage.c
     * Bumped year to 2004.
2004-02-13 21:25:43 +00:00
Ryszard Glab
381a05abc1 Changelog 2003-11-10 12:25 UTC+0100 Ryszard Glab 2003-11-10 11:28:19 +00:00
Ryszard Glab
a31d12a9a0 Changelog 2003-10-29 20:15 UTC+0100 Ryszard Glab 2003-10-29 19:38:11 +00:00
Alexander S.Kresin
e93f43c355 2003-09-26 22:10 UTC+0300 Alexander Kresin <alex@belacy.belgorod.su> 2003-09-26 18:08:39 +00:00
Antonio Linares
f5134fc72c Added support for IL generation 2003-06-23 08:30:01 +00:00
Horacio Dario Roldan Kasimatis
536516a2af 2002-09-28 21:50 UTC-0300 Horacio Roldan <harbour_ar@yahoo.com.ar> 2002-09-29 00:52:11 +00:00
April White
ed3cc67cd2 2002-07-21 2529 UTC+0500 April White <awhite@mail.rosecom.ca>
* doc/en/set.txt
  * source/compiler/hbusage.c
  * source/rtl/setkey.c
  * tests/setkeys.prg
    ; my email address, just in case you want to find me :-)
2002-07-22 00:33:27 +00:00
Jean-Francois Lefebvre
88b31335db 2002-05-20 22:33 UTC+0100 J.lefebvre (Mafact) <jfl@mafact.com> 2002-05-20 20:47:38 +00:00
Patrick Mast
2c987fcc95 2002-01-08 09:52 UTC+0100 Patrick Mast <email@patrickmast.com>
* source/compiler/genc.c
   * source/compiler/genjava.c
   * source/compiler/genobj32.c
   * source/compiler/hbusage.c
   * source/common/hbver.c
     * changed decimal build nr in "Alpha build .."
2002-01-08 08:59:52 +00:00
Andi Jahja
5d2d8f5deb Andi Jahja <harbour@cbn.net.id> 2002-01-02 02:03:10 +00:00
Andi Jahja
ccc3242ad1 Andi Jahja <harbour@cbn.net.id> 2002-01-01 05:27:03 +00:00
Andi Jahja
5a4815d381 Andi Jahja <harbour@cbn.net.id> 2001-12-30 09:48:15 +00:00
Viktor Szakats
beab7a3e8d 2001-12-17 14:57 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-12-17 14:03:42 +00:00
Viktor Szakats
869067ee70 2001-09-10 23:53 UTC+0100 Viktor Szakats <viktor.szakats@syenar.hu> 2001-09-10 22:04:29 +00:00
Ryszard Glab
f047a9927f ChangeLog 2001-08-17 20:15 UTC+0100 2001-08-17 18:26:37 +00:00
Ryszard Glab
0308443e77 ChangeLog 2001-08-07 13:45 UTC+0100 2001-08-07 12:51:34 +00:00
Ryszard Glab
f2f764c5a8 ChangeLog 2001-08-05 14:20 UTC+0100 2001-08-05 13:06:55 +00:00
Ryszard Glab
65cd98cadb ChangeLog 2001-08-04 15:15 UTC+0100 2001-08-04 14:19:29 +00:00
Luiz Rafael Culik
3933d2c8c1 See changelog 2001-07-23 21:10 GMT -3 2001-07-24 00:12:46 +00:00
Andi Jahja
9079cf110b *** empty log message *** 2001-06-09 15:06:48 +00:00