Commit Graph

14 Commits

Author SHA1 Message Date
Przemysław Czerpak
b33cb05de5 2025-01-21 01:11 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapigt.h
    ! removed dummy declaration for hb_inkeyExit()

  * include/hbexprop.h
    ! removed dummy declarations for hb_compExprNewCodeblockExpr(),
      hb_compExprNewAssign() and hb_compExprEqual()
    ; marked compiler only hb_compExpr*() functions

  * include/hbgtcore.h
    ! removed dummy declaration for hb_gt_gcMark()

  * include/hbxvm.h
    ! removed dummy declarations for hb_xvmPushBlockLarge() and
      hb_xvmMacroPushArg()

  * src/harbour.def
    + added hb_iswinbuild()
    + added exported PCRE variable pcre_stack_guard
    + added exported ZLIB functions: gzfread(), gzwrite(),
      adler32_z(), crc32_z(), crc32_combine_gen(),
      crc32_combine_gen64(), crc32_combine_op(),
      uncompress2(), deflateGetDictionary(),
      inflateValidate(), inflateCodesUsed()
2025-01-21 01:11:37 +01:00
Przemysław Czerpak
8230fcc258 2018-09-14 15:36 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/harbour.hbx
  * include/hbchksum.h
  * src/harbour.def
  * src/rtl/hbmd5.c
    + added new C function
         void hb_hmac_md5( const void * key, HB_SIZE nKeyLen,
                           const void * message, HB_SIZE nMsgLen,
                           char * digest );
    + added new PRG function
         HB_HMAC_MD5( <cMessage>, <cKey> ) -> <cMAC>
    ; HMAC MD5 is used in some authentication methods i.e. CRAM-MD5
      authentication in SMTP protocol

  * src/rtl/gttrm/gttrm.c
    + enable extended XTERM colors automatically when xterm-16color,
      xterm-256color, xterm+256color, xterm-88color, rxvt-16color,
      rxvt-256color, rxvt-98color or putty terminal is detected
    + added support for HB_GTI_SCREENDEPTH

  * contrib/gtqtc/gtqtc1.cpp
    + set clipboard data also into selection buffer on platforms which
      support it
    + when main clipboard buffer is empty retrieve clipboard data from
      selection buffer and if it's empty too from find buffer

  * include/harbour.hbx
  * src/harbour.def
  * src/vm/memvars.c
    + added new PRG function
         __mvGetDef( <cMemvar> [, <xDefault> ] ) -> <xValue>
      it works in similar way to __mvGet() but if <cMemvar> does
      not exist then it returns <xDefault> or NIL instead of RTE

  * contrib/hbwin/hbwin.hbx
    + added missing declarations for win_osIs10() and win_osIs81()

  * contrib/hbssl/ssl.c
    ! fixed compilation with OpenSSL < 0.9.8k

  * contrib/sddodbc/core.c
    * pacified warning

  * contrib/xhb/hbxml.c
  * contrib/xhb/hbxml.h
    ! fixed CDATA terminator, it should be "]]>" instead of " ]]>"
    + added support for HBXML_STYLE_NONEWLINE flag

  * src/3rd/pcre/Makefile
    ! typo wince -> wce

  * src/main/Makefile
    * use harbour.rc only in MS-Windows builds - it fixes OS2 OpenWatcom
      builds

  * config/global.mk
    ! in DOS builds check if the 'uname' exists before running it

  * include/hbapigt.h
  * include/hbgtcore.h
  * src/rtl/hbgtcore.c
  * src/rtl/inkey.c
  * src/rtl/inkeyapi.c
  * contrib/xhb/xhbfunc.c
    + added 3-rd parameter to hb_inkeySetText() function. When this parameter
      is true then ';' is not translated to Chr( 13 ) but DOS and UNIX EOLs
      are translated to Chr( 13 )
    + added logical parameter to HB_GTI_CLIPBOARDPASTE which allows to set
      text without ';' translation but with platform independent EOLs

  * src/rtl/memoedit.prg
  * utils/hbmk2/hbmk2.prg
  * contrib/hbnetio/utils/hbnetio/_console.prg
  * extras/dbu/dbu52.patch
  * extras/dbu/dbu53.patch
    * use hb_gtInfo( HB_GTI_CLIPBOARDPASTE, .T. ) instead of
      hb_gtInfo( HB_GTI_CLIPBOARDPASTE ) for pasting data from clipboard
      with platform independent EOLs and ';' characters
2018-09-14 15:36:21 +02:00
Przemysław Czerpak
bf91e4c243 2017-11-15 11:32 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbjson.h
  * src/rtl/hbjson.c
    * changed 3-rd parameter 'HB_BOOL fHuman' in hb_jsonEncode() and
      hb_jsonEncodeCP() C functions to 'int iIndent'
         char * hb_jsonEncode( PHB_ITEM pValue, HB_SIZE * pnLen,
                               int iIndent );
         char * hb_jsonEncodeCP( PHB_ITEM pValue, HB_SIZE * pnLen,
                                 int iIndent, PHB_CODEPAGE cdp );
      Positive iIndent value defines number of spaces used for indenting,
      0 disables indenting and  -1 means TAB ( ASCII:9 ) indenting.
      This modification is binary compatible though in C code using HB_TRUE
      as 3-rd parameter it changes indenting from 2 spaces to 1 so please
      update the code if it's significant.

    + added optional support for numeric value in 2-nd parameter of
      hb_jsonEncode() PRG function. Current syntax is:
         hb_jsonEncode( <xValue>, [ <lHuman> | <nIndent> ], [ <cDestCP> ] )
               -> <cJSONString>

  * contrib/rddads/ads1.c
    * minor simplification

  * include/hbapigt.h
    * formatting
2017-11-15 11:32:19 +01:00
Viktor Szakats
5a2a287752 2017-09-08 16:00 UTC Viktor Szakats (vszakats users.noreply.github.com)
* *
    * partial sync with the 3.4 fork codebase. These are the things
      synces for the most part:
      - copyright headers
      - grammar/typos in comments and some readmes
      - comment/whitespace/decorations
      - variable scoping in C files
      - DO CASE/SWITCH and some other alternate syntax usage
      - minimal amount of human readable text in strings
      - minor code updates
      - HB_TRACE() void * casts for pointers and few other changes to
        avoid C compiler warnings
      - various other, minor code cleanups
      - only Harbour/C code/headers were touched in src, utils, contrib,
        include. No 3rd party code, no make files, and with just a few
        exceptions, no 'tests' code was touched.
      - certain components were not touched were 3.4 diverged too much
        already, like f.e. hbmk2, hbssl, hbcurl, hbexpat
      - the goal was that no actual program logic should be altered by
        these changes. Except some possible minor exceptions, any such
        change is probably a bug in this patch.
      It's a massive patch, if you find anything broken after it, please
      open an Issue with the details. Build test was done on macOS.
      The goal is make it easier to see what actual code/logic was changed
      in 3.4 compared to 3.2 and to make patches easier to apply in both
      ways.
2017-09-08 16:25:13 +00:00
Viktor Szakats
9f16c2bf8e 2017-08-13 18:27 UTC Viktor Szakats (vszakats users.noreply.github.com)
* *
    * update copyright headers with new FSF postal address
    * COPYING.txt -> LICENSE.txt (rest of repo to be synced)
2017-08-13 18:38:59 +00:00
Viktor Szakats
58faf91453 2016-01-14 19:17 UTC+0100 Viktor Szakats (vszakats users.noreply.github.com)
* *
    % remove brandings and homepage [1] from copyright header. Pass 1 - using script.
      [1] nobody has access to it anymore AFAIK - and it's also just
          a redirect since long
    ! update url in copyright header
    ; this should make the diff between 3.4 and 3.2 easier to manage
2016-01-14 19:18:17 +01:00
Przemysław Czerpak
c5758d9b83 2016-01-05 10:04 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapigt.h
  * src/rtl/gttrm/gttrm.c
    * modified GTTRM to generate HB_K_CLOSE if input stream is closed and
      then HB_K_TERMINATE on next inkey calls.
2016-01-05 10:04:37 +01:00
Przemysław Czerpak
d32d766c98 2015-10-02 16:45 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapigt.h
  * src/rtl/inkeyapi.c
    + added new C function:
         int hb_inkeyKeyExt( int iKey );
      It extracts function/edit key code value HB_KX_* from Harbour extended
      key code. If passed keycode is not valid extended keycode which points
      to function/edit key then 0 is returned.

  * include/harbour.hbx
  * src/rtl/inkey.c
    + added new PRG function hb_keyExt() - it's wrapper to hb_inkeyKeyExt()

  * include/harbour.hbx
  * src/rtl/mlcfunc.c
    ! restored original Cl*pper behavior in memo line functions,
      test shows that inside MemoEdit() Cl*pper internally uses a little
      bit different rules to format text then in memo line functions,
      It's Cl*pper bug but hard to fix because any differences to Cl*pper
      in this area cause that someone reports them as bug. So I decided
      to leave original Cl*pper behavior for compatibility and add new
      function which can be used in MemoEdit() and related code.
    + added new memo line function:
         hb_MLEval( <cString>, <bCode>, [ <nLineLength>=79 ],
                    [ <nTabSize>=4 ], [ <lWrap>=.T. ],
                    [ <nPos> ], [ @<nRow> ], [ @<nCol> ] ) -> <nLines>
      it formats texts using rules like in Cl*pper MemoEdit() not Cl*pper
      memo lines functions. For each processed line <bCode> is executed
      with 2 parameters: <cLine> and <lSoftCR>. It recognizes and accepts
      any EOLs just like hb_ATokens( <cText>, .T. ) and strips or converts
      soft CRs depending on word wrap mode.

  * src/rtl/teditor.prg
    * Use hb_MLEval() to format text
    % minor optimization

  * src/rtl/memoedit.prg
    * enabled Harbour extended key codes
    * small optimization
    ! fixed ME_BOTTOMRIGHT processing
    ! fixed initial line size calculation

  * src/vm/thread.c
    * removed dymmy code
2015-10-02 16:45:17 +02:00
Viktor Szakáts
6752936b57 use web url instead of obfuscated email 2013-10-09 20:08:24 +02:00
Przemysław Czerpak
d606073d0c 2013-06-19 14:31 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapigt.h
  * include/hbgtcore.h
    * moved macros to manipulate Harbour extended key codes from
      hbgtcore.h to hbapigt.h
2013-06-19 14:31:24 +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
Przemysław Czerpak
b9a30a4577 2013-03-05 11:53 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* include/hbapi.h
  * include/hbapigt.h
  * include/hbvm.h
  * src/rtl/inkeyapi.c
  * src/vm/cmdarg.c
  * src/vm/hvm.c
    * replaced hb_cmdargProcessVM() with hb_cmdargProcess() and removed
      unused for long time custom user cancel key functionality.
    - removed dummy hb_inkeySetCancelKeys() C function.
    - removed not used for long time HVM C functions and macros:
         hb_vmFlagEnabled(), hb_vmFlagSet(), hb_vmFlagClear(),
         HB_VMFLAG_HARBOUR, HB_VMFLAG_ARRSTR

  * include/hbgtinfo.ch
    + added new HB_GTI_* actions:
         HB_GTI_WINHANDLE   - Get console window low level handle
         HB_GTI_MOUSEPOS_XY - Get mouse position in pixels
         HB_GTI_DISPIMAGE   - Display image with given name

  * include/hbapigt.h
  * src/rtl/inkeyapi.c
    + added new C function: int hb_inkeyKeyMod( int iKey )
    + added code for translation from extended key codes to
      standard Clipper ones

  * include/harbour.hbx
  * src/rtl/inkey.c
    + added new PRG function hb_keyMod( <nExtKey> ) -> <nModifiers>
      It extract keyboard modifiers (HB_KF_*) from extended key code.

  * include/hbgtcore.h
  * src/rtl/hbgtcore.c
    + added new macros for generating extended key codes with keyboard
      modifiers for ASCII and UNICODE characters
    % strip repeated extended key codes for mouse move
    ! use standard key codes in extended ALERT() GT method

  * include/inkey.ch
    + added key modifiers/flags for extended key codes: HB_KF_*
    + added extended key codes: HB_KX_*
    - removed unused HB_K_MULTICODE macro

  * src/rtl/gttrm/gttrm.c
    * replaced old keyboard and mouse code with new one using
      extended key codes for keyboard and mouse
    + added support for keyboard modifiers in GPM events
    + added support for keyboard modifiers in terminal mouse events

  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
    ! invert selection region in WinCE builds
    ! fixed selection in fullscreen or maximized modes with margins
    * do not add EOL to one line selections
    + added support for painting box drawing characters.
      This mode can be enabled by:
         hb_gtInfo( HB_GTI_FONTATTRIBUTE, HB_GTI_FONTA_DRAWBOX )
      and it causes that GTWVT draws all box characters as pixmap
      regardles of used font.
      So far this functionality existed only in GTXWC.
    + added support for HB_GTI_FONTA_FIXMETRIC and HB_GTI_FONTA_CLRBKG
      So far this functionality existed only in GTXWC.
    + added support for HB_GTI_WINHANDLE
    ! do not add EOL at the end of one line selection

  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
    * replaced old keyboard and mouse code with new one using
      extended key codes for keyboard and mouse
    * renamed HB_GTXWC_* box drawing macros to HB_BOXCH_* ones
    * do not add EOL to one line selections
    ! fixed few keypad keycodes
    * use cursor blinking rate HB_GTI_CURSORBLINKRATE for whole
      show/hide period not only half of them. If someone use this
      GTI action in his code then now he should double passed
      value. [incompatible]
    ! fixed return value for HB_GTI_SETPOS_ROWCOL
    * few minor cleanups

  * tests/gtkeys.prg
    * replaced old keyboard and mouse code with new one using
      extended key codes for keyboard and mouse
    + added description for some key codes
    + added some initial HB_GTI_* actions
    + change cursor size by K_INS
    + display terminal size after HB_K_RESIZE
    + display mouse position after mouse key codes
    ! display all characters created by hb_keyChar()
    ! fixed formatting

  * src/rdd/dbf1.c
    * added more general protection against GPF in not fully
      initialized workarea
2013-04-22 15:38:35 +02:00
vszakats
9687850865 2013-03-16 02:10 UTC+0100 Viktor Szakats (harbour syenar.net)
* (all files)
    * stripped svn header
    * minor cleanups
    ; use following command to find out the history of files:
       git log
       git log --follow
       git blame
       git annotate
2013-03-16 02:11:42 +01:00
vszakats
a4a357a18b 2013-03-15 11:12 UTC+0100 Viktor Szakats (harbour syenar.net)
* /harbour/* -> /*
    * moved whole Harbour source tree one level up to
      avoid single 'harbour' top dir
2013-03-15 11:13:30 +01:00