Commit Graph

1049 Commits

Author SHA1 Message Date
Przemyslaw Czerpak
13427dd60a 2007-11-03 02:35 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/bmdbfcdx/bmdbfcdx1.c
    * replaced all direct access to hb_set structure with functions
      Now it's possible to link bmdbfcdx with harbour.dll but because
      it still access hb_cdp_page then only if linker supports auto
      import conversions

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

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

  * harbour/source/pp/hbppgen.c
  * harbour/source/pp/ppcore.c
  * harbour/source/common/hbtrace.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/genc.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/vm/fm.c
    * use hb_fopen() instead of fopen()
2007-11-03 01:35:47 +00:00
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
88cb3664a9 2007-10-27 16:46 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbapifs.h
   * source/common/hbfsapi.c
     ! Added missing HB_EXPORTs.
     + Added hb_fsFileExists(). This is the preferred way to check 
       for the existence of a file, because it is fast and will 
       find a file even of directory traversal is not possible 
       for the file's directory. Works the same way as file 
       existence check in most other tools.
     ; NOTE: DOS branch was not compiled or tested (it is a 
             rewrite of a tested ASM function though).

   * common.mak
   * include/hbextern.ch
   * source/rtl/Makefile
   + source/rtl/hbfile.c
     + Added HB_FILEEXISTS() Harbour level function to check 
       for the existence of a file. This works better than 
       FILE() in most situations, but it doesn't accept any 
       wildcards.

   * source/compiler/gencobj.c
     ! Fixed to not used access(). Using hb_fsFileExists() instead.
2007-10-27 14:51:53 +00:00
Viktor Szakats
2887f35a1f 2007-10-27 16:04 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/compiler/gencobj.c
     ! HOST_OS_UNIX_COMPATIBLE -> OS_UNIX_COMPATIBLE
2007-10-27 14:05:02 +00:00
Viktor Szakats
72526bc283 2007-10-27 01:23 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbsetup.h
     - Removed HOST_OS_UNIX_COMPATIBLE which was a misleading 
       alias for OS_UNIX_COMPATIBLE.

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

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

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

   * samples/hscript/bld_b32.bat
   * samples/hscript/hscript.prg
   * samples/hscript/dir.hs
   * samples/hscript/multiply.hs
   * samples/hscript/ugly.hs
   * samples/hscript/hello.hs
     ! Fixed build batch file.
     ! Fixed to use NFLib file IO rather than libmisc, because 
       latter was broken (it is a clone of the NFLib file IO).
     ! Fixed scripts to use Start instead of Main as an entry 
       point otherwise __hrbRun() got confused and called the 
       app Main().
     ! Fixed some other problems to make it run.
2007-10-26 23:26:59 +00:00
Viktor Szakats
8db0ce3340 2007-10-16 12:50 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* source/rtl/isprint.c
     ! Fixed ISPRINTER() on Win32 after last changes.
       Thanks Guillermo, pls test now.
   
   * source/rdd/dbcmd.c
     ! Marked as HB_EXTENSION: FIELDLEN(), FIELDDEC(), FIELDTYPE()

   * include/hbextern.ch
   * source/rdd/dbcmd.c
     ! Marked as HB_EXTENSION: DBDROP(), DBEXISTS(), RDDINFO()
       (they were properly marked in hbextern.ch but not in source)

   * include/hbextern.ch
   * source/rtl/disksphb.c
   * source/rtl/fssize.c
   * source/rtl/fstemp.c
   * source/rtl/inkey.c
   * source/rtl/oemansi.c
   * source/rtl/philes.c
   * source/rtl/setcolor.c
   * source/rtl/setfunc.prg
   * source/rtl/setkey.c
   * source/rtl/shadow.c
   * source/rtl/trace.c
   * source/rtl/valtostr.c
   * source/vm/dynsym.c
     + Removed HB_EXTENSION from all the .prg level functions 
       prefixed with HB_.
       (there was a mixed situation here, but there's no need 
       to mark any HB_ functions as extensions, as it's obvious 
       by their name. So as a rule, no HB_ prefixed function 
       should ever be marked as HB_EXTENSION anymore.)
     ! Fixed some inconsistencies in HB_EXTENSION between 
       hbextern.ch and actual sources.

   * source/rtl/tgetlist.prg
     * One HB_EXTENSION changed to !HB_C52_STRICT because it 
       was guarding a bugfix rather than a real extension.

   * source/rtl/gui.prg
     * _GetNumCol() is now always strictly compatible.
       NOTE added about sloppy C5.3 behaviour.

   * source/rtl/inkey.c
   * contrib/xhb/xhb.ch
   * contrib/xhb/xhbfunc.c
     ! __KEYBOARD() xhb hidden parameter extension moved to 
       xhb lib. For similar functionality inside Harbour 
       pls use HB_KEYPUT(). __KEYBOARD is now 100% C5.x 
       compatible.

   * source/rtl/setfunc.prg
     * __SetFunction() extension now uses HB_KEYPUT() instead 
       of __KEYBOARD() extended parameters.

   * source/compiler/hbfunchk.c
   * source/rtl/at.c
     ! AT() extra parameters handled when HB_EXTENSION is on 
       (was !HB_C52_STRICT). (The first extra parameter is 
       XPP and Flagship compatible. The three parameter version 
       of this function is called AT3() in CAVO.)
     ! TRIM()/RTRIM() extra parameters handled on compiler level 
       when HB_EXTENSION is on (default).
     ! FILE() parameter check turned off in compiler.
       (to be C5.x compatible)

   * source/rtl/alert.prg
     ! ALERT() Harbour extended parameter (1st parameter type) 
       is now guarded with HB_EXTENSION instead of HB_C52_STRICT.

   * source/rtl/gete.c
     ! GETE[NV]() Harbour extended parameter guarded with HB_EXTENSION.

   * source/vm/proc.c
     ! PROCFILE() Harbour extended parameter guarded with HB_EXTENSION.

   * source/rtl/mlcfunc.c
     ! Harbour extended parameters for MEMOLINE()/MLCOUNT()/
       MLPOS()/MLCTOPOS()/MPOSTOLC() are now guarded with HB_EXTENSION 
       (instead of HB_C52_STRICT). It seems to be possible to 
       specify custom EOLs for all these functions. (Maybe simple 
       automatic Unix/Win EOL style handling would be better here)

   * source/vm/memvars.c
     ! Guarded Harbour extension in __MVRESTORE() with HB_EXTENSION.

   ; After this cleanup:
     - HB_EXTENSION is marking extra features living inside existing C5.x 
                    functions or classes, or Harbour extension functions 
                    not complying with the HB_ prefix rule (we have six 
                    such functions in RDD). If there are more extended 
                    parameters in Harbour pls mark them with HB_EXTENSION 
                    too.
     - HB_C52_STRICT is guarding bugfixes compared to C5.x.
     - No HB_ functions are guarded with HB_EXTENSION anymore.
     - We'd pbly need to review each HB_EXTENSIONs to check whether they 
       are safe or not.
     - A list of HB_EXTENSIONs:
       - MLCOUNT()
         MEMOLINE()
         MLPOS()
         MLCPOS()
         MPOSTOLC()      - 5th and up can specify custom EOLs.
       - ALERT()         - 1st parameter type can be any type in Harbour, char only in C5.x
       - SET FUNCTION TO
         __SETFUNCTION   - 2nd parameter can be numeric or array of numeric in Harbour.
       - SETKEY()        - 3rd codeblock parameter ("isactive" block)
       - SAVESCREEN()    - 5th parameter: lNoCheck (?)
         RESTSCREEN()    - 6th parameter: lNoCheck (?)
       - AT()            - 3rd and 4th parameters to set search range. 3rd parameter is 
                           also supported by XPP and FS. Results in compiler error in C5.x.
                           (CAVO uses AT2() and AT3() for extended versions.)
       - TRIM()
         RTRIM()         - 2nd parameter is an extension regarding space trimming mode.
                           Results in compiler error in C5.x.
       - ALLTRIM()       - 2nd parameter is an extension regarding space trimming mode.
       - GETE()
         GETENV()        - 2nd parameter specifies a default value. Can be found in HB_GETENV().
       - PROCFILE()      - 1st parameter is a Harbour extension. Undocumented function in C5.x.
                           The extension looks similar to the one found in Flagship.
       - __MVRESTORE()   - 3rd/4th parameters are Harbour extensions to set variable name 
                           mask. Redirected from the internal 5.x function named __MRESTORE().
       - DB*()           - cRDD, nConnection, cCodePage extra parameters in many DB*() functions.
                           TOFIX: None of them is marked as HB_EXTENSION.
       - SET()s          - These are not marked as HB_EXTENSION.
       - ?               - Is there anything else?
2007-10-16 11:04:51 +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
01c5248dde 2007-10-15 17:39 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbmath.h
  * harbour/source/pp/ppcore.c
  * harbour/source/pp/ppgen.c
  * harbour/source/pp/Makefile
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/fserror.c
  * harbour/source/rtl/gtchrmap.c
  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/gttone.c
  * harbour/source/rtl/gtwvt/gtwvt.c
  * harbour/source/rtl/fssize.c
  * harbour/source/rtl/hbinet.c
  * harbour/source/rtl/hbffind.c
  * harbour/source/rtl/filesys.c
  * harbour/source/vm/mainwin.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbtrace.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/ppcomp.c
  * harbour/utils/hbver/hbverfix.c
  * harbour/utils/hbpp/hbppcore.c
  * harbour/config/w32/pocc.cf
    * code cleanup:
      - eliminated unnecessary errno access
      - use WinAPI functions instead of some standard C library functions
        in Windows builds
2007-10-15 15:40:17 +00:00
Przemyslaw Czerpak
e2297ea62c 2007-10-13 12:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbdead.c
    % minor improvement
2007-10-13 10:48:12 +00:00
Przemyslaw Czerpak
01bc547035 2007-10-13 02:13 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.yyh
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
    * updated for recent modifications
2007-10-13 00:14:07 +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
ce51877db3 2007-10-10 00:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/complex.c
    * cleanup: removed unused variable, some extension to datetime
      decoding, etc.
2007-10-09 22:05:51 +00:00
Przemyslaw Czerpak
4803d0e558 2007-10-09 09:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/runner.c
  * harbour/source/compiler/genhrb.c
    ! added support for functions marked as DYNAMIC in .hrb format

  * harbour/source/compiler/complex.c
    + finished code (stil disabled) to decode datetime in
       VFP strict date form
2007-10-09 07:05:39 +00:00
Przemyslaw Czerpak
c5c1113387 2007-10-08 23:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    * do not clear references to public functions in symbol tables used
      by unloaded modules

  * harbour/source/compiler/complex.c
    + added disabled yet code to decode datetime in VFP strict date form
         {^YYYY/MM/DD[,][HH[:MM[:SS[.CCC]]][A|P]]}
      It's for future datetime implementation.
2007-10-08 21:06:12 +00:00
Przemyslaw Czerpak
2c601eb91c 2007-10-04 02:54 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbmain.c
    ! fixed setting HB_FS_FIRST flag
2007-10-04 00:54:49 +00:00
Przemyslaw Czerpak
822c550662 2007-09-28 15:25 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexpra.c
    + added support for HB_ENUM*([@]<varname>) functions - disabled
      by default can be enabled by HB_USE_ENUM_FUNCTIONS macro

  * harbour/source/rtl/gttone.c
    * use assembler code for tone emulation for POCC/XCC compiler only
      for X86 platforms

  * harbour/source/rtl/filesys.c
    * do not include <share.h> for POCC/XCC

  * harbour/source/compiler/gencli.c
    * pacify warning

  * harbour/config/w32/owatcom.cf
  * harbour/config/w32/xcc.cf
    * updated description in header files

  + harbour/config/w32/pocc.cf
    + added support for Pelles ISO C Compiler
2007-10-02 08:52:28 +00:00
Przemyslaw Czerpak
b5d010fbeb 2007-10-01 19:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/errorapi.c
    + added protection against possible GPF when some assign methods
      were called without parameters

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  * harbour/contrib/Makefile
    + added TIP and XHB

  * harbour/make_rpm.sh
  * harbour/harbour.spec
    * removed HB_COMPAT_XHB, --with tip, --with xhb
      they are not longer necessary
2007-10-01 17:43:52 +00:00
Przemyslaw Czerpak
423df1e50d 2007-09-28 19:26 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
    * pass compile time -ks state to RT macro compiler flags.
      It means that if you compile some with which &macros
      then -ks compile time switch will be passed also to
      macro compiler and respected later at runtime

  * harbour/source/macro/macro.yyc
  * harbour/source/macro/macro.y
    + added support for passing by reference array and object items

  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    * generate compile time error for @func(<vars,...>)
      only @func() is acceptable
2007-09-28 17:26:32 +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
72eca3d3e9 2007-09-18 00:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/source/vm/hvm.c
    + added hb_clsDoInit() function to initialize classy .prg functions

  * harbour/source/compiler/complex.c
    * allow to use NIL as class name

  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyh
    % optimize automatically var[0] declaration and generate the same
      PCODE as for var:={}

  * harbour/source/rtl/tscalar.prg
    + added HASH, POINTER and SYMBOL scalar classes
    * changed NIL class to not use any instance variables

  * harbour/source/vm/classes.c
    + added support for scalar classes. Now at startup classy code looks
      for hb<TYPENAME> functions and try to execute them to register
      scalar classes. It's Class(y) compatible behavior and only the prefix
      of scalar ceases class function is different: 'CSY' in class(y) and
      'HB' in Harbour, f.e.: hbNumeric()
      If you prefer xHarbour like not automatic scalar class registration
      with some PP commands:
         ASSOCIATE CLASS <ClassName> WITH TYPE
                           ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL|
                           NUMERIC|POINTER|SYMBOL
         ENABLE CLASS TYPE ALL
         ENABLE TYPE CLASS ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL|
                           NUMERIC|POINTER|SYMBOL
         EXTEND [TYPE] ARRAY|BLOCK|CHARACTER|DATE|HASH|LOGICAL|NIL|
                       NUMERIC|POINTER|SYMBOL WITH METHOD <SomeFunc>
      Then I can replace current code with it. If not then we should
      divide scalar cases definitions into separated files to allow
      easier overloading. I'm interesting in your opinions.
2007-09-17 22:45:30 +00:00
Przemyslaw Czerpak
18cdcd232e 2007-09-16 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbopt.c
    ! fixed bad typo in last modification - thanks to Viktor
    * added additional line number validation to not make optimizations
      which will change line numbers
2007-09-16 18:45:18 +00:00
Przemyslaw Czerpak
7ce01c556f 2007-09-15 22:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
    + HB_ISFIRSTIDCHAR() and HB_ISNEXTIDCHAR() macros

  * harbour/source/rdd/wafunc.c
    * changed FIELD->, _FIELD->, <alias>-> stripping from expressions
      to respect shortcuts

  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbopt.c
    * jump joining optimization changed to work also for code with line
      numbers
2007-09-15 20:35:30 +00:00
Przemyslaw Czerpak
08a3551742 2007-09-12 02:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/std.ch
    * cover ENDSEQUENCE translation with HB_C52_STRICT macro
    + added translations for END SWITCH, END WITH, END OBJECT

  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
    + added support for ENDSEQ[UENCE], ENDSW[ITCH] and ENDW[ITH]

  * harbour/source/rtl/hbgtcore.c
    ! changed string to color number translation to be fully Clipper
      compatible. Now I do not know any examples which we translate
      differently - if someone will find any them then please inform me.
      The only one intentional difference between Harbour and Clipper
      is in color number to string translation and background highlighting
      attribute "*", Clipper put it just before "/" as part of foreground
      color (f.e.: 248 => "N*+/W") but Harbour as part background color
      (f.e.: 248 => "N+/W*") - Clipper compatible behavior is enabled when
      Harbour is compiled with HB_C52_STRICT macro

  * harbour/utils/hbtest/rt_misc.prg
    * control the position of background highlighting attribute (*) in
      expected results depending on HB_C52_STRICT. Harbour passes correctly
      all included color translation tests.
2007-09-12 00:10:09 +00:00
Przemyslaw Czerpak
ea97d11a41 2007-08-22 19:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/source/pp/ppcore.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/main/harbour.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
    * added 'const' to some 'char *' declarations
    + added hb_pp_inBuffer()
    + extended hb_compMain() to accept source code passed as ASCIIZ
      string
    + .prg function HB_COMPILEFROMBUF()
    + added support for -q2 compiler switch - it disables _ALL_ stdout/stderr
      messages

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

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

  * harbour/include/hbcomp.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/cmdcheck.c
  * harbour/source/compiler/hbcomp.c
  * harbour/source/compiler/genjava.c
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/hbcmplib.c
  * harbour/source/compiler/ppcomp.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/genhrb.c
  * harbour/source/compiler/gencobj.c
  * harbour/source/compiler/genobj32.c
  * harbour/source/compiler/hbusage.c
  * harbour/source/compiler/hbgenerr.c
    + added hb_compOutStd() and hb_compOutErr()
    * redirected all compiler output to above functions
2007-08-21 14:01:01 +00:00
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
94cf099be5 2007-07-06 23:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/libct/bitnum.c
  * harbour/contrib/libct/charlist.c
  * harbour/contrib/libct/ctnet.c
  * harbour/contrib/libct/charonly.c
  * harbour/contrib/libct/atadjust.c
  * harbour/contrib/libct/ctmath.c
  * harbour/contrib/libct/ctset.c
  * harbour/contrib/libct/charsort.c
  * harbour/contrib/libct/ctmath.h
  * harbour/contrib/libct/ctset.h
  * harbour/contrib/libct/cterror.ch
  * harbour/contrib/libct/charmix.c
  * harbour/contrib/libct/charevod.c
  * harbour/contrib/libct/charrepl.c
  * harbour/contrib/libct/charswap.c
  * harbour/contrib/libct/charop.c
  * harbour/contrib/libct/color.prg
  + harbour/contrib/libct/blank.prg
  * harbour/contrib/libct/ct.prg
  * harbour/contrib/libct/ct.ch
  * harbour/contrib/libct/charone.c
  * harbour/contrib/libct/ctchksum.c
  * harbour/contrib/libct/ascpos.c
  * harbour/contrib/libct/charmirr.c
  * harbour/contrib/libct/ctc.c
  * harbour/contrib/libct/ct.h
  * harbour/contrib/libct/atnum.c
  * harbour/contrib/libct/ctmisc.prg
  * harbour/contrib/libct/count.c
  * harbour/contrib/libct/ctcrypt.c
  * harbour/contrib/libct/addascii.c
  * harbour/contrib/libct/ctmath2.c
  * harbour/contrib/libct/ctextern.ch
  * harbour/contrib/libct/asciisum.c
  * harbour/contrib/libct/atrepl.c
  * harbour/contrib/libct/ctstr.c
  * harbour/contrib/libct/ctstr.h
    * synced with xHarbour modifications and fixes
    ! some fixes
    * indenting

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

  * harbour/source/vm/hashfunc.c
    + added HB_HSETCASEMATCH(), HB_HSETAUTOADD()
    % some minor optimizations

  * harbour/include/hbcompat.ch
    + added hb_checksum() <=> hb_adler()
    * use new HB_HSET*() function to avoid warnings

  * harbour/include/hbcomp.h
  * harbour/include/hbcompdf.h
  * harbour/include/hberrors.h
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbgenerr.c
    ! fixed using EXIT/LOOP inside WITH OBJECT / END statement
    ! fixed optimization of empty BEGIN/END sequence when recover has
      EXIT or LOOP statement
    ! forbidden using EXIT and LOOP inside ALWAYS code in BEGIN/END sequence
    ! forbidden using ALWAYS statement if RECOVER code has EXIT or LOOP
      statement
2007-07-06 21:17:36 +00:00
Przemyslaw Czerpak
f7b1fafb4b 2007-07-04 17:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/gencobj.c
    + added support for environment variable substitution in harbour.cfg
      file, envvar should be given as $(<name>) f.e.: $(HB_INC_INSTALL)
2007-07-04 15:41:06 +00:00
Przemyslaw Czerpak
237af158fa 2007-07-04 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.y
    ! fixed using LOOP inside SWITCH/CASE.../END statement
    ! fixed possible memory leeks when compile time error appear
      with some unfinished LOOP statements
    ! do not push unnecessary NIL on HVM stack when SWITCH/CASE.../END
      statement were used without OTHERWISE clause

  * harbour/source/pp/ppcore.c
    ! do not calculate last line when it does not contain any character
    * clear line number counter after preprocessing standard definitions/
      rules - I hope it will make David happy ;-)
2007-07-04 13:13:10 +00:00
Przemyslaw Czerpak
d03f0a3274 2007-07-02 14:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompat.ch
    + added hb_CStr() <=> CStr() translations

  * harbour/common.mak
  * harbour/source/rtl/Makefile
  + harbour/source/rtl/hbbit.c
    + added set of hb_bit*() functions for bit manipulations:
      HB_BITAND( <nVal1>, <nVal2>, [<nVal3,...>] ) => <nResult>
      HB_BITOR( <nVal1>, <nVal2>, [<nVal3,...>] ) => <nResult>
      HB_BITXOR( <nVal1>, <nVal2>, [<nVal3,...>] ) => <nResult>
      HB_BITNOT( <nVal> ) => <nResult>
      HB_BITTEST( <nVal>, <nBit> ) => <lResult>
      HB_BITSET( <nVal>, <nBit> ) => <nResult>
      HB_BITRESET( <nVal>, <nBit> ) => <nResult>
      HB_BITSHIFT( <nVal>, <nBits> ) => <nResult>

  * harbour/contrib/tip/Makefile
  * harbour/contrib/tip/utils.c
  * harbour/contrib/tip/popcln.prg
  * harbour/contrib/tip/Changelog
  * harbour/contrib/tip/cgi.prg
  * harbour/contrib/tip/url.prg
  * harbour/contrib/tip/httpcln.prg
  * harbour/contrib/tip/client.prg
  * harbour/contrib/tip/encoder.prg
  * harbour/contrib/tip/smtpcln.prg
  * harbour/contrib/tip/mail.prg
  * harbour/contrib/tip/ftpcln.prg
  + harbour/contrib/tip/thtml.prg
  + harbour/contrib/tip/thtml.ch
  - harbour/contrib/tip/cstr.prg
    * synced with recent xHarbour modifications - please test

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

  * harbour/source/rdd/delim1.c
  * harbour/source/rdd/dbf1.c
  * harbour/source/rdd/sdf1.c
    % do not copy date value to separate memory buffer but decode dates
      directly from record buffer

  * harbour/source/compiler/hbopt.c
    * optimize PCODE generated for:
         return <somefunc>([<params,...>])
2007-07-02 12:10:38 +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
Przemyslaw Czerpak
ad2ab41638 2007-06-14 00:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompat.ch
    + added translation rules for extended code blocks

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

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

  * harbour/source/pp/Makefile
    * workaround for problems with some GNU make  versions,
      f.e. 3.76.1 on OS2
2007-06-13 22:06:19 +00:00
Przemyslaw Czerpak
5c85215870 2007-06-12 23:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/rdd_ads/ads1.c
    * cleaned BCC warning

  * harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    + added set of hb_arraySet*() functions - I hope they will help 3-rd
      party developers to eliminate using C stack level HB_ITEM and
      reduce usage of potentially danger function like hb_arrayGetItemPtr()

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

  * harbour/include/hbcompat.ch
    + added hb_pvalue() <-> pvalue() translations

  * harbour/source/vm/pvalue.c
    + added support for 2-nd parameter for assugb operation, f.e. now
         hb_pvalue( 3, "abc" )
      sets "abc" to 3-rd function parameter

  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/hbopt.c
    ! fixed two buggy optimizations
2007-06-12 21:41:58 +00:00
Przemyslaw Czerpak
f86b9acb5d 2007-06-11 11:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/genc.c
    * allow to use #pragma begindump / enddump in .prg files without
      any .prg code

  * harbour/source/vm/hvm.c
    ! fixed assign in overloaded []
2007-06-11 09:32:03 +00:00
Przemyslaw Czerpak
581507c90d 2007-06-01 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
    * set attributes explicitly to clean some wrong attributes committed
      to CVS and minor cleanup

  * harbour/include/hbapierr.h
  * harbour/source/rtl/errorapi.c
    + added hb_errorBlock()

  * harbour/source/macro/macro.yyc
  * harbour/source/compiler/harbour.yyc
    * manual hack to pacify BCC warning messages

  * harbour/include/hbpcode.h
  * harbour/include/hbxvm.h
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hblbl.c
  * harbour/source/compiler/hbmain.c
  * harbour/source/compiler/hbopt.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/vm/hvm.c
    + added support for:
         BEGIN SEQUENCE WITH <errorBlockExp>
            [<statements;...>]
         [ RECOVER [ USING oErr ] ]
            ...
         [ ALWAYS ]
            ...
         END
      It works like normal BEGIN SEQUENCE but sets <errorBlockExp> as
      ErrorBlock() before executing <statements;...> and restore
      previous ErrorBlock() at the end or when exception will appear.
      I hope it will make some xHarbour user happy ;-)

  * harbour/include/hbcompat.ch
    + added preprocessor directive for TRY / CATCH / FINALLY / END
      working like in xHarbour - translated to:
         BEGIN SEQUENCE WITH { |oErr| Break( oErr ) }
            ...
         [ RECOVER [ USING oErr ] ]
            ...
         [ ALWAYS ]
            ...
         END
2007-06-01 13:12:29 +00:00
Przemyslaw Czerpak
8ab966f7fa 2007-05-31 23:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/harbour.yyc
    * synced with recent modifications in harbour.y - I missed it.
  * harbour/source/hbpcre/pcrecomp.c
    * cleaned some waning reported by Lorenzo
2007-05-31 21:36:11 +00:00
Przemyslaw Czerpak
defb63f5f2 2007-05-30 01:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/macro/macro.y
  * harbour/source/macro/macro.yyc
    ! fixed bug in operator precedence - seems that it existed from
      beginning and partially were fixed in xHarbour. This code exploits
      the problem:
            #define EOL chr(13)+chr(10)
            #command ? [<x,...>] => [outstd( <x> );]outstd(EOL)
            #command TEST <exp> => BEGIN SEQUENCE     ;
                                 ;   ? <exp>          ;
                                 ; RECOVER USING oErr ;
                                 ;   ? "Error:", oErr:subCode, ;
                                       oErr:description, oErr:operation ;
                                 ; END
            proc main()
            local oErr, s1:="X", s2:="Y", t:=.T.
            errorBlock({|oErr|break(oErr)})
            TEST t != s1 $ s2
            TEST t == s1 $ s2
            TEST t =  s1 $ s2
            TEST t <  s1 $ s2
            TEST t <= s1 $ s2
            TEST t >  s1 $ s2
            TEST t >= s1 $ s2
            TEST s1 $ s2 != t
            TEST s1 $ s2 == t
            TEST s1 $ s2 =  t
            TEST s1 $ s2 >  t
            TEST s1 $ s2 <  t
            TEST s1 $ s2 >= t
            TEST s1 $ s2 <= t
            return
2007-05-29 23:04:09 +00:00
Przemyslaw Czerpak
c3e6e824e4 2007-05-28 18:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/config/bsd/gcc.cf
  * harbour/config/darwin/gcc.cf
  * harbour/config/hpux/gcc.cf
  * harbour/config/linux/gcc.cf
  * harbour/config/sunos/gcc.cf
    + added -lpcreposix -lpcre to linked system libraries when
      C_USR contains -DHB_PCRE_REGEX

  * harbour/source/compiler/hbmain.c
    * clear HB_COMP_PARAM->functions.pLast in hb_compCompileEnd()
      to avoid accessing freed memory
2007-05-28 16:52:32 +00:00
Przemyslaw Czerpak
bedaef925f 2007-05-28 09:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/make_xmingw.sh
  * harbour/source/pp/Makefile
    * recent xHarbour fixes for MinGW Linux->W32 cross build by Phil Krylow
      with small modifications

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

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

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

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

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

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

  * harbour/source/vm/memvars.c
    * use hb_strMatchCaseWildExact() instead of hb_strMatchRegExp()
      I still keep the hack which translates any mask starting with '*'
      to "*" but if you think that we should fully respect wildcards
      patterns then we should remove it from function hb_memvarGetMask()
      Opinions?
2007-05-28 07:52:08 +00:00
Przemyslaw Czerpak
a15b21c6d6 2007-05-22 13:30 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/hbfix.c
    ! fixed local IND/DED when PARAMETERS is used
    ! fixed local names generated for debugger when PARAMETERS is used

  * harbour/source/debug/dbgentry.c
    ! fixed very bad typo in my previous commit
    % minor optimization
2007-05-22 11:34:41 +00:00
Przemyslaw Czerpak
0ae81e63e3 2007-05-22 12:20 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    +  added -lpcreposix to system libraries when C_USR has -DHB_PCRE_REGEX
  * harbour/include/hbregex.h
    * removed pcre/ path from PCRE header files - if you want to build
      Harbour with PCRE regex and PCRE header files are not in default\
      path then set valid path in C_USR, f.e.:
         export C_USR="${C_USR} -DHB_PCRE_REGEX -I/usr/include/pcre"

  * harbour/include/hbxvm.h
  * harbour/source/compiler/gencc.c
  * harbour/source/vm/hvm.c
    * minor optimizatin for -gc3 output
2007-05-22 10:23:15 +00:00
Przemyslaw Czerpak
75bd21860c 2007-05-22 01:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapi.h
  * harbour/include/hbapicls.h
  * harbour/include/hbcomp.h
  * harbour/include/hbvm.h
  * harbour/include/hbvmpub.h
  * harbour/source/compiler/genc.c
  * harbour/source/compiler/gencc.c
  * harbour/source/compiler/gencli.c
  * harbour/source/compiler/hbdead.c
  * harbour/source/compiler/hbfix.c
  * harbour/source/compiler/hblbl.c
  * harbour/source/compiler/hbopt.c
  * harbour/source/compiler/hbpcode.c
  * harbour/source/compiler/hbstripl.c
  * harbour/source/debug/dbgentry.c
  * harbour/source/rdd/wafunc.c
  * harbour/source/rtl/itemseri.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/vm/classes.c
  * harbour/source/vm/dynsym.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/memvars.c
  * harbour/source/vm/runner.c
    * casting: changed some 'char *' to 'const char *', added const to some
      other declarations, added workaround for GCC warnings about
      dereferencing pointer with strict-aliasing optimization, etc.
2007-05-21 23:45:41 +00:00
Przemyslaw Czerpak
ff3876d887 2007-05-19 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    * formatting

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

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

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

  * harbour/source/rtl/mlcfunc.c
    ! fixed minor typo
2007-05-19 13:41:20 +00:00
Przemyslaw Czerpak
ba99e81cbf 2007-05-18 22:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapierr.h
  * harbour/source/rtl/errorapi.c
    * changed 'char hb_errFuncName' to 'const char hb_errFuncName'

  * harbour/source/compiler/ppcomp.c
    * added note about Harbour exception in header

  * harbour/include/hbapifs.h
  * harbour/source/rtl/fserror.c
    + added hb_getFError(), hb_setFError()

  * harbour/source/rtl/philes.c
  * harbour/source/rtl/philes53.c
    * use hb_getFError()/hb_setFError() in F*() functions

  * harbour/source/rtl/disksphb.c
  * harbour/source/rtl/fssize.c
    * fixed setting hb_fsError()

  * harbour/source/rtl/console.c
  * harbour/source/rtl/dirdrive.c
  * harbour/source/rtl/diskspac.c
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/philesx.c
  * harbour/source/rtl/set.c
  * harbour/source/rtl/gtcgi/gtcgi.c
  * harbour/source/rtl/gtpca/gtpca.c
  * harbour/source/rtl/gtstd/gtstd.c
    * removed code to save/restore hb_fsError()
2007-05-18 20:45:15 +00:00
Mindaugas Kavaliauskas
47dd0277d6 2007-05-15 15:40 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/source/compiler/gencobj.c
    ! fixed unrecoverable error "hb_xfree called with an invalid pointer"
      related to HB_CFG_FILE implementation
2007-05-15 12:35:14 +00:00
Przemyslaw Czerpak
ecf11388eb 2007-05-14 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/hbmain.c
    ! fixed memory leak when error appears during generating codeblock
2007-05-14 13:39:54 +00:00
Viktor Szakats
cbbcb1217f 2007-05-11 18:34 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/compiler/hbmain.c
   * harbour/source/compiler/harbour.yyc
     ! Fixed error message text when unclosed multiline codeblock
       was detected (said: <||...> instead of {||...}).
       (two more places)
2007-05-12 22:32:08 +00:00
Viktor Szakats
9151c5472e 2007-05-11 18:24 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* harbour/source/compiler/harbour.y
     ! Fixed error message text when unclosed multiline codeblock
       was detected (said: <||...> instead of {||...}).
     ; TOFIX: In this same case two memory blocks are not released:
       source\main\harbour.c:329: HB_TR_ERROR Block 1 0098C39C (size 100)
       source\main\harbour.c:329: HB_TR_ERROR Block 2 0098C200 (size 92)
2007-05-12 16:28:33 +00:00
Przemyslaw Czerpak
2f0189d34f 2007-05-12 10:45 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbexpra.c
  * harbour/include/hbexprb.c
  * harbour/include/hbexprop.h
  * harbour/include/hbpp.h
  * harbour/source/compiler/complex.c
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
  * harbour/source/compiler/harbour.yyh
  * harbour/source/compiler/hbmain.c
  * harbour/source/pp/ppcore.c
    + added support for extended multiline codeblocks:
         { |<params,...>| <EOL>
            <statement1>
            ...
            <statementN>
            return <val>
         }
      Such codeblocks allow nested definitions. They can also have their
      own variable declarations (local, static, field, memvar, parameters,
      private, public) and visibility of declared variables is similar to
      nested function in Pascal but please note that there is one limitation
      which exists also for normal codeblocks (Clipper compatible behavior):
      internal codeblock local parameters and local variables cannot be
      used in nested codeblocks, f.e. such code:
            eval( { |p| eval( {|| qout( p + 1 ) } ) } )
      is illegal in Clipper and Harbour. This limitation also can be
      eliminated but but it will be necessary to make deeper modifications
      in code for local detaching changing the method of generating
      codeblocks local variables in nested blocks so unlike the above
      also some modifications in HVM will be necessary.
      Please test.
2007-05-12 08:48:12 +00:00