Commit Graph

1299 Commits

Author SHA1 Message Date
Viktor Szakats
2934968133 2012-06-10 16:43 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbziparc/ziparc.prg
    ! fixed using old IS*() macro w/o common.ch

  * contrib/hbziparc/tests/unzipa.prg
  * contrib/hbziparc/tests/zipa.prg
    + added #require directives

  * contrib/hbgd/tests/animgif.prg
  * contrib/hbgd/tests/antialia.prg
  * contrib/hbgd/tests/barms.prg
  * contrib/hbgd/tests/bartest.prg
  * contrib/hbgd/tests/counter.prg
  * contrib/hbgd/tests/gdtest.prg
  * contrib/hbgd/tests/gdtestcl.prg
  * contrib/hbgd/tests/test_out.prg
  * contrib/hbgd/tests/testdpi.prg
  * contrib/hbgd/tests/tostring.prg
  * contrib/hbgd/tests/tpoly.prg
  * examples/httpsrv/modules/showcounter.prg
    * cleanups and fixes (replaced ISDIRECTORY() xhb function,
      fixed Windows dir detection, added simpleio.ch)

  * contrib/hbzebra/tests/testcair.prg
  * contrib/hbzebra/tests/testhpdf.prg
  * contrib/hbzebra/tests/testwin.prg
  * contrib/rddads/tests/datad.prg
  * contrib/rddads/tests/testmg.prg
    + added #require directives for testing

  * contrib/hbfoxpro/misc.prg
  * contrib/hbnf/clrsel.prg
  * contrib/hbnf/menu1.prg
  * contrib/hbnf/metaph.prg
  * src/rtl/hbi18n2.prg
  * utils/hbtest/rt_str.prg
    * formatting (to help a grep case)
2012-06-10 14:48:22 +00:00
Viktor Szakats
7e446e2d02 2012-06-10 14:11 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/cdpdet.prg
    ! *nix specific CP autodetection code missed to call
      a local conversion subfunction.

  * src/rtl/gtfunc.c
    * HB_SETDISPCP(), HB_SETTERMCP(), HB_SETKEYCP() will
      now not RTE when passed NIL as 1st paramater. This
      makes it smoother to fall-back on purposedly invalid
      values, f.e. return values of new HB_CDPOS() and 
      HB_CDPTERM() in case of failure.

  * contrib/hblzf/tests/test2.prg
    + replaced in-source hbmk2 cmdline instructions with
      #require directive

  * contrib/gtwvg/tests/wvgactivex.prg
    ! fixed reference to non-existing batch file

  * doc/en/file.txt
  * doc/gmake.txt
  * doc/windll.txt
  * examples/gtwvw/docs/gtwvw.txt
  * examples/gtwvw/docs/whatsnew.txt
  * examples/gtwvw/tests/drawimg.prg
  * examples/guestbk/guestbk.txt
  * examples/hscript/readme.txt
    - deleted references to non-existing/obsolete batch files
2012-06-10 12:13:08 +00:00
Viktor Szakats
969e4ab0d9 2012-06-10 01:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbmlzo/hbmlzo.hbc
    ! fixed commented lib reference rendering the .hbc file unusable

  * contrib/hbmlzo/tests/test.prg
    + replaced in-source hbmk2 cmdline instructions with
      #require directive

  * contrib/hbqt/hbmk2_qt.hb
  * src/rtl/hbdoc.prg
  * utils/hbmk2/examples/plug_tpl.hb
    % use '%d' in hb_strformat() instead of calling hb_ntos()

  * utils/hbmk2/hbmk2.prg
    + show different message when .hbc file is triggered by
      #require directive

  * contrib/hbmlzo/hbmlzo.ch
    * formatting
2012-06-09 23:29:56 +00:00
Viktor Szakats
256803e47a 2012-06-09 21:19 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/Makefile
  + src/rtl/cdpdet.prg
  + src/rtl/cdpdetc.c
    + moved terminal and OS detection logic from hbmk2 to RTL
      with changes necessary to fit into core. New functions are:
        hb_cdpOS() -> <cCP | NIL>
        hb_cdpTerm() -> <cCP | NIL>
      it means these functions can be used in any apps now.
      Example:
        hb_SetTermCP( hb_cdpTerm() )
        Set( _SET_OSCODEPAGE, hb_cdpOS() )

  * contrib/hbrun/hbrun.prg
  * utils/hbmk2/Makefile
  - utils/hbmk2/hbmk2c.c
  * utils/hbmk2/hbmk2.hbp
  * utils/hbmk2/hbmk2.prg
    * using hb_cdpOS() and hb_cdpTerm() to automatically
      configure OS and terminal CP
2012-06-09 19:20:20 +00:00
Viktor Szakats
c0fff41758 2012-06-08 01:14 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbct/getsecrt.prg
  * contrib/hbgd/gdbar.prg
  * contrib/hbgd/gdbarcod.prg
  * contrib/hbhttpd/tests/eshop.prg
  * contrib/hbide/ideconsole.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbodbc/browodbc.prg
  * contrib/hbodbc/todbc.prg
  * contrib/hbqt/hbmk2_qt.hb
  * contrib/hbqt/tests/wvtqt.prg
  * contrib/hbsqlit3/tests/hdbctest.prg
  * contrib/hbtip/tests/tiptest.prg
  * contrib/hbtip/thtml.prg
  * contrib/hbwin/tests/olesrv1.prg
  * contrib/hbwin/tests/testax.prg
  * contrib/hbxpp/browdbx.prg
  * contrib/hbxpp/tthreadx.prg
  * contrib/xhb/cstruct.prg
  * contrib/xhb/dirrec.prg
  * contrib/xhb/dumpvar.prg
  * contrib/xhb/htjlist.prg
  * contrib/xhb/tcgi.prg
  * contrib/xhb/tedit.prg
  * contrib/xhb/thtm.prg
  * contrib/xhb/ttable.prg
  * contrib/xhb/xcstr.prg
  * contrib/xhb/xhbcls.ch
  * contrib/xhb/xhberr.prg
  * contrib/xhb/xhbole.prg
  * contrib/xhb/xhbtedit.prg
  * doc/codebloc.txt
  * doc/en/command.txt
  * doc/en/objfunc.txt
  * include/hbpers.ch
  * include/std.ch
  * src/common/expropt1.c
  * src/compiler/hbmain.c
  * src/debug/dbghelp.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/rdd/dbfntx/dbfntx0.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rtl/browdb.prg
  * src/rtl/browse.prg
  * src/rtl/dirscan.prg
  * src/rtl/errsys.prg
  * src/rtl/hbini.prg
  * src/rtl/listbox.prg
  * src/rtl/tclass.prg
  * src/rtl/tlabel.prg
  * src/rtl/tobject.prg
  * src/rtl/treport.prg
  * utils/hbtest/rt_mt.prg
    * some formatting (almost only whitespace)

  * contrib/xhb/dirrec.prg
  * src/rtl/dirscan.prg
    ! use directry.ch constants

  * contrib/hbqt/tests/draggable.prg
    ! hbformat and manual formats/cleanups

  * src/vm/maindllp/dllext.c
    ! fixed typo in recent addition
2012-06-07 23:18:44 +00:00
Viktor Szakats
9684accf5f 2012-06-07 12:15 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/Makefile
  * include/common.ch
  + include/hbhash.ch
    + moved hash-related constants from common.ch to new hbhash.ch
    ; common.ch include hbhash.ch for compatibility, protected by
      HB_LEGACY_LEVEL4 so it will stop being included automatically.
      If you use HB_HAUTOADD_* or HB_HMERGE_* constants, make sure
      to #include "hbhash.ch".

  * contrib/hbrun/headers.prg
  * utils/hbmk2/hbmk2.prg
    + include hbhash.ch

  * src/rdd/hbsix/sxini.prg
    * use hbhash.ch instead of common.ch
2012-06-07 10:20:17 +00:00
Viktor Szakats
e43cdcc5cd 2012-06-07 00:23 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/xhb/bkgtsks.c
  * doc/en/hb_api.txt
  * doc/en/hb_apird.txt
  * include/hbapi.h
  * include/hbapicls.h
  * include/hbapierr.h
  * include/hbapirdd.h
  * include/hbcompdf.h
  * include/hbstack.h
  * include/hbtypes.h
  * include/hbvmpub.h
  * src/rdd/nulsys/nulsys.c
  * src/rdd/wafunc.c
  * src/rtl/idle.c
  * src/rtl/type.c
  * src/vm/arrays.c
  * src/vm/classes.c
  * src/vm/estack.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/itemapi.c
  * src/vm/macro.c
  * src/vm/maindllp/dllext.c
  * src/vm/memvars.c
    % HB_ITEM_PTR -> PHB_ITEM
    * HB_ITEM_PTR, PHB_CODEBLOCK and HB_BASEARRAY_PTR marked
      with HB_LEGACY_LEVEL4, latter two were unused
      inside Harbour SVN.

  * contrib/xhb/bkgtsks.c
  * src/vm/dynsym.c
    % two more local pointer type synonyms deleted
2012-06-06 22:26:21 +00:00
Viktor Szakats
d0234ae015 2012-06-06 19:17 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbapi.h
    - deleted unused old HB_BASEARRAY_PTR type. INCOMPATIBLE.
      Same as PHB_BASEARRAY, use this instead.

  * include/hbtypes.h
  * src/vm/maindllp/dllext.c
    + added hb_macroTextValue() to hbmaindllp.

  ; TODO: rename all HB_ITEM_PTR to PHB_ITEM and delete former.
          pls shout if there is any difference in usage between 
          these two.
2012-06-06 17:19:43 +00:00
Viktor Szakats
4d96da75b6 2012-06-06 10:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/pp/ppcore.c
    + accept and ignore '#require' PP directive

  * contrib/hbrun/hbrun.prg
  * utils/hbmk2/hbmk2.prg
    + use '#require "name"' to request modules.
      (This replaces former '//#require', '//#pragma module' and
       '*#pragma module' directives.)

  * utils/hbmk2/hbmk2.prg
    + add .hbc automatically for '#require' directives (experimental)
      ; TODO: to work also in non-incremental mode and to work
              reliably in -inc mode. To not impact performance, the
              compiler could do a callback when #require is found,
              hbmk2 could find the .hbc and extend compiler options
              dynamically.
    ! fixed finding .hbc files that were detected automatically

  * contrib/hbrun/hbrun.1
    + added my name as author
2012-06-06 08:29:39 +00:00
Viktor Szakats
22c96ec47a 2012-06-06 04:07 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbrun/hbrun.prg
  * contrib/hbrun/pullext.prg
    + changed to use '//#require' syntax.
    ! filter empty dynamic modules
    + display error when trying to load dynamic modules in static
      hbrun build

  * include/hbver.ch
  * src/rtl/version.c
    + added hb_Version( HB_VERSION_SHARED ) to query whether
      the app was built in shared mode or static.
2012-06-06 02:10:45 +00:00
Viktor Szakats
7137863524 2012-06-05 02:49 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/debug/debugger.prg
  * src/rdd/dbstrux.prg
  * src/rdd/dbtotal.prg
  * src/rdd/dbupdat.prg
  * src/rdd/rddord.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rtl/adir.prg
  * src/rtl/alert.prg
  * src/rtl/checkbox.prg
  * src/rtl/dbedit.prg
  * src/rtl/getsys.prg
  * src/rtl/getsys53.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/hbini.prg
  * src/rtl/listbox.prg
  * src/rtl/menuto.prg
  * src/rtl/objfunc.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/scrollbr.prg
  * src/rtl/tbrowse.prg
  * src/rtl/tget.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tlabel.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tpopup.prg
  * src/rtl/treport.prg
  * src/rtl/ttopbar.prg
    * converted 'DEFAULT ... TO ...' to
      a) __defaultNIL() where bug compatibility is desired
      b) IF ... == NIL ... where default value had execution cost
      c) hb_default() where above side-effect were not in play
    % deleted '#include "common.ch"'
    * minor formatting

    ; "common.ch" is now eliminated from all core core and all
      contribs except gtwvg/hbide/hbxbp/xhb/examples where it's
      used excessively and very few more places. Please
      don't readd it, but use HB_DEFAULT() and HB_IS*() functions
      instead. Only use "common.ch" if you need HB_HAUTOADD_* or
      HB_HMERGE_* constants.
2012-06-05 00:50:34 +00:00
Viktor Szakats
23d0e32411 2012-06-05 00:43 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/radiogrp.prg
    % deleted '#include "common.ch"'

  * contrib/hbtip/sessid.prg
    ! playing it safe: using simple IF/ENDIF instead of HB_DEFAULT() 
      on a multi-type variable

    ; NOTE: One more implication of HB_DEFAULT vs. DEFAULT ... TO ...
            is that the default expression is always evaluated with
            the former.
2012-06-04 22:43:50 +00:00
Viktor Szakats
5633f2b4f3 2012-06-05 00:18 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib\hbblat\tests\blatcmd.prg
  * contrib\hbblat\tests\blattest.prg
  * contrib\hbct\tests\datetime.prg
  * contrib\hbcurl\tests\ftp_uldl.prg
  * contrib\hbfimage\tests\fitest.prg
  * contrib\hbformat\hbfmtcls.prg
  * contrib\hbformat\utils\hbformat.prg
  * contrib\hbfoxpro\dll.prg
  * contrib\hbgd\gd.prg
  * contrib\hbgd\gdbarcod.prg
  * contrib\hbgd\tests\animgif.prg
  * contrib\hbgd\tests\antialia.prg
  * contrib\hbgd\tests\counter.prg
  * contrib\hbgd\tests\gdtest.prg
  * contrib\hbgd\tests\gdtestcl.prg
  * contrib\hbgd\tests\test_out.prg
  * contrib\hbgd\tests\testdpi.prg
  * contrib\hbgd\tests\tostring.prg
  * contrib\hbmagic\tests\hbmagit.prg
  * contrib\hbmisc\fcomma.prg
  * contrib\hbmxml\tests\testmxml.prg
  * contrib\hbmysql\tsqlbrw.prg
  * contrib\hbnf\menu1.prg
  * contrib\hbnf\pegs.prg
  * contrib\hbnf\popadder.prg
  * contrib\hbnf\savesets.prg
  * contrib\hbnf\tempfile.prg
  * contrib\hbpgsql\tests\cache.prg
  * contrib\hbpgsql\tests\dbf2pg.prg
  * contrib\hbpgsql\tests\simple.prg
  * contrib\hbpgsql\tests\stress.prg
  * contrib\hbqt\qtgui\hbqt_errorsys.prg
  * contrib\hbsms\tests\send.prg
  * contrib\hbsqlit3\hdbcsqlt.prg
  * contrib\hbsqlit3\tests\authoriz.prg
  * contrib\hbsqlit3\tests\backup.prg
  * contrib\hbsqlit3\tests\hdbctest.prg
  * contrib\hbsqlit3\tests\hooks.prg
  * contrib\hbtip\cgi.prg
  * contrib\hbtip\client.prg
  * contrib\hbtip\ftpcli.prg
  * contrib\hbtip\httpcli.prg
  * contrib\hbtip\sessid.prg
  * contrib\hbtip\tests\dnldftp.prg
  * contrib\hbtip\tests\gmail.prg
  * contrib\hbtip\tests\upld_ftp.prg
  * contrib\hbwin\tests\dlg.prg
  * contrib\hbwin\tests\testsvc.prg
  * contrib\hbwin\win_tcom.prg
  * contrib\hbxpp\tgetx.prg
  * contrib\hbxpp\xppop.prg
  * contrib\hbziparc\ziparc.prg
  * examples\hbbtree\tbtree.prg
  * examples\httpsrv\modules\info.prg
  * examples\httpsrv\modules\testajax.prg
  * examples\rddado\adordd.prg
  * examples\terminal\terminal.prg
  * src\rdd\usrrdd\rdds\arrayrdd.prg
  * src\rdd\usrrdd\rdds\logrdd.prg
  * src\rtl\achoice.prg
  * src\rtl\radiogrp.prg
  * src\rtl\tclass.prg
  * tests\usrrdd\exlog.prg
    * using HB_DEFAULT() instead of DEFAULT ... TO ...
    % deleted '#include "common.ch"' where possible
    ; please pay attention to places where multiple values are
      accepted and DEFAULT applied. It's possible some of these
      might have been slipped my attention and converted to
      HB_DEFAULT(), causing regression.

  * src/rdd/usrrdd/rdds/arrayrdd.prg
    ! typos in recent mods
2012-06-04 22:21:59 +00:00
Viktor Szakats
d67c95e1bb 2012-06-04 23:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib\gtwvg\wvgwing.c
    ! fixed 64-bit warning (do not use NULL for numeric parameters)

  * contrib\hbqt\gtqtc\gtqtc.cpp
  * contrib\hbqt\hbmk2_qt.hb
  * contrib\hbqt\qtcore\hbqt_bind.cpp
  * contrib\hbqt\qtcore\hbqt_pointer.cpp
  * contrib\hbqt\qtgui\hbqt_errorsys.prg
  * contrib\hbqt\tests\demoqt.prg
  * contrib\hbqt\tests\testbrow.prg
    ! killed HB_TR_ALWAYS _again_. Do not readd them.
    + added TOFIX for .qth information embedded into plugin
    % minor opt in .prg code

  * include\harbour.hbx
  * src\rtl\hbdef.c
    + added __DEFAULTNIL() which is fully compatible with DEFAULT ... TO ...

  * src\debug\dbghelp.prg
  * src\debug\dbgtarr.prg
  * src\debug\dbgthsh.prg
  * src\debug\dbgtmitm.prg
  * src\debug\dbgtobj.prg
  * src\debug\dbgtwin.prg
  * src\debug\debugger.prg
  * src\rdd\usrrdd\rdds\arrayrdd.prg
  * src\rtl\achoice.prg
  * src\rtl\radiogrp.prg
  * src\rtl\tbrowse.prg
  * src\rtl\tclass.prg
  * src\rtl\tget.prg
  * src\rtl\tlabel.prg
  * src\rtl\treport.prg
    * using HB_DEFAULT() instead of DEFAULT ... TO ...
    % deleted '#include "common.ch"' where possible
2012-06-04 21:28:37 +00:00
Viktor Szakats
afcdde78da 2012-06-04 17:51 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/Makefile
  + src/rtl/hbdef.c
    + added HB_DEFAULT( @<xVariable>, <xDefaultValue> )
      it can replace DEFAULT ... TO ... command. In addition
      it will set the value to the default one even when the 
      variable has any other type, not only NIL.
2012-06-04 15:51:52 +00:00
Viktor Szakats
608da306e9 2012-06-04 17:21 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/debug/dbgbrwsr.prg
  * src/debug/dbgtarr.prg
  * src/debug/dbgthsh.prg
  * src/debug/dbgtinp.prg
  * src/debug/dbgtmenu.prg
  * src/debug/dbgtobj.prg
  * src/debug/dbgwa.prg
  * src/debug/debugger.prg
  * src/rdd/dbstruxu.prg
  * src/rdd/dbtotal.prg
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/hbsix/sxini.prg
  * src/rdd/hbsix/sxtrig.prg
  * src/rdd/rddord.prg
  * src/rdd/rddordu.prg
  * src/rdd/usrrdd/rdds/arrayrdd.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rtl/achoice.prg
  * src/rtl/adir.prg
  * src/rtl/alert.prg
  * src/rtl/checkbox.prg
  * src/rtl/color53.prg
  * src/rtl/dbedit.prg
  * src/rtl/einstv52.prg
  * src/rtl/einstvar.prg
  * src/rtl/errsys.prg
  * src/rtl/fieldbl.prg
  * src/rtl/getsys.prg
  * src/rtl/getsys53.prg
  * src/rtl/gui.prg
  * src/rtl/hbdoc.prg
  * src/rtl/hbfilehi.prg
  * src/rtl/hbi18n2.prg
  * src/rtl/hbini.prg
  * src/rtl/libname.prg
  * src/rtl/listbox.prg
  * src/rtl/memoedit.prg
  * src/rtl/memvarbl.prg
  * src/rtl/memvarhb.prg
  * src/rtl/menusys.prg
  * src/rtl/menuto.prg
  * src/rtl/objfunc.prg
  * src/rtl/profiler.prg
  * src/rtl/pushbtn.prg
  * src/rtl/radiobtn.prg
  * src/rtl/radiogrp.prg
  * src/rtl/readvar.prg
  * src/rtl/scrollbr.prg
  * src/rtl/setfunc.prg
  * src/rtl/tbcolumn.prg
  * src/rtl/tbrowse.prg
  * src/rtl/tbrowsys.prg
  * src/rtl/tclass.prg
  * src/rtl/teditor.prg
  * src/rtl/tget.prg
  * src/rtl/tgetlist.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/tmenusys.prg
  * src/rtl/tobject.prg
  * src/rtl/tpersist.prg
  * src/rtl/tpopup.prg
  * src/rtl/ttopbar.prg
  * src/rtl/typefile.prg
  * tests/hbdoctst.prg
  * utils/hbmk2/hbmk2.prg
    * IS*() macros converted to HB_IS*() function calls.
      (using full uppercase to make them stand out)
    % deleted '#include "common.ch"' where possible
2012-06-04 15:25:14 +00:00
Viktor Szakats
0cd6638432 2012-06-04 15:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/3rd/zlib/Makefile
  * src/3rd/zlib/*
    * updated to 1.2.7 from 1.2.6. Using 3rdpatch.hb and .dif reapplied manually.

  * src/rtl/hbzlibgz.c
    + HB_GZOPEN() updated to use new in zlib 1.2.7 wide gzopen()
      on Windows. It means now it supports unicode filenames.

  * contrib/hbmzip/3rd/minizip/zip.c
    * updated manually from zlib 1.2.7 (two warnings fixed)
2012-06-04 13:27:24 +00:00
Viktor Szakats
dc0fd83c43 2012-06-04 14:25 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/3rd/png/Makefile
  * src/3rd/png/*
    * updated to 1.5.10 from 1.5.9 (using 3rdpatch.hb)
2012-06-04 12:26:48 +00:00
Viktor Szakats
fc6191bd5c 2012-05-22 18:42 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbdoc.prg
  * src/rtl/hbini.prg
  * src/rtl/hbi18n2.prg
    ! fixed potential bugs with UTF8 HVM CP
    % using hb_FileExists() instead of File() in .ini handling code
    ; build tested only, review me & test
2012-05-22 16:49:43 +00:00
Przemyslaw Czerpak
3bac3a62de 2012-05-22 16:50 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/arrays.c
    * allow to call hb_arrayId() with NULL parameter
  * harbour/include/hbapiitm.h
  * harbour/src/vm/itemapi.c
    + added internal HVM function hb_itemPutPtrRawGC() - it's
      necessary for blocks allocated with hb_gcAllocRaw().
  * harbour/src/vm/thread.c
    ! use hb_itemPutPtrRawGC() instead of hb_itemPutPtrGC()
      It fixes internal errors (i.e. reported in build process)
      after my previous commit.
2012-05-22 14:51:12 +00:00
Przemyslaw Czerpak
9e06fd8959 2012-05-21 15:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/garbage.c
    + allow to call hb_itemPutPtrGC() with the same GC block more
      then once.
2012-05-21 13:43:10 +00:00
Przemyslaw Czerpak
e7d65ce8cd 2012-05-18 16:49 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbcom.ch
  * harbour/src/rtl/hbcom.c
    + added two new errors: HB_COM_ERR_ACCESS, HB_COM_ERR_NOCOM
2012-05-18 14:49:44 +00:00
Przemyslaw Czerpak
e01bcbd238 2012-05-17 23:08 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbgtinfo.ch
    + added new HB_GTI_FONTATTRIBUTE value: HB_GTI_FONTA_CTRLCHARS
      When used it forces using CTRL characters (from chr(0) to chr(31))
      directly without translation to CP437 unicode values.
      In windows some fonts need it to correctly display them.

  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
    + added support for
         hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_CTRLCHARS )

  * harbour/src/rtl/hbgtcore.c
    ! do not replace CTRL chars with '?' in HB_GTSELF_GETUC() method
2012-05-17 21:08:28 +00:00
Przemyslaw Czerpak
81bfc5d110 2012-05-17 18:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/cdpapi.c
    % use HB_CDP_ISUTF8( cdp ) macro instead of cdp == &s_utf8_codepage
      It should eliminate unnecessary translations and speedup some
      operations.
2012-05-17 16:33:53 +00:00
Przemyslaw Czerpak
10b6fb7489 2012-05-17 18:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbstack.h
  * harbour/src/vm/codebloc.c
  * harbour/src/vm/estack.c
  * harbour/src/vm/hvm.c
    % split hb_stackLocalVariable( int * ) macro and function into
      two different actions:
         hb_stackLocalVariable( int )     // access/assign local var
         hb_stackLocalVariableAt( int * ) // create reference to local var
2012-05-17 16:12:48 +00:00
Przemyslaw Czerpak
a44e171cc2 2012-05-16 19:23 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/classes.c
    % small optimization in __CLSGetProperties() function

  * harbour/src/rtl/tpersist.prg
    ! force linkin ARRAY() function when HBPersistent class is used
    ! use hb_ValToExp() instead of local ValToText() function which
      didn't work correctly for memos and some other types
    ! fixed infinite loop in HBPersistent:LoadFromText() used with
      empty text. The problem was also exploited by :LoadFromFile()
      method if file does not exists or it's empty()
    ! fixed deserialization of strings containing "=" char inside
    ! fixed deserialization of strings containing "::"
    ! added support for decoding nested objects - the code was not
      finished and this part was not implemented at all
    + added support for serialized text using ":=" assign operator
      instead of "="
    * use ":=" instead of "=" as assign operator in new serialized
      text
    + ignore lines starting with "//" and added support for files
      which do not start with OBJECT directive
    * ignore pointer and codeblock items stored in instance variables
      during serialization
    ; now HBPersistent class in Harbour should read serialized files
      created in xHarbour with few exceptions:
         - Harbour does not allow to serialize codeblocks
           See "CODEBLOCK SERIALIZATION / DESERIALIZATION" in
           doc/xhb-diff.txt for the reasons.
           If Harbour application restores xHarbour HBPersistent files
           with serialized codeblocks then RTE
               Undefined function: HB_RESTOREBLOCK
           is generated.
         - xHarbour serialize pointer items as numeric items
           saved in hexadecimal notation. Then restore them as numbers.
         - HBPersistent does not support hash arrays - they are
           serialized by default serialization code used by both
           compilers to generate expressions.
           In Harbour it's done by hb_valToExp() function and
           in xHarbour it's ValToPrg() is used.
           ValToPrg() does not create valid macrocompiler expressions
           for arrays and objects so HBPersistent files created
           by xHarbour are broken and cannot be correctly deserialized.
           It happens if objects has hash arrays in instance variables
           and these hash arrays contain normal arrays or object
           If Harbour application restores such xHarbour HBPersistent
           file then RTE "Syntax error: &" is generated.
    ; xHarbour encapsulates deserialization code inside TRY/CATCH/END
      statement saving errors to trace.log file. Harbour generates RTE.
      If programmer needs similar behavior then he should
      call :LoadFromText() and :LoadFromFile() methods inside
      BEGIN SEQUENCE [ / RECOVER ... ] / END SEQUENCE
      statement.
    ; xHarbour reinitialize all or properties instance variables to
      default state inside :LoadFromText() and :LoadFromFile() methods.
      The 3-rd parameter in above method <lPropertiesOnly> allows to
      chose which install variables should be reinitialized:
      all (default) or properties only.
      Harbour does not have such functionality.
      If programmer needs it then he should reinitialize them himself.
      It can be easy done be simple function.
      Alternatively we can implement this functionality but in such
      case I'd suggest to define three actions for such switch:
         none (default), all, properties only.
    ; Harbour does not support 2-nd parameter <lIgnoreBadIVars> which
      exist in xHarbour versions of HBPersistent:LoadFromText() and
      HBPersistent:LoadFromFile():
      If necessary we can implement it though it's usable only if we
      want to ignore some wrong lines and process others.
    ; Warning: Neither Harbour nor xHarbour supports arrays and objects
               with cyclic references in HBPersistent code - infinite
               loop appears in such case.
    ; I've never used HBPersistent and the state of the previous
      HBPersistent code in Harbour suggests that no one used it for
      some serious jobs so I'm open for any opinions and suggestions
      about it from xHarbour users.

  * harbour/src/compiler/harbour.y
    * generate line numbers before extended codeblocks - it gives
      more debugger friendly code.

  * harbour/src/compiler/harbour.yyh
  * harbour/src/compiler/harbour.yyc
    * regenerated (with bison 2.4.1)
2012-05-16 17:23:20 +00:00
Viktor Szakats
f71c4e0a25 2012-05-16 18:38 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbgtcore.c
  * src/rtl/rat.c
  * src/codepage/cp_utf8.c
    % deleted unnecessary assignment generating warnings with 
      some compilers
2012-05-16 16:39:24 +00:00
Viktor Szakats
11eecc403b 2012-05-16 18:28 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/vm/set.c
    ! added missing '#include "hbvm.h"' for hb_vmIsReady()
2012-05-16 16:28:42 +00:00
Viktor Szakats
a802e03e10 2012-05-15 13:20 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbgete.c
    ! fix to prev. test and review pls. BTW, the solution is 
      on google, so you can redo it too:
         https://issues.apache.org/jira/browse/STDCXX-358
2012-05-15 11:23:01 +00:00
Viktor Szakats
d2a1b36d05 2012-05-15 13:05 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbgete.c
    ! fixed unsetenv() usage for older Darwin versions (f.e. Tiger)
      (please test)
2012-05-15 11:06:50 +00:00
Viktor Szakats
9d1552d1cc 2012-05-09 16:14 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/common/hbdate.c
    ! hb_dateStrPut() fixed to never put non-digits in the
      result. F.e. in this case: ? 0d19700101 + 1100000000
2012-05-09 14:15:50 +00:00
Przemyslaw Czerpak
6f27c78569 2012-05-08 12:28 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/common/expropt2.c
    * small code simplification

  * harbour/src/rtl/hbregex.c
    % eliminated call to pcre_config() on each regex compilation

  * harbour/utils/hbmk2/hbmk2.prg
    ! fixed -head=full for code using non UTF8 characters.
      It was broken because in UNIX builds UTF8 is always enabled
      as HVM CP in HBMK2 and this setting was inherited by PCRE
      with PCRE_UTF8 flag. If this flag is used PCRE validates
      all strings and refuse to make any operations if they are
      not valid UTF8 string so it was not working at all for
      source code using different encoding.
    ! fixed regex used in -head=full to respect shortcuts in #include
      directive, i.e.:
         #incl "file.ch"
    ! fixed regex used in -head=full to recognize #include directives
      separated by ';', i.e.:
         #include "file1.ch" ; #include "file2.ch" ; #include "file3.ch"
    ; TOFIX: UTF8 mode on output should not be enabled unconditionally in
             all UNIX builds. There are many *nix installations where UTF8
             is not system CP, i.e. older Linux distributions. In fact
             it's user attribute so each user can use different encoding
             local to his connection and/or terminal settings. Probably
             it's good idea to use code like:
                  lUTF8 := "UTF-8" $ GetEnv( "LANG" ) .OR. ;
                           "UTF-8" $ GetEnv( "LC_CTYPE" )
2012-05-08 10:28:46 +00:00
Viktor Szakats
ddd8ef46bc 2012-05-04 20:07 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    ! fixed RTE when logging sign command
    ! fixed `` operator to strip CRs and convert LFs to space
      in stdout output.

  * src/rdd/dbcmd.c
    ! clarified DBCREATE() 4th parameter in comment
2012-05-04 18:09:22 +00:00
Viktor Szakats
1be0971119 2012-05-04 01:51 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/cdpapihb.c
    + HB_CDPCHARMAX( [<cCP>] ) -> <nMaxCharCode>
      (ATM 0xFFFF for unicode or 0xFF for non-unicode (default) CPs)
2012-05-03 23:53:24 +00:00
Viktor Szakats
1721eee814 2012-05-04 01:12 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbstrsh.c
    + HB_STRSHRINK() updated to work on custom character indexes (UTF8)
2012-05-03 23:12:49 +00:00
Viktor Szakats
ad79a430f7 2012-05-02 12:30 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/hbcompdf.h
  * include/hbexprop.h
  * include/hbexprb.c
  * src/common/funcid.c
  * src/common/expropt2.c
    + added compile-time optimization for HB_BCHAR()
      and HB_BCODE().

  * contrib/hbct/hbct.hbp
  * contrib/hbct/hbct.hbx
  + contrib/hbct/ctscan.ch
  + contrib/hbct/kxlat.prg
  * contrib/hbct/ctdummy.prg
  * contrib/hbct/dummy.c
    + added CT compatiblity functions: SETKXLAT(), GETKXLAT(),
      SETKXTAB(), GETKXTAB(). Former two replaces existing
      dummy implementations. Check CT documentation for syntax.
      NOTES: - KS_PAD[0-9] and KS_PAD_DECIMAL are not supported in
               Harbour, because they have no corresponding inkey.ch
               value.
             - Harbour uses HB_GTI_INKEYFILTER to implement these
               functions, and due to this, they will gracefully
               fail if the application has already set
               HB_GTI_INKEYFILTER to a custom value.
    + added:
         HBCT_GETKXLAT( <nOrgKey>[, <nNewKey> ] ) -> <lAccepted>
         HBCT_GETKXTAB( <nOrgKey> ) -> <nNewKey>
         HBCT_SETKXLAT( <hTrs> ) -> <lAccepted>
         HBCT_SETKXTAB() -> <hTrs>
      Same as above, but they use standard inkey() values.
    ; USE AT YOUR OWN RISK. NO GUARANTEES.

  * contrib/hbct/showtime.prg
  * contrib/hbct/screen2.c
    * internal fn renamed: _HB_CTDSPTIME() -> __HBCT_DSPTIME()
2012-05-02 10:32:45 +00:00
Viktor Szakats
c123a1cb21 2012-05-01 20:50 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbregex.c
    % deleted unnecessary protection around PCRE_CONFIG_UTF8
      macro usage. (it was used unprotected elsewhere in the 
      code for a long time)

  * INSTALL
    + added mingw64 on win64 host example. (same as on win32,
      except comment)
2012-05-01 18:52:03 +00:00
Viktor Szakats
4876c762bb 2012-04-27 12:08 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/cdpapihb.c
    % HB_UTF8TOSTR()/HB_STRTOUTF8() optimized to "fall through"
      if the HVM CP is UTF8. Check me.

  * utils/hbmk2/hbmk2.prg
    ! TOFIX removed from two FOR EACH loops, they work on ASCII chars only
    ! one FOR EACH loop conditionally converted to FOR NEXT to work with all CPs
    ! one FOR EACH loop converted to FOR NEXT and to work on binary data
    ! Changed certain function calls to hb_ascii*() prefixed versions
    ! fixed .hbx generator to work with accented filenames
2012-04-27 10:08:33 +00:00
Przemyslaw Czerpak
4c2b14b6a3 2012-04-26 17:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtpca/gtpca.c
    ! do not redirect STDERR to screen buffer if default screen
      output is not redirected to console/tty device
2012-04-26 15:01:52 +00:00
Przemyslaw Czerpak
c9e8816417 2012-04-26 10:35 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/hbgtcore.c
    ! fixed typo in OUTSTD() handler - thanks to Mindaugas
      for locating the problem.
2012-04-26 08:35:40 +00:00
Viktor Szakats
3343571ea7 2012-04-25 16:16 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/cdpapihb.c
    + added HB_CDPISUTF8( <cCDPID> ) -> <lResult>
2012-04-25 14:17:00 +00:00
Przemyslaw Czerpak
5f6a55b505 2012-04-25 11:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
  * harbour/src/rtl/chruni.c
    + added HB_ULEFT(), HB_BLEFT(), HB_URIGHT(), HB_BRIGHT()
2012-04-25 09:41:47 +00:00
Viktor Szakats
83cc2881dd 2012-04-25 02:20 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
  * src/rtl/inkey.c
    + added HB_KEYCODE( <cChar> ) -> <nExtKey>
    ; pls review me. It helps replacing ASC() calls in unicode apps
      where it's used to convert characters (f.e. hotkeys) to keyboard
      codes.
2012-04-25 00:21:07 +00:00
Przemyslaw Czerpak
0aeb0d3cae 2012-04-24 17:34 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/harbour.hbx
  * harbour/src/rtl/chruni.c
    + added HB_BSUBSTR() and HB_USUBSTR()
2012-04-24 15:34:32 +00:00
Przemyslaw Czerpak
5d2675146a 2012-04-24 16:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapilng.h
  * harbour/src/vm/hvm.c
  * harbour/src/rtl/langapi.c
  * harbour/include/harbour.hbx
    + added new PRG function:
         HB_LANGNEW( <cNewLangId>, <cNewLangCpId>,
                     <cLangId>, <cLangCpId> ) -> <lOK>
      this function dynamically creates new lang module translating
      existing one then registers it, i.e.:
         request HB_CODEPAGE_DE850
         request HB_CODEPAGE_DEISO
         request HB_LANG_DE
         HB_LANGNEW( "DEISO", "DEISO", "DE", "DE850" )
         SET( _SET_LANGUAGE, "DEISO" )

  * harbour/src/rtl/cdpapi.c
    * changed dynamic buffer for "EN" CP translations and flags
      to static one - it allows to use this CP after hb_cdpReleaseAll()
2012-04-24 14:20:40 +00:00
Przemyslaw Czerpak
290ae1b594 2012-04-24 10:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/vm/cmdarg.c
    ! respect HB_ARGSHIFT( .T. ) in windows version of hb_cmdargProgName()

  * harbour/ChangeLog
    ! fixed some typos in my unicode ChangeLog entry
2012-04-24 08:25:20 +00:00
Przemyslaw Czerpak
bc5cfa6b3c 2012-04-24 08:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/inkey.c
    * modified HB_KEYPUT() and HB_KEYINS() to convert strings
      into key codes instead of passing them directly to keyboard
      buffer like in __KEYBOARD() function.

  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    * modified hb_inkeySetText() (PRG __KEYBOARD() function) to translate
      passed string into unicode values
      This modification affects also HB_GTI_CLIPBOARDPASTE
2012-04-24 06:43:44 +00:00
Przemyslaw Czerpak
8d23393d83 2012-04-24 07:18 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbgtcore.h
    ! fixed typo in HB_GTSELF_KEYTRANS() macro.
      It should also fix problem with function keys in some GTs,
      i.e. ENTER in GTOS2 ALERT() reported by David.

  * harbour/src/rtl/filesys.c
    * use TEXT() macro
    * minor modification in fs_win_get_drive()

  * harbour/src/vm/hvm.c
    * added protection against potential memory leak if
      programmer change type of enumerated item
2012-04-24 05:18:24 +00:00
Viktor Szakats
16ad8bfcb3 2012-04-24 02:16 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/filesys.c
    % fs_win_get_drive() simplified for win platform, eliminated 
      mb conversion. Code posted by Przemek.
2012-04-24 00:19:21 +00:00
Viktor Szakats
cd0cc92c3d 2012-04-23 20:31 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/hbmk2.prg
    + added experimental framework for -ku:<cp> option. It is
      processed by hbmk2 and HVM CP set appropriately before calling
      the embedded Harbour compiler. As discussed here:
         https://groups.google.com/d/msg/harbour-devel/a1_-DDXVVYM/CE3NspTzHV4J
      I couldn't spot or test the effect of this yet.
      Accepted <cp> values: "utf8", "cp1250", "cp852", etc...
    + added TODO to switch the internal codepage to UTF8EX.
      it should help further in handling filenames with accents.
      non-priority.

  * src/rtl/menuto.prg
    * formatting

  * contrib/hbqt/gtqtc/gtqtc.cpp
    - delete recently commented lines
2012-04-23 18:31:42 +00:00