Commit Graph

80 Commits

Author SHA1 Message Date
Przemysław Czerpak
e34407ad88 2013-12-23 17:11 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapicdp.h
  * include/hbapiitm.h
  * src/rtl/itemseri.c
    * changed 2-nd parameter in hb_itemSerialize() and hb_itemSerializeCP()
      from HB_BOOL fNumSize parameter to int iFlags.
      Previous fNumSize is replaced by HB_SERIALIZE_NUMSIZE flag.
      Warning: declaration is not backward compatible though existing code
               using these functions is binary compatible so it will work
               without recompilation.
    + added support for optional compression of serialized values.
      It can be enabled in C code by HB_SERIALIZE_COMPRESS flag.
    + added support for serialization flags passed in 2-nd parameter to
      hb_Serialize() PRG function.
    ; Info: support for compression and decompression exists only in
            programs which are linked with ZLIB library. Programmers
            which want to use it and so far the haven't used ZLIB functions
            should add to their code REQUEST HB_ZCOMPRESS

  * include/Makefile
  + include/hbserial.ch
    + added header file with Harbour serialization flags.
      Now the following flags are supported:
         HB_SERIALIZE_NUMSIZE
         HB_SERIALIZE_COMPRESS
      I'll add support for HB_SERIALIZE_OBJECTSTRUCT soon.

  * src/rtl/hbi18n1.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
    * updated to use new Harbour serialization flags.
2013-12-23 17:11:36 +01:00
Przemysław Czerpak
67cb55cda8 2013-12-19 09:31 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ src/rtl/hbzlibc.c
    ! added file missing in previous commit
2013-12-19 09:31:19 +01:00
Przemysław Czerpak
4ffd5bb726 2013-12-18 21:05 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/Makefile
  + include/hbzlib.h
  * include/hbzlib.ch
  * src/rtl/Makefile
  * src/rtl/hbzlib.c
    + added new C functions weakly bound with ZLIB library:
         HB_SIZE hb_zlibCompressBound( HB_SIZE nLen );
         HB_SIZE hb_zlibUncompressedSize( const char * pSrc, HB_SIZE nLen,
                                          int * piResult );
         int hb_zlibCompress( char * pDst, HB_SIZE * pnDst,
                              const char * pSrc, HB_SIZE nLen, int iLevel );
         int hb_zlibUncompress( char * pDst, HB_SIZE * pnDst,
                                const char * pSrc, HB_SIZE nLen );
      these functions can be used by any C code without forcing ZLIB liking.
      If user usese in his code HB_ZCOMPRESS() function or has
         REQUEST HB_ZCOMPRESS
      then above funcitons are automatically bound with linked ZLIB library.
      Otherwise they return 0 or HB_ZLIB_RES_UNSUPPORTED error.

  * src/rdd/dbf1.c
    * small code simplification
    ; added note about alternative numeric value rounding when
      pure binary integer fields (without decimal places) are
      assigned.

  * src/common/hbdate.c
    ! added missing header for WinCE builds

  * include/hbexpra.c
    * minor simplification

  * src/vm/macro.c
    + added new implementation for MemVarBlock() function. It's much faster
      and does not force dynamic symbol table scanning on each call

  * src/rtl/Makefile
  - src/rtl/memvarbl.prg
    - removed previous implementation of MemVarBlock()

  * src/rtl/tgetint.prg
    ! fixed __Get() and __GetA() to return NIL when cVarName parameter
      is not string (CA-Cl*pper compatible)
    ! fixed __GetA() to return NIL when given aIndex parameter or value
      returned by variable block is not array (CA-Cl*pper compatible)
    ! fixed __Get() and __GetA() to use FieldWBlock() instead of manually
      created macro block which didn't respect workarea
      (CA-Cl*pper compatible)
    ! fixed __GetA() to create SET/GET block instead of access block
      (CA-Cl*pper compatible)
    ! fixed  __Get() and __GetA() to not create simple SET/GET macro
      blocks but always force memvar usage (CA-Cl*pper compatible).
      Please remember that
         &( "DATA" )
      gives code which tries to access field then memvar but
         &( "DATA := .T." )
      gives code which always tries to assign memvar and does not even
      check if "DATA" field exists in current WA. It means that macro
      compiled code like:
         &( "{|_1| iif( _1 == NIL, DATA, DATA := _1 ) }" )
      should not be used because gives higher priority for fields in
      access operation and always assigns memvars, if necessary creating
      them.
    ! allow to dynamically create memvars for get objects in error handler
      (CA-Cl*pper compatible)
    % use much faster MemVarBlock() instead of manually created codeblock
      which activates dynamic symbol table scanning on each call
2013-12-18 21:05:06 +01:00
Przemysław Czerpak
6ff1084cf0 2013-12-06 10:52 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbbfish.h
  * src/rtl/hbbffnc.c
    + added HB_BF_CIPHERBLOCK macro
2013-12-06 10:52:59 +01:00
Przemysław Czerpak
e7021f96ac 2013-12-03 09:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbmxml/3rd/minixml/mxml.hbp
    * updated source package URL

  * contrib/hbmxml/3rd/minixml/minixml.dif
    * rediffed with:
         hbmk2 ../../../../bin/3rdpatch.hb -rediff

  * src/rtl/gtxwc/gtxwc.c
    * minor cleanup
2013-12-03 09:03:49 +01:00
Przemysław Czerpak
271bb4b449 2013-11-27 20:32 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! fixed typo which broke event loop processing - changed state
      was not flushed without incoming events
2013-11-27 20:32:50 +01:00
Przemysław Czerpak
24dedd84e7 2013-11-27 13:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    * minor modification for future usage

  * src/rtl/hbini.prg
    ! fixed RTE on 'include' directive
2013-11-27 13:06:03 +01:00
Przemysław Czerpak
9f93fbbe81 2013-11-22 21:22 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    * removed some old unused code
    ! restored window oriented message processing
    ! check window position on each HB_GTI_SETPOS_XY request - some
      WMs sends ConfigureNotify with 0,0 cords when window is resized
      overwriting correct values.
    * switched HB_GTI_SETPOS_XY coordinates to NorthWestGravity (upper left
      corner of window with frame and title bar) from StaticGravity (upper
      left  corner of client area). Many thanks to Rolf for the hint which
      allows to translate coordinates from StaticGravity and NorthWestGravity
    ; updated note about StaticGravity/NorthWestGravity
    ; Warning: sometime WMs report wrong size in _NET_FRAME_EXTENTS
               and then HB_GTI_SETPOS_XY returns wrong position two.
               I observed this behavior in different situations and
               different WMs, f.e. in KWIN from Ubuntu, after:
                  MAXIMIZE, FULLSCREEN-ON, FULLSCREEN-OFF
               wrong left and top offsets (3,3) are set which are later
               inherited also by NORMALSIZE window for which HB_GTI_SETPOS_XY
               returns wrong position. _NET_FRAME_EXTENTS begins to report
               correct size after next FULLSCREEN-ON.FULLSCREEN-OFF
2013-11-22 21:22:55 +01:00
Przemysław Czerpak
c793b32741 2013-11-21 12:48 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! updated HB_ULONG->HB_U32 used in pCurrScr.
      I missed them in previous commit.
2013-11-21 12:48:46 +01:00
Przemysław Czerpak
3c0f1583d6 2013-11-19 19:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbwin/axcore.c
    ! protection against buffer underflow

  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/gtxwc/gtxwc.h
    % use 32 bit screen buffer items also in 64bit systems
    ! fixed race condition in SetMode()
    ! fixed infinite loop with size updating in fullscreen and
      maximized modes
    ! fixed typo in function name used in HB_TRACE() message
    * use _MOTIF_WM_HINTS to change window decoration and buttons
      instead of _NET_WM_ALLOWED_ACTIONS:_NET_WM_ACTION_CLOSE
      _MOTIF_WM_HINTS is much more portable and looks that most of WMs
      understand it. _NET_WM_ALLOWED_ACTIONS:_NET_WM_ACTION_CLOSE works
      only with few WMs (i.e. with default WM in Ubuntu).
      Many thanks to Rolf for information about this method.
    * use _MOTIF_WM_HINTS to control some other hints (i.e. resizing)
      in WMs which do not make it automatically using information
      form XSetWMNormalHints()
    * removed \r from all debug messages
    ; added note about StaticGravity and NorthWestGravity
    ; TODO:
         1) add margins if window cannot be resized to requested size
            (i.e. in fullscreen or maximized mode)
         2) add support for HB_GTI_RESIZEMODE=HB_GTI_RESIZEMODE_FONT
2013-11-19 19:26:43 +01:00
Przemysław Czerpak
95910ec18b 2013-11-08 17:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! missing parenthesis
2013-11-08 17:08:24 +01:00
Przemysław Czerpak
99f49f4faa 2013-11-08 17:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
    ! protection agains switching [x] button before window is open
2013-11-08 17:06:03 +01:00
Przemysław Czerpak
3791bab940 2013-11-08 16:50 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc.h
    ! typo in variable type

  * contrib/gtqtc/gtqtc1.cpp
    * minor simplification

  * src/rtl/gtxwc/gtxwc.c
    + added support for disabling close button [x] on HB_GTI_CLOSEMODE==2
      Thanks to Rolf for suggestion removing/adding _NET_WM_ACTION_CLOSE
      to _NET_WM_ALLOWED_ACTIONS property is honored by WMs I tested and
      they hide/show [x] button respectively.
2013-11-08 16:50:59 +01:00
Przemysław Czerpak
fcbfb7a7e8 2013-11-07 15:03 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    ! typo in last commit - flags and state were not changed

  * src/rtl/gtxwc/gtxwc.c
    * added XSync() just after XBell() to reduce a little bit potential
      delay
2013-11-07 15:03:17 +01:00
Przemysław Czerpak
548cc2df3a 2013-11-06 23:09 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbgtinfo.ch
    + added new hb_gtInfo() switch: HB_GTI_CLOSEMODE
      It controls close event (i.e. ALT+F4 and/or [x] button in MS-Windows)
      behavior:
         == 0 - terminate application
         >= 1 - generate HB_K_CLOSE
         == 2 - disable close button

  * contrib/gtqtc/gtqtc.h
  * contrib/gtqtc/gtqtc1.cpp
    % optimized setWindowFlags() and setWindowState() to not
      execute show() when flags/state are not changed.
    + added support for HB_GTI_CLOSEMODE
    * changed HB_GTI_CLOSABLE to work line in GTXWC and GTWVT

  * src/rtl/gtxwc/gtxwc.c
    ! fixed setting window position by HB_GTI_SETPOS_XY
    + added support for HB_GTI_CLOSEMODE
    ; note: in GTXWC we cannot easy disable close button so
            HB_GTI_CLOSEMODE==2 will work like 1 until we
            do not find some portable way to inform WM that
            is should hide close button

  * src/rtl/gtwin/gtwin.c
    * added type checking in few HB_GTI_* settings
    + added support for HB_GTI_CLOSEMODE
    ; note: in GTWIN we cannot catch close event so
            HB_GTI_CLOSEMODE==1 works like 2
            In this GT HB_GTI_CLOSABLE also has to work like
            HB_GTI_CLOSEMODE==2

  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
    * added range checking in HB_GTI_RESIZEMODE setting
    + added support for HB_GTI_CLOSEMODE
2013-11-06 23:09:59 +01:00
Przemysław Czerpak
4bd5c38361 2013-11-05 23:05 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwin/gtwin.c
    ! do not disable console control handler when terminal is suspended.
    ! ignore HB_K_BREAK event's caught when terminal was suspended.
2013-11-05 23:05:19 +01:00
Przemysław Czerpak
b33db4fc79 2013-10-30 01:02 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/compiler/hbopt.c
    * minor: 1 => HB_TRUE

  * src/rtl/gtwvt/gtwvt.c
    ! clear margins leaving maximized mode
2013-10-30 01:02:38 +01:00
Przemysław Czerpak
f6a3c407e3 2013-10-28 17:18 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rdd/wafunc.c
    * minor cleanup

  * src/rtl/gtos2/gtos2.c
  * src/rtl/gttrm/gttrm.c
    * added protection against wrong SetMode() parameters

  * src/rtl/gtxwc/gtxwc.h
    * changed minim console window size from 3 x 6 to 1 x 1
2013-10-28 17:18:11 +01:00
Przemysław Czerpak
9215bd6600 2013-10-23 12:41 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gttrm/gttrm.c
    * send ST (ESC \) after Linux console palette set sequence (ESC ] P).
      ESC ] is Operating System Command (OSC) which by default should
      be terminated by ESC \ (ST). Some terminals which sets LINUX
      TERM envvar but do not correctly understand Linux console palette
      set sequence may hang waiting for ST. Now ST is sent to avoid such
      situation. Linux console simply ignore ST terminator so nothing
      wrong should happen.
2013-10-23 12:41:04 +02:00
Przemysław Czerpak
af4e23a998 2013-10-22 14:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gttrm/gttrm.c
    * use non POSIX termios input line flag IUTF8 to detect UTF8
      mode if other methods failed.
2013-10-22 14:42:28 +02:00
Viktor Szakáts
6752936b57 use web url instead of obfuscated email 2013-10-09 20:08:24 +02:00
Przemysław Czerpak
a13480fa59 2013-10-01 16:43 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gttrm/gttrm.c
    ! fixed terminal ISO mode auto detection (broken in previous patch)
    % use position from UTF8/ISO mode detection instead of double asking
      terminal cursor position. With the minor cost of unknown initial
      column position we have faster start on slow connections.
2013-10-01 16:43:38 +02:00
Przemysław Czerpak
c5db5dac72 2013-09-20 15:30 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbgtcore.c
    ! added explicit casting to strchr() result
2013-09-20 15:30:45 +02:00
Przemysław Czerpak
ff6d11c1d5 2013-09-19 09:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbgtcore.c
    + added support for GT parameters passed in //GT<NAME>
      parameter after ":", i.e. //GT<NAME>:<params>

  * src/rtl/gttrm/gttrm.c
    + added new parameters set in //GTTRM:<params>
         1) "NOPOS" - inform GTTRM that terminal does not support
            cursor position query: ESC [ 6 n
            At startup GTTRM asks terminal about cursor position
            and waits for answer for 2 seconds. If terminal doesn't
            support it then it's unnecessary delay at application
            startup.
         2) "UTF8" or "UTF-8" - force UTF-8 terminal output
            Useful when terminal does not support cursor position
            query so it cannot be used to detect automatically
            UTF-8 or ISO terminal mode.
         3) "ISO" - force ISO terminal output
         4) "XTERM", "LINUX", "PUTTY", "CONS" - force given terminal
            type
      f.e. working with Android Terminal Emulator it's good to use
         //GTTRM:UTF8,NOPOS
      because it still does not support cursor position query and
      LANG variable is not set.
2013-09-19 09:52:39 +02:00
Przemysław Czerpak
d5d33b921b 2013-09-16 15:11 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    ! added missing error setting in hb_socketSelect() function
2013-09-16 15:11:24 +02:00
Przemysław Czerpak
de6a55cbec 2013-09-16 11:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* doc/cmpopt.txt
  * doc/xhb-diff.txt
    * typos

  * src/rtl/hbsocket.c
    * simplified hb_socketSelect() code

  * src/rtl/mtran.c
    ! updated HB_TRACE message
2013-09-16 11:25:27 +02:00
Przemysław Czerpak
118a95c425 2013-09-10 02:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapi.c
    ! added missing static in s_en_buffer declaration
    % faster code for unicode to ASCII CP437 control codes translation
2013-09-10 02:09:46 +02:00
Przemysław Czerpak
e5584850e7 2013-09-09 20:54 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/cdpapi.c
    * use CP437 control codes in translations from unicode to ASCII

  * src/rtl/gtwvt/gtwvt.c
    * added support for key code typed using ALT + <ASCII_VALUE_FROM_KEYPAD>

  * tests/gtkeys.prg
    * added parenthesis to clarify expression order
2013-09-09 20:54:11 +02:00
Przemysław Czerpak
87ddf9c110 2013-09-09 15:54 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/dlmalloc.c
    * use __builtin_clz() and __builtin_ctz() only with GCC 3.4 or newer.
      Problem reported by David Arturo Macias Corona and OS2 GCC3.3.5.

  * README.md
    + added link suggested by David to os2gcc454 from Paul Smedley

  * src/rtl/gtstd/gtstd.c
    + accept keyboard input from redirected file on platforms without
      dedicated code for keyboard support in GTSTD
2013-09-09 15:54:22 +02:00
Przemysław Czerpak
a87963b362 2013-08-28 17:18 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    ! use sock_errno() instead of errno in OS2 WATCOM builds.
      It fixes few problems with socket code using errno value, i.e.
      hb_socketConnect() with timeout.
2013-08-28 17:18:20 +02:00
Przemysław Czerpak
0b4c999bb5 2013-08-26 15:51 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbsocket.c
    ! fixed hb_socketConnect() with timeout in DOS Watt-32 builds.
      Watt-32 sets socket error to EISCONN when connection is established.
2013-08-26 15:51:57 +02:00
Przemysław Czerpak
ea60542664 2013-08-23 14:25 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/fstemp.c
    ! fixed casting for DOS C++ builds

  * config/dos/watcom.mk
    ! moved CRTL library to the end of linked library list - some
      other libraries may overload some C RTL functions or symbols,
      f.e. error descriptions in WATT-32

  * utils/hbmk2/hbmk2.prg
    ! added hbpmcom library to linked library list in DOS builds
    ! fixed WATT-32 support in DOS builds to work in cross compilation
      environment
    ! link WATT-32 library before C RTL
    ! fixed simultaneous compilation with -jobs=N when N >= 2
      The same hash array (hReplace) was shared between different threads
      and each thread tried to modify it overloading their own parameters.
      It was causing different side effects, i.e. all threads compiled
      the same .c file instead of their own ones or HBMK2 was crashing
      due to memory corruption.
    * always join all started threads
2013-08-23 14:25:14 +02:00
Przemysław Czerpak
46d64612b5 2013-08-22 19:06 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbct/getsecrt.prg
    ! applied Clipper compatibility fix to GetSecret() by Pavel Tsarenko

  * src/common/hbdate.c
    * removed explicit _BSD_SOURCE definition - it was confusing our
      code used to detect localtime_r() support and is not necessary
      if we do not use extended fields of tm structure

  * src/rtl/mtran.c
    * updated to show strict Clipper compatible behavior - Clipper
      ignores 3-rd cSoftCR parameter if 2-nd one cHardCR is not given
      (strict compatibility is covered by HB_CLP_STRICT macro and
      disabled by default - undocumented feature which may confuse
      users)
    % minor optimization
2013-08-22 19:06:06 +02:00
Przemysław Czerpak
e8c7f2067d 2013-07-18 02:24 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbdate.h
  * src/common/hbdate.c
    + added new C functions:
         double hb_timeLocalToUTC( double dTimeStamp );
         long hb_timeStampUTCOffset( int iYear, int iMonth, int iDay,
                                     int iHour, int iMinutes, int iSeconds );
    ; warning: some C RTLs may not correctly detect Summer time for all past
               dates in few countries.

  * include/harbour.hbx
  * src/rtl/dateshb.c
    + added new PRG function:
         hb_TSToUTC( <tsLocal> ) -> <tsUTC>
    + added support for optional timestamp parameter in hb_UTCOffset()
      function, current syntax is:
         hb_UTCOffset( [ <tsLocal> ] ) -> <nSeconds>

  * contrib/hbtip/hbtip.hbx
  * contrib/hbtip/utils.c
    + added new PRG function:
         tip_FileNameMimeType( <cFileName> ) -> <cMimeType>
      It's a wrapper to old C function s_findFileMimeType()
      TODO: replace few independent mimetype functions by single one.
    ! fixed tip_FileMimeType() to not call hb_fsClose() or any other FS
      function with wrong handler.
    ! fixed tip_TimeStamp() using hb_timeStampUTCOffset() instead of
      hb_timeUTCOffset() to correctly calculate UTC offset for dates
      different then current one.
    ! decode time passed as numeric second() value in 2-nd parameter of
      tip_TimeStamp() only when the 1-st one contains pure date value.
2013-07-18 02:24:58 +02:00
Przemysław Czerpak
084ab0bbe2 2013-07-08 23:34 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    + added protection against wrong parameters passed to __dbgDelBreak()

  * src/debug/debugger.prg
    + implemented display history for command window.
      This modification also fixes clearing command window when focus is
      changed.
    + added support for new commands:
         DELETE ALL BP
         DELETE BP <nNumber>
         LIST BP
    * replicated Clipper compatible command line shortcuts
    ! send :RefreshAll instead of :RefreshCurrent to source code window
      when break point changed
    ; TODO: add support for window resizing and repositioning. Commands
            like LIST BP are in practice unusable in 3 line command window.

  * src/rtl/console.c
    % minor optimization
2013-07-08 23:34:20 +02:00
Przemysław Czerpak
b2dd9d5923 2013-07-08 17:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgtmenu.prg
    ! allow to chose current menu item by its hotkey

  * src/debug/dbgtmitm.prg
    % eliminated dummy hb_DispOutAtBox() for not marked options

  * src/debug/debugger.prg
    ! keep RunAtStartup flag synced with menu
    ! fixed options decoding from init.cld file.
      Thanks to Franček Prijatelj for locating the problem though fix
      should be a little bit different.

  * src/debug/tbrwtext.prg
    ! respect LineNumbers on/off setting

  * src/rtl/console.c
    ! call hb_gtFlush() at the end of hb_DispOutAtBox() - it fixes
      different side effects in code using hb_DispOutAtBox().
2013-07-08 17:09:36 +02:00
Przemysław Czerpak
6153da2b05 2013-07-05 14:12 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    ! added missing casting

  * src/debug/debugger.prg
    + show in call stack references to code compiled without debug info

  * src/rtl/itemseri.c
    * ignore HB_HASH_RESORT flag during hash serialization
2013-07-05 14:12:46 +02:00
Przemysław Czerpak
48137e6a61 2013-07-04 18:09 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgtwin.prg
  * src/debug/debugger.prg
    ! use explicitly INKEY mask in INKEY() calls to avoid interactions
      with user code

  * src/debug/debugger.prg
  * src/debug/tbrwtext.prg
    % removed code used for internal breakpoints handling - it was
      redundant and all necessary information can be easy and fast
      accessed directly from dbgentry.c. Current code is smaller,
      faster and we do not have to worry about keeping break point
      information synchronized between C level debugger internals,
      HBDebugger object and HBBrwText object.
    ! changed source code window navigation key to work like in
      Clipper debugger
    ! changed source lines displaying to work like in Clipper debugger -
      with HOME/END scrolling code horizontally it's not such important
      to always see line numbers
    ! redirect few missing K_CTRL_* keys to active window it fixes key
      navigation in some of them
    ! redirect K_ENTER to command window if command is not empty just
      like in Clipper debugger

  * src/rtl/inkeyapi.c
    ! do not convert ASCII 127 to character in hb_inkeyKeyString()
      and HB_KEYCHAR()
2013-07-04 18:09:47 +02:00
Przemysław Czerpak
ebcbbfd518 2013-07-04 05:33 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/debug/dbgentry.c
    + added new PRG functions:
         __dbgIsBreak( <pDbg>, <cModule>, <nLine> ) -> <nPos>
         __dbgGetBreakPoints( <pDbg> ) -> <aBreakPoints>

  * src/debug/debugger.prg
    - removed old and long time unused PRG function __dbgAltDEntry()

  * src/rtl/hbproces.c
    * changed returned status when execvp() fails, -1 should give
      maximal exit code on given platform (i.e. 255)
2013-07-04 05:33:22 +02:00
Przemysław Czerpak
d55d57c622 2013-06-10 16:59 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwvt/gtwvt.c
    * removed not longer user K_Ctrl[] array

  * contrib/gtqtc/gtqtc1.cpp
    ! fixed MT protection to work with recursive calls
      (such call can appear after ALT+ENTER)

  * doc/xhb-diff.txt
    * updated "HASH ARRAYS" paragraph

  * config/lang2po.hb
  * contrib/hbamf/amfdec.c
  * contrib/hbamf/amfenc.c
  * contrib/hbexpat/tests/tohash.prg
  * contrib/hbmxml/core.c
  * contrib/hbnetio/utils/hbnetio/hbnetio.prg
  * contrib/hbnetio/utils/hbnetio/netiomgm.hb
  * contrib/hbwin/hbolesrv.c
  * contrib/hbwin/tests/olesrv1.prg
  * contrib/hbwin/tests/olesrv2.prg
  * contrib/make.hb
  * contrib/xhb/xhbhasha.c
  * src/rtl/hbdoc.prg
  * src/rtl/hbini.prg
  * src/rtl/hbjson.c
  * tests/big5_gen.prg
  * tests/uc16_gen.prg
  * utils/hbmk2/hbmk2.prg
    * removed keeporder setting - now it's default for newly
      created hash arrays

  * contrib/gtwvg/gtwvg.hbx
    * added missing functions
2013-06-10 16:59:13 +02:00
Przemysław Czerpak
9b656834bc 2013-06-07 11:38 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/itemseri.c
    ! force resorting deserialized hash arrays

  * src/rtl/tgetlist.prg
    ! applied fix reported by Tony: typo in INS msg
2013-06-07 11:38:35 +02:00
Przemysław Czerpak
ad65425d8a 2013-06-05 11:01 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbgtcore.c
    ! fix for recent modification
2013-06-05 11:01:40 +02:00
Przemysław Czerpak
09298f8f31 2013-06-05 10:37 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtwvt/gtwvt.c
    ! added workaround for AltGR and German keyboard

  * src/rtl/inkeyapi.c
    ! added missing 'static' in function declaration

  * src/rtl/hbgtcore.c
    ! added workarounds for HB_GTI_COMPAT_BUFFER switched to .F. by
      default.

  * tests/gtkeys.prg
    * switched to UTF8 CP by default
    + extended keycode information in Harbour
2013-06-05 10:37:34 +02:00
Przemysław Czerpak
8b963cf79d 2013-06-04 14:20 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    * added workaround for missing MT synchronization in QT for XLIB
      QT was designed to use screen widgets only in main thread so
      it's only workaround which helps but I cannot guaranti

  * contrib/hbmzip/mzip.c
    * workaround for wrong st_mtime type in struct stat on android

  * src/rtl/hbsocket.c
    * do not check if IPPROTO_IP is defined, on some platforms like
      android it's only enum type. Warning if it exploits some problems
      on some seldom used platforms/compilers then please report it.

  * src/vm/hvm.c
    * minor

  * package/mpkg_ver.sh
    * do not use bash extensions

  * package/harbour-wce.spec.in
  * package/harbour-win.spec.in
  * package/harbour.spec
  * package/mpkg_rpm.sh
  * package/mpkg_rpm_wce.sh
  * package/mpkg_rpm_win.sh
    * removed bash from dependencies list
2013-06-04 14:20:50 +02:00
Przemysław Czerpak
d900dc5b1c 2013-06-03 16:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbtoken.c
    + added support for passing token parser parameters as bit field number.
      The goal is to replace last to parameters with single bit field which
      allows to set many different parsing aspects instead of adding many
      new parameters.
    + added support for reverted apostrophes quoting: `a b c`
    ; TODO: add constant values to control parser in token functions

  * utils/hbmk2/hbmk2.prg
    ! respect reverted apostrophes quoting in options read from .hbp/.hbm
      files.
    ! do not ignore tool parameters passed in -*flags= hbmk2 params if
      they do not start with '-'. It resolves problems with shells which
      need special quoting to pass parameters, i.e. with both modifications
      it's possible to use in hbp files dynamic parameters encapsulated in
      different forms, depending on used platform, shell and parameter type,
      i.e. parameters are passed as set of separated arguments:
         -cflag=`config-tool1`
      or paramters are passed as single argument:
         -cflag="`config-tool2`"
      or parameters are passed in file which name shows config-tool3:
         -cflag="@`config-tool3`"
      In short words now things like:
         -cflag=`pkg-config --cflags gtk+-3.0`
      will work correctly with .hbp files
2013-06-03 16:45:25 +02:00
Tamas TEVESZ
4469d28b70 2013-05-16 22:34 UTC+0200 Tamas TEVESZ (ice extreme.hu)
* contrib/3rd/sqlite3/sqlite3.hbp
    * Disable on Minix (no MAP_SHARED which is needed by SQLite WAL);
      (Hopefully a temporary measure.)
  * src/rtl/filesys.c
    ! Disable hb_fsPipeUnblock() on Minix;
      makes hb_processRun() work. Thanks to Przemek for the idea.
2013-05-16 22:39:24 +02:00
Przemysław Czerpak
ad8fcef5ae 2013-05-15 19:54 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/pp/hbpp.c
    ! fixed ChangeLog file name detection broken after adding .txt
      extension.

  * src/rtl/hbproces.c
    + added support merged stdout and stderr output in hb_fsProcessRun()

  * src/rtl/hbprocfn.c
    + added support merged stdout and stderr output in hb_processRun()
      PRG function. To extract merged stdin and stdout application output
      it's enough to pass by reference in 3-rd and 4-th parameters the same
      variable, i.e.:
         nResult := hb_processRun( cCommand,, @cOutErr, @cOutErr )

  * utils/hbmk2/hbmk2.prg
    ! use hb_processRun() intead of hb_processOpen() to extract merged
      stdout and stderr output. It fixes all builds in which hb_processOpen()
      does not exists due to some system limitations like missing pipes,
      i.e. DOS builds.

  * src/vm/fm.c
    ! fixed typo in DOS builds

  * src/rtl/gtwin/gtwin.c
    ! ignore mouse position reported in mouse wheel events which use
      screen based coordinates instead of console window ones.
2013-05-15 19:54:49 +02:00
Przemysław Czerpak
1062ed644b 2013-05-10 08:28 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbgtinfo.ch
    + added HB_GTI_REDRAWMAX
      It sets maximum number of unchanged neighboring chars in redrawn
      line. It may help to optimize screen updates in some GTs.

  * include/hbgtcore.h
  * src/rtl/hbgtcore.c
  * contrib/hbct/ctwin.c
    + respect HB_GTI_REDRAWMAX in default REDRAWDIFF() GT methods.

  * contrib/gtqtc/gtqtc1.cpp
    ! added protection against font resizing for degenerated console
      window size.
    % set HB_GTI_REDRAWMAX to 1

  * src/rtl/gtwvt/gtwvt.c
    ! translate screen base mouse wheel cords to window based ones.
    % set HB_GTI_REDRAWMAX to 1

  * src/rtl/gttrm/gttrm.c
    % set HB_GTI_REDRAWMAX to 8

  * src/rtl/gtwin/gtwin.c
    % set HB_GTI_REDRAWMAX to 4
2013-05-10 08:28:56 +02:00
Przemysław Czerpak
79539c96c2 2013-05-08 09:57 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/gtqtc/gtqtc1.cpp
    * minor: removed {}

  * src/rtl/gtwin/gtwin.c
    * reenabled code to get/set palette in GTWIN
    ! fixed console window resizing when palette is set
    ! do not change default console palette at application startup.
      It's Clipper compatible behavior which allows to inherit colors
      set by some initialization program executed before or by some
      parent processes which control console environment, i.e. other
      Harbour GTWIN applications.
    % reset palette on exit only if it was changed.
    + return predefined MS-Windows console palette also in systems where
      GetConsoleScreenBufferInfoEx() is not available.

  * src/rtl/gtwvt/gtwvt.c
    ! use predefined BLACK color for building box character bitmaps
      instead of palette color[ 0 ] because user can redefine palette.
2013-05-08 09:57:51 +02:00
Przemysław Czerpak
628ca90377 2013-04-26 14:31 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
+ contrib/xhb/xhbinkey.ch
  + contrib/xhb/xhbkey.c
  * contrib/xhb/xhb.hbp
  * contrib/xhb/xhb.hbx
    + added support for xHarbour compatible extended Inkey() key codes
      This functionality works with GTs which can operate on Harbour
      extended key codes which are translated at runtime to xHarbour
      extended keys (HB_EXT_INKEY).
    + added new PRG function:
         xhb_Inkey( [ <nDelay> ] [ , <nKeyMask> ] ) -> <nKey>
      which works like Inkey() but returns xHarbour extended key codes.
    + added new PRG function:
         xhb_KeyTrans( <nExtKey> ) -> <nXhbKey>
      which translates Harbour extended key code to xHarbour one.

  * include/hbapigt.h
  * src/rtl/inkeyapi.c
    + added new C function:
         int hb_inkeyKeyVal( int iKey );
      It extract key/character code from Harbour extended key code

  * include/harbour.hbx
  * src/rtl/inkey.c
    + added new PRG function:
         hb_keyVal( <nExtKey> ) -> <nKeyVal> | <nCharVal>
2013-04-26 14:31:33 +02:00