/* * $Id$ */ /* Read doc/howtosvn.txt and use this format for entry headers: YYYY-MM-DD HH:MM UTC[-|+]hhmm Your Full Name (your_email address) 2010-12-31 13:59 UTC+0100 Foo Bar (foo.bar foobar.org) This work is licensed under the Creative Commons Attribution-ShareAlike License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. A summary of the license and the full legal text is included in file: COPYING. If you wish to distribute some or all of this work under different terms, please contact respective author(s). The license applies to all entries newer than 2009-04-28. */ 2012-05-17 14:07 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/hbmk2_qt.hb + Implemented: detach a returned object of a method where parent do not retain the ownership of the child with itself. In that case Harbour has to delete it explicitly. This can be activated with [*R=1*] tag postfixing the method call in relevant .qth. EXAMPLE: QToolBar():addAction( cText ) * contrib/hbqt/qtgui/qth/QMenu.qth * contrib/hbqt/qtgui/qth/QMenuBar.qth * contrib/hbqt/qtgui/qth/QToolBar.qth + Added: [*R=1*] tags whereever necessary. ; NOTE: I have tried with QAction() only to locate where it is returned as a not-owned object. Please dig into Qt documentation to find the other occurances. I know it is a tedious job, but we have to do it anyway, which me alone cannot achieve. 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 22:54 UTC+0200 Viktor Szakats (harbour syenar.net) * include/harbour.hbx ! minor 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 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-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: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 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 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 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 18:28 UTC+0200 Viktor Szakats (harbour syenar.net) * src/vm/set.c ! added missing '#include "hbvm.h"' for hb_vmIsReady() 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 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 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 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 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-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 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 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 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 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-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-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-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-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-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 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 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 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-08 20:25 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_init.cpp * Fixed: one more potential GPF trap. 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-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 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 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 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 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 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 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 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 06:50 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/qth/QWheelEvent.qth ! Fixed: ISNUM() => HB_ISNUM. 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 12:26 UTC+0200 Viktor Szakats (harbour syenar.net) * ChangeLog * deleted my EOL spaces 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-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 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-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-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-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-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-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-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 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-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-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 12:57 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * .hb? input make files are now considered with UTF8 encoding. + enabled full UTF8 CP on *nix systems. EXPERIMENTAL. * debian/copyright * package/winuni/mpkg_win_uni.nsi * utils/hbmk2/hbmk2.prg * contrib/hbpost.hbm * contrib/hbnetio/utils/hbnetio/modules.hbp * contrib/hbnetio/utils/hbnetio/netiosrv.prg * contrib/hbqt/hbqt_common.hbm * contrib/hbide/ideedit.prg * contrib/hbide/idemisc.prg * contrib/hbide/idesaveload.prg * contrib/hbrun/hbrun.prg * contrib/hbrun/plugins.prg * config/postinst.hbs * COPYING + added support for .hb extension for Harbour scripts. I plan to make a full switch to .hb from .hbs. 2012-05-04 09:31 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbtip/sessid.prg * contrib/hbtip/encqp.prg * formatting 2012-05-04 03:18 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbct/getsecrt.prg * use hb_keyCode() instead of Asc() to form numeric key value. * contrib/hbtip/encqp.prg ! Quoted-printable encoding/decoding fixed to use FOR/NEXT loop instead of FOR/EACH and HB_B*() string functions to operate on binary data regardless of HVM CP. ! Fixed old typo causing no encoding for line-ending whitespaces. * contrib/hbtip/mail.prg ! Q-encoding fixed to use FOR/NEXT loop instead of FOR/EACH and HB_B*() string functions to operate on binary data regardless of HVM CP. 2012-05-04 01:51 UTC+0200 Viktor Szakats (harbour syenar.net) * include/harbour.hbx * src/rtl/cdpapihb.c + HB_CDPCHARMAX( [] ) -> (ATM 0xFFFF for unicode or 0xFF for non-unicode (default) CPs) 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 12:13 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + added experimental code signing support for win and darwin using '-sign= [-signpw=]' options. on win, it requires MS Windows SDK in path. 2012-05-02 19:32 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg ! fixed missed incremental updates in '-inc -head=dep' mode on win/os2/dos systems when -workdir= was set to an absolute path. The drive separator colon was confused with the file/dependency separator colon. Nasty. 2012-05-02 17:30 UTC+0200 Viktor Szakats (harbour syenar.net) * examples/dbu/dbu52.dif * examples/dbu/dbu53.dif + updated for UTF8 HVM CP. Start with "-utf" option to activate. In -utf mode, tables will also be open using UTF8EX CP. + added support for clipboard paste using + link all CPs ! fixed to use hb_ps() instead of MS-DOS/win specific pathsep * examples/commouse/commouse.prg + updated for unicode 2012-05-02 14:02 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbmysql/tsqlbrw.prg * contrib/hbct/getsecrt.prg * contrib/hbziparc/ziparc.prg * contrib/hbblink/blinker.prg * contrib/hbnetio/utils/hbnetio/netiosrv.prg * contrib/hbhttpd/core.prg * contrib/hbhttpd/log.prg * contrib/hbwin/win_reg.prg * contrib/hbsms/sms.prg * contrib/hbcomm/comm.prg * contrib/hbtip/log.prg * contrib/hbrun/hbrun.prg ! updated/fixed for unicode (only build-tested) * contrib/hbxdiff/hbxdiff.ch * contrib/hbblat/blatcls.prg * formatting ; TOFIX: hb_StrShrink() to work on UTF8 HVM CP [DONE] ; TOFIX: hbnf, hbtip, xhb, hbide, hbxbp, gtwvg, tests and docs for unicode 2012-05-02 12:48 UTC+0200 Viktor Szakats (harbour syenar.net) * ChangeLog ! copy/paste error in fn skeletons 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_SETKXLAT( [, ] ) -> HBCT_GETKXLAT( ) -> HBCT_SETKXTAB( ) -> HBCT_GETKXTAB() -> 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-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-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-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 16:26 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * LEN() -> HB_BLEN() where needed. (some for the sake of clean code, one as an actual fix) 2012-04-26 16:13 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + hbmk2 code made compatible with UTF8 HVM CP except where FOR EACH is used on strings, which are all broken with UTF8 now. Marked these with TOFIX. + strip UTF8 BOM from .hbm/.hbp/.hbc input files + added PROC CLIPINIT (I can't make it work, so commented for now) ; Switching to UTF8EX creates quite many strange problems when accepting cmdline arguments, passing them to embedded compiler, external tools, so it's not yet enabled. Also, one some platforms _SET_OSCODEPAGE is required (DOS/OS2), on some not, and detection of these cases and actual value is not easy (if possible). Tests made only on Windows, maybe on *nix I'll retry and moving to UTF8 will be done platform by platform. ; NOTE: I plan to make UTF8 the standard encoding for .hbp/.hbm/.hbc files. ; TOFIX: FOR EACH for UTF8EX CP ; TOFIX: cmdline arguments via Main() parameters, hb_AParams() and hb_cmdLine() on Windows. ; TODO: Add a way to detect maximum bit width of unicode chars, for now I hard-coded 16-bit. [DONE] 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-25 16:20 UTC+0200 Viktor Szakats (harbour syenar.net) * tests/parseini.prg ! fixed to compile. Thanks for patch suggestion to Alexey Myronenko 2012-04-25 16:16 UTC+0200 Viktor Szakats (harbour syenar.net) * include/harbour.hbx * src/rtl/cdpapihb.c + added HB_CDPISUTF8( ) -> 2012-04-25 14:44 UTC+0200 Viktor Szakats (harbour syenar.net) * config/global.mk ! missed from prev 2012-04-25 14:11 UTC+0200 Viktor Szakats (harbour syenar.net) * config/global.mk * include/hbver.h * package/harbour.spec * package/harb_win.mft * package/harbour-win.spec.in * package/harbour-wce.spec.in * package/winuni/mpkg_win_uni.bat * harbour/debian/changelog * trunk version bump. 3.1.0dev -> 3.2.0dev this is to make it easy to create conditional code for new features and the few incompatibilities after introducing unicode in Harbour. May be bumped further when FOR EACH is decided. * contrib/hbexpat/tests/tohash.prg + enabled UTF8EX for testing 2012-04-25 12:08 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/harbour.hbx ! fixed typo in previous commit 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 02:20 UTC+0200 Viktor Szakats (harbour syenar.net) * include/harbour.hbx * src/rtl/inkey.c + added HB_KEYCODE( ) -> ; 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:03 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbmisc/udpds.prg + updated to be CP agnostic + changed protocol to use UTF8 through the wire ; NOTE: requires not yet committed HB_BLEFT() * include/harbour.hbx * minor 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 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( , , , ) -> 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 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: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 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 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-23 20:31 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + added experimental framework for -ku: 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 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 14:16 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/rtl/gtwin/gtwin.c * redirect OUTSTD() and OUTERR() to GT buffer if corresponding handles are redirected to console window. 2012-04-23 13:56 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/rtl/filesys.c ! fixed typo in last commit which disabled filename translations in hb_fsNameConv*() functions. 2012-04-22 09:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idedocks.prg * contrib/hbide/idedocwriter.prg * contrib/hbide/ideenviron.prg * contrib/hbide/idefindreplace.prg * contrib/hbide/idefunctions.prg * contrib/hbide/ideharbourhelp.prg * contrib/hbide/ideprojmanager.prg * contrib/hbide/idesaveload.prg * contrib/hbide/idethemes.prg ! Fixed: changes due to HBQT engine which now checks the object validity by looking at object inheritance. This covers many cases but not all. For all practical purposes hbIDE is working ok now but in some extended usage, it again fails. Looking at the ways if this could be covered under object inheritance chain, which looks to be dim, so far. So probably we have to revert back that change but let me build the hypothesis before reverting. 2012-04-20 11:02 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbqt/qtcore/hbqt_pointer.cpp * contrib/hbqt/qtcore/hbqt.h * string variable names corrected 2012-04-20 10:45 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/gtwvg/wvgwin.c ! fixed broken compilation in WVG_SendCBMessage() when using mingw 4.7 * doc/howtosvn.txt + added some more stuff * ChangeLog ! removed tabs and added missing markup in latest commit + added reference to doc/howtosvn.txt 2012-04-20 23:18 UTC+0200 Francesco Perillo ( fperillo at gmail.com ) * contrib/hbqt/hbmk2_qt.hbs ! Typo that generated wrong cpp code *HBQT USERS PLEASE READ* Please note that this patch introduces parameter checking on hbQt methods when parameter is a hbQt object. Up to now you could do some weird (and illegal) things like passing a QLabel when a QToolbar was expected. These lead to GPF, also random. Now hbQt checks that the object passed is of the expected type or of a subclass. If the method expects a QToolbar as parameter now an error is generated if we pass a QLabel. If the method expects a QWidget, it is possible to pass a QWidget, a QLabel, or any other hbQt object derived from QWidget, also user-defined ones. It may be that this patch breaks old *WRONG* code that just for casualty was not generating GPF. So if your program starts to report errors for wrong parameters, please check your code. Another change is that when a hbQt goes out of scope a disconnect() is forced immediately in the destructor. This will prevent that events/signals are activated by Qt for that object while it waits for harbour GC to delete it. This was common during window closing step or program end. 2012-04-20 21:22 UTC+0200 Viktor Szakats (harbour syenar.net) * include/harbour.hbx * set formatting for new functions * ChangeLog ! deleted unicode BOM. Please set your editor to not readd it. * contrib/hbqt/gtqtc/gtqtc.cpp ! quick fix for build failure. * contrib/hbqt/hbmk2_qt.hbs * contrib/hbqt/qtcore/hbqt_pointer.cpp * contrib/hbqt/qtcore/hbqt.h * object type checking patch from Teo and Francesco. Please test. (with minor changes) + added TOFIX for missing CP conversion in certain cases. * contrib/hbqt/qtcore/hbqt_misc.prg * implemented destroy patch from Francesco. Please test. 2012-04-20 17:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbdefs.h * moved HB_WCHAR definition from hbapicdp.h to hbdefs.h * harbour/include/hbapicdp.h * harbour/include/hbcdpreg.h * harbour/src/rtl/cdpapi.c * harbour/src/rtl/cdpapihb.c + added support for custom sorting redirected from HVM + added support for custom character indexes in strings + added support for custom character flags (upper, lower, alpha, digit) + added support for custom upper/lower conversions + added support for CPs using unicode character values instead of ASCII ones + added new CP functions which respects custom CP settings: hb_cdpUpperWC(), hb_cdpTextLen(), hb_cdpTextPos(), hb_cdpTextPosEx(), hb_cdpTextGetU16(), hb_cdpTextPutU16(), hb_cdpCharEq(), hb_cdpCharCaseEq() + added new conversion functions: hb_cdpGetUC(), hb_cdpGetWC(), hb_cdpGetU16Ctrl() + added macros to detect codepage parameters: HB_CDP_ISBINSORT() - codepage uses simple binary sorting HB_CDP_ISCUSTOM() - codepage uses custom string decoding HB_CDP_ISCHARIDX() - codepage use character indexes instead of bytes ones HB_CDP_ISCHARUNI() - CHR(), ASC() and similar functions operates on Unicode values instead of bytes HB_CDP_ISUTF8() - codepage uses UTF-8 encoding * harbour/include/inkey.ch - removed HB_INKEY_EXTENDED - it was not used in Harbour + added new flag HB_INKEY_EXT - it allows to use different event encoding system with automatic translation to standard Clipper values. It will be used in the future as base for low level GT code. Now it's possible to selectively switch to the new system. New codes are unique and do not interacts with Clipper ones. + added HB_INKEY_ALL macro - it's similar to INKEY_ALL but enables also GTEVENT keys. * harbour/include/hbgtcore.h * harbour/src/rtl/hbgtcore.c * changed character values in internal screen buffer to unicode. Warning: this modification interacts with SAVESCREE()/RESTSCREEN() data. Now all GTs use extended definition. If somene has code which needs VGA like screen buffers returned by SAVESCREE() then it can be forced by hb_gtInfo( HB_GTI_COMPATBUFFER, .t. ) Anyhow it will force to use only one CP in output. + added new GT methods which operate on HB_WCHAR values * modified existing methods using HB_WCHAR/HB_USHORT parameters to operate on HB_WCHAR values + added codepage conversion code directly to core code so it can be eliminated from low level GT drivers which do not need some special operations on it. + added support for extended inkey codes, they allow to encode unicode values, mouse events with flags, keyboard events with modifier flags (shift,alt,ctrl,...), etc. Now in low level GT code only unicode key values are used but I plan to updated all GTs and switch to new codes - it should resolve many small problems inherited with Clipper inkey codes. * harbour/include/hbapifs.h * moved hb_fsNameConvU16() definition from hbapicdp.h to hbapifs.h * harbour/include/hbxvm.h - removed comment copied by mistake from GT header file * harbour/include/hbwinuni.h * changed HB_CHARDUP() and HB_CHARDUPN() macros - now they operate on functions which can be used without active HVM. In such case ANSI CP is used as source encoding. + added new macros: HB_OSSTRDUP() and HB_OSSTRDUP2(). They make conversions from OS encoding to HVM one. They can be used without active HVM and in such case ANSI CP is used as destination encoding. * harbour/include/hbapi.h * harbour/src/vm/cmdarg.c + added new function hb_cmdargProgName() It returns application name with path or NULL if not set, caller must free returned value with hb_xfree() if not NULL. The string is in HVM encoding so it does not need any additional translations. * modified hb_cmdargString() to return strings in HVM encoding. % some small code optimizations ; NOTE: parameters passed to MS-WINDOWS GUI programs which use WinMain() instead of main() as startup entry are translated to ANSICP before they can be accessed by application. This can be eliminated though not for console programs where C compiler makes such translation for main() parameters. In all systems parameters are passed to application startup and init functions before programmer can set OS CP. This can be resolved by adding: INIT PROC CLIPINIT() SET( _SET_CODEPAGE, ) SET( _SET_OSCODEPAGE, ) RETURN to linked code. INIT procedures called CLIPINIT() are executed before any other ones. * harbour/include/hbapi.h * harbour/src/vm/set.c + added new functions for CP converisons which can be used with and without active HVM: hb_osStrEncode(), hb_osStrEncodeN(), hb_osStrDecode(), hb_osStrDecode2(), hb_osStrU16Encode(), hb_osStrU16EncodeN(), hb_osStrU16Decode(), hb_osStrU16Decode2(), * harbour/include/hbvm.h * harbour/src/vm/hvm.c + added new function hb_vmIsReady() - it's similar to hb_vmActive() but it also checks if current thread has active HVM stack. * moved hb_cdpReleaseAll() to the end of HVM cleanup code so CP conversions are longer active. * harbour/include/hbcomp.h * harbour/src/compiler/cmdcheck.c * harbour/src/compiler/hbusage.c * harbour/src/common/expropt2.c + added new compiler switch: -ku - strings in user encoding Now it informs compiler that strings use custom encoding so some optimizations which are byte oriented cannot be used. It's possible that in the future we will change above definition to sth like: "strings in UTF8 encoding" but now I would like to keep more general form. * harbour/src/vm/macro.c * inform macrocompiler about custom CPs using own character indexes to disable byte oriented optimizations. * harbour/include/hbapigt.h * harbour/src/rtl/gtapi.c * harbour/src/rtl/inkeyapi.c + added HB_B_*_W macros with unicode box character definitions + added HB_MBUTTON_* macros + added new GT functions: hb_gtHostCP() and hb_gtBoxCP() which allows to extract CPs used in translations by GTs. + added new function hb_inkeyKeyString() - it converts inkey value to corresponding string + added new function hb_inkeyKeyStd() - it converts new extended key value to standard Clipper one. * harbour/include/hbapifs.h * harbour/src/common/hbffind.c * moved OS codepage translations fully to hb_fsFind*() functions. It fixes few problems which existed before, i.e. double CP conversions in MS-Windows builds and simplifies upper level code. * harbour/src/pp/hbpp.c * harbour/src/rtl/direct.c * harbour/src/rtl/fssize.c * harbour/src/rtl/file.c * harbour/contrib/hbct/files.c * eliminated not longer necessary CP conversions in code calling hb_fsFind*() functions. * harbour/src/common/hbgete.c * moved OS codepage translations to hb_getenv(), hb_getenv_buffer() and hb_setenv() functions. It fixes few problems which existed before, i.e. double CP conversions in MS-Windows builds and simplifies upper level code. * harbour/src/rtl/net.c * harbour/src/rtl/gete.c * eliminated not longer necessary CP conversions in code calling hb_getenv()/hb_setenv() functions. ; NOTE: additional parameters in HB_GETENV() and HB_SETENV() which disabled CP conversions are not longer supported. They were strictly platform dependent and ignored in chosen cases (i.e. in MS-Windows UNICODE builds we always have to convert strings transferred between HVM and OS. If someone needs old functionality for other platforms then he should temporary disable _SET_OSCODEPAGE. * harbour/src/common/hbver.c * harbour/src/common/hbfsapi.c * harbour/src/rtl/fstemp.c * harbour/src/rtl/fslink.c * eliminated HB_TCHAR_*() macros * harbour/src/common/strwild.c + added supprot for custom CPs using own character indexes in: hb_strMatchWild(), hb_strMatchWildExact(), hb_strMatchCaseWildExact() * harbour/src/nortl/nortl.c + added new dummy function replacement for binaries which are not linked with HVM. * harbour/src/rtl/filesys.c ! fixed double CP conversions in MS-Windows builds of hb_fsCurDirBuff() * use hb_vmIsReady() instead of hb_stackId() in file name conversions. * use hb_cmdargProgName() in hb_fsBaseDirBuff() * harbour/src/rtl/philes.c * use hb_cmdargProgName() in HB_PROGNAME() function. * harbour/src/rtl/gtcgi/gtcgi.c * harbour/src/rtl/gtstd/gtstd.c * harbour/src/rtl/gtpca/gtpca.c * harbour/src/rtl/gtdos/gtdos.c * harbour/src/rtl/gtos2/gtos2.c * harbour/src/rtl/gtwin/gtwin.c * harbour/src/rtl/gtwvt/gtwvt.h * harbour/src/rtl/gtwvt/gtwvt.c * harbour/src/rtl/gttrm/gttrm.c * harbour/src/rtl/gtcrs/gtcrs.c * harbour/src/rtl/gtsln/gtsln.c * harbour/src/rtl/gtsln/kbsln.c * harbour/src/rtl/gtsln/gtsln.h * harbour/src/rtl/gtxwc/gtxwc.h * harbour/src/rtl/gtxwc/gtxwc.c * harbour/contrib/gtwvg/gtwvg.c * harbour/contrib/gtwvg/gtwvg.h * harbour/contrib/gtalleg/gtalleg.c * harbour/contrib/hbqt/gtqtc/gtqtc.cpp * harbour/contrib/hbqt/gtqtc/gtqtc.h * updated to work with new unicode GT API please make tests with different GTs - I'm not able to test all of them, i.e. I do not have any OS2 machine. * harbour/src/rtl/box.c * harbour/src/rtl/oldbox.c * harbour/src/rtl/scroll.c * harbour/src/rtl/console.c * updated to work with new unicode GT API and CPs using custom character indexes * harbour/src/rtl/at.c * harbour/src/rtl/ati.c * harbour/src/rtl/rat.c * harbour/src/rtl/len.c * harbour/src/rtl/transfrm.c * harbour/src/rtl/left.c * harbour/src/rtl/right.c * harbour/src/rtl/substr.c * harbour/src/rtl/stuff.c * harbour/src/rtl/padc.c * harbour/src/rtl/padl.c * harbour/src/rtl/padr.c * updated to work with CPs using custom character indexes * harbour/src/rtl/chrasc.c + added support for HB_CDP_ISCHARUNI() CPs. * harbour/src/rtl/mlcfunc.c * rewritten from scratch to work with CPs using custom character indexes * harbour/src/rtl/accept.c * updated to work with unicode inkey values and CPs using custom character indexes * harbour/src/rtl/strmatch.c % small optimization * harbour/src/rtl/Makefile + harbour/src/rtl/chruni.c + added new PRG functions which allows to make byte/binary and unicode/character operations on strings: HB_UCHAR( ) -> return string with U+nCode character in HVM CP encoding HB_BCHAR( ) -> return 1 byte string with value HB_UCODE( ) -> return unicode value of 1-st character (not byte) in given string HB_BCODE( ) -> return value of 1-st byte in given string HB_ULEN( ) -> return string length in characters HB_BLEN( ) -> return string length in bytes HB_UPEEK( , ) -> return unicode value of -th character in given string HB_BPEEK( , ) -> return value of -th byte in given string HB_UPOKE( [@], , ) -> change -th character in given string to unicode one and return modified text HB_BPOKE( [@], , ) -> change -th byte in given string to and return modified text * harbour/src/rtl/hbdoc.prg * harbour/src/rtl/memvarhb.prg * use HB_BCHAR() for binary string definitions * harbour/src/rtl/hbi18n2.prg * use hb_utf8CHR( 0xFEFF ) instead of hardcoded binary string and HB_BLEN() instead of LEN() * harbour/src/rtl/inkey.c + added new functions: HB_KEYCHAR( ) -> HB_KEYSTD( ) -> ! use HB_INKEY_ALL instead of INKEY_ALL in LASTKEY() * harbour/src/rtl/achoice.prg * harbour/src/rtl/browse.prg * harbour/src/rtl/menuto.prg * harbour/src/rtl/tgetlist.prg * harbour/src/rtl/teditor.prg * harbour/src/rtl/tlabel.prg * harbour/src/rtl/tpopup.prg * harbour/src/rtl/radiobtn.prg * harbour/src/rtl/radiogrp.prg * harbour/src/rtl/wait.prg * updated to work with unicode inkey() values * harbour/src/rtl/listbox.prg * use box.ch macros instead of explicit CHR(...) definitions * harbour/src/rtl/ttopbar.prg * updated to work with different type of CPs * harbour/src/rtl/scrollbr.prg * formatting * harbour/src/rtl/mouse53.c * use HB_MBUTTON_* macros instead of local ones * harbour/src/codepage/cp_utf8.c + harbour/src/codepage/uc16def.c + harbour/src/codepage/utf8sort.c * replaced UTF8ASC with new CP: UTF8EX This CP uses character indexes instead of bytes one and operates on unicode characters flags. Tables for upper/lower conversions and upper/lower/alpha/digit flags were generated automatically from http://www.unicode.org/Public/UNIDATA/UnicodeData.txt It also uses custom collation rules. It's very simple one level sorting based on UTF8 C collation. If someone needs some advanced sorting rules, then it's enough to create copy of this cp with user custom version of UTF8_cmp() and UTF8_cmpi() functions, i.e. they can be redirected to some external library like ICU (icu-project.org). * harbour/contrib/hbct/ctwin.c * harbour/contrib/hbct/ctwin.h * harbour/contrib/hbct/ctwfunc.c * added support for new unicode GT API * harbour/contrib/xhb/xhbfunc.c * redirected HB_CMDARGARGV() to HB_PROGNAME() * harbour/contrib/hbnf/origin.c * redirected FT_ORIGIN() to HB_PROGNAME() * harbour/contrib/hbnf/getenvrn.c ! windows version of FT_GETE() fully rewritten - it should fix well known problems reported to the devel list. Please test. % small optimization for other systems * harbour/contrib/hbfship/exec.c * use hb_cmdargProgName() in EXECNAME() + harbour/tests/uc16_gen.prg + added code which generates tables with unicode character flags from http://www.unicode.org/Public/UNIDATA/UnicodeData.txt. harbour/src/codepage/uc16def.c was generated by this code. * harbour/tests/inkeytst.prg * harbour/tests/wvtext.prg * harbour/tests/gtkeys.prg * use HB_INKEY_ALL * harbour/include/harbour.hbx * harbour/include/hbcpage.hbx * harbour/include/hblang.hbx * regenerated ; It was quite big peace of modifications and for sure not everything is well tested so please make test and report problems you will find. ; This is basic version which introduce to HVM CPs with custom encodings. Some contrib code has to be updated to work correctly with it. I hope that developers interesting in will make necessary updates. I haven't touched GTWVW code at all - sorry but it needs very serious work to make it production ready and fix all existing problems. ; Special thanks to OTC - this firm sponsored adding basic UTF8 support to HVM. 2012-04-20 08:14 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/common/hbffind.c ! fixed stupid typo in my previous commit which caused memory and resource leak 2012-04-19 12:15 UTC+0200 Viktor Szakats (harbour syenar.net) * include/hbapicdp.h * src/rtl/hbregex.c * src/rtl/cdpapi.c + will now automatically enable UTF8 in PCRE searches, if the HVM CP is set to UTF8. 2012-04-19 02:30 UTC+0200 Viktor Szakats (harbour syenar.net) * include/harbour.hbx * contrib/hbnetio/utils/hbnetio/netiosrv.prg * contrib/hbrun/hbrun.prg ! fixes to prev 2012-04-19 02:23 UTC+0200 Viktor Szakats (harbour syenar.net) * src/3rd/pcre/Makefile + enabled UTF8 support in PCRE (binary size overhead ~150KB) + enabled unicode properties support in PCRE (binary size overhead ~50KB) * src/rtl/hbregex.c + added commented logic to detect UTF8 support in PCRE and enable UTF8 mode when the HVM CP is also UTF8. Latter logic is missing yet and subject to review. * contrib/hbnetio/utils/hbnetio/netiosrv.prg * contrib/hbnetio/utils/hbnetio/netiocon.prg * contrib/hbnetio/utils/hbnetio/netiomgm.prg * contrib/hbrun/hbrun.prg * tests/ac_test.prg * tests/ac_test2.prg * tests/tstmacro.prg * tests/tstalias.prg * formatted using automatic tools 2012-04-18 15:14 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/xhb/hblognet.prg * contrib/hbssl/tests/test.prg * tests/server.prg ! replaced hb_inetCRLF() with CRLF literals (via macro or variable) now it's not used anywhere in Harbour SVN * tests/parseini.prg * tests/sbartest.prg * tests/server.prg * tests/ac_test.prg * tests/mousetst.prg * formatting * deleted legacy comments (*) 2012-04-18 04:39 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbcurl/hbcurl.ch * contrib/hbcurl/core.c + added new features introduced between libcurl 7.22.0 and 7.25.0 (inclusive) 2012-04-18 03:59 UTC+0200 Viktor Szakats (harbour syenar.net) * package/winuni/RELNOTES * updated some versions 2012-04-18 01:50 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbwin/win_prn1.c ! TRUE -> 1 (was HB_TRUE till yesterday) * include/harbour.hbx * formatted some remaining names 2012-04-17 16:20 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * harbour/src/rtl/hbsocket.c ! fixed WSAEFAULT (or sometimes GPF) error by passing correct buffer length to getsockopt() 2012-04-17 13:02 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/run.c * src/rtl/hbrunfun.c * experimental: use hb_processRun() on all win targets (was wince targets) instead of system() from C RTL. QUESTION: do the same for all platforms? * contrib/hbwin/win_prn1.c * contrib/hbwin/hbwin.ch * contrib/hbwin/hbwin.hbx + WIN_ENUMFONTS() modified to work also when no HDC is passed. + WIN_ENUMFONTFAMILIES( [ ][, ] ) -> * contrib/gtwvg/wvgcuig.c * contrib/gtwvg/wvgcore.c ! fixed possible GPF in some functions if font name was not passed 2012-04-12 12:35 UTC+0200 Viktor Szakats (harbour syenar.net) * INSTALL + extended TROUBLESHOOTING about generic common-sense information about not overdoing custom configuration, especially for C compiler. I didn't specifically include anything about bcc, but let me here note, that hbmk2 and Harbour core build system doesn't require bcc32.cfg and ilink32.cfg to be _present at all_ since quite long, so please remove them for best results. 2012-04-12 00:13 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fscopy.c * reverted last change targeting hb_fs* -> hb_file* conversion. Ref: https://groups.google.com/d/topic/harbour-devel/dTN7rchixh8/discussion 2012-04-11 18:46 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/pp/ppcore.c ! fixed GPF if #pragma __*streaminclude is used with redirect user custom files 2012-04-11 13:53 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * do not consider ".C" (uppercase c) as C++ source file. it might have caused confusion when bringing .c source files from legacy filesystems like MS-DOS, it may also be an advantage when doing multiplatform development between MS-DOS and newer systems. 2012-04-10 17:57 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/tget.prg ! ignore custom picture mask characters for date var type for CA-Cl*pper 5.x compatibility. F.e.: '@ 0, 0 GET dDate PICTURE "D"' 2012-04-10 02:57 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/gtwvg/gtwvg.c ! HB_GTINFOEX(): fixed using object after freeing it ! renamed HB_GTINFOEX() -> WVG_GTINFOEX() to avoid occupying Harbour core namespace in non-core component. It also uses raw pointer to access internals. (if such functionality is to be ever implemented in core, it should probably be done by extending existing HB_GTINFO()) ; INCOMPATIBLE. Update your function calls according to above. 2012-04-10 02:41 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/gtwvg/wvgclass.prg * contrib/gtwvg/wvgpaint.prg ! renamed public functions without namespace. INCOMPATIBLE. SetPaint() -> wvg_SetPaint() GetPaint() -> wvg_GetPaint() DelPaint() -> wvg_DelPaint() PurgePaint() -> wvg_PurgePaint() InsertPaint() -> wvg_InsertPaint() 2012-04-09 21:33 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fscopy.c + using hb_file*() API instead of hb_fs*() API. Completing TODO originating from: https://groups.google.com/d/msg/harbour-devel/0QY0SJ8HBFU/rWbUvJXygWYJ ; review me. I had to add an ugly-looking hack for win, because error 38 was returned when reaching the end of file successfully. with hb_fs*() API this didn't happen. 2012-04-09 11:13 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbformat/hbfmtcls.prg ! use HB_FCOPY() instead of FRENAME() to create backup. this makes it work when .bak already exists. 2012-04-09 00:07 UTC+0200 Viktor Szakats (harbour syenar.net) * bin/hb3rdpat.hbs * formatting 2012-04-09 00:04 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * bin/hb3rdpat.hbs ! fixed minor formatting problems mainly using custom automatic script * include/harbour.hbx * contrib/hbsms/hbsms.hbx + applied std casing to function names. it enhances readability, plus makes possible to use .hbx file for automatic formatting purposes. * utils/hbmk2/hbmk2.prg * config/postinst.hbs + preserve casing of function names in .hbx files ! fixed non-fatal typo in regex expressions 2012-04-06 11:05 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp * contrib/hbhpdf/3rd/libhpdf/libhpdf.dif + contrib/hbhpdf/3rd/libhpdf/hpdf3dme.h + contrib/hbhpdf/3rd/libhpdf/hpdf3dme.c + contrib/hbhpdf/3rd/libhpdf/hpdfencu.c + contrib/hbhpdf/3rd/libhpdf/hpdfexda.h + contrib/hbhpdf/3rd/libhpdf/hpdfexda.c + contrib/hbhpdf/3rd/libhpdf/hpdfimac.c + contrib/hbhpdf/3rd/libhpdf/t4.h * contrib/hbhpdf/3rd/libhpdf/* + libharu 2.2.1 -> 2.3.0RC2 updated to latest RC2 because I may also need it and the project is pretty much dead these days, so it might take a while to decide on a release. (plus I submitted pull request for warnings and report about more warnings) beware of bugs and if you find any, report to libharu developers. most important new stuff is partial unicode (1-2 bytes UTF8) and PDF/A support. it also incorporates our png patch, so local patching is minimal now. ; TODO: add hbhpdf wrappers for new functions not yet covered. 2012-04-05 16:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbapifs.h * harbour/src/common/hbffind.c ! fixed potential freeing uninitialized handlers on some platforms * hide private members * harbour/src/codepage/Makefile * harbour/include/hbcpage.hbx + harbour/src/codepage/cp950.c + harbour/src/codepage/cp_950.c + added new Harbour codepage "CP950". It's similar to BIG5 and used by MS-Windows. Please test and inform me if you can replace BIG5 in your applications with CP950 without any problems. * harbour/contrib/hbnf/hbnf.hbx + added FT_IDLE() 2012-04-04 22:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/rtl/hbsocket.c ! fixed problems with missing error setting in select() executed for asynchronous connect() (windows builds) and overwritten error codes in connect() and accept() (all builds). Many thanks for Mindaugas for locating the problem and patch. 2012-04-04 22:29 UTC+0200 Viktor Szakats (harbour syenar.net) * hbhpdf/hbhpdf.hbp * hbhpdf/hbhpdf.hbx + hbhpdf/misc.prg * hbhpdf/core.c + added HB_HPDF_VERSION( @nMajor, @nMinor, @nBugfix ) -> NIL + added HB_HPDF_ISVERSION( nMajor, nMinor, nBugfix ) -> lLogical ; these use the built-time version 2012-04-04 20:06 UTC+0200 Viktor Szakats (harbour syenar.net) * examples/guestbk/testcgi.prg * examples/hscript/multiply.hs * examples/hscript/readme.txt * examples/hscript/hello.hs * cleanups 2012-04-04 20:01 UTC+0200 Viktor Szakats (harbour syenar.net) * include/hb_io.h * src/main/harbour.1 * src/rtl/gtdos/gtdos.c * src/rtl/gtos2/gtos2.c * src/rtl/gtpca/gtpca.c * utils/hbmk2/hbmk2.1 * utils/hbtest/hbtest.1 * contrib/hbqt/hbmk2_qt.hbs * contrib/hbide/idemisc.prg * contrib/hbide/idesaveload.prg * contrib/hbide/ideprojmanager.prg * tests/sbartest.prg * tests/videotst.prg * tests/testhtml.prg * tests/vidtest.prg * tests/setkeys.prg * tests/mousetst.prg * TODO * NEWS * examples/guestbk/cgi.ch * examples/hscript/cgi.ch * "harbour project" name usage cleanup (except in license texts) * minor cleanups (f.e. updated project description and mailing list name in hbide) 2012-04-04 20:20 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * src/compiler/hbopt.c ! fixed -w3 warning 'Variable ... is assigned but not used' in case of BEGIN SEQUENCE/END SEQUENCE sentence. Ex.: BEGIN SEQUENCE nI := 1 BREAK(NIL) RECOVER ? nI END SEQUENCE 2012-04-04 16:33 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * better fix 2012-04-04 16:30 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg ! fixed RTE in prev when lib/3rd is not present 2012-04-04 16:23 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg ! typo in prev 2012-04-04 15:45 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/make.hbs * contrib/hbpost.hbm + use HB_LIB3RD hbmk2 macro instead of rolling custom logic to detect and enable unicows lib. * utils/hbmk2/hbmk2.prg + added HB_LIB3RD internal variable (usable as filter and as macro) it's filled when '/lib/3rd//' directory is present + added EXPERIMENTAL pseudo-function for filters to detect presence of file or directory: {hb_ispath=''}. if the value is not an absolute path, it will be meant relative to source hbmk2 file. * package/harb_win.mft * package/harb_win.rc * package/mpkg_win.nsi * package/mpkg_src_nightly.sh * package/winuni/mpkg_win_uni.nsi * "Harbour Project" -> "Harbour" * "hbrun" shortcut -> "Harbour (Interactive shell)" 2012-04-03 22:17 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/contrib/xhb/hboutdbg.c * eliminated HB_TCHAR_*() macros 2012-04-03 11:26 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbxbp/tests/demoxbp.prg ! Fixed: visibility of sub-menu's was off and thus main menu was not being displayed, reported by Zoran. 2012-04-03 19:02 UTC+0200 Viktor Szakats (harbour syenar.net) * package/harb_win.mft ! managed to mess up an UTF8 char in prev commit 2012-04-03 18:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbwinuni.h ! typos in previous commit * harbour/src/rtl/hbproces.c ! include hbwinuni.h 2012-04-03 18:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbapicdp.h * harbour/src/rtl/cdpapi.c + added new C functions: hb_cdpDupn(), hb_cdpStrDupU16(), hb_cdpnStrDupU16() * harbour/include/hbwinuni.h + added new macros: HB_CHARDUP() and HB_CHARDUPN() Warning: this macros uses HVM functions so cannot be used in code which is executed without active HVM i.e. in pure harbour compiler code (common library) * harbour/src/rtl/filesys.c * use hb_cdpStrDupU16() * harbour/src/rtl/hbproces.c ! fixed double OS codepage conversion in hb_fsProcessRun() * use HB_CHARDUP*() macros to respect _SET_CODEPAGE and _SET_OSCODEPAGE in Windows builds 2012-04-03 12:08 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/rddads/rddads.hbx * contrib/rddads/adsfunc.c + added ADSDDADDINDEXFILE(). posted by Lucas De Beltran. * contrib/hbformat/utils/hbformat.prg % changed manual logic to HB_DIRSEPADD() call ! changed SET( _SET_DIRSEPARATOR ) to HB_PS() 2012-04-03 02:28 UTC+0200 Viktor Szakats (harbour syenar.net) * src/lang/Makefile + src/lang/msghuutf.c + added Hungarian language module in unicode (UTF-8 encoding). 2012-04-03 00:01 UTC+0200 Viktor Szakats (harbour syenar.net) * package/harb_win.rc * package/harb_win.mft * 2011 -> 2012 * ChangeLog ! typos 2012-04-01 21:10 UTC+0200 Viktor Szakats (harbour syenar.net) * src/common/hbverdsp.c * do not show '(WINANSI)' in the list of version flags. * utils/hbmk2/hbmk2.prg + add -inc to xbuild and xmate converted projects, this being the default mode of operation (AFAI guess) of these tools. * contrib/hbct/disk.c * contrib/hbnf/kspeed.c * contrib/hbnf/peek.c * contrib/hbnf/proper.c * contrib/hbnf/ftidle.c * contrib/hbnf/mouse.c * contrib/hbnf/stod.c * contrib/hbnf/getvid.c * contrib/hbnf/getver.c * contrib/hbnf/getenvrn.c * contrib/hbnf/mkdir.c * contrib/hbnf/rmdir.c ! formatting 2012-04-01 17:07 UTC+0200 Viktor Szakats (harbour syenar.net) * config/win/mingw.mk * removed undocumented way (committed in prev rev) to disable separate compile pass for mingw Harbour-*.dll. if you're bothered, use existing and documented: HB_BUILD_DYN=no ; NOTE: separate compile pass has another important benefit: it will finally remove the implicit .dll exports, IOW now only explicitly exported symbols will be public, in sync with harbour-*.dlls created with all the other C compilers. 2012-04-01 16:30 UTC+0200 Viktor Szakats (harbour syenar.net) * config/win/mingw.mk + solved mingw harbour dll and unicows problem, so now -shared Harbour executables built using mingw will be able to run on Win9x, "out of the box". (has a downside that now separate compile pass is needed to build objects with -DHB_DYNLIB (like with all the other C compilers), but I left it enabled anyways to give uniform support for unicows by default, including the nightly and official builds.) * config/win/watcom.mk * config/win/xcc.mk * config/win/icc.mk * config/win/pocc.mk * config/win/bcc.mk * config/win/msvc.mk * restored to link 3rd libs (currently unicows, if available) to harbour-*.dll with above compilers. These are currently noops (except for bcc, where it just doesn't work), they are fundemantally correct, but may require further C compiler specific mods. ; TODO: problem with bcc harbour-*.dll remains. unicows is present, specified, but ignored when linking, even though it's not ignored when contrib dlls are built using similar method. I leave resolving this problem to bcc users. 2012-04-01 11:55 UTC+0200 Viktor Szakats (harbour syenar.net) * config/win/watcom.mk * config/win/xcc.mk * config/win/icc.mk * config/win/mingw.mk * config/win/pocc.mk * config/win/bcc.mk * config/win/msvc.mk ! do not link unicows to harbour dll. it seems a noop for some compilers, and breaks some others (mingw). 2012-04-01 11:21 UTC+0200 Viktor Szakats (harbour syenar.net) * config/win/watcom.mk * config/win/xcc.mk * config/win/icc.mk * config/win/global.mk * config/win/mingw.mk * config/win/pocc.mk * config/win/bcc.mk * config/win/msvc.mk + reworked unicows lib support so now watcom will also work (not tested) * config/wce/mingwarm.mk * config/wce/poccarm.mk * config/wce/msvcarm.mk - deleted $(SYSLIBPATHS) in sync with win, left multiple lib path support. * contrib/hbwin/win_regc.c * formatting 2012-03-31 20:32 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/gtwvg/gtwvg.hbp * contrib/hbwin/hbwin.hbp * contrib/hbodbc/hbodbc.hbp * contrib/sddodbc/sddodbc.hbp * forced UNICODE on * examples/gtwvw/gtwvw.hbp * forced UNICODE off 2012-03-31 19:29 UTC+0200 Viktor Szakats (harbour syenar.net) * config/win/global.mk * config/rules.mk * moved UNICODE enabler logic to win platform make files, similarly to wce. * contrib/gtwvg/gtwvg.hbp * contrib/gtwvg/wvtwin.ch % deleted forced -DUNICODE option % deleted unused non-UNICODE macros from Harbour level header 2012-03-31 18:55 UTC+0200 Viktor Szakats (harbour syenar.net) * config/win/global.mk * Makefile ! fixed to find unicows libs when HB_BUILD_NAME is set 2012-03-31 18:42 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + will now add lib/3rd dir to the link commands, so unicows lib will be found in uninstalled Harbour SVN source tree. * contrib/make.hbs * contrib/hbpost.hbm + automatically enable unicows support for contribs, if available. - deleted support for undocumented __HB_BUILD_WINUNI envvar * config/global.mk * config/rules.mk - deleted support for undocumented __HB_BUILD_WINUNI envvar * package/winuni/mpkg_win_uni.bat * package/mpkg_win_nightly.bat - deleted special support for unicows libs for nightly and official releases, along with HB_DIR_UNICOWS envvar. Now these libs are included in all builds. * config/win/global.mk + automatically enable unicows support for core, if available. * config/win/xcc.mk * config/win/icc.mk * config/win/mingw.mk * config/win/pocc.mk * config/win/bcc.mk * config/win/msvc.mk + added support for SYSLIBPATHS. (used by unicows support) ! fixed bcc dynlib link command missing libpaths. ; NOTE: watcom unicows support is missing, as it needs special tricks due to missing separate libpath option in this compiler/linker. [SOLVED] * config/wce/mingwarm.mk * config/wce/poccarm.mk * config/wce/msvcarm.mk * synced with config/win files + config/libbin.mk + added rule to install pre-built binary libs. (for unicows libs) * Makefile + lib/3rd + lib/3rd/win + lib/3rd/win/mingw + lib/3rd/win/mingw/Makefile + lib/3rd/win/mingw/libunicows.a + lib/3rd/win/mingw/libunicows_license.txt + lib/3rd/win/bcc + lib/3rd/win/bcc/unicows_license.txt + lib/3rd/win/bcc/unicows.lib + lib/3rd/win/bcc/Makefile + added locally hosted unicows runtime/implibs from: http://libunicows.sourceforge.net/ by author Vaclav Slavik. With these libs, it's possible to use UNICODE builds with both MS unicows.dll and opencows .dll on legacy Windows-system (Win9x) (however, Harbour only fully supports unicows.dll). These libs will be installed to Harbour core lib directory, and also used from lib/3rd directory, if they are available. I've uploaed mingw and bcc libs because these are used nearly exclusively by users, but they are also available for older msvc, watcom, dmc and lcc compilers. I don't think it's worth the extra size to support Win9x using these legacy compilers, anyhow they can be added easily if needed. ; These changes mean three things: 1. Harbour now has only one build mode on Windows: UNICODE This will greatly simplify coding and testing and will allow to focus much better on what's important. It also allows to drop lots of dual code dealing with separate UNICODE and non-UNICODE branches. 2. Harbour default builds will now run on Win9x (currently when using mingw or bcc compilers), though UNICOWS.DLL is now required. See INSTALL how to get this free .dll from MS. This also means that Harbour can now theoretically by built on Win9x systems (I didn't try). 3. Harbour users can create UNICODE builds compatible with Win9x, by simply adding -lunicows to their .hbp projects. No extra installation is required. 2012-03-31 01:26 UTC+0200 Viktor Szakats (harbour syenar.net) * package/winuni/mpkg_win_uni.bat ! typo in mingw unicows license filename * contrib/hbqt/gtqtc/gtqtc.cpp - deleted Windows specific UNICODE macro refs 2012-03-30 19:38 UTC+0200 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg ! fixed foreign make file conversion to add comment prefix for original filename included in .hbp file + .xbp conversion will add -hblib and -hbdyn if filename contains .lib and .dll respectively. (not sure how is this official rule or just convention or anything) 2012-03-30 19:06 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/xhb/filestat.c + switched from HB_TCHAR_* macros to Str API 2012-03-30 18:27 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbct/ctnet.c + switched from HB_TCHAR_* macros to Str API * contrib/xhb/filestat.c + preparation for HB_TCHAR_* macro elimination by removing static worker function ! fixed wrong OS_UNIX_COMPATIBLE macro which effectively disabled *nix specific code. Now new code is enabled, so beware of platform fallout especially on more exotic *nix flavors. (untested on *nix) * contrib/hbqt/gtqtc/gtqtc.cpp - deleted inactive code using HB_TCHAR_* macro 2012-03-30 17:21 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbwinuni.h * added explicit casting to HB_FSNAMECONV() macro to force compile time warnings when wrongly used also in UNICODE builds 2012-03-30 15:53 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbwinuni.h ! fixed typos in HB_FSNAMECONV() definition * harbour/src/rtl/filesys.c * harbour/src/rtl/fstemp.c * harbour/src/rtl/fslink.c * harbour/src/rtl/hbcom.c * harbour/contrib/hbmzip/mzip.c ! fixed casting in recent modifications (missing const) * harbour/src/rtl/gtcrs/hb-charmap.def * formatting 2012-03-30 12:07 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fslink.c * contrib/hbmzip/mzip.c ! fixed missing Windows macro for legacy C compilers (bcc, lcc, dmc) regression from 2012-03-28 20:09 UTC+0200 and 2012-03-19 12:55 UTC+0100 reported by Grigory Filatov 2012-03-29 03:45 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fstemp.c * hb_fsCreateTempEx(): changed to have only one return point ! hb_fsCreateTempEx(): do not call hb_fsNameConv() before calling hb_fsCreateEx(). Latter does this since a few commits, causing a regression here. ! low level hb_fsTempName() fixed to use HB_FSNAMECONV() instead of HB_TCHAR_*() macros. This is slightly inappropriate for 'prefix' parameter, but will do for now. ! low level hb_fsTempName() fixed to convert back result to _SET_OSCODEPAGE. This fixes caller hb_fsCreateTemp() which passes the value to hb_fsCreateEx(). ! hb_fsTempDir(): fixed to convert result to _SET_OSCODEPAGE. ; NOTE: These are supposed to fix some recent and not so recent oddities with HB_FCREATETEMP[EX]() and HB_DIRTEMP() functions when used with non-ASCII chars, especially on Windows. Tests done only on Windows, please review and test, also on other platforms, non-UNICODE mode. Regressions are possible. Oddly, HB_FCREATETEMP() won't work well without properly set _SET_OSCODEPAGE, probably something requiring further fixes (and/or internal unicode support?). ; NOTE: As a loose rule of thumb, each Harbour high-level (.prg) and low-level (.c) public APIs should expect and return strings in _SET_CODEPAGE, while applying FSCONV transformations on input filenames, and converting to/from _SET_OSCODEPAGE when interfacing with OS-level FS APIs (_SET_OSCODEPAGE should be ignored if OS-level FS APIs are capable of handling unicode, f.e. in Windows default build mode). Currently, low-level code uses a mixture of different methods to achieve this, HB_TCHAR_* macros and equivalent APIs, HB_FSNAMECONV(), hb_osDecodeCP()/hb_osEncodeCP(), hb_fsNameConv(), Str API. * contrib/hbmzip/mzip.c + Changed to use HB_FSNAMECONV() instead of HB_TCHAR_*() macros. ; review me! 2012-03-29 00:06 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/vm/itemapi.c % removed redundant trailing 0 setting * harbour/src/rtl/fslink.c ! fixed hb_osDecodeCP() usage * harbour/ChangeLog * marked last TOFIX as [DONE] 2012-03-28 23:56 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fslink.c + use hb_vmUnlock()/hb_vmLock() 2012-03-28 22:56 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbhpdf/3rd/libhpdf/libhpdf.hbp * alpha-sorted sources 2012-03-28 20:09 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fslink.c + replaced HB_TCHAR_CONVTO() with HB_FSNAMECONV() on win + added hb_fsNameConv() support on *nix !!! review me !!! ! HB_FLINKSYM()/hb_fsLinkSym() fixed to work with directories on win, performance should be better also ! HB_FLINKREAD()/hb_fsLinkRead() fixed to return information for directories on win. + HB_FLINKREAD()/hb_fsLinkRead() now returns value in core codepage. TOFIX: It crashes now on *nix, after hours of trying I give up, please review the hb_osDecodeCP() call and fix it. [DONE] ; TODO: this leaves only one HB_TCHAR_COPYFROM() macro in this file. * tests/flink.prg ! fixed typo in HB_FLINKSYM() directory test * minor cleanup for directory link name 2012-03-28 14:18 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/fslink.c % using HB_TCHAR_COPYFROM() macro instead of locally rolled (equivalent) logic. 2012-03-28 11:25 UTC+0200 Viktor Szakats (harbour syenar.net) * contrib/hbhpdf/3rd/libhpdf/hpdfcfg.h ! stripped unused (as of 2.2.1) and potentially misleading libharu version information from local configuration header 2012-03-27 02:52 UTC+0200 Viktor Szakats (harbour syenar.net) * src/rtl/tbrowse.prg ! ignore non-string column picture value like Clipper (instead of RTE) (reported by Rossine) ; review/check me * INSTALL + added TROUBLESHOOTING / 13. on testing compatibility components against original implementation. 2012-03-26 16:45 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * contrib/rddads/ads1.c * added more error check 2012-03-21 14:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/vm/thread.c ! added missind HB_STACK_TLS_PRELOAD - thanks to Rossine for info. 2012-03-21 12:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/vm/thread.c + added support for optional parameters to hb_mutexEval() function: hb_mutexEval( , | <@sFunc()> [, ] ) -> 2012-03-20 19:32 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/codepage/cp_big5.c ! minor typo in information message 2012-03-20 19:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbcdpreg.h + added few macros for extended CP definition * harbour/src/codepage/cp_big5.c * harbour/src/codepage/cp_utf8.c * harbour/src/codepage/cp_u16le.c * updated macros for CP definition * harbour/tests/big5_gen.prg % added small improvement in code hashing character translation tables so they are a little bit smaller * harbour/src/codepage/big5.c * regenerated 2012-03-20 19:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/codepage/cp_utf8.c ! added if() statement missing in previous commit 2012-03-20 19:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/rtl/cdpapi.c * harbour/src/rtl/cdpapihb.c * harbour/src/codepage/cp_utf8.c * slightly modified algorithms for decoding UTF8 characters to work better with broken UTF8 strings (i.e. to not eat characters after broken and unclosed multibyte one) * some minor improvements in HB_UTF8STUFF() * formating 2012-03-20 18:44 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbapicdp.h + added missing declaration of hb_fsNameConvU16() 2012-03-20 18:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbwinuni.h + added HB_FSNAMECONV() macro - it's automatically redirected to hb_fsNameConv() or hb_fsNameConvU16() functions depending on UNICODE windows macro * harbour/include/hbapifs.h * harbour/src/rtl/filesys.c + added hb_fsNameConvU16() C function - it makes similar operatin to hb_fsNameConv() but returns UTF16 string. + added hb_fsPipeUnblock() C function - currently it works only in POSIX systems * HB_FSNAMECONV() instead of HB_TCHAR_*() macros * harbour/src/rtl/hbcom.c * HB_FSNAMECONV() instead of HB_TCHAR_*() macros % encapsulate port open and close operations inside hb_vmUnlock()/hb_vmLock() - on some systems this can be slow operations, i.e. close() is delayed until byte in output buffer are not transmitted. * harbour/src/rtl/hbproces.c % prefer read then write in pipe operations ! in POSIX systems set unblocking mode for PIPE handles in hb_fsProcessRun() function - it fixes potential deadlock * harbour/src/common/strwild.c * formatting * harbour/src/rtl/dircmd.prg % use space( n ) instead of repl( chr( 0 ), n ) for allocating dirty buffer * harbour/src/rtl/gttrm/gttrm.c * harbour/src/rtl/gtsln/kbsln.c * ignore broken UTF8 characters in input 2012-03-19 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/contrib/hbmzip/mzip.c ! fixed typo in DOS/Windows/OS2 READONLY attribute translation ! fixed EXECUTE attribute setting for *.sh files extracted from non *nix ZIP archives % eliminated repeated GetFileAttributes() calls in windows builds ! fixed attribute setting in *nix builds when filenames are translated due to some of filename releated _SET_* settings. ! enable (unintentionally disabled by typo) automatic attribute translation for archives created in DOS/Windows/OS2 without *nix attributes (i.e. by some local ZIP implementations) * harbour/contrib/hbmzip/tests/myunzip.prg ! translate datetime to date before is shown on the screen - it fixes output formatting 2012-03-19 02:05 UTC+0100 Viktor Szakats (harbour syenar.net) * src/compiler/hbusage.c ! typo * INSTALL ! generic *nix instructions moved after *nix specific ones 2012-03-15 13:44 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideuisrcmanager.prg + Implemented: the refreshed .ui in "UI Src Manager" positions its current object and action exactly in same state it was before editing in "cls_*ui.prg" was intiated and saved. Now, it is true two-way editing of class source; changes in one is reflected instantly in the other; a great productivity boost. 2012-03-15 10:31 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idemain.prg * contrib/hbide/idesources.prg * contrib/hbide/ideuisrcmanager.prg + Implemented: click on a .ui note in will open the dock containing .ui widget. + Implemented: modifying a "cls_*ui.prg" in the editor will refresh the related .ui in the "UI Src Manager> if it is already opened there. This facilitates the 2-way editing of event methods. 2012-03-14 02:14 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbqt/tests/ideui.hbp ! fixed non-portable local system dependent options. * rest cleaned and optimized. * contrib/hbqt/hbqt_common.hbm - deleted -prgflag=-D_HB_TR_NOALWAYS_ * contrib/hbxbp/tests/* * contrib/hbnetio/utils/hbnetioq/* * contrib/hbqt/tests/* * contrib/hbhpdf/tests/files/* (except one) * contrib/hbgd/tests/imgs_in/* * contrib/hbide/resources/* % optimized images using ImageOptim (http://imageoptim.com/) ; result is 200K smaller hbide executable on all platforms. 2012-03-13 16:09 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideuisrcmanager.prg * Completed: minimum required components to materialize some project based on this protocol. + contrib/hbqt/tests/cls_dbstruct.prg + contrib/hbqt/tests/dbstruct.prg + contrib/hbqt/tests/dbstruct.ui + contrib/hbqt/tests/ideui.hbp + Added: a small project where cls_dbstruct.prg is created by hbIDE's UI Src Manager. ; Note: event is define for only first button. Try with other buttons yourselves and come-out with suggessions. 2012-03-13 09:37 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * ontrib/hbide/ideuisrcmanager.prg * Some operational refinements. 2012-03-13 13:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/contrib/sddpg/sddpg.c * harbour/contrib/sddsqlt3/sddsqlt3.c * harbour/contrib/sddmy/sddmy.c * harbour/contrib/sddfb/sddfb.c * harbour/contrib/sddodbc/sddodbc.c * harbour/contrib/sddoci/sddoci.c * removed redundant fieldname conversions ; I left one TOFIX note in sddfb.c - It's not critical but I'd like to ask someone with FB experience to verify it. 2012-03-13 12:55 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/package/harbour.spec ! added missing attribute for harbour.ld.conf file ! added optional hbhttpds library * harbour/contrib/hbct/envparam.c * harbour/contrib/hbct/dummy.c * harbour/contrib/hbct/hbct.hbp * harbour/contrib/hbct/hbct.hbx + added ENVPARM() - now it's implemented for all platforms but it should be tested on different *nixes - some of them may not support 'char * environ' public variable * harbour/contrib/xhb/hbserv.c * added missing dummy functions in DOS builds * harbour/utils/hbmk2/hbmk2.prg ! do not set binding to hb_forceLinkMainWin() when -nohblib and -gui switches are used together * harbour/include/hbapicdp.h * harbour/src/rtl/cdpapi.c + added new C functions hb_cdpnDupUpper(), hb_cdpnDupLower(), hb_cdpnDup2Upper() and hb_cdpnDup2Lower(). They should be used instead of hb_strUpper() and hb_strLower() functions because they can work well with CPs where upper and lower characters uses different number of bytes, i.e. UTF8 has such characters. * harbour/src/rtl/strcase.c * harbour/src/rtl/fstemp.c * harbour/src/rtl/filesys.c * harbour/src/rdd/dbfcdx/dbfcdx1.c * harbour/src/rdd/hbsix/sxsem.c * replaced obsolete hb_strUpper() and hb_strLower() functions with new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones. * harbour/src/rdd/hbsix/sxutil.c * replaced obsolete hb_charUpper() function with hb_cdpnDupUpper() * harbour/contrib/sddpg/sddpg.c * harbour/contrib/sddsqlt3/sddsqlt3.c * harbour/contrib/sddmy/sddmy.c * harbour/contrib/sddfb/sddfb.c * harbour/contrib/sddodbc/sddodbc.c * harbour/contrib/sddoci/sddoci.c ! fixed memory leaks * replaced obsolete hb_strUpper() and hb_strLower() functions with new hb_cdpnDup*Upper()/hb_cdpnDup*Lower() ones. ; TODO: these conversions are redundant - I'll remove them in next commit. [DONE] 2012-03-13 11:10 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg ! in '.hbc not found' messages show .hbc reference without rebased path (=as it appears in .hbp file or on cmdline), after macro expansion. 2012-03-13 00:47 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbqt/hbqt_common.hbm ! added special install support for unique dir structure of hbqt 2012-03-12 12:18 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideuisrcmanager.prg - Deleted: hack "HB_QTPATH" embedding in batch file. I was wrong in my assertion that fired process does not take over current process's enviroment. 2012-03-12 08:24 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idemisc.prg * contrib/hbide/ideuisrcmanager.prg ! Changed: hb_osNewLine() => hb_eol() 2012-03-11 21:53 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideenviron.prg * contrib/hbide/ideharbourhelp.prg * contrib/hbide/idemain.prg * contrib/hbide/idemisc.prg * contrib/hbide/idesaveload.prg * contrib/hbide/ideuisrcmanager.prg ! Improved: how Harbour's root path is detected for .ui Source Manager. This is tried in the order below: 1. If any hbIDE specific environment protocol is used. ( It is hbQT specific or not is not verified so can fail ) 2. If entry is present in . ( The most preferred way to avoid any ambiquity ) 3. If HB_INSTALL_PREFIX env variable is detected. ( Covers Harbour Developers ) 4. If "harbour.exe" or "harbour" file is detected alongside hbide.exe. ( Covers users of Harbour Nightly Builds ) ! Improved: how Qt path is detected, needed for uic.exe. HB_QTPATH is detected and then populated in the temp batch file. ; This commit is primarily focussed on tool detection. Please try again as per above specifications. 2012-03-07 20:25 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbhpdf/harupdf.ch ! fixed two constants 2012-03-06 16:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/hbide.hbp * contrib/hbide/ideactions.prg * contrib/hbide/idedocks.prg * contrib/hbide/ideenviron.prg * contrib/hbide/idemain.prg * contrib/hbide/ideobject.prg + contrib/hbide/ideuisrcmanager.prg + Started: implementation of IDE's next evolution step to write the upper level code to manipulate Qt Designer generated ".ui" dialogs. HOW IT WORKS 1. Click on "UI Source Manager" icon or "View" menu option. Will open a dock widget at the right docking area. 2. Drop a .ui ( take one from hbide included .ui's ) onto it. The dialog will show up. 3. Click on "Build Source" icon on top-toolbar of "UI Src Manager" dock widget. Notice that a new editing instance is initiated on the current panel with source file prefixed with "cls_" and suffixed by .ui's filename. For example, if you have dropped "dbstruct.ui" then source will be "cls_dbstruct.prg". This .prg will reside in the same folder where .ui is. 4. Examine the class code contained in the .prg. 5. Click on various controls and see a focus rectangle is placed around that control. Also viaualize the status-bar. 6. If the control happens to be of type QToolButton or QPushButton ( proof of concept is build for these controls only, yet ), you will see two entries in lower-left tree view. 7. Click on "Activated" tree-node and see the right-side editor comes into focus. Write some code in this editor, and then click on some other control or other tree-node. 8. Visualize that editing instance containing "cls_*ui.prg" will be refreshed and will contain some additional methods. 9. Now change something in the source itself, save, and come out, then re-drop the same .ui. See that changes will be reflected in methods represented in the tree-nodes. PLAY AROUND. Concept is in the making and have to go a long way, but surely it has a potentiality to reach a mile-stone. Your suggestions are welcome. 2012-03-04 23:11 UTC+0100 Viktor Szakats (harbour syenar.net) + package/harbour.rb + experimental (and untested) Homebrew formula * debian/dirs * debian/rules + added contrib dir (untested) * utils/hbmk2/hbmk2.prg * autodetect contrib/addons dirs at /usr/local/share/harbour/ and /usr/share/harbour/ * config/global.mk * changed contrib location on *nix systems to /share/harbour/contrib unless the is /opt/harbour. 2012-03-04 21:00 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbct/hbct.hbp * contrib/hbwin/hbwin.hbp * contrib/xhb/xhb.hbp + install .h headers to contrib dir only (and not anymore to the central Harbour include dir). This means that 3rd party or user code that uses these C-level contrib headers will now have to add contrib package using .hbc hbmk2 option instead of manual -l options. INCOMPATIBLE. 2012-03-04 20:31 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbpost.hbm + install .hbx files to respective contrib dirs. ; TODO: delete all '-instfile=inc:' options from contrib .hbp files so that contrib headers are no longer duplicated in central Harbour include dir. This WILL BE INCOMPATIBLE change requiring users to use .hbc files to add contrib packages to their projects (as opposed to manual -l options). 2012-03-04 14:29 UTC+0100 Viktor Szakats (harbour syenar.net) * package/winuni/mpkg_win_uni.bat ! fix to prev 2012-03-04 14:06 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbpost.hbm * contrib/hbwin/hbwin.hbp % .def file install moved to hbwin - do not publish contrib-specific .h files 2012-03-04 13:55 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/make.hbs * deleted commented logic 2012-03-04 13:54 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/make.hbs * contrib/hbpost.hbm + implemented contrib-specific public file copy process using standard hbmk2 logic. (with very minor help from make.hbs) * contrib/make.hbs * cleaned up previously added logic, then disabled the whole thing, now replaced by standard hbmk2 logic. * config/postinst.hbs * minor fmt ; TODO: replace global contrib-specific file rules with contrib-local ones. so that unnecessary files won't be copied and any extra/special files will be. [DONE] 2012-03-03 16:12 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbpost.hbm * missed from prev 2012-03-03 16:10 UTC+0100 Viktor Szakats (harbour syenar.net) * package/winuni/mpkg_win_uni.bat - deleted windows-only contrib-specific file installation procedure. now done by contrib/make.hbs. ; it also means that contrib-specific public files are now included in non-unified installation packages, created using HB_BUILD_PKG=yes. ; TODO: modify *nix package creation scripts to include /opt/harbour/contrib in the package. * config/global.mk * INSTALL * changed HB_INSTALL_IMPLIB default to 'yes'. This means that now the implibs for 3rd party .dlls will be included in install packages, including the nightly/stable releases. This is theoretically wrong solution and bad practice, but to me real life shows that users don't have a clue about implibs and how to generate them and it also requires users to build Harbour themselves if they want to use any of the many libs with implib dependencies, instead of being able to use binary releases. One big WARNING applies (quote from INSTALL): "Also note that the generated implibs will require .dlls compatible with the ones used at build time." IOW you must be using the same (or binary compatible) .dll as was used at built time. If you use something else, you still will have to generate the implib yourself or change your .dll version according to above. [I hope Marek Paliwoda doesn't mind.] 2012-03-03 15:40 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbrun/headers.prg * utils/hbmk2/hbmk2.prg * changed #include filename references to _CASE-SENSITIVE_. This is to ensure and enforce that .hbs scripts and hbmk2 plugins are created in portable form so f.e. once developed on a win system, they won't crash on a *nix system. INCOMPATIBLE: Change all your #include references to exactly match casing of the filename. For Harbour headers, this means plain lowercase, so f.e. '#include "FileIO.ch"' is wrong, '#include "fileio.ch"' is right. * config/global.mk * minor 2012-03-03 15:33 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbmysql/tests/hbmk.hbm * contrib/hbct/tests/hbmk.hbm * contrib/hbgs/tests/hbmk.hbm * contrib/hbmxml/tests/hbmk.hbm * contrib/hbmzip/tests/hbmk.hbm * contrib/hbunix/tests/hbmk.hbm * contrib/sddpg/tests/hbmk.hbm * contrib/hbziparc/tests/hbmk.hbm * contrib/hbxbp/tests/hbmk.hbm * contrib/hblzf/tests/hbmk.hbm * contrib/hbxdiff/tests/hbmk.hbm * contrib/hbcurl/tests/hbmk.hbm * contrib/hbnetio/tests/hbmk.hbm * contrib/rddsql/tests/hbmk.hbm * contrib/hbmlzo/tests/hbmk.hbm * contrib/hbhttpd/tests/hbmk.hbm * contrib/gtwvg/tests/hbmk.hbm * contrib/hbpgsql/tests/hbmk.hbm * contrib/sddsqlt3/tests/hbmk.hbm * contrib/hbwin/tests/olesrv1.hbp * contrib/hbwin/tests/olesrv2.hbp * contrib/hbwin/tests/olesrv3.hbp * contrib/hbwin/tests/olesrv4.hbp * contrib/hbwin/tests/hbmk.hbm * contrib/hbsms/tests/hbmk.hbm * contrib/hbzebra/tests/hbmk.hbm * contrib/gtalleg/tests/hbmk.hbm * contrib/sddmy/tests/hbmk.hbm * contrib/xhb/tests/hbmk.hbm * contrib/hbodbc/tests/hbmk.hbm * contrib/sddfb/tests/hbmk.hbm * contrib/hbtpathy/tests/hbmk.hbm * contrib/hbsqlit3/tests/hbmk.hbm * contrib/hbmagic/tests/hbmk.hbm * contrib/hbexpat/tests/hbmk.hbm * contrib/hbblat/tests/hbmk.hbm * contrib/hbqt/tests/hbmk.hbm * contrib/hbfbird/tests/hbmk.hbm * contrib/hbbz2/tests/hbmk.hbm * contrib/hbnf/tests/hbmk.hbm * contrib/hbmemio/tests/hbmk.hbm * contrib/hbxpp/tests/hbmk.hbm * contrib/hbcups/tests/hbmk.hbm * contrib/hbhpdf/tests/hbmk.hbm * contrib/rddads/tests/hbmk.hbm * contrib/hbfimage/tests/hbmk.hbm * contrib/sddodbc/tests/hbmk.hbm * contrib/hbgd/tests/hbmk.hbm * contrib/hbmisc/tests/hbmk.hbm * contrib/sddoci/tests/hbmk.hbm * contrib/hbcomm/tests/hbmk.hbm * contrib/hbtip/tests/hbmk.hbm * contrib/hbcairo/tests/hbmk.hbm * contrib/hbssl/tests/hbmk.hbm % deleted relative paths from .hbc references 2012-03-03 15:20 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/make.hbs + added installation support of contrib-specific public files (.hbc, .hbs, local headers, .def files, readmes and tests) * config/global.mk * set install destination for contrib-specific public files to /contrib for non-*nix and /opt/harbour/contrib for *nix systems. * utils/hbmk2/hbmk2.prg * changed HB_INSTALL_CONTRIB to HB_INSTALL_ADDONS F.e.: export HB_INSTALL_ADDONS=/usr/local/share/harbour/contrib:/usr/local/share/harbour/addons 2012-03-03 03:33 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + support for HB_INSTALL_CONTRIB envvar to specify dir(s) of contribs/addons for .hbc autofind purposes. Accepts multiple dirs. F.e.: export HB_INSTALL_CONTRIB=/usr/local/share/harbour/contrib:/usr/local/share/harbour/addons Experimental. 2012-03-02 11:27 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * tuned Harbour root autodetection code to avoid corner case where another Harbour installation is present one or two dir levels upper in the tree. Regressions are possible. Please test. 2012-02-29 09:58 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + show .hbp file reference when .hbc is not found * config/postinst.hbs * corrected double dirseps in one case. * contrib/hbqt/qtgui/hbqtgui.hbx * contrib/hbqt/qtgui/qth/filelist.hbm ! disabled QDeclarative* wrappers until reported link problems are fixed. This allows HB_BUILD_CONTRIB_DYN=yes to work again. * contrib/hbqt/hbqt.hbc * contrib/hbqt/hbqt_all.hbp ! disabled hbqtsql until link problems (missing functions and wrappers) are fixed. This allows HB_BUILD_CONTRIB_DYN=yes to work again. 2012-02-28 20:59 UTC+0100 Viktor Szakats (harbour syenar.net) * config/global.mk + display HB_BUILD_CONTRIB_DYN setting in make output. some users might be forgetting they have this enabled. 2012-02-28 20:46 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbqt/gtqtc/gtqtc.hbm ! fixed to skip building .dll target. + contrib/hbqt/qtsql/hbqt_init.cpp * contrib/hbqt/qtsql/hbqtsql.hbm * contrib/hbqt/qtsql/hbqtsql.hbx ! added missing initialization/puller-code module. causing link failures when building .dll target. 2012-02-28 19:02 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbxbp/hbxbp.hbp * contrib/hbxbp/hbxbp.hbc * include hbqt.hbc instead of relative references to hbqt sublib .hbcs. This means hbxbp now includes all hbqt sublibs. * contrib/hbxbp/hbxbp.hbc * deleted reference to qtqtc.hbc. * contrib/hbide/hbide.hbp + removed relative path from .hbc references. * hbqt sublib reference replace with hbqt.hbc * contrib/hbxbp/hbxbp.hbp * contrib/hbide/hbide.hbp - deleted -prgflag=-D_HB_TR_NOALWAYS_ 2012-02-28 16:45 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/sddpg/sddpg.hbp * contrib/sddpg/sddpg.hbc * contrib/hbziparc/hbziparc.hbp * contrib/hbziparc/hbziparc.hbc * contrib/hbhttpd/hbhttpd.hbc * contrib/hbhttpd/hbhttpds.hbp * contrib/hbhttpd/hbhttpds.hbc * contrib/gtwvg/gtwvg.hbc * contrib/gtwvg/gtwvg.hbp * contrib/sddsqlt3/sddsqlt3.hbp * contrib/sddsqlt3/sddsqlt3.hbc * contrib/sddmy/sddmy.hbp * contrib/sddmy/sddmy.hbc * contrib/xhb/xhb.hbc * contrib/xhb/xhb.hbp * contrib/sddfb/sddfb.hbp * contrib/sddfb/sddfb.hbc * contrib/sddodbc/sddodbc.hbp * contrib/sddodbc/sddodbc.hbc * contrib/hbgd/hbgd.hbc * contrib/hbgd/hbgd.hbp * contrib/sddoci/sddoci.hbc * contrib/sddoci/sddoci.hbp * contrib/hbtip/hbtipssl.hbc * contrib/hbtip/hbtipssl.hbp * contrib/hbtip/hbtip.hbc + removed relative path from .hbc references from contrib area except: hbqt related cases, which is more complicated and hbmk.hbm files in test dirs (to avoid this extra point of failure for now). ; path-free reference to hbc files was pioneered by hbrun and it works on all systems (except one or two, yet to be determined why). 2012-02-28 16:35 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbmysql/utils/hbmk.hbm * contrib/hbnetio/utils/hbnetio/hbnetio.hbp * contrib/hbnetio/utils/hbnetioq/hbnetioq.hbp * contrib/hbformat/utils/hbformat.hbp + removed relative path from .hbc references * utils/hbmk2/hbmk2.prg + show warning when referenced .hbc file could not be found 2012-02-28 16:06 UTC+0100 Viktor Szakats (harbour syenar.net) * config/global.mk + detect rudix 2012-02-28 16:04 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbtip/client.prg ! typo * examples/ps32/ps32.hbc * examples/rddado/rddado.hbc + removed relative path from .hbc references in examples area 2012-02-28 15:46 UTC+0100 Viktor Szakats (harbour syenar.net) * examples/ps32/ps32.hbc * \ -> / * examples/dbu/readme.txt * examples/rl/readme.txt * minor 2012-02-27 11:17 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtcore/qth/QSignalMapper.qth - Commented-out: QWidget specific method calls. This is in accordance of our goal to keep modularity of HbQt libraries intact. 2012-02-24 13:46 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbcompdf.h * harbour/src/compiler/hbmain.c * harbour/src/compiler/hbcomp.c * harbour/src/compiler/harbour.y * harbour/src/compiler/harbour.yyc ! fixed compile time GPF exploited by strings used in CASE values of SWITCH statement compiled with active TEXHIDDEN pragma. Warning: strings used in such context (CASE values) are not encrypted in generated code, i.e. ".jpeg", ".jpg", ".png" in this code: SWITCH hb_FNameExt( cFileName ) CASE ".jpeg" CASE ".jpg" CASE ".png" show_pict( "Article picture", cFileName ) ENDSWITCH 2012-02-24 13:23 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * contrib/rddbm/bmdbfx.c ! fixed GPF after filter reallocation 2012-02-23 15:16 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL ! updated mingw make links 2012-02-23 12:14 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbfimage/hbfimage.hbp * contrib/hbgd/hbgd.hbp * contrib/hbcairo/hbcairo.hbp + added /usr/local/include to dependency search path to make Homebrew happy (untested) 2012-02-23 12:03 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL + updated OS X package manager instructions to Homebrew (from MacPorts) 2012-02-23 00:19 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL * minor fixes 2012-02-21 23:40 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/contrib/hbct/ctwin.c * harbour/contrib/hbct/ctwin.h * harbour/contrib/hbct/ctwfunc.c * modified CTWLASTKEY() to set optionaly last key value TODO: finish support for KEYREAD()/KEYSEND() 2012-02-21 12:31 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/3rd/zlib/zutil.h * removed not longer necessary workaround for fdopen(), current ZLIB do not use stdio file functions * harbour/src/3rd/zlib/zlib.dif * rediffed with ../../../bin/hb3rdpat.hbs -rediff 2012-02-20 18:12 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/3rd/zlib/zlib.dif * rediffed with ../../../bin/hb3rdpat.hbs -rediff Thanks to Viktor for the info. 2012-02-20 16:25 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/3rd/zlib/gzlib.c ! do not use _lseeki64 in MinGWCE builds - such function does not exists in CTRL * harbour/contrib/3rd/sqlite3/sqlite3.c ! fixed declaration of 64bit integer constant value in WinCE builds ; TOFIX: in WInCE builds the following error is generated: implicit declaration of function 'osUnlockFileEx' and of course such functions does not exists (it's internal SQLITE3 macro) * harbour/contrib/3rd/sqlite3/sqlite3.hbp ! fixed declaration of _WIN32_WCE macro - it should be set to WinCE API version number. * harbour/contrib/3rd/sqlite3/sqlite3.dif * rediffed with ../../../bin/hb3rdpat.hbs -rediff * harbour/contrib/hbzebra/qrcode.c * pacified warning 2012-02-20 11:58 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/3rd/pcre/sjconfi.h ! disabled fastcall function attr in GCC older then 3.4 * harbour/src/3rd/pcre/pcre.dif * rediffed 2012-02-20 10:47 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/png/Makefile * src/3rd/png/* * 1.5.8 -> 1.5.9 (using hb3rdpat) ; Fixed vulnerability: CVE-2011-3026 2012-02-19 11:17 UTC+0100 Viktor Szakats (harbour syenar.net) * config/global.mk * added detection of homebrew package manager on darwin * utils/hbmk2/hbmk2.prg * INSTALL * fmt 2012-02-18 13:37 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/zlib/zlib.dif ! rediffed 2012-02-17 21:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/hbcom.ch * harbour/src/rtl/hbcom.c + added new serial error code: HB_COM_ERR_PIPE It's usable for some devices which use EPIPE error to signal disconnected state. * harbour/src/3rd/zlib/zlib.h + added missing declarations for exported public functions * harbour/src/3rd/zlib/gzlib.c * harbour/src/3rd/zlib/gzguts.h ! fixed POCC and XCC compilation * enabled support for vsnprintf() in OpenWatcom builds * harbour/src/3rd/zlib/Makefile ! fixed all non windows and WATCOM builds - critical macro set by ./configure in ZLIB was not defined ; warning long file support is broken on most of 32bit platforms so be careful with GZIP functions. * harbour/contrib/gtwvg/gtwvg.h + define WINVER 0x0500 - it's necessary for some macros and structures used by GTWVG code * harbour/contrib/gtwvg/wvgwin.c * removed redundant line with 'break;' instruction 2012-02-17 16:32 UTC+0100 Viktor Szakats (harbour syenar.net) * package/winuni/mpkg_win_uni.bat * INSTALL * minor corrections 2012-02-17 08:59 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL ! 'XCode' -> 'Xcode' 2012-02-17 08:42 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL + added reference to 'Command Line Tools for XCode' ! fixed link for XCode 2012-02-16 13:26 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h * Changed: dragging operation starting off mouse move event instead of mouse press event. 2012-02-16 19:27 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL * minor to prev 2012-02-16 19:23 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL + updated the description of Harbour (in sync with sf.net page) to put better emphasis on Harbour's values. 2012-02-16 17:30 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL * 'Mac OS X' -> 'OS X' in sync with Apple. 2012-02-16 17:03 UTC+0100 Viktor Szakats (harbour syenar.net) * config/global.mk + XCode 4.3 clang support 2012-02-14 17:31 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * Refined: dragging-text image made transparent with respect to editors background color, current-line highlight color. The experience now is smoother than before. 2012-02-14 16:40 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h + Implemented: dragging of selected-text off an editing instance of hbIDE shows up image of text as mouse-trail. 2012-02-13 12:07 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h * Fixed: drag & drop behavior. Now hbIDE confirms to standard Windows norms to select/drag/copy|paste operations. Additionally it also confirms to hbIDE's column-selected text and retains its standard behavior. 2012-02-12 16:44 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL + added to self-contained source code example text: "Do not post executables and other binary files." It's redundant, but it apparently "source code" wasn't clear enough. 2012-02-12 16:32 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbhttpd/core.prg * explicitly set HKEEPORDER to not depend on default setting * contrib/xhb/hbdll.ch % replaced huge CASE statment with one-liner. also fixing typo in CASE statement. UNTESTED. 2012-02-09 13:49 UTC+0100 Viktor Szakats (harbour syenar.net) * src/rtl/hbjson.c + HB_JSONDECODE(): retain physical order of value pair in returned hash * utils/hbmk2/hbmk2.prg ! formatting * INSTALL ! wording 2012-02-08 12:57 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL + added link to http://sscce.org/ which site describes quite precisely what a short, self-contained code example is. 2012-02-08 02:02 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/pcre/Makefile * src/3rd/pcre/pcre.dif + src/3rd/pcre/pcrebyte.c + added missing file ! adjusted Makefile list after prev commit 2012-02-08 01:51 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/pcre/pcre.dif * deleted patch applied upstream * src/3rd/pcre/Makefile - src/3rd/pcre/pcreinfo.c - src/3rd/pcre/pcretryf.c - src/3rd/pcre/pcreprni.h + src/3rd/pcre/pcreprni.c * src/3rd/pcre/* * 8.21 -> 8.30 (using hb3rdpat) ; supports 16-bit char API flavour (pcre16_*()). not enabled in Harbour ATM. 2012-02-08 01:25 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/pcre/Makefile + added translation for JIT files from PCRE package PCRE JIT is work of Zoltan Herczeg (hzmester/at/freemail.hu) ARM v5/v7/thumb2, MIPS 32, x86/x64, PPC32/64 CPU platforms are currently supported. + enabled PCRE JIT for mingw and msvc/x86/x64 (mainstream) compilers. Some alternate C compilers like bcc and watcom are not supported, others not tested. Enable those which work. + enabled PCRE JIT for linux and darwin (EXPERIMENTAL). Please test and adjust platform/compiler filters as required. ; fallouts are possible because this is brand new code never tested on Harbour platforms. ; TODO: to enable JIT on more platforms (*nixes, MS-DOS, etc). (Cygwin fails) * src/3rd/pcre/pcrejitc.c * src/3rd/pcre/pcre.dif + manual patch for sjlir.c inclusion (to be determined why hb3rdpat didn't apply this automatically) + src/3rd/pcre/sjmipsc.c + src/3rd/pcre/sjexeca.c + src/3rd/pcre/sjppcc.c + src/3rd/pcre/sjlir.c + src/3rd/pcre/sjx86c.c + src/3rd/pcre/sjconf.h + src/3rd/pcre/sjx8632.c + src/3rd/pcre/sjarmv5.c + src/3rd/pcre/sjlir.h + src/3rd/pcre/sjppc64.c + src/3rd/pcre/sjarmth2.c + src/3rd/pcre/sjutils.c + src/3rd/pcre/sjconfi.h + src/3rd/pcre/sjmips32.c + src/3rd/pcre/sjppc32.c + src/3rd/pcre/sjx8664.c + added PCRE JIT sources 2012-02-08 00:05 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/zlib/zlib.dif * src/3rd/zlib/Makefile * src/3rd/zlib/* * 1.2.5 -> 1.2.6 (using hb3rdpat + manual) ; NOTE: vsnprintf() fallouts possible. They patched it extensively, which overrode our similar efforts. ; TODO: please reapply __XCC__ patches. * contrib/hbmzip/3rd/minizip/minizip.dif * contrib/hbmzip/3rd/minizip/minizip.hbp * contrib/hbmzip/3rd/minizip/* * 1.1 -> zip 1.2.6 (manual) ; NOTE: 64-bit file handling fallouts possible (they patched extensively what we did downstream) ; tested lightly on win. ; review this stuff 2012-02-07 22:47 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbmlzo/3rd/minilzo/minilzo.hbp * contrib/hbmlzo/3rd/minilzo/* * 2.05 -> 2.06 (using hb3rdpat) 2012-02-07 22:42 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/3rd/sqlite3/sqlite3.dif - deleted hunk fixed upstream * contrib/3rd/sqlite3/sqlite3.hbp * contrib/3rd/sqlite3/* * 3.7.7.1 -> 3.7.10 (using hb3rdpat) 2012-02-07 22:36 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/png/Makefile * src/3rd/png/* * 1.5.4 -> 1.5.8 (using hb3rdpat) ; Fixed vulnerability: CVE-2011-3464 2012-02-07 22:25 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/pcre/Makefile * src/3rd/pcre/* + src/3rd/pcre/pcrejitc.c * 8.12 -> 8.21 (using hb3rdpat) ; NOTE: New JIT feature off by default, not enabled 2012-02-07 22:10 UTC+0100 Viktor Szakats (harbour syenar.net) * src/3rd/jpeg/Makefile * src/3rd/jpeg/* * 8c -> 8d (using hb3rdpat) 2012-02-07 20:48 UTC+0100 Viktor Szakats (harbour syenar.net) * src/vm/set.c ! SET( _SET_DEVICE ) to accept anything starting with "PRIN" as "PRINTER" for Cl*pper compatibility. * src/rtl/filesys.c ! use utimes() instead of utime() on non-watcom linux platform to avoid warning (and to follow the other similar utimes() call). ; lightly tested, review me 2012-02-07 15:49 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL + added new item to TROUBLESHOOTING section: "12. If you are to report a problem with Harbour itself, always provide self-contained, minimal sample source code. Do not use xhb contrib library, or any 3rd party Harbour libraries. The sample shall reproduce the problem using official stable or nightly Harbour build." 2012-02-03 17:26 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.h + Implemented: Drag & Drop of selected text. It confirms to the standard Windows behavior per drop protocol, and in addition, also confirms to the hbIDE's column-selection mode. 2012-02-02 10:32 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/gtwvg/wvgcrt.prg * contrib/gtwvg/wvgwnd.prg * contrib/hbxbp/xbpcrt.prg * contrib/hbxbp/xbpwindow.prg * Fixed: ::sSize => ::aSize. Overlook reported by Miso Pucko on bug-tracker. * Moved: some methods to PROTECTED: section. * Fixed: ::isParentCrt() which was preventing the subclassing WvgCRT(). Requested by Miso Pucko on bug-tracker. 2012-02-02 10:04 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideprojmanager.prg * Formatting. + contrib/hbide/resources/panel_10.png + contrib/hbide/resources/panel_11.png + contrib/hbide/resources/panel_12.png + contrib/hbide/resources/panel_13.png + contrib/hbide/resources/panel_9.png + Added: new images for panels. * contrib/hbide/hbide.qrc + Added: above images. 2012-02-01 00:50 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbxbp/xbpgeneric.prg * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp * contrib/hbide/hbqreportsmanager.prg ! neverending cleanup of HB_TR_ALWAYS debug lines * contrib/hbxbp/xbp.ch * contrib/hbide/hbide.ch + solution to end the neverending cleanup of HB_TR_ALWAYS debug lines ; NOTE: use debug msgs as described in INSTALL 2012-01-31 17:56 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/hbqt_hbqplaintextedit.cpp ! Fixed: a long standing mis-behavior where K_END was not working as expected in column-selection mode. 2012-02-01 00:50 UTC+0100 Viktor Szakats (harbour syenar.net) * ChangeLog ! added 'incompatible' flag to recent hbhttpd changelog entry 2012-02-01 00:44 UTC+0100 Viktor Szakats (harbour syenar.net) * examples/gtwvw/tests/ebtest7.prg * ARRAY( 0 ) -> {} 2012-01-31 14:19 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/qth/QWidget.qth + Restored: PaintEvent = YES * contrib/hbqt/hbmk2_qt.hbs + Implemented: Style-sheets working when current class is actually a sub-class. Tip and code snippet forwarded by Francesco Perillo, many thanks. 2012-01-31 20:04 UTC+0100 Viktor Szakats (harbour syenar.net) * src/rdd/usrrdd/rdds/arrayrdd.prg * contrib/gtwvg/wvgax.prg * contrib/hbwin/tests/testgdi.prg * contrib/hbgd/tests/test_out.prg * contrib/hbtip/tests/loadhtml.prg * contrib/hbide/ideactions.prg * tests/parseini.prg * examples/httpsrv/cgifunc.prg * examples/httpsrv/modules/tableservletdb.prg * examples/httpsrv/session.prg * HB_HASH() -> { => } 2012-01-31 16:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/pp/ppcore.c ! added resetting conditional compilation stack in hb_pp_reset() Before this modification unclosed #if[def] statements were significant for next PRG files passed to Harbour compiler as single command (in such way works also HBMK2 with build in compiler). * clean stream functions and user operators in hb_pp_reset() 2012-01-31 10:43 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL * typo and minor tweak to troubleshooting section 2012-01-31 05:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/src/pp/ppcore.c ! fixed line numbering in extended codeblocks with multiline commands 2012-01-30 17:47 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbqt/qtgui/qth/QWidget.qth - Removed: PaintEvent = Yes flag. It should cover misbehavior reported by CarozoDeQuilmes. 2012-01-30 17:36 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/docviewgenerator.ui + Added: toolbar button on Document Viewer dock to "Save All as PDF". * contrib/hbide/idefunctions.prg + Added: ::lQuitting message handelling. * contrib/hbide/ideharbourhelp.prg + Implemented: to save all Harbour help documents to .pdf. User will be asked to provide a file name which will be used as prefix to complete .pdf filename. It will be suffixed with "_" + function name. User is requested to select an empty sub-folder to get all PDFs which will be over 2000+ as per current SVN. * contrib/hbide/idemain.prg + Reworked: how hbIDE was exiting. It may fix the exit crash. * contrib/hbide/idesaveload.prg + Fixed: a wrongly accesses class variable. This might potentially be causing hbIDE to generate GPF at startup on Windows 7, please test. * contrib/hbide/ideshortcuts.prg + Added: ::lQuitting message handelling. 2012-01-31 00:56 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/contrib/gtwvg/wvgwin.c ! added workaround for possible HVM string corruption and GPF in WVG_SENDMESSAGE() function. This function is still very danger when it's used with messages extracting data to passed buffer and user have to pass string large enough to avoid possible buffer overflow. 2012-01-31 00:37 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/contrib/gtwvg/wvgwin.c ! fixed wrongly used string handler instead of string pointer as HB_STORSTR() parameter ! added missing casting for C++ mode ! added casting to pacify warning 2012-01-30 15:19 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg * config/postinst.hbs ! use HB_WILDMATCH() with .T. option to make it behave as expected * include/harbour.hbx * include/hbcpage.hbx * regenerated 2012-01-30 14:33 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl) * harbour/include/harbour.hbx + added HB_FUNC_EXCLUDE HB_MT TOFIX: it also disabled HB_MTVM() function. It should not happen. [DONE] * harbour/include/hbcpage.hbx + added HB_FUNC_EXCLUDE HB_CODEPAGE_BIG5 * harbour/include/harbour.hbx * harbour/include/hbusrrdd.hbx * harbour/include/hbscalar.hbx * harbour/include/hblang.hbx * harbour/include/hbcpage.hbx * regenerated automatically * harbour/src/rtl/valtype.c + added new PRG function: HB_ISHASHKEY( ) -> * harbour/src/lang/msgskiso.c * harbour/src/lang/msgskwin.c * harbour/src/lang/msgskkam.c * harbour/src/lang/msgsk852.c * modification in Slovak CPs by Jaroslav Janik - many thanks. 2012-01-30 14:38 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * ChangeLog ! fixed multiple typos in previous ChangeLog entry 2012-01-30 10:27 UTC+0100 Viktor Szakats (harbour syenar.net) * src/rtl/getsyshb.prg % optimization * contrib/hbqt/hbmk2_qt.hbs ! fixed version guards to add complete .prg level interface when the whole class is unsupported in the QT version we're building against 2012-01-29 17:22 UTC+0100 Viktor Szakats (harbour syenar.net) * src/rtl/tget.prg * src/rtl/getsyshb.prg + added support for hash GET variables * utils/hbmk2/hbmk2.prg + added REQUESTs to blowfish, md5, sha1 and few sha2 functions for 3rd party plugins * contrib/hbhttpd/core.prg * fmt 2012-01-27 22:40 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbhttpd/tests/eshop.prg * deleted debug line 2012-01-27 21:15 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbhttpd/core.prg * contrib/hbhttpd/tests/eshop.prg + enabled SSL after successful testing * moved cert generation instructions to sample app src 2012-01-27 20:52 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbplist * contrib/hbhttpd/core.prg * contrib/hbhttpd/hbhttpd.hbp * contrib/hbhttpd/hbhttpd.hbc + contrib/hbhttpd/hbhttpds.hbp + contrib/hbhttpd/hbhttpds.hbc * contrib/hbhttpd/widgets.prg * contrib/hbhttpd/hbhttpd.hbx - contrib/hbhttpd/tests/webapp.prg + contrib/hbhttpd/tests/eshop.prg * contrib/hbhttpd/tests/files/main.js + contrib/hbhttpd/tests/tpl + merged latest uhttpd changes (0.4) posted by Mindaugas on his website into hbhttpd. It implements these changes (quote): + SSL support * strict scope for UHttpd class methods and variables * support for more HTTP status codes * added error handler for child processes ! fixed bug in HttpDateUnformat() * new server parameters setting approach implemented [INCOMPATIBLE] * more friendly UProcInfo() output format + client IP filtering 2012-01-27 18:25 UTC+0200 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt) * include/hbapi.h * src/vm/hashes.c * src/vm/hashfunc.c + implemented possibility to use hashes as sorted arrays with binary search. Implemented HB_BOOL hb_hashScanSoft( pHash, pKey, &nPos ). Function is similar to hb_hashScan(), but returns nPos even if pKey is not found in pHash. Extended HB_HHASKEY( aHash, xKey [, @nPos ] ) --> lFound Function optionally returns position of the item with a largest key smaller or equal to xKey. If xKey is less than all keys in hash, zero position is returned. I.e., aHash := {10=>, 20=>} ? HB_HHASKEY( aHash, 5, @nPos ), nPos // .F. 0 ? HB_HHASKEY( aHash, 10, @nPos ), nPos // .T. 1 ? HB_HHASKEY( aHash, 15, @nPos ), nPos // .F. 1 ? HB_HHASKEY( aHash, 20, @nPos ), nPos // .T. 2 ? HB_HHASKEY( aHash, 25, @nPos ), nPos // .F. 2 2012-01-27 13:34 UTC+0100 Viktor Szakats (harbour syenar.net) * INSTALL * deleted announcement mailing list. pls recreate with new owner if needed. 2012-01-26 14:55 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbxbp/xbpwindow.prg ! Fixed: (Hopefully) the main menu issue on MAC reported by Antonio Linares. 2012-01-26 12:37 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idebrowse.prg * contrib/hbide/idechangelog.prg * contrib/hbide/idedocks.prg * contrib/hbide/idedocwriter.prg * contrib/hbide/ideedit.prg * contrib/hbide/ideeditor.prg * contrib/hbide/idefindreplace.prg * contrib/hbide/ideformat.prg * contrib/hbide/idefunctions.prg * contrib/hbide/ideharbourhelp.prg * contrib/hbide/idehome.prg * contrib/hbide/idemain.prg * contrib/hbide/ideobject.prg * contrib/hbide/idesaveload.prg * contrib/hbide/ideshortcuts.prg * contrib/hbide/ideskeletons.prg * contrib/hbide/idethemes.prg * contrib/hbide/idetools.prg * Fixed: (Hopefully) hbIDE crash at exit. This might happen at certain situations when a slot is executed while object has already been destroyed by its parent. The problem report was furnished by Antonio Linares, thanks. 2012-01-26 10:14 UTC+0100 Viktor Szakats (harbour syenar.net) * contrib/hbqt/hbqt_common.hbc ! untested patch to switch static supc++ to dynamic stdc++ on darwin systems (following bsd systems in 2010-11-26 13:44 UTC+0100) as suggested by Antonio Linares to make hbide build on OS X Lion. [ to be tested that earlier OS X version are still okay. ] 2012-01-25 18:05 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idefindreplace.prg ! Changed: option in now opens the modified source on
panel only instead the current active panel if the source is not open already. This facilitates the easy management of saving/closing those sources in bulk. 2012-01-25 15:04 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idefindreplace.prg ! Changed: option in now keeps open the modified source in modified state which has to be saved/closed by the user manually. To accomplish this task efficiently there already exist an option in
or by other tool-bar controlled icons. [ Suggested by Maurizio and Qatan ] ! Changed: Harbour Root Install path is automatically detected and posted to Harbour Documents Viewer if it is standard hb31 nightly installation. [ Omitted from prev post ] 2012-01-25 14:23 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/ideharbourhelp.prg + Changed: the way .hbd page was being displayed. Now it contains the complete syntax of the function/method etc. Thanks to Massimo for the tip. * contrib/hbide/idemain.prg * Fixed: SplashScreen() issue reported by Itamar. 2012-01-25 20:23 UTC+0100 Viktor Szakats (harbour syenar.net) * utils/hbmk2/hbmk2.prg + warning will be shown and lib ignored if user explicitly specifies Harbour core library. ! visual glitch in two trace msgs. * contrib/hbblat/tests/hbmk.hbm * contrib/hbhpdf/tests/hbmk.hbm + best practice: using .hbc files instead of -l options. 2012-01-24 18:00 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idefindreplace.prg * contrib/hbide/idesources.prg + Implemented: option in protocol. Please test and forward your suggessions as to what can be improved hereunder. 2012-01-24 15:19 UTC-0800 Pritpal Bedi (bedipritpal@hotmail.com) * contrib/hbide/idedocks.prg * contrib/hbide/idemain.prg * contrib/hbide/idesaveload.prg ! Optimized: to display the user interface as fast as possible. The only feature compromized is the Window Theme set via