Commit Graph

5923 Commits

Author SHA1 Message Date
Viktor Szakats
2ff37b72ec 2009-05-28 08:20 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    * .hbl extension changed to .hbc (Harbour Make Config).
    * -nohbl -> -nohbc
    ; Sorry for the mess.
    + Added support for instpaths= in .hbc files.
    + Added support for HB_USER_LIBPATHS envvar to specify
      lib search paths (similar to -L).
    ! Fixed so that sripping/compressing isn't attempted if
      the target didn't need an update.

  * source/rtl/Makefile
  * source/rdd/Makefile
    + Enabled -gc3 for hbrtl and hbrdd locally
      (except for wce builds). Same can be done locally
      for any libs where we find performance increase
      due to -gc3.
    ; NOTE: Probably it would be enough to compile just a few
            sensitive .prg sources (or program parts) with -gc3,
            so it would great to have such #pragma option in
            Harbour. Doesn't seem easy to implement though.

  * config/rules.cf
    * HB_GCMODE default set 0 (from 3).
      This means .prgs will be again compiled with -gc0 by default.
      Because of the contribs, this means the complete size
      of Harbour libs is now reduced significantly.

  * config/wce/global.cf
  * config/wce/msvcarm.cf
  * config/wce/mingwarm.cf
  * config/wce/poccarm.cf
    % HB_GCMODE=0 moved to wce/global.cf

  - utils/hbmk2/examples/hmg.hbl
  + utils/hbmk2/examples/fwh.hbc
  - utils/hbmk2/examples/whoo.hbl
  + utils/hbmk2/examples/xhgtk.hbc
  - utils/hbmk2/examples/xbgtk.hbl
  - utils/hbmk2/examples/hwgui.hbl
  - utils/hbmk2/examples/fwh.hbl
  + utils/hbmk2/examples/c4w.hbc
  - utils/hbmk2/examples/xhgtk.hbl
  + utils/hbmk2/examples/contrib.hbc
  - utils/hbmk2/examples/c4w.hbl
  + utils/hbmk2/examples/contribf.hbc
  - utils/hbmk2/examples/contrib.hbl
  + utils/hbmk2/examples/hmg.hbc
  + utils/hbmk2/examples/whoo.hbc
  - utils/hbmk2/examples/contribf.hbl
  + utils/hbmk2/examples/xbgtk.hbc
  + utils/hbmk2/examples/hwgui.hbc
  - contrib/gtalleg/tests/gtallegs.hbl
  - contrib/gtalleg/tests/gtallegd.hbl
  + contrib/gtalleg/tests/gtallegs.hbc
  + contrib/gtalleg/tests/gtallegd.hbc
  - contrib/hbmysql/utils/hbmysql.hbl
  + contrib/hbmysql/utils/hbmysql.hbc
  - contrib/hbmysql/tests/hbmysql.hbl
  + contrib/hbmysql/tests/hbmysql.hbc
  + contrib/hbct/tests/hbct.hbc
  - contrib/hbct/tests/hbct.hbl
  - contrib/xhb/tests/xhb.hbl
  + contrib/xhb/tests/xhb.hbc
  - contrib/hbodbc/tests/hbodbc.hbl
  + contrib/hbodbc/tests/hbodbc.hbc
  - contrib/hbtpathy/tests/hbtpathy.hbl
  + contrib/hbtpathy/tests/hbtpathy.hbc
  + contrib/hbmsql/tests/hbmsql.hbc
  - contrib/hbmsql/tests/hbmsql.hbl
  + contrib/hbmzip/tests/hbmzip.hbc
  - contrib/hbmzip/tests/hbmzip.hbl
  + contrib/hbsqlit3/tests/hbsqlit3.hbc
  - contrib/hbsqlit3/tests/hbsqlit3.hbl
  - contrib/hbblat/tests/hbblat.hbl
  + contrib/hbblat/tests/hbblat.hbc
  - contrib/hbqt/tests/hbqt.hbl
  + contrib/hbqt/tests/hbqt.hbc
  - contrib/hbfbird/tests/hbfbird.hbl
  + contrib/hbfbird/tests/hbfbird.hbc
  - contrib/hbziparc/tests/hbziparc.hbl
  + contrib/hbziparc/tests/hbziparc.hbc
  - contrib/hbnf/tests/hbnf.hbl
  + contrib/hbnf/tests/hbnf.hbc
  - contrib/hbcurl/tests/hbcurl.hbl
  + contrib/hbcurl/tests/hbcurl.hbc
  - contrib/gtqtc/tests/gtqtc.hbl
  + contrib/gtqtc/tests/gtqtc.hbc
  - contrib/rddsql/sddmy/tests/sddmy.hbl
  + contrib/rddsql/sddmy/tests/sddmy.hbc
  + contrib/rddsql/tests/rddsql.hbc
  - contrib/rddsql/tests/rddsql.hbl
  - contrib/rddsql/sddodbc/tests/sddodbc.hbl
  + contrib/rddsql/sddodbc/tests/sddodbc.hbc
  - contrib/hbhpdf/tests/hbhpdf.hbl
  + contrib/hbhpdf/tests/hbhpdf.hbc
  - contrib/rddado/tests/rddado.hbl
  + contrib/rddado/tests/rddado.hbc
  + contrib/gtwvg/tests/gtwvg.hbc
  - contrib/gtwvg/tests/gtwvg.hbl
  - contrib/hbpgsql/tests/hbpgsql.hbl
  + contrib/hbpgsql/tests/hbpgsql.hbc
  - contrib/rddads/tests/rddads.hbl
  + contrib/rddads/tests/rddads.hbc
  - contrib/hbclipsm/tests/hbclipsm.hbl
  + contrib/hbclipsm/tests/hbclipsm.hbc
  - contrib/hbfimage/tests/hbfimage.hbl
  + contrib/hbfimage/tests/hbfimage.hbc
  + contrib/hbgd/tests/hbgd.hbc
  - contrib/hbgd/tests/hbgd.hbl
  + contrib/hbmisc/tests/hbmisc.hbc
  - contrib/hbmisc/tests/hbmisc.hbl
  + contrib/hbtip/tests/hbtip.hbc
  - contrib/hbtip/tests/hbtip.hbl
  + contrib/hbwin/tests/hbwin.hbc
  - contrib/hbwin/tests/hbwin.hbl
  + contrib/hbvpdf/tests/hbvpdf.hbc
  - contrib/hbvpdf/tests/hbvpdf.hbl
  - contrib/hbssl/tests/hbssl.hbl
  + contrib/hbssl/tests/hbssl.hbc
  - contrib/hbbtree/tests/hbbtree.hbl
  + contrib/hbbtree/tests/hbbtree.hbc
  - contrib/hbcrypt/tests/hbcrypt.hbl
  + contrib/hbcrypt/tests/hbcrypt.hbc
  + contrib/examples/hbsqlit2/tests/hbsqlit2.hbc
  - contrib/examples/hbsqlit2/tests/hbsqlit2.hbl
  - contrib/examples/hbapollo/tests/hbapollo.hbl
  + contrib/examples/hbapollo/tests/hbapollo.hbc
  + contrib/examples/hbgf/tests/hbgf.hbc
  - contrib/examples/hbgf/tests/hbgf.hbl
  - contrib/examples/terminal/terminal.hbl
  + contrib/examples/terminal/terminal.hbc
  - contrib/examples/hbwhat/tests/hbwhat.hbl
  + contrib/examples/hbwhat/tests/hbwhat.hbc
    * Renamed *.hbl -> *.hbc (Harbour Make Config) in whole source tree.
2009-05-28 06:26:06 +00:00
Przemyslaw Czerpak
93562bfe0a 2009-05-27 15:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbinet.c
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
  * harbour/source/rdd/hsx/hsx.c
  * harbour/source/rdd/usrrdd/usrrdd.c
    * casting to avoid false alarm in extensive strict aliasing analyzes
2009-05-27 13:12:13 +00:00
Przemyslaw Czerpak
1ccc1e06f7 2009-05-27 05:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour.spec
  * harbour/mpkg_tgz.sh
    + added hbformat

  * harbour/include/hbdefs.h
  * harbour/include/hbapi.h
  * harbour/source/common/hbarch.c
    * redefined macros used to store/retrieve integer and double values
      to/from byte arrays in little and big endian order.
      Now GCC uses inline functions which are hardly optimized by compiler
      giving on x86 machines the same code as direct casting (with the
      exception to march=i686 where putting double value forces strict
      alignment to avoid hidden CPU exception) but they respect strict
      aliasing rules. It also means that now GCC builds always respect
      strict alignment even if HB_STRICT_ALIGNMENT macro is not set.
2009-05-27 03:25:05 +00:00
Viktor Szakats
327a1b5b5a 2009-05-27 04:42 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbsetup.h
  * source/common/hbver.c
    + Moved CPU detection to core header. Introduced
      HB_CPU_* macros. Now they can be used to branch code
      by CPU type.

  * contrib/rddads/adsmgmnt.c
    + Added my copyright.

  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    ! Fixed remaining hb_parc() vs hb_parcx() usages.
    % WAPI_TABCTRL_CREATE() further simplified.
      Please review, it may be wrong.

  * utils/hbmk2/hbmk2.prg
    * Minor internal change.
2009-05-27 02:46:49 +00:00
Viktor Szakats
822c4cabcd 2009-05-27 03:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbver.ch
  * source/rtl/version.c
    + Added hb_Version( HB_VER_COMPILER_CPP ) which
      returns if the C compiler was used in C++ mode.
      Mainly added for HB_BUILDINFO() emulation, maybe it
      can be useful to set defaults in hbmk2, we will see.

  * contrib/xhb/Makefile
  + contrib/xhb/xhbver.prg
    + Added emulation of HB_BUILDINFO() xhb function.

  + contrib/xhb/xhbver.ch
    + Copied xhb's hbver.ch under this name.
      (borrowed from xhb, work of Andi Jahja)
2009-05-27 01:21:06 +00:00
Viktor Szakats
da3ba03b46 2009-05-27 02:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbct/print.c
    + added PRINTSEND() support for Windows platform.
      (Borrowed from xhb, work of Pavel Tsarenko, with few minor changes)

  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgsink.c
    ! Fixed two new warnings after my recent commits.

  * contrib/hbwin/hbwapi.h
    * Tweaked previous commit. COLORREF and HRESULT now using
      hb_retnint() again to fix 32-bit numbers appearing as signed ones
      at .prg level.

  * source/rdd/usrrdd/rdds/arrayrdd.prg
    ; Added some patches recently committed to xhb:
    ! few fixes provided by Quique
    + Added AR_LOCK() function, but commented.
    ; NOTE: Francesco, would you mind reviewing these changes?

  * utils/hbmk2/hbmk2.prg
    * Minor formatting, comment added.
2009-05-27 00:07:09 +00:00
Viktor Szakats
a6aa848aaa 2009-05-26 02:14 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/xhb/fparse.c
   * contrib/rddsql/sddmy/mysqldd.c
   * contrib/rddsql/sqlbase.c
   * contrib/rddsql/sqlmix.c
   * contrib/rddads/adsx.c
   * contrib/examples/terminal/trm_client.prg
   * source/rdd/dbfnsx/dbfnsx1.c
     % "" -> NULL where applicable (hb_retc*(), hb_retds(), hb_itemPutC*(),
       hb_arraySetC*(), hb_errInternal(), hb_itemPutDS(), hb_arraySetDS())

   * contrib/hbqt/hbqt_qtextdocument.cpp
   * contrib/hbqt/hbqt_qgridlayout.cpp
   * contrib/hbqt/hbqt_qpainter.cpp
   * contrib/hbqt/hbqt_qeventloop.cpp
   * contrib/hbqt/hbqt_qicon.cpp
   * contrib/hbqt/hbqt_qtreeview.cpp
   * contrib/hbqt/hbqt_qtextline.cpp
   * contrib/hbqt/hbqt_qdesktopwidget.cpp
   * contrib/hbqt/hbqt_qhttp.cpp
   * contrib/hbqt/hbqt_qlineedit.cpp
   * contrib/hbqt/hbqt_qcombobox.cpp
   * contrib/hbqt/hbqt_qlistwidget.cpp
   * contrib/hbqt/hbqt_qtextcursor.cpp
   * contrib/hbqt/hbqt_qtextlayout.cpp
   * contrib/hbqt/hbqt_qftp.cpp
   * contrib/hbqt/hbqt_qclipboard.cpp
   * contrib/hbqt/hbqt_qurl.cpp
   * contrib/hbqt/hbqt_qwebpage.cpp
   * contrib/hbqt/hbqt_qtextedit.cpp
   * contrib/hbqt/hbqt_qpixmap.cpp
   * contrib/hbqt/hbqt_qsplashscreen.cpp
   * contrib/hbqt/hbqt_qtablewidget.cpp
   * contrib/hbqt/hbqt_qtreewidget.cpp
   * contrib/hbqt/generator/hbqtgen.prg
   * contrib/hbqt/hbqt_qfont.cpp
   * contrib/hbqt/hbqt_qmainwindow.cpp
   * contrib/hbqt/hbqt_qdir.cpp
   * contrib/hbqt/hbqt_qwidget.cpp
   * contrib/hbqt/hbqt_qstyle.cpp
   * contrib/hbqt/hbqt_qabstractbutton.cpp
   * contrib/hbqt/hbqt_qobject.cpp
   * contrib/hbqt/hbqt_qcolor.cpp
   * contrib/hbqt/hbqt_qtextstream.cpp
   * contrib/hbqt/hbqt_qwebview.cpp
   * contrib/hbqt/hbqt_qboxlayout.cpp
   * contrib/hbqt/hbqt_qstatusbar.cpp
   * contrib/hbqt/hbqt_qtabwidget.cpp
   * contrib/hbqt/hbqt_qscrollarea.cpp
   * contrib/hbqt/hbqt_qtextcharformat.cpp
     ! Fixed to use HB_ISNUM() instead of HB_ISNIL().
     % Don't call HB_ISNUM() where the default value is
       zero anyway. hb_parn*() functions will return zero
       anyway. (well, maybe this exploits the array-type
       bug in our Extend API.)

   * contrib/gtwvg/wvgwin.c
   * contrib/gtwvg/wvgsink.c
     * Avoiding ISNIL(). Corrected just a few occurences.
       This practice is still wrong in most of the cases in
       GTWVG code, so if the goal is GPF-free and consitently
       behaving apps, these would better be fixed. With
       string params ISNIL() is either superfluous or simply
       don't protect agains GPFs, for rest of the cases it
       either causes unexpected defaults (zero), or simply
       superfluous for the rest of the cases. IOW: Avoid it,
       use HB_ISNUM(), HB_ISCHAR() / parcx() instead.

   * contrib/hbgd/gdwrp.c
     * Formatting.
2009-05-26 00:16:14 +00:00
Viktor Szakats
7b60dd6694 2009-05-25 23:06 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/gtwvg/wvgsink.c
    ! Fixed warning.
    * Some formatting, minor cleanup.

  * source/rtl/hbi18n2.prg
    + __I18N_POTARRAYSAVE() got logical flag to suppress Harbour version
      number in saved file comment.
    + __I18N_POTARRAYSAVE() got logical flag to suppress source
      reference information in save file. This way it's possible to
      lessen the number of .po file updates and to avoid the growth
      caused by texts moving around while files are being edited.

  * utils/hbmk2/hbmk2.prg
    + Added option to save .po files in a version repository friendly
      way, this means no Harbour version number and no source file
      references in .po files. You can activate this using -minipo 
      option.
2009-05-25 21:07:11 +00:00
Przemyslaw Czerpak
27e7968b8b 2009-05-25 21:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! add missing HB_STACK_TLS_PRELOAD
2009-05-25 19:19:45 +00:00
Przemyslaw Czerpak
640e3a0149 2009-05-25 17:08 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbxvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/compiler/gencc.c
    ! added missing RT error for wrong values used in SWITCH statement
      in code generated for -gc3 output
2009-05-25 14:59:41 +00:00
Przemyslaw Czerpak
519d866cba 2009-05-25 13:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/gtxwc/gtxwc.c
    ! fixed typo in HB_GTXVG_SQUARE shape initialization

  * harbour/include/hbrddnsx.h
  * harbour/include/hbrddntx.h
  * harbour/source/rdd/dbfntx/dbfntx1.c
  * harbour/source/rdd/dbfnsx/dbfnsx1.c
    * code cleanup - use predefined #define instead of hardcoded constant
      values

  * harbour/source/rtl/valtoexp.prg
    * added REQUEST __objSetClass

  * harbour/source/compiler/gencc.c
    ! fixed -gc3 code generated for switch statement - thanks to Marek and
      Xavi for information and self contain example
      TODO: add missing RT error in -gc3 output when wrong (non integer
            and non string value) is used in SWITCH statement
2009-05-25 11:12:39 +00:00
Przemyslaw Czerpak
f0dd3aa312 2009-05-22 12:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/debug/debugger.prg
    * minor simplification

  * harbour/contrib/rddsql/sddodbc/odbcdd.c
    ! added dummy unicode conversion macros to fix compilation in
      non windows builds

  * harbour/contrib/hbwin/olecore.c
    ! casting

  * harbour/contrib/hbwin/axcore.c
    ! fixed unicode and WinCE compilation
    ! casting
2009-05-22 09:59:20 +00:00
Przemyslaw Czerpak
1fe208b584 2009-05-21 14:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/memvars.c
    * modified __mvDbgInfo():
      - accept as 1-st parameter also  HB_MV_PRIVATE_LOCAL and
        HB_MV_PRIVATE_GLOBAL values
      - changed parameters meaning now when less then 3 parameters is
        given this function returns number of variables and the second
        parameter is the call stack level. Memvar value and optionally
        name is returned only if 3 or more parameters is given.
        3-rd party code which used this function with two parameters
        has to be updated.

  * harbour/source/debug/debugger.prg
    * mark non local private variables in monitor as "Private^" (with "^")
    * do not show public and private variables hidden by other private
      declarations
2009-05-21 11:56:51 +00:00
Przemyslaw Czerpak
d039f3bec7 2009-05-21 11:19 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filebuf.c
    ! refuse to share file handles if they were open in different mode
      TODO: add support for keeping more then one handle for single file
            open and allow such combinations.

  * harbour/source/rtl/hbffind.c
    % optimized *nix version of hb_fsFind*()

  * harbour/utils/hbmk2/hbmk2.prg
    ! fixed compilation on non Windows platforms (unused variable warning)

  * harbour/include/hbset.h
  * harbour/source/vm/set.c
    + added new function hb_setGetPrinterHandle() which allows to open
      closed printer port
    ! do not force opening default port after SET PRINTER TO ""
      but delay the initialization untill other code does not call
      hb_setGetPrinterHandle()
    ! fixed filename returned by _SET_PRINTFILE, _SET_ALTFILE, _SET_EXTRAFILE
    ! fixed dpossible resource leaks whne _SET_*FILE is called recurisvely
      for user error block
    ! fixed _SET_*FILE settings to not accept files which cannot be open
      (just like in Clipper)

  * harbour/source/rtl/console.c
    * use hb_setGetPrinterHandle() to access printer handler
2009-05-21 09:10:41 +00:00
Viktor Szakats
c61ec13155 2009-05-20 21:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/set.c
    ! Applied fix sent by Xavi. Thanks.
      I did a few minor formattings and rename, and did a
      light review, please review further and test. I seem to 
      remember some deeper problems with this feature, 
      reported a while ago on the list.
2009-05-20 19:27:06 +00:00
Mindaugas Kavaliauskas
7be72f4181 2009-05-20 18:15 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added public functions hb_oleSetError(), hb_oleGetError()

  * harbour/contrib/hbwin/Makefile
  + harbour/contrib/hbwin/axcore.c
  + harbour/contrib/hbwin/axfunc.prg
    + added ActiveX support. Public functions are:
      WIN_AxInit() --> lSuccess
      WIN_AxGetControl( hWnd, [ bEventHandler ] ) --> oActiveX
    
    ; TODO: a few warnings left. I do not know howto recast function 
      type pointer

  * harbour/contrib/hbwin/oleauto.c
    * function renames
    + :__hSink, :__cargo members

  * harbour/contrib/hbwin/olecore.c
    * function renames
    + support item to variant conversion for classes inherited from 
      WIN_OLEAUTO
    - removed internal OLERELEASE()
    + added optional parameter for WIN_OleErrorText( [ nOleError ] ) 

  * harbour/source/vm/classes.c
    * minor optimisation
2009-05-20 15:19:17 +00:00
Viktor Szakats
acc170dda0 2009-05-19 08:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Displaying C compiler used (with path) if autodetection
      was used and -info enabled.
    ! Workaround added to MemoLine() sometimes returning empty 
      string for the last line.

  * source/rtl/tget.prg
    % Minor opt.
2009-05-19 06:20:47 +00:00
Przemyslaw Czerpak
b1cc3b1ef5 2009-05-18 11:33 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/itemapi.c
    * removed some old BCC hacks. They do not resolve possible problem
      with FPE errors so there is no sense to keep them.
2009-05-18 09:24:44 +00:00
Viktor Szakats
c417d61afa 2009-05-18 11:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* bin/hb-func.sh
    ! HB_USER_LIBS_DEF -> CC_HB_USER_LIBS
    ; QUESTION: Is it a problem to move these to HB_ namespace?

  * source/rtl/lang.c
    ! Fixed to return language IDs with consistent '-' separators
      instead of '_'. We may change this to consistent '_', if
      we decide it's better.
2009-05-18 09:20:34 +00:00
Przemyslaw Czerpak
73f27d4447 2009-05-18 11:03 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filesys.c
    ! fixed OpenWatcom Linux builds which does not support utimes() yet.

  * harbour/contrib/rddads/ads1.c
    * pacified two BCC warnings
2009-05-18 08:55:06 +00:00
Viktor Szakats
584200f97f 2009-05-18 08:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    % bcc hack cleaned.

  * source/rtl/memoedit.prg
    * Minor.
2009-05-18 06:26:56 +00:00
Przemyslaw Czerpak
d2c2fb58cf 2009-05-17 17:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/ppcore.c
    + added new  predefined macro __TIMESTAMP__

  * harbour/source/vm/classes.c
    ! fixed compilation in MT mode and HB_HASH_MSG_ITEMS macro

  * harbour/source/compiler/compi18n.c
    * translate '\' in source code references in .pot files to '/'

  * harbour/contrib/rddsql/sddodbc/odbcdd.c
    * cleared non ANSI C initialization

  * harbour/include/hbmacro.h
  * harbour/source/vm/macro.c
  * harbour/include/hbexprb.c
    ! force memvar context to undeclared variables used with array index
      operator []. Clipper compatible behavior

  * harbour/contrib/hbwin/hbwinole.h
  * harbour/contrib/hbwin/olecore.c
    + added hb_oleItemPut()
2009-05-17 15:27:15 +00:00
Viktor Szakats
d1adfe52db 2009-05-16 08:26 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/lang.c
    % Minor opt.
2009-05-16 06:26:14 +00:00
Viktor Szakats
5c7d10df08 2009-05-16 08:05 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
    ! Fixed recent regression causing negative number to be 
      handled wrongly on input.
2009-05-16 06:04:59 +00:00
Viktor Szakats
328287cd90 2009-05-15 15:22 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/hbi18n2.prg
    ! Minor fix to change dir separators to "/" so that
      there won't be multiple entries for the same file
      in mixed environments.
      (like: '#: src\file.prg:1022 src/file.prg:1022')
2009-05-15 13:23:08 +00:00
Przemyslaw Czerpak
01b152188e 2009-05-15 13:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/pp/hbpp.c
    ! fixed -q2 parameter in hbpp
2009-05-15 10:57:13 +00:00
Viktor Szakats
622639c23c 2009-05-15 09:21 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Using HB_USERLANG() to detect language, so it now also
      works on Windows.
    + Added support for -lang= switch to override language.
    + Added support for HB_LANG envvar to override language.
      (this is the recommended method)

  * include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/lang.c
    + Added HB_USERLANG() function to retrieve ietf code of
      language set by user. Works also on Windows.

  * contrib/hbwin/win_misc.c
  * contrib/hbwin/wapi_winbase.c
  * contrib/hbwin/wapi_winuser.c
    * WAPI_*() functions moved to wapi_* files.
    + WAPI_GETPROCADDRESS() added. This is a pure wrapper to
      this Windows API.

  * contrib/hbwin/win_prn1.c
  * contrib/hbwin/win_prt.c
    % hb_parnl() -> hb_parni() where it was cast to int anyway.
2009-05-15 07:40:39 +00:00
Viktor Szakats
44ddb93fa9 2009-05-14 14:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Added -shareable/-shareable- option to control the aspect 
      of harbour.so absolute dir reference. It can override 
      previous rule controlled by system location detection. See 
      more in help.
    * Minor internal change to one of the functions.

  + source/rtl/hbzlibgz.c
  * source/rtl/hbzlib.c
  * source/rtl/Makefile
    % Split source into two, so unnecessary code parts won't be 
      included in final binaries.
2009-05-14 12:17:47 +00:00
Viktor Szakats
8959f99f45 2009-05-14 02:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * source/rtl/Makefile
  + source/rtl/tgethb.prg
  * source/rtl/tget.prg
    + HB_EXTENSION functionality (:hideInput() and :style()) moved
      from GET to a new derived class called HB_GET(). It means
      this functionality is available in default builds.
      Further extensions can be added to this class.
2009-05-14 00:31:36 +00:00
Viktor Szakats
196768b461 2009-05-14 02:00 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbextern.ch
  * contrib/xhb/hbcompat.ch
  * source/rtl/setkey.c
    + Added HB_SETKEY() which is similar to SETKEY() but contains
      3rd parameter extension. Now this functionality is available
      for default Harbour builds under this new function name.
    + Added cross mappings for xhb SETKEY().

  * source/rtl/setfunc.prg
    + F11/F12 key handling now protected with HB_C52_STRICT instead
      of HB_EXTENSION so it will available in default builds.
    - Other HB_EXTENSION protected feature deleted (allowing to
      assign non-string key sequences to F keys. This effect can
      easily be achieved with direct SETKEY() calls, so it wasn't
      an essential extension here.

  * source/rtl/hbffind.c
    + Internal HB_EXTENSION protected part enabled.
    - Deleted HB_EXTENSION dealing with Windows-specific attribute
      chars. Those needing this functionality can access it using
      C level API.

  * source/rtl/tpopup.prg
  * source/rtl/ttopbar.prg
    - Deleted minor (non Clipper-compatible) behaviour change
      in handling disabled menu items when HB_EXTENSION
      is enabled.

  ; Only remains few class extensions covered by HB_EXTENSION.
    Overall there is no reason anymore to use this macro.
    TODO: Solve these using inheritance.
2009-05-14 00:15:22 +00:00
Viktor Szakats
a16ef8604f 2009-05-14 01:35 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/memoedit.prg
    ! Fixed infinite loop in code below (this was a long time problem):
      ---
      MemoEdit( "Please press F2 for infinite loop", 0, 0, MaxRow(), MaxCol(), .F., "FunCtr" )
      FUNCTION FunCtr()
         RETURN 0
      ---
      Patch provided by Xavi [jarabal]. Thank you.

  * contrib/hbwin/oleauto.prg
  * contrib/hbwin/olecore.c
    * Minor formatting.
2009-05-13 23:37:18 +00:00
Przemyslaw Czerpak
3f3ad79c24 2009-05-13 23:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/hvm.c
    ! fixed vary bad bug: possible complex variable corruption caused by
      missing hb_itemClear().
    % minor optimization
2009-05-13 21:39:35 +00:00
Przemyslaw Czerpak
5e471340c3 2009-05-13 14:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/runner.c
    % optimized memory allocation for symbol tables used in loaded .hrb
      files to store whole symbol table with all symbol names in single
      memory block. It makes HVM cloned table structure synced with the
      one used by runner.c fixing possible static memory leak.
2009-05-13 12:50:31 +00:00
Viktor Szakats
a79c0c64e6 2009-05-13 08:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.prg
    + Added -tshead=<file> option to create a .ch header with
      build timestamp information in it: _HBMK_BUILD_DATE,
      _HBMK_BUILD_TIME_, HB_BUILD_TIMESTAMP_.
    * -opt/-noopt -> -optim/-nooptim to avoid name ambiguity.
    + Added feature to -vcshead= to create a locally rolled
      build number if there is no version control system detected.
      In this case _HBMK_VCS_TYPE_ will be defined as "hbmk"
      and _HBMK_VCS_ID_ will be initialized with a string, starting
      with "1" and incremented on each hbmk2 call.
    * Internal change to componentize hbmk2 functionality, clearing
      away all STATIC vars and some parameter passing hacks.
      Work in progress, TODO added.
    ! Fixed cosmetic bug in debug output when making .po.

  * source/rtl/mlcfunc.c
    ! Fixed warning appeard in latest change.

  * source/rtl/trim.c
  * source/compiler/hbfunchk.c
    - Removed HB_EXTENSION protected second extended parameters
      from RTRIM() and ALLTRIM(). If you miss this option, please
      report it on the list, we may readd such functionality under
      some different name.
      INCOMPATIBLE for HB_EXTENSION builds.

   * doc/dirstruc.txt
   * bin/hb-func.sh
   * utils/hbmk2/examples/contribf.hbp
   - contrib/hbole
   * contrib/Makefile
   + contrib/hbwin/oleinit.c
   + contrib/hbwin/olecore.c
   + contrib/hbwin/hbwinole.h
   + contrib/hbwin/oleauto.prg
   + contrib/hbwin/tests/sample.odt
   * contrib/hbwin/tests/testole.prg
   - contrib/hbwin/win_tole.prg
   - contrib/hbwin/win_ole.c
   + contrib/examples/hboleold
   + contrib/examples/hboleold/tests
   + contrib/examples/hboleold/tests/testole.prg
   + contrib/examples/hboleold/win_tole.prg
   + contrib/examples/hboleold/win_ole.c
   + contrib/examples/hboleold/Makefile
     * Replaced old hbwin OLE implementation with
       new implementation in hbole. Thanks to
       Mindaugas Kavaliauskas for the new implementation.
       Those who need the old implementation in the
       meantime for any reason, can find it in contrib/example/hboleold.
     ; TODO: Fill the few missing features (ActiveX/FiveWin
             compatibility).

   * ChangeLog
     * Marked two TODO/TOFIX done.
2009-05-13 06:12:05 +00:00
Przemyslaw Czerpak
ea8b3df999 2009-05-12 18:05 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/filesys.c
    + added support for millisecond precision in hb_fsGetFileTime()/
      hb_fsSetFileTime() in Linux builds. Please note that file time
      precision depends also on used file system and Linux kernel so
      it does not have to work in all cases.
2009-05-12 15:57:30 +00:00
Viktor Szakats
339c86f1bc 2009-05-12 16:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* utils/hbmk2/hbmk2.prg
    + Added -hbrun option which will run the target without trying to
      build it. If target is missing, the command will fail.
    + -run/-hbrun options will now run GUI target executable using 'start'
      command on Windows platforms so that hbmk2 will return and leave
      the app running.

  * include/hbextern.ch
    + Added HB_GZPUTC().

  * include/hbsetup.ch
    - Removed HB_EXTENSION from documented list of build modified macros.

  * source/common/hbverdsp.c
    - Deleted HB_EXTENSION dependent part.

  * source/rtl/mlcfunc.c
    - Deleted HB_EXTENSION branch. Please modify your program to
      use Set( _SET_EOL ) instead of passing EOLs explicitly to
      memo functions. This works also in xhb.
      INCOMPATIBLE when for HB_EXTENSION builds.

  * source/rtl/alert.prg
    ! Minor in comment.

  * source/rtl/saverest.c
    - Removed SAVESCREEN()/RESTSCREEN() extra "lNoCheck" parameter
      when HB_EXTENSION is enabled. Please report on the list
      if you need this functionality.

  * source/compiler/hbfunchk.c
    ! Fix to prev: AT() declaration.

  ; TODO: Clean rest of HB_EXTENSION stuff.
2009-05-12 14:11:21 +00:00
Przemyslaw Czerpak
c1768728a5 2009-05-12 15:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/hbzlib.c
    + added HB_GZPUTC( <pGZipStream>, <nByte> ) => <nResult>
2009-05-12 13:39:52 +00:00
Viktor Szakats
301c1c5f98 2009-05-12 10:37 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/xhb/hbcompat.ch
    + Added HB_GETENV() <-> GETENV() conversions.
    + Added MEMOWRIT() translation for xhb sources.

  * source/rtl/at.c
  * source/rtl/gete.c
  * source/rtl/memofile.c
    - Deleted HB_EXTENSION branches. Users of extended
      GETENV(), GETE(), AT() and MEMOWRIT() functionality
      will have to use hbcompat.ch to stay compatible with xhb
      (this isn't needed for MEMOWRIT()).
      INCOMPATIBLE change for those who enabled HB_EXTENSION
      in Harbour. Hopefully xhb will implement HB_AT() and
      HB_GETENV() in the future so hbcompat.ch will become
      unnecessary.

   * include/hbextern.ch
   + source/rtl/radiobhb.prg
   * source/rtl/radiobtn.prg
     * RADIOBUTTON() Harbour extension moved to a separate file
       to cause no harm for programs defining this function locally.
       At the same time, HB_EXTENSION protection got removed so
       it can be accessed in default builds as a RADIOBUTTO() 
       alternative.
2009-05-12 08:44:03 +00:00
Viktor Szakats
52e2e002e5 2009-05-12 09:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* doc/cmdline.txt
  * doc/howtosvn.txt
    + Added CC copyright.

  * source/rtl/alert.prg
  * include/hbextern.ch
    + HB_ALERT(). Now this function holds all extended features:
      nDelay support and any type for first parameter.
    * ALERT() now behaves completely along Clipper version, without
      extensions. HB_EXTENSION no longer modifies its behaviour, so
      if someone needs these extended features, there is no need to
      build with HB_EXTENSION, only ALERT() calls have to be
      converted to HB_ALERT(). INCOMPATIBLE (in some scenarios).

  * contrib/hbtip/utils.c
    % TIP_TIMESTAMP() code cleaned to remove redundancy of
      having two full distinct copies of this function. Now
      platform independent parts are kept common.
    ! TIP_TIMESTAMP() fixed hb_parl() to hb_parnl() for 'hours'
      parameter. I wonder how this bug wasn't noticed till now.
      Please someone test, maybe I'm missing the point of this
      parameter, but it's unlikely the intent was a logical value
      as it's later converted to timestamp.

  * contrib/hbtip/thtml.prg
  * contrib/hbtip/sendmail.prg
  * contrib/hbtip/httpcln.prg
  * contrib/hbtip/ftpcln.prg
    * END -> END*
    * Minor formatting.

  * contrib/hbtip/base64x.c
  * contrib/hbtip/smtpcln.prg
    * Formatted.
    * Minor optimizations (File() -> hb_FileExists(), ::AuthPlain()
      simplification).
    % BUILDUSERPASSSTRING() rewritten in Harbour. It's a very
      simple function.
2009-05-12 07:32:45 +00:00
Przemyslaw Czerpak
382a052a8a 2009-05-11 21:21 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/compiler/gencc.c
    ! added missing HB_GENC_LABEL() call in hb_p_pushtimestamp
2009-05-11 19:13:09 +00:00
Przemyslaw Czerpak
6b916eba63 2009-05-11 14:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt2.c
    + added compile time optimization for hb_stot() function
2009-05-11 12:35:20 +00:00
Przemyslaw Czerpak
eb76f97482 2009-05-11 13:00 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rdd/workarea.c
    * formatting

  * harbour/source/vm/Makefile
    * minor cleanup

  * harbour/config/dir.cf
    ! added protection against double build call when -j<n> is used in
      install phase
2009-05-11 10:51:39 +00:00
Viktor Szakats
a004e5abf2 2009-05-08 14:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
  * source/rtl/tclass.prg
    * hb_SToT( "" ) -> hb_SToT().

  * contrib/hbodbc/odbc.c
    + Added copyright, after extensive cleanup/fixing work.
    * ISCHAR() protected hb_parcx() calls changed to hb_parc().

  * contrib/hbole/tests/testole.prg
    * Checking for object creation in ADO example.

  * contrib/rddado/adordd.prg
    * Minor formatting.
2009-05-08 12:54:50 +00:00
Przemyslaw Czerpak
4fe32a0a79 2009-05-08 14:35 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/Makefile
    * respect HB_HVM_ALL user settings
    ! export HB_HVM_ALL value set automatically - otherwise it's not seen
      when HBVMMT is compiled

  * harbour/source/vm/classes.c
    * exteneded :classsel() build in method to repsect scope given as
      2-nd parameter and return extended information compatible with
      :ClassFullSel() implemented in xHarbour by Francesco Saverio Giudice.
      This extended info is returned when 3-rd parameter is .T.

  * harbour/source/rtl/dateshb.c
    * do not generate RTE on wrong params in HB_STOT() function

  * harbour/contrib/xhb/xhbfunc.c
    + added hacked function which allows to send messages without respecting
      scope. It works only for the most visible data and does not support
      any automatic casting.

  * harbour/contrib/xhb/dumpvar.prg
    ! fixed HB_DumpVar() results on platforms where CRLF has different
       length then 2
    % small improve in hash item presentation
    + added __objGetMsgFullList() and __objGetValueFullList() as static
      functions. Code borrowed form xHarbour by Francesco Saverio Giudice.
    * make HB_DumpVar() working with object values.
2009-05-08 12:27:40 +00:00
Viktor Szakats
146eeda68b 2009-05-08 10:14 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tclass.prg
    ! Fix to prev commit.

  * contrib/hbole/tests/testole.prg
    + Added ADODB example. Submitted by Enrico Maria Giordano.
2009-05-08 08:15:08 +00:00
Viktor Szakats
375a6fac03 2009-05-08 07:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tclass.prg
    % All loops optimized to use FOR EACH.
2009-05-08 05:50:23 +00:00
Viktor Szakats
117995844b 2009-05-08 07:33 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tclass.prg
  * source/rtl/treport.prg
  * source/rtl/tpersist.prg
    + Added support for TIMESTAMP types.

  * source/rtl/tclass.prg
    % Using SWITCH in AddData()/AddClassData().
2009-05-08 05:34:27 +00:00
Viktor Szakats
255c77f297 2009-05-07 19:59 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
    ! Fixed to check for ::cType != NIL before 
      each SWITCH ::cType statments. Thanks to Przemek 
      for pointing it out.

  * source/rtl/alert.prg
    % Using hb_CStr() in extended mode. Also thanks to Przemek.
    % Some minor opt.
2009-05-07 17:59:30 +00:00
Przemyslaw Czerpak
b52f13cdc1 2009-05-07 16:52 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcompdf.h
  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    + added compile time optimization for switch statements with constant
      values, i.e. for code like:
            proc main()
               local x := 0
               switch 3
                  case 1;     x += 100;   exit
                  case 2;     x += 200
                  case 3;     x += 300
                  case 4;     x += 400;   exit
                  case 5;     x += 505;   exit
                  case 6;     x += 606
                  otherwise;  x += 1000
               endswitch
               ? x
            return
2009-05-07 14:44:36 +00:00
Viktor Szakats
07066949a7 2009-05-07 15:28 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/alert.prg
    + Added TIMESTAMP support for Alert() (extended mode only)

  * contrib/xhb/dumpvar.prg
    ! Fixed hash function name.
2009-05-07 13:29:04 +00:00