Commit Graph

14 Commits

Author SHA1 Message Date
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
f3fdf11830 2015-10-13 21:22 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/mlcfunc.c
    ! do not access trailing 0 byte in empty strings passed to hb_MLEval()
      (thanks to Abe for information and example illustrating the problem)
    * respect in return value also empty line after last EOL
2015-10-13 21:22:30 +02:00
Przemysław Czerpak
3abb37f67e 2015-10-12 13:32 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/mlcfunc.c
    * execute hb_MLEval() codeblock for last empty line if passed string
      ends with EOL
2015-10-12 13:32:24 +02:00
Przemysław Czerpak
db11c4a1cf 2015-10-06 12:37 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/hbbfsock.c
    ! typo in comment

  * src/rtl/mlcfunc.c
    * casting

  * src/rtl/memoedit.prg
  * src/rtl/teditor.prg
    * formatting and few modifications to reduce some differences between
      core and Viktor's branch
2015-10-06 12:37:29 +02: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
Przemysław Czerpak
964e9a6695 2015-07-31 16:42 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/gtxwc/gtxwc.c
  * src/rtl/mlcfunc.c
    * pacified new GCC C++ warnings

  * src/rtl/hbsocket.c
    * do not execute select() if HVM exception was generated when
      socket handlers are extracted but return an error immediately
2015-07-31 16:42:52 +02:00
Przemysław Czerpak
25b2825ee9 2015-02-13 17:08 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/mlcfunc.c
    ! fixed MPosToLC() results for position in last line which have to
      be moved after analyzing rest of line due to word wrapping.

  * src/rtl/teditor.prg
    * rewritten whole internal code critical for basic functionality.
    + resolved the problem with keycode conflicts for GTs which
      support extended keycodes.
    + added support missing MemoEdit() editor functionality.
    ; Number of bugs and mistakes was to big to try to update it.
      New code is smaller and simpler. I tried to keep compatibility
      with previous version and added to new version most of "helper"
      methods which are not used in MemoEdit() at all anyhow I cannot
      guaranty that all existing code using TEditor will work without
      modifications, i.e. I had to remove :SetPos() and all logic bound
      with it because it was to hard for my brain to understand this
      idea and/or functionality.
      If someone needs strict compatibility with previous version then
      he should add to his source code copy of old code.
      Current code should addressed most of MemoEdit() problems with
      text formatting and editing reported in the past though probably
      not all. I have no spare time for precise tests of Cl*pper's
      MemoEdit().

  * src/rtl/memoedit.prg
    * overload :InsertState() method to show <insert> SCOREBOARD message
    * changed "Abort Edit? (Y/N)" message position to be Clipper compatible
    * removed redundant keycode comparison
    * do not ::SetPos HBEditor method - this method has been removed
2015-02-13 17:08:09 +01:00
Przemysław Czerpak
403decab13 2015-02-11 18:48 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/mlcfunc.c
    * modified unpadded MemoLine() mode to return last blank
      character in the line

  * src/rtl/teditor.prg
    ! fixed typo in MemoLine() parameters
    + added lSoftCR parameter to GetText() - when it's true returned
      text contains SoftCRs

  * src/rtl/memoedit.prg
    ! return text with SoftCRs - Cl*pper compatible

  ; Above modifications fix initial and result text formatting
    in MemoEdit() (#33)
2015-02-11 18:48:48 +01:00
Przemysław Czerpak
786b91612b 2014-12-31 01:45 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/rtl/memoedit.prg
    ! fixed repeat condition for ME_INIT initial user function call
      (correctly fixes #21)

  * src/rtl/mlcfunc.c
    * added temporary extension to MemoLine() which will be removed and
      replaced in the future

  * src/rtl/teditor.prg
    ! use temporary MemoLine() extension to fix problem with line trailing
      spaces I introduced with previous modification

  * src/rtl/replic.c
    % optimization for Replicate( <cStr>, 1 )
2014-12-31 01:45:42 +01:00
Viktor Szakats
b414d00664 2013-04-05 16:24 UTC+0200 Viktor Szakats (harbour syenar.net)
* bin/check.hb
  * tests/fixcase.hb
    + some exceptions for casing
    * deleted one file exception (a readme)

  * contrib/gtwvg/gtwvgd.c
  * contrib/gtwvg/wvgcore.c
  * contrib/gtwvg/wvgcuig.c
  * contrib/gtwvg/wvgwin.c
  * contrib/gtwvg/wvgwing.c
  * contrib/hbamf/amfenc.c
  * contrib/hbbz2/core.c
  * contrib/hbct/ctcom1.c
  * contrib/hbct/ctcom2.c
  * contrib/hbct/ctnet.c
  * contrib/hbct/ctstr.c
  * contrib/hbct/ctwfunc.c
  * contrib/hbct/ctwin.c
  * contrib/hbct/disk.c
  * contrib/hbct/finan.c
  * contrib/hbct/screen2.c
  * contrib/hbct/token1.c
  * contrib/hbct/token2.c
  * contrib/hbct/trig.c
  * contrib/hbgd/gdwrp.c
  * contrib/hbhpdf/image.c
  * contrib/hbmisc/irm.c
  * contrib/hbnetio/netiocli.c
  * contrib/hbnetio/netiosrv.c
  * contrib/hbnetio/readme.txt
  * contrib/hbnf/dispc.c
  * contrib/hbnf/ftattr.c
  * contrib/hbnf/origin.c
  * contrib/hbssl/ssl.c
  * contrib/hbwin/wapi_commctrl.c
  * contrib/hbwin/wapi_winuser.c
  * contrib/hbwin/win_dlg.c
  * contrib/hbwin/win_prn2.c
  * contrib/hbwin/win_shell.c
  * contrib/rddads/ads1.c
  * contrib/rddads/adsfunc.c
  * contrib/xhb/fparse.c
  * contrib/xhb/hbcrypt.c
  * contrib/xhb/hbserv.c
  * contrib/xhb/hbxml.c
  * contrib/xhb/txtline.c
  * contrib/xhb/xhbarr.c
  * contrib/xhb/xhbarrex.c
  * extras/gfspell/spellc.c
  * extras/gtwvw/gtwvwd.c
  * extras/gtwvw/hbgtwvw.h
  * extras/gtwvw/wvwcheck.c
  * extras/gtwvw/wvwdraw.c
  * extras/gtwvw/wvwedit.c
  * extras/gtwvw/wvwfuncs.c
  * extras/gtwvw/wvwmenu.c
  * extras/gtwvw/wvwpush.c
  * extras/gtwvw/wvwstbar.c
  * extras/gtwvw/wvwtbar.c
  * include/hbapi.h
  * include/hbapirdd.h
  * include/hbdefs.h
  * include/hbexpra.c
  * include/hbexprb.c
  * include/hbpcode.h
  * include/hbpp.h
  * include/hbrddcdx.h
  * include/hbrddnsx.h
  * src/codepage/cp_utf8.c
  * src/common/expropt1.c
  * src/common/expropt2.c
  * src/compiler/cmdcheck.c
  * src/compiler/genc.c
  * src/compiler/gencc.c
  * src/compiler/hbfunchk.c
  * src/compiler/hbopt.c
  * src/pp/pplib.c
  * src/rdd/dbcmd.c
  * src/rdd/dbf1.c
  * src/rdd/dbfcdx/dbfcdx1.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hsx/hsx.c
  * src/rtl/chruni.c
  * src/rtl/cputime.c
  * src/rtl/dateshb.c
  * src/rtl/filehb.c
  * src/rtl/filesys.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/hbgtcore.c
  * src/rtl/hbinet.c
  * src/rtl/hblpphb.c
  * src/rtl/hbmd5.c
  * src/rtl/hbproces.c
  * src/rtl/hbsocket.c
  * src/rtl/hbsockhb.c
  * src/rtl/hbtoken.c
  * src/rtl/hbzlib.c
  * src/rtl/hbzlibgz.c
  * src/rtl/langapi.c
  * src/rtl/mlcfunc.c
  * src/rtl/philes.c
  * src/rtl/soundex.c
  * src/rtl/strzero.c
  * src/rtl/transfrm.c
  * src/vm/arrayshb.c
  * src/vm/classes.c
  * src/vm/dynsym.c
  * src/vm/eval.c
  * src/vm/garbage.c
  * src/vm/hvm.c
  * src/vm/macro.c
  * src/vm/memvars.c
  * src/vm/runner.c
  * src/vm/set.c
  * src/vm/thread.c
    * run tests/fixcase.hb now that it's able to fixup casing
      inside all comments
2013-04-05 16:27:40 +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