Commit Graph

17063 Commits

Author SHA1 Message Date
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
Viktor Szakats
4e33e7e014 2012-05-17 22:54 UTC+0200 Viktor Szakats (harbour syenar.net)
* include/harbour.hbx
    ! minor
2012-05-17 20:54:31 +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
Pritpal Bedi
993c53c7b0 2012-05-16 12:24 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt.h
  * contrib/hbqt/qtcore/hbqt_pointer.cpp
    - Removed: residual contructs pointing to "HB_U32 type" member of 
      all the important structure of HBQT plus the functions associated
      with it. Strange point is that the bug was not showing up on Windows. 
      Thanks Francessco for dig-up.
2012-05-16 19:27:58 +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
Pavel Tsarenko
ca0e3da363 2012-05-15 20:40 UTC+0300 Pavel Tsarenko (tpe2 at mail.ru)
* contrib/hbtip/ftpcli.prg
    ! small fix in the :FileSize() method
  * contrib/hbtip/client.prg
    * added additional check in the :ReadToFile() method
2012-05-15 17:41:21 +00:00
Viktor Szakats
e86772dc57 2012-05-15 18:08 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbqt/qtwebkit/hbqtwebkit.hbm
  * contrib/hbqt/hbqt_common.hbm
  * INSTALL
    + added support for QT from Homebrew package manager. Probably 
      a better option than the official installer which is a) not 
      compatible with latest Xcode changes b) copies millions of 
      files into the system file structure with no easy uninstall 
      or upgrade option.
2012-05-15 16:09:26 +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
Pritpal Bedi
70fa1debb0 2012-05-15 00:01 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
  * contrib/hbqt/qtcore/hbqtcore.h
  * contrib/hbqt/qtgui/hbqt_hbqabstractitemmodel.cpp
  * contrib/hbqt/qtgui/hbqtgui.h
    - Removed: the usage of HBQT_TYPE_xxxx constants.
      It was a hack to identify a few type of objects Qt had 
      not provided the mechanism to retrieve.
      NOTE: there should be improvement in build speed of hbQT.

  * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp
    - Added: deletion of child widget of HBQPlainTextEdit.
2012-05-15 07:07:01 +00:00
Pritpal Bedi
e3232318b2 2012-05-13 16:46 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
    - Removed: #define __GCMARK__

  * contrib/hbqt/qtgui/qth/QStyleOptionFrame.qth
    ! Fixed: wrong "Inherit" value - qStyleOption => QStyleOption.
2012-05-13 23:50:05 +00:00
Pritpal Bedi
8f8cb5927c 2012-05-13 12:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
    ! Fixed: to properly handle HBQxxx classes alongwith Qxxx ones.
2012-05-13 19:48:01 +00:00
Pritpal Bedi
fb248a5e2b 2012-05-13 12:25 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/hbqt_hbqsyntaxhighlighter.h
  * contrib/hbqt/qtgui/qth/HBQSyntaxHighlighter.qth
    + Added: method hbSetEditor( QPlainTextEdit edit ).
      This fixes issues where some of the components of hbIDE were 
      not working properly due to strict object inheritance checking.
2012-05-13 19:30:33 +00:00
Pritpal Bedi
3c3bab9788 2012-05-13 00:30 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_hbqevents.cpp
  * contrib/hbqt/qtcore/hbqt_hbqslots.cpp
  * contrib/hbqt/qtcore/hbqt_misc.prg
    * Optimizations.
    * More VM protections.

  * contrib/hbxbp/xbplistbox.prg
    ! Fixed: a nasty construct in :clear() method where slots were 
      being disconnected and connected again increasing the unnecessary
      object destruction/creation.

  * contrib/hbqt/tests/demoqt.prg
  * contrib/hbqt/tests/testbrow.prg
    ! Minor guards.

  ; NOTE: all the hbQT related test programmes are working flawlessly.
          hbIDE still reports "reference to freed block" error but 
          this is not due to hbQT, instead, the complex object 
          relationship of hbXBP/hbQT/hbIDE classes. This is only 
          visible when hbIDE is linked without :destroy() mechanism.
          BUT no GPF whatsoever. With :destroy() calls hbIDE EXITS 
          normally.
2012-05-13 07:40:47 +00:00
Pritpal Bedi
fef080b8a0 2012-05-13 00:19 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/*.qth
  * contrib/hbqt/qtgui/qth/*.qth
  * contrib/hbqt/qtnetwork/qth/*.qth
    ! Copyright year bump.
    + Formatting.
    - Long coptyright notice to short one.
2012-05-13 07:29:44 +00:00
Pritpal Bedi
1ccbc129f6 2012-05-12 00:55 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
    * Fixed: the objects derived from QObject but without a constructor
      were conflickting somehow with the use of shared pointer.
      Now any demo in hbqt/tests and hbxbp/tests does not through
      error messages at EXIT. TESTBROW.PRG with #if 0 / #if 1 
      works flawlessly. However, in hbIDE these error messages still
      exist if :destroy() is not employed, otherwise, neither error 
      messages nor GPF.
2012-05-12 08:02:38 +00:00
Pritpal Bedi
914f285220 2012-05-11 18:45 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idefunctions.prg
  * contrib/hbide/ideharbourhelp.prg
  * contrib/hbide/idemain.prg
  * contrib/hbide/idemisc.prg
  * contrib/hbide/ideshortcuts.prg
    * Optimized: to avoid repeated QApplication() object creation 
      and destruction.

  * contrib/hbqt/qtcore/hbqt_hbqslots.cpp
  * contrib/hbqt/qtcore/hbqt_misc.prg
  * contrib/hbqt/qtcore/hbqt_pointer.cpp
    * Changed: the way :connect()/disConnect() could been 
      applied to an object. Now programmer cannot make 
      a mistake, controlling one more pitfall.

  * contrib/hbqt/qtcore/qth/QUrl.qth
  * contrib/hbqt/qtgui/qth/QListWidgetItem.qth
    - Inherits = QObject

  * contrib/hbqt/qtgui/qth/QWidget.qth
    - PainEvent = YES

  ; NOTE: still "Reference to freed block" messages at EXIT 
          are unresolved and very much reproducable.
2012-05-12 01:54:41 +00:00
Pritpal Bedi
01ab293254 2012-05-11 01:45 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hb
    + Applied: concept forwarded by Francessco a few days back,
      where class creation and registration has been separated.
      This reduces a lot of object creation and destruction.
      It also increases the speed, you can experience in hbIDE.
      Not confirmed, but have also noticed that memory consumption 
      has also been optimized.
2012-05-11 08:50:23 +00:00
Viktor Szakats
690ce3b29d 2012-05-09 16:04 UTC+0200 Viktor Szakats (harbour syenar.net)
* utils/hbmk2/Makefile
  * utils/hbmk2/hbmk2.hbp
  + utils/hbmk2/hbmk2c.c
  * utils/hbmk2/hbmk2.prg
    + added automatic detection of _SET_OSCODEPAGE and hb_SetDispCP()
      Experimental, not well tested and it may need extensions to handle
      all possible CPs and cases on *nix systems.
      MS-DOS and OS/2 support are missing.
      Autodetection will now be used instead of generic assumptions
      and defaults stored in translation files.
    + enabled UTF8EX HVM CP on remaining (non-*nix) platforms.
    ; Once matured, this code can be moved to the core, possible
      after rewrite in C. This will make it unnecessary to roll
      private C code for hbmk2.
    ; Several problems remain on non-*nix systems when working with
      actual non-ASCII filenames.

  * utils/hbmk2/hbmk2.pt_BR.po
  * utils/hbmk2/hbmk2.hu_HU.po
  * utils/hbmk2/hbmk2.es_PE.po
    - deleted translation (language) dependent CP settings.
2012-05-10 14:05:35 +00:00
Pritpal Bedi
70f1e370e6 2012-05-09 14:35 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbide/idemain.prg
    ! Disabled: :destroy() calls before application quits.
    * Simplified: ambigous variable reference.

  ; NOTE: now hbIDE does not produces GPF on EXIT but throws 
          2 RTE the contents of them can be viewed in tracelog. 
          .
          Error BASE/1301 Object destructor failure: Reference to freed block.
2012-05-09 21:40:19 +00:00
Pritpal Bedi
cfb9367b83 2012-05-09 12:15 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/hbqt_errorsys.prg
    + Added: HB_TRACE() call if HVM is closed and error message 
       needs to be retrieved somehow. It will allow us to 
       peep in further to pin-point the EXIT GPF.
  * contrib/hbqt/qtgui/hbqtgui.hbx
    * Re-generated.
  * contrib/hbxbp/tests/demoxbp.prg
    * Minor.
  * contrib/hbide/idehome.prg
    * Minor.
  * contrib/hbide/idemain.prg
    ! Enabled: :destroy() calls before application quits.

  ; NOTE: now no more EXIT GPF is reported in hbIDE.
          Please shout if you get one and report the message 
          available on std error output, for Window which 
          will be debugger like debug.exe.
2012-05-09 19:24:08 +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
Viktor Szakats
5f56dd3a9d 2012-05-09 11:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbqt/qtgui/hbqt_init.cpp
    ! use C syntax where C++ is not required

  * bin/3rdpatch.hb
    ! updated name in docs
2012-05-09 09:25:21 +00:00
Pritpal Bedi
f0a8da98c8 2012-05-08 20:25 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/hbqt_init.cpp
    * Fixed: one more potential GPF trap.
2012-05-09 05:29:09 +00:00
Pritpal Bedi
b7150ccccf 2012-05-08 20:04 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/hbqt_errorsys.prg
    * Guarded: against possible recursive error handler calls
        with hbqt_isActiveApplication().
  * contrib/hbqt/qtgui/hbqt_init.cpp
    + Added: HB_FUNC( HBQT_ISACTIVEAPPLICATION ).  

  ; NOTE: there may be a better solution, I know, but...
2012-05-09 05:10:26 +00:00
Pritpal Bedi
846f136647 2012-05-08 16:04 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtwebkit/qth/QWebFrame.qth
  * contrib/hbqt/qtwebkit/qth/QWebHistoryItem.qth
  * contrib/hbqt/qtwebkit/qth/QWebHitTestResult.qth
  * contrib/hbqt/qtwebkit/qth/QWebPage.qth
  * contrib/hbqt/qtwebkit/qth/QWebPluginFactory.qth
  * contrib/hbqt/qtwebkit/qth/QWebSecurityOrigin.qth
  * contrib/hbqt/qtwebkit/qth/QWebView.qth
    - Replaced: HB_ISOBJECT() => hbqt_par_isDerivedFrom()
    * Rationalized: constructors.
2012-05-08 23:06:39 +00:00
Pritpal Bedi
f764b317a6 2012-05-08 15:14 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtnetwork/qth/QFtp.qth
  * contrib/hbqt/qtnetwork/qth/QHttp.qth
  * contrib/hbqt/qtnetwork/qth/QHttpHeader.qth
  * contrib/hbqt/qtnetwork/qth/QHttpRequestHeader.qth
  * contrib/hbqt/qtnetwork/qth/QHttpResponseHeader.qth
  * contrib/hbqt/qtnetwork/qth/QNetworkProxy.qth
  * contrib/hbqt/qtnetwork/qth/QNetworkRequest.qth
  * contrib/hbqt/qtnetwork/qth/QUrlInfo.qth
    - Replaced: HB_ISOBJECT() => hbqt_par_isDerivedFrom()
    * Rationalized: constructors.
2012-05-08 22:16:55 +00:00
Viktor Szakats
c9e121e4ea 2012-05-08 18:20 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbnetio/utils/hbnetio/netiosrv.prg
  * contrib/hbrun/plugins.prg
    - deleted .hbs script support from places where it was 
      unlikely to be used in the wild

  * contrib/hbide/ideplugins.prg
    * changed to support .hb extension for plugins instead of 
      .hbs (plus, same applies as above0
2012-05-08 16:21:26 +00:00
Viktor Szakats
b57f2526a7 2012-05-08 18:05 UTC+0200 Viktor Szakats (harbour syenar.net)
* INSTALL
  * COPYING
  * debian/copyright
  * package/harbour.spec
  - contrib/make.hbs
  + contrib/make.hb
  * contrib/Makefile
  * Makefile
  - config/postinst.hbs
  + config/postinst.hb
    * .hbs -> .hb for Harbour scripts in core

    ; NOTE: Use '.hb' extension for Harbour script from now on.
            '.hbs' is deprecated.
2012-05-08 16:06:24 +00:00
Viktor Szakats
032297d7e6 2012-05-08 17:55 UTC+0200 Viktor Szakats (harbour syenar.net)
* contrib/hbpost.hbm
  - contrib/hbqt/hbmk2_qt.hbs
  + contrib/hbqt/hbmk2_qt.hb
  * contrib/hbqt/hbqt_common.hbc
  * contrib/hbqt/hbqt_common.hbm
    * .hbs -> .hb for Harbour scripts in contribs
2012-05-08 15:56:12 +00:00
Viktor Szakats
88efc242b2 2012-05-08 17:51 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/postinst.hbs
    * implemented same ASORT() fix as in prev commit by Przemek.
      (it may be important once we modify hbrun/hbmk2 to run 
      scripts under UTF8 CP)

  * contrib/hbnetio/utils/hbnetio/modules.hbp
  - contrib/hbnetio/utils/hbnetio/rpcdemo.hbs
  + contrib/hbnetio/utils/hbnetio/rpcdemo.hb
  - contrib/hbide/plugins/hbide_script_qtgui.hbs
  + contrib/hbide/plugins/hbide_script_qtgui.hb
  - contrib/hbide/plugins/hbide_plugin_savebackup.hbs
  + contrib/hbide/plugins/hbide_plugin_savebackup.hb
  - utils/hbmk2/examples/plug_tpl.hbs
  + utils/hbmk2/examples/plug_tpl.hb
  - tests/stripdoc.hbs
  + tests/stripdoc.hb
    * .hbs -> .hb for Harbour scripts.

  * tests/stripdoc.hb
    + use directry.ch
2012-05-08 15:51:55 +00:00
Przemyslaw Czerpak
a544b285ca 2012-05-08 17:47 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/utils/hbmk2/hbmk2.prg
    ! sort functions in .hbx files using "EN" CP.
      This modification fixed problem with resorted
      functions in .hbx files for CPs using non ASCII
      collation order for [A-Z], [0-9] and [_] characters
2012-05-08 15:47:37 +00:00
Viktor Szakats
f53e90c1e6 2012-05-08 17:29 UTC+0200 Viktor Szakats (harbour syenar.net)
- bin/hb3rdpat.hbs
  + bin/3rdpatch.hb
  * config/postinst.hbs
  * package/harbour.spec
  * package/winuni/mpkg_win_uni.nsi
    * renamed public script to use .hb extension.

  * utils/hbmk2/hbmk2.prg
    * formatting
2012-05-08 15:30:53 +00:00
Pritpal Bedi
12e92b8425 2012-05-08 06:50 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QWheelEvent.qth
    ! Fixed: ISNUM() => HB_ISNUM.
2012-05-08 13:52:47 +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
d7d875b9f2 2012-05-08 12:26 UTC+0200 Viktor Szakats (harbour syenar.net)
* ChangeLog
    * deleted my EOL spaces
2012-05-08 10:26:51 +00:00
Pritpal Bedi
3b3410f9c5 2012-05-07 20:08 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QDeclarativeEngine.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeError.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeItem.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeListReference.qth
  * contrib/hbqt/qtgui/qth/QDeclarativePropertyMap.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeScriptString.qth
  * contrib/hbqt/qtgui/qth/QDialogButtonBox.qth
  * contrib/hbqt/qtgui/qth/QDockWidget.qth
  * contrib/hbqt/qtgui/qth/QDoubleValidator.qth
  * contrib/hbqt/qtgui/qth/QDragEnterEvent.qth
  * contrib/hbqt/qtgui/qth/QDragLeaveEvent.qth
  * contrib/hbqt/qtgui/qth/QDragMoveEvent.qth
  * contrib/hbqt/qtgui/qth/QDropEvent.qth
  * contrib/hbqt/qtgui/qth/QFileDialog.qth
  * contrib/hbqt/qtgui/qth/QFileOpenEvent.qth
  * contrib/hbqt/qtgui/qth/QFocusEvent.qth
  * contrib/hbqt/qtgui/qth/QFont.qth
  * contrib/hbqt/qtgui/qth/QFontDialog.qth
  * contrib/hbqt/qtgui/qth/QFontInfo.qth
  * contrib/hbqt/qtgui/qth/QGraphicsGridLayout.qth
  * contrib/hbqt/qtgui/qth/QGraphicsItemAnimation.qth
  * contrib/hbqt/qtgui/qth/QGraphicsItemGroup.qth
  * contrib/hbqt/qtgui/qth/QGraphicsLinearLayout.qth
  * contrib/hbqt/qtgui/qth/QGraphicsProxyWidget.qth
  * contrib/hbqt/qtgui/qth/QGraphicsSimpleTextItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsSvgItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsTextItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsWidget.qth
  * contrib/hbqt/qtgui/qth/QHelpEvent.qth
  * contrib/hbqt/qtgui/qth/QHideEvent.qth
  * contrib/hbqt/qtgui/qth/QHoverEvent.qth
  * contrib/hbqt/qtgui/qth/QImage.qth
  * contrib/hbqt/qtgui/qth/QInputEvent.qth
  * contrib/hbqt/qtgui/qth/QInputMethodEvent.qth
  * contrib/hbqt/qtgui/qth/QIntValidator.qth
  * contrib/hbqt/qtgui/qth/QItemDelegate.qth
  * contrib/hbqt/qtgui/qth/QItemEditorFactory.qth
  * contrib/hbqt/qtgui/qth/QItemSelectionModel.qth
  * contrib/hbqt/qtgui/qth/QKeyEvent.qth
  * contrib/hbqt/qtgui/qth/QKeySequence.qth
  * contrib/hbqt/qtgui/qth/QLabel.qth
  * contrib/hbqt/qtgui/qth/QLinearGradient.qth
  * contrib/hbqt/qtgui/qth/QListWidget.qth
  * contrib/hbqt/qtgui/qth/QMainWindow.qth
  * contrib/hbqt/qtgui/qth/QMdiArea.qth
  * contrib/hbqt/qtgui/qth/QMdiSubWindow.qth
  * contrib/hbqt/qtgui/qth/QMenu.qth
  * contrib/hbqt/qtgui/qth/QMenuBar.qth
  * contrib/hbqt/qtgui/qth/QMessageBox.qth
  * contrib/hbqt/qtgui/qth/QMouseEvent.qth
  * contrib/hbqt/qtgui/qth/QMoveEvent.qth
  * contrib/hbqt/qtgui/qth/QPainter.qth
  * contrib/hbqt/qtgui/qth/QPaintEvent.qth
  * contrib/hbqt/qtgui/qth/QPalette.qth
  * contrib/hbqt/qtgui/qth/QPicture.qth
  * contrib/hbqt/qtgui/qth/QPlainTextDocumentLayout.qth
  * contrib/hbqt/qtgui/qth/QPlainTextEdit.qth
  * contrib/hbqt/qtgui/qth/QPrinter.qth
  * contrib/hbqt/qtgui/qth/QPushButton.qth
  * contrib/hbqt/qtgui/qth/QRadialGradient.qth
  * contrib/hbqt/qtgui/qth/QRadioButton.qth
  * contrib/hbqt/qtgui/qth/QRegExpValidator.qth
  * contrib/hbqt/qtgui/qth/QResizeEvent.qth
  * contrib/hbqt/qtgui/qth/QShortcutEvent.qth
  * contrib/hbqt/qtgui/qth/QShowEvent.qth
  * contrib/hbqt/qtgui/qth/QSizePolicy.qth
  * contrib/hbqt/qtgui/qth/QSortFilterProxyModel.qth
  * contrib/hbqt/qtgui/qth/QSpacerItem.qth
  * contrib/hbqt/qtgui/qth/QTableWidgetItem.qth
  * contrib/hbqt/qtgui/qth/QTextBlock.qth
  * contrib/hbqt/qtgui/qth/QTextBlockFormat.qth
  * contrib/hbqt/qtgui/qth/QToolBar.qth
  * contrib/hbqt/qtgui/qth/QWheelEvent.qth
  * contrib/hbqt/qtgui/qth/QWidget.qth
  * contrib/hbqt/qtgui/qth/QWindowStateChangeEvent.qth
    - Replaced: HB_ISOBJECT( n ) => hbqt_par_isDerivedFrom( n, "QXXX" )
    + Added: RTE where needed.
2012-05-08 03:13:34 +00:00
Pritpal Bedi
c5f23b422e 2012-05-07 01:04 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/hbqt_pointer.cpp
    + Added: hbqt_par_isDerivedFrom() - protection against a null 
        pointer passed as an argument. This makes possible to detect
        if an object is still active when passed. If not, a RTE is 
        generated. This covers some more potential user mistakes.
2012-05-07 08:08:58 +00:00
Pritpal Bedi
8fd32d2325 2012-05-07 00:57 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/HBQGraphicsItem.qth
  * contrib/hbqt/qtgui/qth/HBQGraphicsScene.qth
  * contrib/hbqt/qtgui/qth/HBQPlainTextEdit.qth
  * contrib/hbqt/qtgui/qth/QAction.qth
  * contrib/hbqt/qtgui/qth/QActionEvent.qth
  * contrib/hbqt/qtgui/qth/QActionGroup.qth
  * contrib/hbqt/qtgui/qth/QBrush.qth
  * contrib/hbqt/qtgui/qth/QButtonGroup.qth
  * contrib/hbqt/qtgui/qth/QCloseEvent.qth
  * contrib/hbqt/qtgui/qth/QColor.qth
  * contrib/hbqt/qtgui/qth/QComboBox.qth
  * contrib/hbqt/qtgui/qth/QContextMenuEvent.qth
    - Replaced: HB_ISOBJECT( n ) => hbqt_par_isDerivedFrom( n, "QXXX" )
2012-05-07 08:03:49 +00:00
Pritpal Bedi
1eeb32a3f6 2012-05-06 23:36 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/QAbstractEventDispatcher.qth
  * contrib/hbqt/qtcore/qth/QBitArray.qth
  * contrib/hbqt/qtcore/qth/QBuffer.qth
  * contrib/hbqt/qtcore/qth/QByteArray.qth
  * contrib/hbqt/qtcore/qth/QChar.qth
  * contrib/hbqt/qtcore/qth/QChildEvent.qth
  * contrib/hbqt/qtcore/qth/QDataStream.qth
  * contrib/hbqt/qtcore/qth/QDate.qth
  * contrib/hbqt/qtcore/qth/QDateTime.qth
  * contrib/hbqt/qtcore/qth/QDir.qth
  * contrib/hbqt/qtcore/qth/QEvent.qth
  * contrib/hbqt/qtcore/qth/QEventLoop.qth
  * contrib/hbqt/qtcore/qth/QFile.qth
  * contrib/hbqt/qtcore/qth/QFileInfo.qth
  * contrib/hbqt/qtcore/qth/QFileSystemWatcher.qth
  * contrib/hbqt/qtcore/qth/QGenericArgument.qth
  * contrib/hbqt/qtcore/qth/QGenericReturnArgument.qth
  * contrib/hbqt/qtcore/qth/QIODevice.qth
  * contrib/hbqt/qtcore/qth/QLatin1Char.qth
  * contrib/hbqt/qtcore/qth/QLatin1String.qth
  * contrib/hbqt/qtcore/qth/QLine.qth
  * contrib/hbqt/qtcore/qth/QLineF.qth
  * contrib/hbqt/qtcore/qth/QList.qth
  * contrib/hbqt/qtcore/qth/QLocale.qth
  * contrib/hbqt/qtcore/qth/QModelIndex.qth
  * contrib/hbqt/qtcore/qth/QObject.qth
  * contrib/hbqt/qtcore/qth/QPoint.qth
  * contrib/hbqt/qtcore/qth/QPointF.qth
  * contrib/hbqt/qtcore/qth/QProcess.qth
  * contrib/hbqt/qtcore/qth/QRect.qth
  * contrib/hbqt/qtcore/qth/QRectF.qth
  * contrib/hbqt/qtcore/qth/QRegExp.qth
  * contrib/hbqt/qtcore/qth/QResource.qth
  * contrib/hbqt/qtcore/qth/QSettings.qth
  * contrib/hbqt/qtcore/qth/QSignalMapper.qth
  * contrib/hbqt/qtcore/qth/QSize.qth
  * contrib/hbqt/qtcore/qth/QSizeF.qth
  * contrib/hbqt/qtcore/qth/QStringList.qth
  * contrib/hbqt/qtcore/qth/QStringRef.qth
  * contrib/hbqt/qtcore/qth/QTextBoundaryFinder.qth
  * contrib/hbqt/qtcore/qth/QTextDecoder.qth
  * contrib/hbqt/qtcore/qth/QTextEncoder.qth
  * contrib/hbqt/qtcore/qth/QTextStream.qth
  * contrib/hbqt/qtcore/qth/QTime.qth
  * contrib/hbqt/qtcore/qth/QTimeLine.qth
  * contrib/hbqt/qtcore/qth/QTimer.qth
  * contrib/hbqt/qtcore/qth/QTranslator.qth
  * contrib/hbqt/qtcore/qth/QUrl.qth
    - Replaced: HB_ISOBJECT( n ) => hbqt_par_isDerivedFrom( n, "QXXX" )
2012-05-07 06:42:13 +00:00
Pritpal Bedi
1c224790af 2012-05-06 16:11 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QBitmap.qth
  * contrib/hbqt/qtgui/qth/QBrush.qth
  * contrib/hbqt/qtgui/qth/QCursor.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeContext.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeProperty.qth
  * contrib/hbqt/qtgui/qth/QDeclarativeView.qth
  * contrib/hbqt/qtgui/qth/QFontMetrics.qth
  * contrib/hbqt/qtgui/qth/QFontMetricsF.qth
  * contrib/hbqt/qtgui/qth/QGraphicsEllipseItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsLineItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsPathItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsPixmapItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsPolygonItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsRectItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsScene.qth
  * contrib/hbqt/qtgui/qth/QGraphicsView.qth
  * contrib/hbqt/qtgui/qth/QIcon.qth
  * contrib/hbqt/qtgui/qth/QPaintEvent.qth
  * contrib/hbqt/qtgui/qth/QPen.qth
  * contrib/hbqt/qtgui/qth/QPixmap.qth
  * contrib/hbqt/qtgui/qth/QPrintDialog.qth
  * contrib/hbqt/qtgui/qth/QPrinterInfo.qth
  * contrib/hbqt/qtgui/qth/QPrintPreviewDialog.qth
  * contrib/hbqt/qtgui/qth/QPrintPreviewWidget.qth
  * contrib/hbqt/qtgui/qth/QRegion.qth
  * contrib/hbqt/qtgui/qth/QTextCursor.qth
    - Replaced: HBQT_TYPE_Qxxx  => hbqt_par_isDerivedFrom().
        Now it is safe to remove HBQT_TYPE_Qxxx constants from
        hbqtcore.
2012-05-06 23:15:07 +00:00
Pritpal Bedi
ae04a7e892 2012-05-05 20:30 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/QDataStream.qth
  * contrib/hbqt/qtcore/qth/QDateTime.qth
  * contrib/hbqt/qtcore/qth/QFile.qth
  * contrib/hbqt/qtcore/qth/QFileInfo.qth
  * contrib/hbqt/qtcore/qth/QFileSystemWatcher.qth
  * contrib/hbqt/qtcore/qth/QRect.qth
  * contrib/hbqt/qtcore/qth/QRectF.qth
  * contrib/hbqt/qtcore/qth/QTextStream.qth
  * contrib/hbqt/qtcore/qth/QVariant.qth
    - Replaced: HBQT_TYPE_Qxxx  => hbqt_par_isDerivedFrom().
        Now it is safe to remove HBQT_TYPE_Qxxx constants from
        hbqtcore.
2012-05-06 06:19:23 +00:00
Pritpal Bedi
44dfaad739 2012-05-05 20:30 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hbs
    * Optimized: HB_ISLOG( n ) ? hb_parl( n ) : false | true )
                    =>
                 hb_parl( n ) | hb_parldef( n, true )
2012-05-06 05:33:42 +00:00
Pritpal Bedi
b762c675fe 2012-05-05 19:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/hbmk2_qt.hbs
    ! Fixed: to take use of the hbqt_par_isDerivedFrom() completely.
        This renders parameter checking with Class TYPE constants
        redundant which can be removed alltogether. This also 
        facilitates usage of subclassing a Qt class.

    ; TODO: impliment siblings checking inside hbqt_par_isDerivedFrom().
        HBQPlainTextEdit() is a sibling of QPlainTextEdit().
2012-05-06 02:49:42 +00:00
Pritpal Bedi
c4c03c5d35 2012-05-05 15:51 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtnetwork/qth/QNetworkProxy.qth
    + Fixed: constructors now respect new str API.
2012-05-05 22:52:29 +00:00
Pritpal Bedi
b7fdb783c6 2012-05-05 14:37 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtcore/qth/QDir.qth
  * contrib/hbqt/qtcore/qth/QFile.qth
  * contrib/hbqt/qtcore/qth/QFileInfo.qth
  * contrib/hbqt/qtcore/qth/QLocale.qth
  * contrib/hbqt/qtcore/qth/QRegExp.qth
  * contrib/hbqt/qtcore/qth/QResource.qth
  * contrib/hbqt/qtcore/qth/QSettings.qth
  * contrib/hbqt/qtcore/qth/QStringList.qth
  * contrib/hbqt/qtcore/qth/QStringRef.qth
  * contrib/hbqt/qtcore/qth/QTextBoundaryFinder.qth
  * contrib/hbqt/qtcore/qth/QUrl.qth
  * contrib/hbqt/qtcore/qth/QVariant.qth
    + Fixed: constructors now respect new str API.
2012-05-05 21:40:05 +00:00
Pritpal Bedi
66dd72b12e 2012-05-04 20:01 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com)
* contrib/hbqt/qtgui/qth/QAbstractItemView.qth
  * contrib/hbqt/qtgui/qth/QAction.qth
  * contrib/hbqt/qtgui/qth/QBitmap.qth
  * contrib/hbqt/qtgui/qth/QCheckBox.qth
  * contrib/hbqt/qtgui/qth/QColor.qth
  * contrib/hbqt/qtgui/qth/QCursor.qth
  * contrib/hbqt/qtgui/qth/QDockWidget.qth
  * contrib/hbqt/qtgui/qth/QFileOpenEvent.qth
  * contrib/hbqt/qtgui/qth/QFont.qth
  * contrib/hbqt/qtgui/qth/QFontMetrics.qth
  * contrib/hbqt/qtgui/qth/QFontMetricsF.qth
  * contrib/hbqt/qtgui/qth/QGraphicsSimpleTextItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsSvgItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsTextItem.qth
  * contrib/hbqt/qtgui/qth/QGraphicsView.qth
  * contrib/hbqt/qtgui/qth/QIcon.qth
  * contrib/hbqt/qtgui/qth/QImage.qth
  * contrib/hbqt/qtgui/qth/QKeyEvent.qth
  * contrib/hbqt/qtgui/qth/QKeySequence.qth
  * contrib/hbqt/qtgui/qth/QLabel.qth
  * contrib/hbqt/qtgui/qth/QMainWindow.qth
  * contrib/hbqt/qtgui/qth/QMenu.qth
  * contrib/hbqt/qtgui/qth/QPen.qth
  * contrib/hbqt/qtgui/qth/QPixmap.qth
  * contrib/hbqt/qtgui/qth/QPlainTextEdit.qth
  * contrib/hbqt/qtgui/qth/QPushButton.qth
  * contrib/hbqt/qtgui/qth/QRadioButton.qth
  * contrib/hbqt/qtgui/qth/QRegion.qth
  * contrib/hbqt/qtgui/qth/QSound.qth
  * contrib/hbqt/qtgui/qth/QTableWidgetItem.qth
  * contrib/hbqt/qtgui/qth/QTextCursor.qth
  * contrib/hbqt/qtgui/qth/QTextEdit.qth
  * contrib/hbqt/qtgui/qth/QToolBar.qth
    + Fixed: constructors now respect new str API.

  * contrib/hbxbp/xbpbrowse.prg
    ! Fied: to respect optimized constructor protocol.

    NOTE: some regression is expected in hbIDE so can be 
          in your codes also.
2012-05-05 03:10:29 +00:00