Commit Graph

12 Commits

Author SHA1 Message Date
Viktor Szakats
175f05df56 2013-02-26 14:41 UTC+0100 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.*.po
  * utils/hbmk2/hbmk2.prg
    + do not share plugin variables (hbmk[ "vars" ])
      between different plugins. It avoids potentially nasty
      issues with plugins stepping onto each other's toes.
      [INCOMPATIBLE - though it's unlikely anyone is
      affected. If you must communicate between plugins,
      use public function or variable.]
    + clarified in help that -icon might not work on all
      platforms/compilers and detailed Windows implementation
      (in particular it's disabled on bcc/bcc64 and on
      mingw it won't work when a manual .rc is specified,
      also on some (old?) msvc versions. Consult your
      C compiler's Windows resource handling limitations.)
    + clarified in help the syntax of filters
    + clarified in help that .hbp references are handled as
      sub-projects
    + clarification to command substitution macro
    + clarification to filter syntax note
    ! strict parameter checks in all public shell APIs to
      avoid RTEs inside hbmk2 due to faulty API usage by scripts

  * utils/hbmk2/examples/plug_bis.hb
    * updated according to latest plugin changes

  * include/harbour.hbx
  * include/hbapi.h
  * src/vm/debug.c
  * src/vm/hvm.c
    + added internal function hb_vmInternalsEnabled()
      to query whether potentially sensitive internals
      are allowed to be accessed by public Harbour APIs
    + added .prg level function __vmNoInternals()
      to disable potentially sensitive internals
      by default accessible via public APIs.
      Intentionally a one-way function: once disabled,
      it cannot be reenabled from .prg or .c level.
      NOTE: It will break Harbour debug functionality,
      so it'd will be useful for hbrun scripts and
      release (non-debug) builds.
    + modified internal __dbg*() functions to return
      dummy values when internals are disabled via
      __vmNoInternals() functions. While the function
      return types are kept, apps relying on their
      specific values and certain relationships between
      them might break.
    ; NOTE: In the future, some more internals might
      be protected by this setting (f.e. low-level
      object and class functions and some API from
      hbdebug lib)
    ; Please review

  * tests/debugtst.prg
    ! fixed to compile warning-free without lowering
      warning level
    ! fixed to run RTE-free with internals disabled

  * bin/3rdpatch.hb
  * bin/commit.hb
  * config/postinst.hb
  * contrib/make.hb
  * contrib/hbtest/hbtest.ch
  * src/debug/*.prg
  * src/rtl/tclass.prg
  * utils/hbmk2/examples/plug_bis.hb
  * utils/hbmk2/examples/plug_tpl.hb
    * use short form #pragmas (the ones identical
      to Harbour options)
    ; NOTE: Except -l which works reversed compared
      to cmdline -l option. TOFIX? (I tried and failed)

  * src/rtl/hbi18n2.prg
  * contrib/xhb/tfile.prg
    * use F_ERROR instead of -1 literal

  * contrib/xhb/xhbtedit.prg
    ! replaced dirty xhb extension with std SubStr() call
      Reported by Tony Quick
      [pls report such bugs on Harbour devl list]

  * contrib/hbodbc/todbc.prg
    ! Don't continue ::Open() when SQLExecDir() have error
      Fix from xhb via Vicente Guerra, with cleanups.

  * tests/multifnc/multifnc.hbp
    + added comment
    + support for watcom

  * tests/multifnc/t1.prg
    ! missing file ending EOL

  * tests/*.prg
  * extras/gtwvw/tests/wvwtest9.prg
    * formatting
2013-02-26 13:44:10 +00:00
Viktor Szakats
7e7aaf9044 2012-10-02 13:52 UTC+0200 Viktor Szakats (harbour syenar.net)
* tests/adirtest.prg
  * tests/ainstest.prg
  * tests/and_or.prg
  * tests/array16.prg
  * tests/arrayidx.prg
  * tests/arrays.prg
  * tests/arrindex.prg
  * tests/atest.prg
  * tests/base64.prg
  * tests/byref.prg
  * tests/calling.prg
  * tests/cdow.prg
  * tests/clasinit.prg
  * tests/clasname.prg
  * tests/classch.prg
  * tests/classes.prg
  * tests/clsdata.prg
  * tests/cmphello.prg
  * tests/codebl.prg
  * tests/curdirt.prg
  * tests/cursrtst.prg
  * tests/dates.prg
  * tests/dates2.prg
  * tests/dates3.prg
  * tests/debugtst.prg
  * tests/delimtst.prg
  * tests/devtest.prg
  * tests/dirtest.prg
  * tests/disptest.prg
  * tests/docase.prg
  * tests/dosshell.prg
  * tests/dttest.prg
  * tests/dupvars.prg
  * tests/dynobj.prg
  * tests/dynsym.prg
  * tests/exittest.prg
  * tests/extend1.prg
  * tests/fib.prg
  * tests/fornext.prg
  * tests/fortest.prg
  * tests/funcarr.prg
  * tests/hbdoctst.prg
  * tests/hsxtest.prg
  * tests/ifelse.prg
  * tests/inifiles.prg
  * tests/initexit.prg
  * tests/inkeytst.prg
  * tests/inline_c.prg
  * tests/inline.prg
  * tests/iotest.prg
  * tests/iotest2.prg
  * tests/ipclnt.prg
  * tests/ipsvr.prg
  * tests/longstr.prg
  * tests/mathtest.prg
  * tests/memvar.prg
  * tests/multiarg.prg
  * tests/nums.prg
  * tests/objarr.prg
  * tests/objasign.prg
  * tests/objects.prg
  * tests/os.prg
  * tests/overload.prg
  * tests/parexpr.prg
  * tests/passref.prg
  * tests/procname.prg
  * tests/recursiv.prg
  * tests/returns.prg
  * tests/round.prg
  * tests/sdf_test.prg
  * tests/seconds.prg
  * tests/set_num.prg
  * tests/set_test.prg
  * tests/sound.prg
  * tests/statfun.prg
  * tests/statics.prg
  * tests/statics1.prg
  * tests/statics2.prg
  * tests/strdelim.prg
  * tests/stripem.prg
  * tests/t1.prg
  * tests/test.prg
  * tests/testerro.prg
  * tests/testfor.prg
  * tests/testget.prg
  * tests/testhtml.prg
  * tests/testid.prg
  * tests/testop.prg
  * tests/teststr.prg
  * tests/testtok.prg
  * tests/testvars.prg
  * tests/tflock.prg
  * tests/tstalias.prg
  * tests/version.prg
  * tests/videotst.prg
  * tests/while.prg
  * tests/wvtext.prg
    ! various cleanups and fixes after running almost all of them

  * ChangeLog
    * changed hbqt new repository to its new location:
        http://sourceforge.net/projects/qtcontribs/
2012-10-02 11:59:22 +00:00
Viktor Szakats
911ba94d9a 2010-09-23 00:07 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* tests/inline_c.prg
    ! Fixed. (deleted old code not working since 10 years)
2010-09-22 22:07:21 +00:00
Chen Kedem
5f4b086a86 2007-01-09 10:56 UTC+0200 Chen Kedem <niki@actcom.co.il> 2007-01-09 08:56:39 +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
Antonio Linares
cbcf0a5671 minor fix 2001-12-21 11:59:54 +00:00
Antonio Linares
60dcc0ef41 STOPDUMP renamed as ENDDUMP 2001-12-21 11:46:52 +00:00
Ron Pinkas
71b35897c3 2001-01-13 02:25 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/genc.c
   * source/compiler/harbour.c
   * source/pp/pragma.c
     + Added support for #pragma BEGINDUMP ... [#pragma STOPDUMP] or EOF.
       /* BEGINDUMP & STOPDUMP are just a suggestion. */

   * utils/hbpp/hbpp.c
   * source/pp/pplib.c
     + Added empty stub hb_compInlineAdd() (needed by pragma.c)

   * tests/inline_c.prg
     + Added code to demonstrate #pragam BEGINDUMP
2001-01-13 10:28:32 +00:00
Ron Pinkas
5a7c00ebfb 2001-01-11 20:10 UTC-0800 Ron Pinkas <ron@profit-master.com>
* source/compiler/harbour.l
   * source/compiler/harbour.slx
     + Added logic to ignore, rest of line after //
                              content of /**/ comments
                              content of strings and char constants
                              escape codes within strings and char constants
   * tests/inline_c.prg
     + Added sample comments and strings containing { and \".
2001-01-12 04:15:26 +00:00
David G. Holm
c54c5b8c7a See ChangeLog entry 2001-01-11 17:00 UTC-0500 David G. Holm <dholm@jsd-llc.com> 2001-01-11 22:08:52 +00:00
Ron Pinkas
360320cef7 Changed sample to use aTokens (thanks to David G Holm) 2001-01-11 21:54:26 +00:00
Ron Pinkas
8d2b4bd7f0 2000-01-01 22:40 UTC+0800 Ron Pinkas <ron@profit-master.com>
* include/hberrors.h
   * source/compiler/hbgenerr.c
     + Added: "Unterminated inline block in function: \'%s\'" and "Too many inline blocks"

   * include/hbcomp.h
   * source/compiler/harbour.c
     + Added hb_compInlineNew(), hb_compInlineAdd(), and hb_compInlineFind()

   * source/pp/ppcomp.c
   * source/compiler/harbour.slx
   * source/compiler/genc.c
     + Added support for inline C code blocks.

   + tests/inline_c.prg
     + Added new test to demonstrate new inline C support.
2001-01-02 06:53:30 +00:00