Commit Graph

1170 Commits

Author SHA1 Message Date
Viktor Szakats
26d8b173eb 2008-07-01 21:25 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
     ! Excluded GPF dumping code for Win64 and WinCE.
2008-07-01 19:26:50 +00:00
Viktor Szakats
edc33edcfd 2008-07-01 20:48 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
     ! Fixed MSVC error in new code.
2008-07-01 18:49:47 +00:00
Przemyslaw Czerpak
014b39ca7b 2008-07-01 16:28 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/harbour-ce-spec
  * harbour/harbour-w32-spec
    * define whole contrib library list for new contrib/Makefile
    + added header files to respect differences between platform
      native and Windows only headers

  * harbour/harbour.spec
    * define whole contrib library list for new contrib/Makefile
    * divided libraries which needs external references into
      separated packages
    ! removed unnecessary dependences in binaries rebuild in shared
      mode

  * harbour/contrib/hbodbc/odbc.c
    * pacified warnings
    % minor optimization

  * harbour/contrib/hbcurl/hbcurl.c
  * harbour/contrib/hbfbird/firebird.c
  * harbour/source/vm/extrap.c
    * casting to pacify warnings

  * harbour/contrib/gtwvg/gtwvg.c
    ! fixed pointer comparison - C uses different precedence for !
      operator then Clipper/xbase

  * harbour/source/rtl/hbinet.c
    ! fixed GPF HB_INET[GS]ET{SND,RCV}BUFSIZE() when wrong
      socket parameter is passed. Please remember that after
      RT error the control is returned to application.
    % removed any hardcoded limits for size of data passed in
      single read/write call during normal stream operations
    - removed iSndBufSize/iRcvBufSize
2008-07-01 14:28:30 +00:00
Viktor Szakats
b1118f3481 2008-06-30 11:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
   * source/rtl/set.c
   * source/vm/fm.c
     ! Fixed _SET_HBOUTLOG, _SET_HBOUTLOGINFO handling in fm.c.
       hb_setget*() functions cannot be used here as the set 
       system is deinited at this point. So local buffers are 
       holding the values.
2008-06-30 09:28:58 +00:00
Viktor Szakats
ef1453cbce 2008-06-28 11:17 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
     + Added Windows GPF detailed information dump (with some 
       modifications) provided by Mindaugas Kavaliauskas.
       Many thanks.
     ; It would be very nice to have similar for Linux, OS/2, 
       Darwin.
2008-06-28 09:19:43 +00:00
Viktor Szakats
e7f78f1985 2008-06-28 08:53 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/set.ch
   * include/hbset.h
   * source/rtl/set.c
   * source/vm/fm.c
   * source/vm/extrap.c
     + Added: Set( _SET_HBOUTLOGINFO[, <cValue>] ) -> <cOldValue>
       Default value: ""
       This user defined text will be included in each hb_out.log 
       messages. This way it's possible to include custom information 
       in these entries to help identify and locate them.
     ! Fixed a few string not marked with HB_I_() translation 
       marker.
2008-06-28 06:59:37 +00:00
Viktor Szakats
66ffe8d97e 2008-06-20 21:16 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.c
     + Refreshing whole screen after palette change.
       This replaces the previous method which had some 
       side effects.

   * source/vm/fm.c
   * source/vm/extrap.c
     * Changed "Harbour" to "Application" in user visible 
       screen/log messages.

   * contrib/hbwhat32/_winfont.c
     ! Fixed typo in previous commit.
2008-06-20 19:19:00 +00:00
Viktor Szakats
9f76180566 2008-06-16 01:47 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* include/set.ch
   * include/hbset.h
   * source/rtl/set.c
   * source/vm/fm.c
   * source/vm/extrap.c
     + Added: Set( _SET_HBOUTLOG[, <cFileName>] ) -> <cOldFileName>
       Default value: "hb_out.log"
       This replaces hb_fm.log and hb_ex.log, and makes it possible 
       for the applications to control the filename where these 
       internal Harbour outputs are written to.

   * source/rtl/gtwvt/gtwvt.c
     % Minor redundancy removed.
2008-06-15 23:48:53 +00:00
Viktor Szakats
d8654833af 2008-06-15 23:10 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/vm/memvars.c
     * Minor format.

   * contrib/hbmzip/hbmzip.c
     * Minor cleanups.

   * contrib/hbtip/tests/httpadv.prg
   * contrib/hbtip/tests/dnldftp.prg
   * contrib/hbtip/tests/upld_ftp.prg
   * contrib/hbtip/tests/tipmail.prg
   * contrib/hbtip/tests/loadhtml.prg
   * contrib/hbtip/tests/ftpadv.prg
     * Changed to compile in Harbour.
2008-06-15 21:11:36 +00:00
Viktor Szakats
11aa4eb482 2008-06-14 09:13 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* contrib/hbbmcdx/bmdbfcdx1.c
   * contrib/hbct/ctnet.c
   * contrib/hbct/pos2.c
   * contrib/hbgf/gtk/creabutt.c
   * contrib/hbgf/gtk/creawin.c
   * contrib/hbgt/bitflags.c
   * contrib/hbmisc/stringsx.c
   * contrib/hbtip/encmthd.c
   * contrib/hbtip/utils.c
   * contrib/hbw32/w32_ole.c
   * contrib/hbwhat32/_wincdlg.c
   * contrib/hbwhat32/_winclpb.c
   * contrib/hbwhat32/_wintree.c
   * contrib/rddads/ads1.c
   * contrib/xhb/xstrdel.c
   * source/rdd/dbcmd.c
   * source/rdd/dbf1.c
   * source/rdd/dbfcdx/dbfcdx1.c
   * source/rdd/dbffpt/dbffpt1.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/delim1.c
   * source/rdd/hbsix/sxsem.c
   * source/rdd/sdf1.c
   * source/rdd/workarea.c
   * source/rtl/alert.prg
   * source/rtl/errorsys.prg
   * source/rtl/gtcrs/gtcrs.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtsln/gtsln.c
   * source/rtl/gtwin/gtwin.c
   * source/rtl/gtxwc/gtxwc.c
   * source/rtl/hbgtcore.c
   * source/rtl/hbregex.c
   * source/vm/cmdarg.c
   * source/vm/dynsym.c
     ! LUPDATE() buffer overread fixed. (hb_retds(""))
     % hb_itemPutC*()/hb_retc*()/hb_errInternal() "" parameter -> NULL
       NOTE: gtwvg not changed.
     * Few minor cleanups.
     * Some formatting in ads1.c.
       (verified to result in no actual codeflow change)
     ; TODO: hb_retc( NULL ) -> hb_retc_null()
2008-06-14 07:19:56 +00:00
Viktor Szakats
e708033e0e 2008-06-13 19:19 UTC+0200 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.h
   * source/rtl/gtwvt/gtwvt.c
   * tests/wvtext.prg
     + Added hb_gtInfo( HB_GTI_SELECTCOPY, <cMenuText> )
       to set the menu text ("Mark and Copy" on startup).
       cMenuText mustn't be zero length. Setting the menu text 
       also enables select&copy automatically. The call 
       will return the previously set menu text. To get 
       the menu text without setting a new one, use: 
       hb_gtInfo( HB_GTI_SELECTCOPY, "" )
       This is good if someone wants to adapt the menu 
       text to the OS's or app's language.

   * doc/en/hb_apiit.txt
   * include/hbapi.h
   * include/hbapiitm.h
   * source/rtl/gtwin/gtwin.c
   * source/rtl/hbgtcore.c
   * source/rtl/gtgui/gtgui.c
   * source/rtl/gtwvt/gtwvt.c
   * source/vm/macro.c
   * source/vm/debug.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/arrays.c
   * source/vm/extend.c
   * source/rdd/dbfntx/dbfntx1.c
   * source/rdd/sdf1.c
   * source/rdd/dbfcdx/dbfcdx1.c
   * source/rdd/delim1.c
   * source/rdd/dbf1.c
   * source/rdd/dbffpt/dbffpt1.c
   * contrib/hbw32/w32_ole.c
   * contrib/gtwvg/gtwvg.c
   * contrib/rddads/ads1.c
   * contrib/hbmisc/spd.c
   * contrib/hbbmcdx/bmdbfcdx1.c
   * contrib/examples/rdddbt/dbfdbt1.c
     * I did a mistake in 1999 by giving the name hb_itemPutCPtr() 
       to the function which would have to be correctly named 
       hb_itemPutCLPtr() (notice the 'L' for 'length').
       So, now this was renamed to hb_itemPutCLPtr(), and stub was 
       added with the old name, and Harbour code was changed to use 
       the new one. I've also added hb_itemPutCPtr2() as a version 
       not requiring len parameter, the proper name would be hb_itemPutCPtr() 
       for this, but we cannot use without breakin compatiblity.

       IMPORTANT: I'd strongly suggest all 3rd parties to update 
       their code to use the call hb_itemPutCLPtr() instead of 
       hb_itemPutCLPtr().

       The final goal would be to have hb_itemPutCPtr() with two 
       parameters instead of the hakish looking hb_itemPutCPtr2().

       I'd welcome any opinions how to reach this goal. I didn't want to 
       break compatiblity with 3rd parties this time, but IMO we may do 
       it in 1.1, or even before 1.0.

     ! The above also fixes the (potential) problem when hb_retc_buffer()'s 
       szText parameter was evaluated twice if HB_API_MACROS was #defined.
2008-06-13 17:26:48 +00:00
Mindaugas Kavaliauskas
45669c5cc1 2008-06-10 19:10 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
* harbour/source/vm/hashfunc.c
    * extended functionality of HB_HSet(), HB_HDel() and HB_HDelAt() 
      to return hash value
2008-06-10 16:08:57 +00:00
Viktor Szakats
6723c119b5 2008-06-10 11:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/gtwvt/gtwvt.c
     ! Fixed maximized window size.

   * contrib/hbw32/dllcall.c
     * Further cleanup.
     ! MessageBox()es converted to RTE calls.

   * contrib/hbcurl/hbcurl.c
   * contrib/rddads/ads1.c
   * contrib/rddads/adsfunc.c
   * source/rdd/dbcmd.c
   * source/rdd/dbcmd53.c
   * source/rdd/dbcmdx.c
   * source/rdd/dbsql.c
   * source/rdd/wafunc.c
   * source/rdd/workarea.c
   * source/rtl/abs.c
   * source/rtl/at.c
   * source/rtl/cdpapi.c
   * source/rtl/chrasc.c
   * source/rtl/copyfile.c
   * source/rtl/datec.c
   * source/rtl/dateshb.c
   * source/rtl/do.c
   * source/rtl/gtfunc.c
   * source/rtl/hbadler.c
   * source/rtl/hbbit.c
   * source/rtl/hbcrc.c
   * source/rtl/hbhex.c
   * source/rtl/hbinet.c
   * source/rtl/hbregex.c
   * source/rtl/hbregexc.c
   * source/rtl/hbrunfun.c
   * source/rtl/hbtoken.c
   * source/rtl/hbzlib.c
   * source/rtl/left.c
   * source/rtl/len.c
   * source/rtl/math.c
   * source/rtl/minmax.c
   * source/rtl/philes.c
   * source/rtl/philesx.c
   * source/rtl/replic.c
   * source/rtl/round.c
   * source/rtl/run.c
   * source/rtl/set.c
   * source/rtl/space.c
   * source/rtl/str.c
   * source/rtl/strcase.c
   * source/rtl/strpeek.c
   * source/rtl/strtran.c
   * source/rtl/strzero.c
   * source/rtl/substr.c
   * source/rtl/transfrm.c
   * source/rtl/trim.c
   * source/rtl/type.c
   * source/rtl/val.c
   * source/rtl/valtype.c
   * source/rtl/word.c
   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/vm/debug.c
   * source/vm/eval.c
   * source/vm/evalhb.c
   * source/vm/hashfunc.c
   * source/vm/memvars.c
   * source/vm/runner.c
     * &hb_errFuncName -> HB_ERR_FUNCNAME
     % Using HB_ERR_FUNCNAME wherever possible.
2008-06-10 09:13:33 +00:00
Przemyslaw Czerpak
89ed18ec57 2008-06-09 20:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/doc/whatsnew.txt
    * minor fixes in formatting

  * harbour/source/rtl/hbgtcore.c
    ! fixed memory leak when HB_GTI_NOTIFIERBLOCK was used to overload
      register before block

  * harbour/source/vm/eval.c
    + added support for SYMBOL items in hb_evalLaunch() to be compatible
      with hb_itemDo()

  * harbour/contrib/hbmisc/spd.c
    * cleaned warnings
2008-06-09 18:49:15 +00:00
Przemyslaw Czerpak
67649c1e0c 2008-06-05 02:34 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/macro.c
    ! pass macro compiled string to error object. It fixes Clipper
      incompatible behavior reported by Mindaugas.
    ! fixed few possible internal errors when user error handler will
      try to force wrong substitution
2008-06-05 00:34:39 +00:00
Viktor Szakats
bd6e69b714 2008-06-04 15:48 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/hbbit.c
     + Added important NOTE about hb_bit*() functions' 
       relation to the compiler optimization engine.

   * source/vm/fm.c
   * source/vm/extrap.c
     * Log filenames converted to static variables. With the 
       intent that they'll be converted to Set()s or similar 
       user settable values in the future, since it's useful 
       and more elegant to redirect these to the app's normal 
       logfile.

   * contrib/hbsqlit3/hbsqlit3.c
     * Minor formatting.
2008-06-04 13:53:05 +00:00
Przemyslaw Czerpak
1bd32ce932 2008-06-03 19:59 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/garbage.c
    % clear hb_stack return item in HB_GCALL() function before
      executing hb_gcCollectAll()
2008-06-03 17:59:45 +00:00
Przemyslaw Czerpak
0d57df5ce5 2008-06-03 17:23 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbw32/w32_regc.c
    ! fixed typo hb_free() => hb_xfree()
    ! fixed UNICODE build

  * harbour/source/vm/itemapi.c
    * changed hb_itemPutC() and hb_itemPutCL() to be safe when
      user call it passing string which is stored in item passed
      as first parameter. It should fix problem located by Chen.
      Please test.
2008-06-03 15:23:59 +00:00
Przemyslaw Czerpak
6414835fe7 2008-06-03 15:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/extrap.c
    ! fixed unregistering exception error handler in OS2 builds
      David, if possible please test.
2008-06-03 13:10:49 +00:00
Viktor Szakats
71eb525cdf 2008-06-03 10:12 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extend.c
     ! Reverted previous change. Caller should check the 
       retval of hb_storclen_buffer() and free the pointer 
       in case it's zero.
       Thanks Przemek.

   * contrib/hbw32/w32_regc.c
   * contrib/hbhpdf/harupdf.c
   * contrib/hbwhat32/_winsys.c
   * utils/hbmake/readline.c
     ! Fixed hb_storclen_buffer() calls.

   * contrib/hbwhat32/_winsys.c
     ! SYSTEMPARAMETERSINFO() fixed retval and leaks.
     ; Please test.

   * source/rtl/tget.prg
     ! Typo.
2008-06-03 08:41:32 +00:00
Viktor Szakats
98bcafd98f 2008-06-03 01:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extend.c
     ! hb_storclen_buffer() fixed to free the passed buffer 
       in case it couldn't be stored. This situation was 
       easy to miss and difficult to detect for the caller, 
       and it might cause leaks.
      
   * contrib/hbw32/Makefile
   * contrib/hbw32/common.mak
   + contrib/hbw32/hbw32.ch
   + contrib/hbw32/w32_reg.prg
   + contrib/hbw32/w32_regc.c
   + contrib/hbw32/tests/testreg.prg
     + Added Windows registry handling stuff.
       Work of Peter Rees <peter@rees.co.nz> / xhb.
     * Code cleaned, formatted, optimized a bit.
     + Added an even simpler interface:
       w32_regRead( <reg_path> ) -> xValue
       w32_regWrite( <reg_path>, <value> ) -> <lSuccess>
       where <reg_path> is: "HKCU\key[\subkeys]\entry"
2008-06-03 00:08:49 +00:00
Viktor Szakats
fa7dcb44ea 2008-06-02 21:16 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/hvm.c
     % Minor opt to __SETPROFILE(), __TRACEPRGCALLS()
     ! __SETPROFILE() to only set the value if a parameter was passed.
       This way it's possible to read the value without destroying it.
2008-06-02 19:19:50 +00:00
Viktor Szakats
2f5fb88988 2008-06-02 11:34 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
     ! Blind fix for OS/2.
2008-06-02 09:35:26 +00:00
Viktor Szakats
c85b65ba18 2008-06-01 23:56 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbvm.h
   * source/vm/hvm.c
   * source/vm/extrap.c
     ! Fixed OS/2 problem reported by David.
       (BTW, do we need really need to remove the exception 
       handler before exiting? If yes, shouldn't we do the 
       same under Win32?)

   * source/common/hbstr.c
     ! Silenced one 'loss of significant digit' BCC warning.
2008-06-01 22:06:51 +00:00
Viktor Szakats
d9fe9a4688 2008-06-01 13:26 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/extrap.c
     ! Fixed missing header for OS/2.

   * source/vm/classes.c
     ! Minor fix in internal error text.

   * contrib/hbcurl/make_b32.bat
   * contrib/hbcurl/make_vc.bat
   * contrib/hbcurl/hbcurl.c
   * contrib/hbcurl/hbcurl.ch
   * contrib/hbcurl/tests/ftp_uldl.prg
     ! non-GNU make will also look into the /bin folder 
       for .dlls.
     ! Lots of fixes, too many to mention.
     + Enabled GC pointers. (see TOFIX though)
     + Added all remaining CURL 'easy' API parts and 
       implemented all options existing in 7.18.1:
       + All option values (except bit-level ones) made available in hbcurl.ch
       + All options updated to latest CURL version in hbcurl.ch
       + All error codes made available in hbcurl.ch
       + CURL_EASY_DUPLICATE()
       + CURL_EASY_RESET()
       + CURL_EASY_PAUSE()
       + CURL_EASY_SEND() (not yet available in stable builds)
       + CURL_EASY_RECV() (not yet available in stable builds)
       + CURL_EASY_GETINFO()
       + CURL_ESCAPE() (obsolete)
       + CURL_UNESCAPE() (obsolete)
       + CURL_GETDATE()
     ; TOFIX1: Could someone look at it? In case I call the destructor 
               (curl_easy_cleanup()) manually, the garbage collector 
               will run into an invalid pointer, when terminating the 
               test program.
     ; TOFIX2: The casting to 'curl_off_t' goes wrong. Could someone 
               help?
     ; NOTE1:  Harbour needs at least libcurl 7.17.0. Unfortunately 
               compile time version detection is not working at this time, 
               so try with the latest version 7.18.1.
     ; NOTE2:  Most callback interfaces are not implemented on the 
               Harbour level.
     ; NOTE3:  Harbour is currently not optimizing
               "<const1> ** <const2>" type of expressions at compile time.
               Could we add it? This expression is not widespread, 
               but anyways, it cannot hurt, if isn't too much 
               work to do.
2008-06-01 11:31:48 +00:00
Przemyslaw Czerpak
2a89109763 2008-05-31 14:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbmacro.ch
  * harbour/source/vm/macro.c
  * harbour/source/vm/hvm.c
    - removed HB_MACRO_STATEMENTS and HB_SM_PREPROC
2008-05-31 12:45:01 +00:00
Viktor Szakats
b788d7d5f1 2008-05-30 12:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbsetup.ch
   * include/hbsetup.h
   * source/common/hbverdsp.c
   * source/vm/arrays.c
     - HB_FUNC_CALLCONV - no longer used.
     - HARBOUR_OBJ_GENERATION - no longer used.
     + Added profiler setting to build info.
     - YACC debug setting removed frmo build info.
     * Build info strict compatibility line now says 5.2e/5.3b.
     * HB_EXTENSION renamed to "non-portable extension"
     - HB_COMP_STRONG_TYPES - no longer used.
     - HB_FIX_ACOPY_BUG
       Replaced with a HB_C52_STRICT guard, but locally 
       overridden to always be strict (thus replicating 
       the bug). This means no change in functionality 
       for default builds. In any ways this is not a decision 
       to make by the Harbour users. If anyone had this 
       locally #defined anyway, pls shout.
     ; NOTE: It's nice that I'm removing unused stuff, but 
             my impression is that by time we have added 
             quite some new such settings burried in the code, 
             so if you're aware of any such ones, please 
             add them to hbsetup.h (or let's discuss which 
             ones to add).
2008-05-30 10:14:32 +00:00
Przemyslaw Czerpak
15f3b83782 2008-05-30 09:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/extrap.c
    ! disabled SetUnhandledExceptionFilter() for WinCE builds

  * harbour/contrib/hbole/ole2.c
    * cleaned compilation in different env C/C++/UNICODE/compilers

  * harbour/contrib/hbw32/w32_ole.c
  * harbour/contrib/hbole/ole2.c
  * harbour/contrib/gtwvg/gtwvg.h
    ! do not use HB_ID_REF() for _WIN64 - I would like to ask someone
      with Win64 to verify current Harbour build status?
2008-05-30 07:42:07 +00:00
Przemyslaw Czerpak
5472511ddc 2008-05-30 02:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbvm.h
  * harbour/source/vm/hvm.c
  * harbour/source/vm/extrap.c
    * moved code to set exception handler from hvm.c to extrap.c
    + added void hb_vmSetExceptionHandler( void ) to set exception
      filter
    ! fixed problem with C++ builds caused by missing extern "C"
      declaration for exception handlers in extrap.c
2008-05-30 00:48:06 +00:00
Przemyslaw Czerpak
f5043f6a64 2008-05-30 00:15 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/vm/estack.c
    * declare hb_stack as static variable when HB_STACK_MACROS is
      disabled to be sure that non extern code will access hb_stack
      It's very important to eliminate such code before we add MT
      support.

  * harbour/source/vm/hvm.c
    * changed hb_vmFrame() to work in the same way as hb_vmVFrame()

  * harbour/source/rtl/hbgtcore.c
    ! fixed wrong clear column in right horizontal scrolling

  * harbour/source/rtl/memoedit.prg
    * use hb_inkeySetLast( n ) instead of KEYBOARD Chr( n ) ; InKey()
2008-05-29 22:15:25 +00:00
Viktor Szakats
f4f6d4a691 2008-05-29 20:20 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/vm/hvm.c
     * Minor formatting.

   + source/vm/extrap.c
     + Added. Now for real. Thanks Luis.
2008-05-29 18:21:36 +00:00
Viktor Szakats
6898da8511 2008-05-29 19:31 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * source/vm/Makefile
   * source/vm/mainwin.c
   * source/vm/estack.c
   + source/vm/extrap.c
   * source/vm/hvm.c
     * Rearranged/cleaned up exception handlers.
     * Renamed OS/2 one to comply with namespace rules.
     * Moved from estack.c/mainwin.c to extrap.c and hvm.c.
     * win32 ex.handler now enabled by default at HVM startup.
     * win32 ex.handler now writes exception info into hb_ex.log.
     * win32 ex.handler now pops up a MessageBox() by default.
       We should consider removing this but currently the default 
       Windows handler kicks in anyway, which is also a GUI dialog.
     ; TODO: A common way to log these errors across all platforms.
     ; NOTE: HB_INCLUDE_WINEXCHANDLER is not used by Harbour anymore.
     ; NOTE: Please test OS/2
2008-05-29 17:38:35 +00:00
Viktor Szakats
4761f7a5af 2008-05-27 09:43 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
   * source/vm/hvm.c
   * source/vm/cmdarg.c
     + Added support for internal switch format:
       --hb:<internal switch>
       //hb:<internal switch>
       Both are equivalent to original CA-Cl*pper:
       //<internal switch>
2008-05-27 07:46:37 +00:00
Viktor Szakats
8b06380b17 2008-05-27 03:10 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* bin/bld.bat
     + MSVC now sets the lib dir globally, so lib names don't 
       need to contain the path anymore.

   * source/vm/fm.c
     * Minor cleanup.

   - contrib/hbgd/tests/bldtest.sh
   + contrib/hbgd/tests/bld.sh
     * Update, cleanup, SVN header.
2008-05-27 01:23:22 +00:00
Viktor Szakats
b5d578680c 2008-05-26 12:13 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* include/hbapi.h
   * source/vm/extend.c
     + Added hb_retc_null() which is equivalent to 
       hb_retc( NULL ) and will return an empty string.
       I opted for this because hb_retc( NULL ) usage is not 
       compatible with CA-Cl*pper _retc(), so it might create 
       problems when writing C code intended for both Clipper 
       and Harbour.

   * contrib/hbclipsm/stack.c
   * contrib/hbclipsm/environ.c
   * contrib/hbclipsm/status.c
   * contrib/hbclipsm/gauge.c
     % Optimizations.
     ; TOFIX: GAUGE*() still leaks and doesn't seem to function.

   * contrib/rddads/adsmgmnt.c
     % Optimizations (using hb_arraySet*()).
     ! Fixed typo in ADSMGGETOPENTABLES2().
2008-05-26 10:15:27 +00:00
Viktor Szakats
24ec421a42 2008-05-21 17:45 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* harbour.spec
     + Added HU translation (cpwin).

   * source/rtl/gtfunc.c
     % Minor opt.

   * source/rtl/console.c
   * source/rtl/fserror.c
   * source/rtl/strmatch.c
   * source/rtl/padr.c
   * source/rtl/hbhex.c
   * source/rtl/at.c
   * source/rtl/abs.c
   * source/rtl/dates.c
   * source/rtl/padc.c
   * source/rtl/mod.c
   * source/rtl/hbrandom.c
   * source/rtl/filesys.c
   * source/rtl/padl.c
   * source/rtl/val.c
   * source/rtl/hbregex.c
   * source/vm/runner.c
   * source/vm/hashes.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/maindllp.c
   * source/vm/fm.c
   * source/vm/arrayshb.c
   * source/vm/classes.c
   * source/common/hbtrace.c
     * Formatting (whitespace only)
2008-05-21 15:50:34 +00:00
Przemyslaw Czerpak
1bb3ab7eb9 2008-05-21 11:10 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/tbrowse.prg
    * updated some comments

  * harbour/source/vm/hvm.c
  * harbour/source/vm/classes.c
    * formtting
2008-05-21 09:10:52 +00:00
Viktor Szakats
40c3c7c2a8 2008-05-15 03:40 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* tests/db_brows.prg
     ! Removed note of hbmisc requirement.

   * tests/Makefile
   - tests/twirl.prg
   + contrib/hbmisc/tests/twirl.prg
     ! Test moved to local test dir.

   * source/vm/cmdarg.c
     ! hb_cmdargIsInternal(): Removed '--' as internal option marker, 
       since it will disallow any application code to accept 
       such options. We will now stick with '//' prefix for 
       Clipper compatible internal options.

   * contrib/hbzlib/tests/myzip.prg
   * contrib/hbzlib/tests/myunzip.prg
   * contrib/hbzlib/hbmzip.c
     + Added support for password on Harbour API level.
     ; NOTE: This password is not at the moment compatible 
             with .zip passwords added by standard .zip 
             utilities.
2008-05-15 02:26:49 +00:00
Przemyslaw Czerpak
4fc1e5ae99 2008-05-08 14:31 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/source/rtl/tbrowse.prg
    ! fixed positioning when cursor is moved by :rowpos assignment and
      vertical move methods used together

  * harbour/source/vm/estack.c
    * updated hb_stackDispCall(), hb_UnhandledExceptionFilter(),
      OS2TermHandler() to show functions where codeblock where
      defined instead of EVAL() just like in call stack presented
      by cancel operation
    * updated hb_UnhandledExceptionFilter() to work in unicode mode

  * harbour/source/vm/hvm.c
    ! fixed 1-st procedure presented in call stack during cancel operation
      to use the same conditions as for all others
2008-05-08 12:32:12 +00:00
Viktor Szakats
53030631bf 2008-05-07 11:21 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* contrib/rddads/make_b32.bat
   * contrib/rddads/make_vc.bat
   * contrib/rddads/ads.ch
   * contrib/rddads/rddads.h
   * contrib/rddads/ads1.c
   * contrib/rddads/adsfunc.c
   * contrib/rddads/adsmgmnt.c
     + Added ACE version autodetection.
       You can override with: -DADS_LIB_VERSION=700 (and similar)
       (ADS_REQUIRE_VERSION still accepted for compatibility)
     ! Fixed a few lib version related problems.
     ! hMgmtHandle global renamed to ads_g_hMgmtHandle.
     * Formatting.

   * contrib/rddads/rddads.h
     + QUESTION: added about ADS_MAX_KEY_LENGTH redefinition.
       Is it needed?

   * source/compiler/hbmain.c
     * Changed output device (hb_compOutStd() -> hb_compOutErr()) 
       for following texts:
       "Compiling..."
       "No code generated"
       "Lines x, Functions/Procedures x"
       This is to replicate CA-Cl*pper behaviour a bit more.

   * include/hbextern.ch
   * common.mak
   * source/rtl/Makefile
   * source/rtl/maxrow.c
   + source/rtl/scrrow.c
   * contrib/xhb/hbcompat.ch
     + Added hb_ScrMaxRow(), hb_ScrMaxCol()
       These will return the screen dimensions regardless 
       of the size of an active window (when using CT 
       windows for example). Functionality is the same 
       as MaxRow(.T.) and MaxCol(.T.) previously.
     ! MaxRow()/MaxCol() extended parameters removed.
     + Added MaxRow(.T.)/MaxCol(.T.) conversions for 
       xhb lib (hbcompat.ch) in both directions.
     ; XBase++ doesn't have any extended parameters 
       for Max*() function. Flagship has two of them, 
       both of them doing something different. CAVO doesn't 
       have these functions at all.

   * contrib/xhb/hbcompat.ch
     ! GTI_* macros updated to HB_GTI_*.

   * source/vm/memvclip.c
     % Minor opt in __QQPUB().

   * source/vm/extend.c
     * 0 -> NULL

   * source/vm/estack.c
     - QUESTION removed.

   * source/lang/msgbgmik.c
   * source/rtl/console.c
   * source/rtl/philes.c
   * source/rtl/adir.prg
   * source/rtl/getsys53.prg
   * source/rtl/getsys.prg
   * source/rtl/tget.prg
   * source/rtl/ttopbar.prg
   * source/rtl/pushbtn.prg
   * source/rtl/mod.c
   * source/rtl/memofile.c
   * source/rtl/radiobtn.prg
   * source/rtl/filesys.c
   * source/rtl/tbrowse.prg
   * source/vm/estack.c
   * source/vm/itemapi.c
   * source/vm/hvm.c
   * source/vm/cmdarg.c
   * source/vm/fm.c
   * source/vm/eval.c
   * source/common/hbver.c
   * source/common/expropt2.c
   * utils/hbtest/hbtest.prg
   * utils/hbtest/rt_misc.prg
   * utils/hbtest/rt_str.prg
     ! Comment fixes and minor formatting.
2008-05-07 10:26:41 +00:00
Przemyslaw Czerpak
7311612b6b 2008-05-06 02:44 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/bin/hb-func.sh
    ! do not add .exe suffix if user added it explicitly in W32/DOS builds

  * harbour/source/vm/dynsym.c
    * added internal error when size of dynamic table exceed maximal size
    % small optimization in hb_dynsymFind() function

  * harbour/source/pp/ppcore.c
    * added support for generating #line directives in strictly Clipper
      compatible way even if they are redundant. It can be enabled
      by HB_PP_STRICT_LINEINFO_TOKEN compiler time macro, f.e. using
      environment variables:
         set C_USR=-DHB_PP_STRICT_LINEINFO_TOKEN %C_USR%
      and making clean build.
2008-05-06 00:44:50 +00:00
Miguel Angel Marchuet Frutos
63c9ed7c80 2008-05-05 11:31 UTC+0100 Miguel Angel Marchuet Frutos <miguelangel@marchuet.net>
* include/hbmemory.ch
   * source/vm/fm.c
     + Added Memory( HB_MEM_BLOCKS )
2008-05-05 09:30:19 +00:00
Viktor Szakats
31d82e116c 2008-04-29 13:05 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* common.mak
   * source/rdd/Makefile
   * source/rdd/dbstrux.prg
   * source/rdd/rddord.prg
   + source/rdd/rddordu.prg
   + source/rdd/dbstruxu.prg
     + Moved some UNDOC functions to separate files.
     * Removed STRICT guard from _dtxCondSet().

   * include/hbextern.ch
     ! Added missing _dtxCondSet().

   * source/rtl/colorind.c
   * source/rtl/direct.c
     * Minor formatting.

   * source/vm/asort.c
     ! Changed one direct item access to item API call.

   * contrib/rddads/ads.ch
   * contrib/rddads/adsfunc.c
   * contrib/rddads/ads1.c
     ! Added support for ADS9 VFP file type and fields.
     ; Borrowed from xhb / Luiz Rafael Culik.
       (changed to compile using original - older - ADS headers)
     ; Please review & test.

   * source/vm/pcount.c
     % Minor opt.

   * contrib/hbtip/sendmail.prg
     ! SF bugtracker#1934698 fix applied. Thanks Chen.

   - contrib/hbapollo/tests/bld.bat
   * contrib/hbapollo/tests/bld_b32.bat
     % Using central bld.bat instead of modified local copy.

   + contrib/gtwvg/tests/bld_b32.bat
     + Added BCC32 build batch file for GTWVG tests.
     ; NOTE: demowvg still doesn't seem to work.
2008-04-29 11:08:12 +00:00
Viktor Szakats
afe85d8f42 2008-04-26 07:53 UTC+0100 Viktor Szakats (harbour.01 syenar hu)
* source/rtl/tget.prg
     ! Fixed to not extend ::left(), ::right(), ::backspace(), 
       ::delete() with an internally used (but also externally 
       accessible) extra parameter. This is interface is now 
       made fully C5x compatible.

   * tests/rto_tb.prg
     ! Fixed to override __eInstVar53() (instead of _eInstVar())

   * include/hbextern.ch
   * common.mak
   * source/rdd/Makefile
   + source/rdd/dbcmdhb.c
     + Added non-internal versions of __dbPack() and __dbZap(), 
       named: hb_dbPack() and hb_dbZap(). If group needs it I 
       can add dbPack() and dbZap() too in separate files to 
       lessen the problem of name collision with app code.

   * source/rtl/inkey.c
     * Formatting.
     + HB_KEYPUT(): Now possible to pass an array with string elements.
       (see feature in xhb/__KEYBOARD())
     * HB_KEYPUT(): For string parameter it now uses hb_inkeySetText()
       API, rather than a loop of hb_inkeyPut()s.

   * contrib/xhb/xhbfunc.c
     ! xhb flavour of __KEYBOARD() sync fixed. (hb_inkeySetText() got 
       extended in xhb, so here we're using hb_inkeyPut() for single 
       numeric key codes).
     ; Now same code is used as in HB_KEYPUT().

   * source/vm/memvars.c
   * source/vm/hvm.c
   * source/vm/arrayshb.c
     + Added HB_C52_STRICT branches for the remaining RTEs 
       which produced different results in hbtest.
     ! Fixed HB_C52_STRICT RTE for AFill().
     ; NOTE: It's not possible to build Harbour currently when 
             HB_C52_STRICT, so it's not easy to test these.

   * include/hbclass.ch
     ! Typos.

   * source/rtl/memoedit.prg
   * source/rtl/achoice.prg
   * source/rtl/treport.prg
     * Formatting.

   * source/rtl/tobject.prg
     * Formatting.
     % Minor opt.
2008-04-26 06:39:37 +00:00
Przemyslaw Czerpak
05dd30df9b 2008-04-22 04:50 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicls.h
  * harbour/source/vm/classes.c
    + added new function hb_dbgObjSendMessage() which allows to
      call messages with given given execution context for proper
      scope checking

  * harbour/source/debug/dbgentry.c
    + added HB_DBG_SENDMSG() for calling messages with given execution
      context

  * harbour/source/debug/dbgtobj.prg
    * removed all __obj*() function calls
    * use HB_DBG_SENDMSG() to access/assign object variables
    ! fixed default value in GET operation called from object
      inspector to always show current object variable value
    ! fixed set for object variables which hold value: "Method"
      they were recognized as method
      Now object variables can be inspected by debugger.
      If object has multiple private messages with the same name
      inherited from parent classes then their context will be
      dynamically changed depending on position in currently
      debugged code.
2008-04-22 02:51:18 +00:00
Przemyslaw Czerpak
f181406951 2008-04-16 14:41 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbclass.ch
    ! removed:
         MESSAGE <msgName> IS <mthName>
      used as synonym of:
         MESSAGE <msgName> METHOD <mthName>
      If someone was using the removed version then please update the
      code to MESSAGE ... METHOD ...
      The removed command has special meaning in Class(y) and it allow
      to define alternate names for existing messages. I'll add support
      for them in the future.

  * harbour/contrib/hbct/ctwin.c
    * added disabled code which is a workaround for some possible
      bad side effect caused by online shadow showing by CTWIN.

  * harbour/source/rtl/errorint.c
    ! fixed displaying internal error message

  * harbour/source/common/hbver.c
    * added "Rev." prefix to shown revision number

  * harbour/include/hbexprop.h
  * harbour/include/hbexprb.c
  * harbour/source/common/expropt1.c
  * harbour/source/common/expropt2.c
    + added hb_compExprReduceNegate()
    ! fixed wrong negate optimizations for platforms where HB_LONG_MAX
      is smaller then -HB_LONG_MIN, f.e. all x86 based CPUs.
    ! fixed setting the size in optimized negative numbers
    ! fixed some math optimizations to not use casting to double value
      when it's not necessary - when double precision is smaller then HB_LONG
      (f.e. on x86 it's 53 bits and HB_LONG has 64bit) such casting can damage
      up to 11 less significant bits in big 64 bit numbers.

  * harbour/source/rtl/hbinet.c
    * replaced MAKEWORD() macro with HB_MKWORD() to pacify BCC58 warnings

  * harbour/include/hbdefs.h
    + added #include <limits.h>
      It should hide some warnings related to redefined integer size constants
      Viktor if it will not help for BCC58 warnings then you will have to add
         #include <stdint.h>
      few lines below but please remember that older BCC version does not
      have it so check for the exact compiler version.
    ! changed macros which setting default numeric item size for more strict
      Clipper compatible mode. I'm not a fun of some Clipper behavior in
      calculating number size and I left some notes about it in hbdefs.h
      Anyhow this and some other modifications below should cover the
      differences you've found recently. Some things are not addressed by
      me intentionally, f.e. _itemPutNL() in Clipper always set size to 10
      without checking the maximum size so it's too small for values less
      then -999999999. Harbour compiler makes more compile time optimizations
      then Clipper. The formatting rules used by compiler are a little bit
      different then by VM so this can be source of some other differences
      to Clipper. I can easy create some examples. Harbour supports 64bit
      signed integers and Clipper doesn't. This is yet another situation
      when we may have different results then Clipper. Most of them can
      be hidden if we add new PCODE(s) for integer number with explicit
      size but I do not think it's such important to increase PCODE list.
      In few cases it will be necessary to disable some optimizations at
      all and I do not like it. In the future when I will be adding some
      new optimizations I also add compiler switch to disable/enable
      optimizations which can have such side effects for people who need
      strict formatting.

  * harbour/include/hbvmpub.h
  * harbour/source/common/hbstr.c
  * harbour/source/vm/hvm.c
  * harbour/source/vm/itemapi.c
  * harbour/source/rtl/round.c
    * updated for more Clipper compatible number formating using new macros
2008-04-16 12:42:05 +00:00
Przemyslaw Czerpak
bf68197ca0 2008-04-09 20:42 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
  * harbour/harbour.spec
    * reverted translation to UTF8 - Tomaz please check your editor
      settings and disable automatic translation to UTF8. It's not
      the first as such situation happens.

  * harbour/include/hbclass.ch
    + added two missing PP directives
    ! protected against some repeated external definitions

  * harbour/source/pp/Makefile
  * harbour/source/pp/hbppgen.c
  * harbour/source/pp/ppcore.c
  * harbour/source/common/hbver.c
  * harbour/source/common/hbverdsp.c
  * harbour/source/main/harbour.c
  * harbour/source/vm/cmdarg.c
  * harbour/utils/hbpp/hbpp.c
  * harbour/include/hbpp.h
  * harbour/include/hbcomp.h
  * harbour/include/hbver.h
  * harbour/include/hbapi.h
  * harbour/make_vcce.mak
  * harbour/make_b32.mak
  * harbour/make_vc.mak
  * harbour/make_gcc.mak
    + added support for dynamically set during compilation ChangeLog entry
      ChangeLog ID and SVN revision and compilation flags
      Now hbppgen creates in include directory hbverbld.h file with
      information extracted from ChangeLog. New hbppgen parameters:
         Syntax:  ./hbppgen <file>[.prg] [options]
         Options: -i<path>       add #include file search path
                  -c[<file>]     look for ChangeLog file
                  -o<file>       creates .c file with PP rules
                  -v<file>       creates .h file with version information
                  -w             write preprocessed (.ppo) input file
                  -q             disable information messages
    + added new C functions:
         int hb_verSvnID( void )
            - retrieves ChangeLog SVN revision number
         const char * hb_verSvnChangeLogID( void )
            - retrieves a static buffer containing ChangeLog ID string
         const char * hb_verSvnLastEntry( void )
            - retrieves a static buffer containing ChangeLog last entry string
         const char * hb_verFlagsC( void )
            - retrieves a static buffer containing build time C compiler
              flags in C_USR envvar
         const char * hb_verFlagsL( void )
            - retrieves a static buffer containing build time linker
              flags in L_USR envvar
         const char * hb_verFlagsPRG( void )
            - retrieves a static buffer containing build time Harbour compiler
              flags in PRG_USR envvar
    + added new default PP defines which can be used in .prg code compiled
      by Harbour compiler: HB_VER_LENTRY, HB_VER_CHLID, HB_VER_SVNID

  * harbour/source/rtl/gtxwc/gtxwc.c
    * formatting

  * harbour/source/rtl/gttrm/gttrm.c
    ! fixed redrawing GPM mouse pointer after screen updating

  * harbour/source/rtl/gtstd/gtstd.c
  * harbour/source/rtl/gtpca/gtpca.c
    * updated for compilation even if some POSIX macros are not supported
      f.e. problems with some DJGPP versions reported recently

  * harbour/source/debug/dbgentry.c
  * harbour/source/debug/dbgtobj.prg
  * harbour/source/debug/dbgbrwsr.prg
  * harbour/source/debug/dbgthsh.prg
  * harbour/source/debug/tbrwtext.prg
  * harbour/source/debug/dbgwa.prg
  * harbour/source/debug/debugger.prg
  * harbour/source/debug/dbghelp.prg
  * harbour/source/debug/dbgtarr.prg
    ! Fixed object inspector in the debugger.
    ! Added HbDbBrowser:invalidate() message. Fixes work area browsing in debugger.
    ! Added an minimalistic TBrowse implementation that is just enough
      for internal use by the debugger. Fixes miscellaneous problems e.g.
      when debugging a piece of code with RELATIONs turned on.
    Fixes by Phil Krylov borrowed from xHarbour.
2008-04-09 18:44:03 +00:00
Przemyslaw Czerpak
117324bc6a 2008-03-25 12:26 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
  * harbour/source/lang/Makefile
  + harbour/source/lang/msgskiso.c
  + harbour/source/lang/msgskwin.c
  + harbour/source/lang/msgskkam.c
  + harbour/source/lang/msgsk852.c
    + added Slovak national messages by Gyula Bartal - many thanks

  * harbour/include/hbapi.h
  * harbour/source/vm/arrays.c
    ! Guarded hb_arraySetNLL() declaration with #ifndef HB_LONG_LONG_OFF.
    ! Fixed trace in hb_arraySetNInt().
      By Phil Krylov borrowed from xHarbour

  * harbour/include/hbgtcore.h
    ! added missing HB_EXTERN_BEGIN / HB_EXTERN_END
      By Ron Pinkas borrowed from xHarbour

  * harbour/source/rtl/gtos2/gtos2.c
    % updated for much faster screen updating in OS2 console - many
      thanks for Maurilio Longo for tests and code.

  * harbour/source/rtl/cdpapi.c
    ! fixed CP string translation for CPs with accented equal characters
    + added HB_UTF8CHR( <nUniVal> ) -> <cUtf8Char>
      It's compatible with the function HB_UTF8CHR() by Phil Krylov in
      xHarbour

  * harbour/source/rtl/gtsln/gtsln.h
    * removed repeated #include <unistd.h>

  * harbour/contrib/hbct/files.c
    ! fixed FILESEEK() called with 3-rd parameter set to .T. (exact
      attribute match)

  * harbour/config/os2/global.cf
    ! added fixes by David Arturo Macias Corona

  + harbour/make_os2_gcc.cmd
    + added build file for GCC OS2 users with minimal environment settings
2008-03-25 11:27:04 +00:00
Przemyslaw Czerpak
9cb4e6047d 2008-03-05 19:10 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/contrib/hbct/screen2.c
    ! fixed possible vary bad bug (memory buffer overflow) in SCREENSTR()

  * harbour/source/rtl/hbffind.c
    ! fixed possible GPF in some *nixes

  * harbour/source/vm/classes.c
    ! do not execute the same destructor inherited from different parent
      classes more then once

  * harbour/source/rtl/transfrm.c
    ! fixed bug with '9' used as stop condition of function pattern
      this character cannot be stripped, f.e.:
        ? transform( "abc", "@_99*" )
    ! fixed bug with '*' or '$' used with @), f.e.:
        ? transform( -12345, "@) $999999" )
    ! fixed replacing '.' with ',' when @E is used without picture part, f.e.:
        ? transform( 123.45, "@E" )
    ! fixed ',' conversions
        ? transform( 12.34,"@E ab,cd.ef9,9.99,.--" )
    ! fixed bug with picture starting with ".", f.e.:
	? transform( 0.3456, ".999" )
    ! fixed "@(" and "@)" conversions, f.e.:
        ? transform( -12345, "@) 1999*999" )
    ! fixed late oveflow detection in "@(" and "@)", f.e.:
        ? transtest( -12345, "@( 6798^999" )
    ! fixed "@E" conversion for dates to keep user delimiters set in
      _SET_DATEFORMAT, f.e.:
        set( _SET_DATEFORMAT, "mm:dd:yyyy" ); ? transform( date(), "@E" )
        set( _SET_DATEFORMAT, "yyyy<mm>dd" ); ? transform( date(), "@E" )
      Please note that Harbour is not strictly Clipper compatible here
      because it respects _SET_DATEFORMAT set by user.
    ! fixed 64bit integer conversion by eliminating conversion to
      'double' f.e.:
        ? transform(  1234567890123456789, "99999999999999999999" )
        ? transform( -1234567890123456789, "99999999999999999999" )
    ! some other fixes, see regression test transtst.prg
    % speed improvement in numeric conversions

  + harbour/tests/transtst.prg
    + added regression test for transform function

  * harbour/utils/hbtest/rt_trans.prg
    * disabled transform() tests for "@E" and result smaller then 5 bytes
      CA-Cl*pper do not check result size and always exchanges
      bytes 1-2 with bytes 4-5 for @E conversion. It's buffer overflow
      bug and I do not want to replicate it inside our transform
      implementation. It also causes that the results for for strings
      smaller then 5 bytes behaves randomly.
      In fact precise tests can show that it's not random behavior
      but CA-Cl*pper uses static buffer for result and when current one
      is smaller then 5 bytes then first two bytes are replaced with
      4-5 bytes from previous result which was length enough, f.e.:
               ? transform( "0123456789", "" )
               ? transform( "AB", "@E" )
               ? transform( "ab", "@E" )
      Replicating exact CA-Cl*pper behavior it's trivial (it will be enough
      to use static buffer two and not check the size of current result) but
      IMHO it's bug.

  * harbour/source/rtl/round.c
    * added strictly Clipper compatible code covered by HB_C52_STRICT
      and comment about possible difference in Harbour.

  * harbour/include/hbgtinfo.ch
  * harbour/source/rtl/hbgtcore.c
  * harbour/source/rtl/gtxwc/gtxwc.c
  * harbour/source/rtl/gtsln/gtsln.c
  * harbour/source/rtl/gttrm/gttrm.c
  * harbour/source/rtl/gtwvt/gtwvt.c
    + added HB_GTI_ISUNICODE - it returns logical value with information
      about Unicode mode in active GT driver - it's necessary for proper
      CP initialization in some GTDs which can work in both mode depending
      on client side settings

  * harbour/source/rtl/gttrm/gttrm.c
    * improved UTF-8 detection
    * added automatic PuTTY detection
    * improved PuTTY and some xterm key handling
    * added some missing RXVT keys
2008-03-05 18:10:52 +00:00
Przemyslaw Czerpak
25231721f9 2008-02-08 15:58 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcomp.h
  * harbour/include/hbmacro.h
  * harbour/include/hbexprb.c
  * harbour/source/vm/macro.c
  * harbour/source/compiler/hbmain.c
    ! fixed name conflict in privates/publics declaration.
      Harbour allows to declare memvars with the same name as file
      wide statics or fields but this extensions was not working well
      in some cases and can cause unexpected results in variable
      declaration, f.e. try this code:
               static v:="static"
               proc main()
                  public v:="public"
                  ? v, M->v
               return
      compiled with -n -w switches and also with -n -w -a before
      this fix.
    ! fixed some compile time warnings in memvars declaration to be
      more Clipper compatible
    ! fixed compiling external modules (DO <procname> [WITH <params,...>])
      when function <procname> is already declared but with different
      letter case. Harbour does not convert <procname> in DO statement
      to upper case to play well with case sensitive file systems and
      it could cause confusing warning message:
         Cannot open <procname>.prg, assumed external

  * harbour/source/compiler/harbour.y
  * harbour/source/compiler/harbour.yyc
    ! added protection against bug in bison destructors which might cause
      multiple free the same memory block on syntax error due to 

  * harbour/source/rdd/dbf1.c
    ! added missing binary flag for daytime fields

  * harbour/source/rdd/dbfntx/dbfntx1.c
    ! fixed possible memory leak during accessing corrupted NTX files
    ! fixed possible GPF during accessing corrupted NTX files

  * harbour/source/compiler/genc.c
    * minor cleanup

  * harbour/config/os2/global.cf
    ! use FOR command to delete group of files
2008-02-08 14:58:26 +00:00