[tarent-useful-scripts SCM] {wtf-mksh} annotated tag mksh-56b.20171017_wtf1_deb8u1 created. mksh-56b.20171017_wtf1_deb8u1

mirabilos at evolvis.org mirabilos at evolvis.org
Sat Nov 4 21:24:41 CET 2017 • <20171104202441.51C9A4A019C@evolvis.org>

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Supplemental git repository wtf-mksh for Evolvis project useful-scripts".

The annotated tag, mksh-56b.20171017_wtf1_deb8u1 has been created
        at  08636660e0cebccaeb3a81bc2493a0c6efefd3f5 (tag)
   tagging  2e061211875f75cb890c9d9487313ff684f4d18a (commit)
  replaces  mksh-54_wtf1_deb8u1
 tagged by  mirabilos
        on  Sat Nov 4 20:01:19 2017 +0100

- Log -----------------------------------------------------------------
mksh (56b.20171017+wtf1~deb8u1) wtf; urgency=medium
Comment: ☃ ЦΤℱ—8 ☕☂☄


KO Myung-Hun (79):
      Use gcc on OS/2
      Do not define getrusage() stuffs on OS/2 kLIBC
      Executables have .exe extension on OS/2
      Ignore size on OS/2
      Path separator is ; on OS/2
      Try to append executable suffixes if not having extension on OS/2
      Make all the files executable on OS/2
      Read in text mode, write in binary mode on OS/2
      Support extproc on OS/2
      Check EPERM as well on OS/2
      Consider executable extensions in case of some test commands on OS/2
      Consider OS/2-style path
      Support a response file on OS/2
      MZ magic is supported on OS/2
      Support .cmd and .bat on OS/2
      Workaround for execve() on OS/2
      Convert backslashes of PATH and TMPDIR to slashes on OS/2
      Consider an OS/2-style absolute path when testing
      Define MKSH_UNEMPLOYED on OS/2
      Use ; as a path separator on OS/2 when testing
      Disable some tests on OS/2
      Set stdin to text mode, and stdout/stderr to binary mode if not a console
      Check sh.exe on OS/2 intead of sh
      Fix compilation warnings/errors when MKSH_NOPROSPECTOFWORK is defined
      Support arrow keys on emacs/vi mode on OS/2
      Prepend /@unixroot to rooted paths on OS/2
      Clean-up temporary files on OS/2
      BEGINLIBPATH, ENDLIBPATH and LIBPATHSTRICT are not inhertied on OS/2
      exec: fix that executing a file with multiple dots fails on OS/2
      scriptexec: try to use shell/interpreter name as well on OS/2
      scriptexec: preserve original shell/interpreter path
      scriptexec: cosmetic
      edit: set edchars manually on OS/2
      Merge remote-tracking branch 'mksh/master'
      Merge remote-tracking branch 'mksh/master'
      edit: 0xE0 prefix is not needed any more
      Use upstream style macro/function names
      main: remove EXE_EXT macro
      build: add -DMKSH_NO_LIMITS flag
      check: remove unnecessary category check
      Merge remote-tracking branch 'mksh/master'
      check: remove unnecessary double quotation for $PATHSEP
      Merge remote-tracking branch 'mksh/master'
      Merge remote-tracking branch 'mksh/master'
      Merge remote-tracking branch 'mksh/master'
      Merge remote-tracking branch 'mksh/master'
      jobs: remove unnecessary MKSH_NOPROSPECTOFWORK guards
      Merge commit '91ae6ad199035b1cf'
      Merge remote-tracking branch 'mksh/master'
      Merge remote-tracking branch 'mksh/master'
      Merge tag 'mksh-R52c'
      Merge tag 'mksh-R52c'
      Merge remote-tracking branch 'mksh/master'
      os2: fix the last character of a response file is splitted
      Merge remote-tracking branch 'mksh/master'
      Merge remote-tracking branch 'mksh/master'
      Merge tag 'mksh-R53' into HEAD
      Merge tag 'mksh-R53a' into HEAD
      Preserve coding styles of upstream
      Merge remote-tracking branch 'mksh/master'
      fix mksh_sdirsep() and simplify mksh_vdirsep() on OS/2
      Merge remote-tracking branch 'mksh/master'
      move os2_init() from main() to main_init()
      Write in binary mode through pipes
      Read in text mode in a needed place only
      exec: search commands in the current directory first on OS/2
      os2: return an error code correctly when a child was signaled
      Revert "exec: search commands in the current directory first on OS/2"
      exec: prevent a command in a current dirctory from being executed
      exec: set ev to ENOENT properly
      Revert "exec: set ev to ENOENT properly"
      Revert "exec: prevent a command in a current dirctory from being executed"
      exec: remove the last / or \ when searching $PATH
      eval: trim CR+LF in backtick('') and $()
      main: find a script executed by extproc in current directory first
      eval: fix typo
      Merge remote-tracking branch 'mksh/master'

mirabilos (60):
      Merge branch 'master' of github.com:MirBSD/mksh
      bump (temporarily), to test
      fun with new lintian checks
      mostly KNF; afree() can be called with NULL argument
      no strcpy() allowed in BSD code
      fix \r followed by something else than \n or EOF
      mostly more KNF
      Merge mksh CVS HEAD
      use new MKSH_WITH_TEXTMODE for several of the #ifdefs
      fix two small setmode()-related bugs
      add a CVS HEAD snapshot, for easier unmerging later on
      Merge branch 'origtgz' into experimental
      update uhr
      Revert "add a CVS HEAD snapshot, for easier unmerging later on"
      Merge remote-tracking branch 'debian/experimental' +1
      Merge tag 'mksh-55' into experimental
      low’s enough
      Merge branch 'master' of github.com:MirBSD/mksh
      Merge branch 'experimental' of /home/tglase/mbsd/DEB/mksh/
      Merge branch 'experimental' of /home/tglase/mbsd/DEB/mksh/
      github is questionable, legally, now
      Merge branch 'master' of /home/tglase/mbsd/GIT/mksh/
      new editor setup; default to sensible-editor on Debian, too
      Merge tag 'mksh-56'
      more documentation is often good
      Merge branch 'master' of github.com:MirBSD/mksh
      Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
      Since we use sensible-editor, might as well…
      split off stretch
      build master for/in stretch, for now probably better
      ] conftest.c:6:5: note: in expansion of macro 'LARGE_OFF_T'
      Merge tag 'mksh-56b'
      bump policy
      Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
      Merge remote-tracking branch 'upstream/master'
      LC_CTYPE=C.UTF-8 is more reliable
      … oh, well. But then, you know where to get what from.
      work around coreutils maintainer/upstream(?) idiocy
      bump S-V while here
      Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
      update (patch) from MirBSD CVS
      before I forget that for next time…
      Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
      Merge branch 'master' of github.com:MirBSD/mksh
      bump; lintian’s happy this time \o/
      Merge tag 'mksh-56b.20171017_wtf1' into jessie

root (4):
      This commit was manufactured by cvs2svn to create tag 'mksh-R52c'.
      This commit was manufactured by cvs2svn to create tag 'mksh-R52c'.
      This commit was manufactured by cvs2svn to create tag 'mksh-R53'.
      This commit was manufactured by cvs2svn to create tag 'mksh-R53a'.

tg (188):
      fix embarassing pasto and OS/2 UNC logic; thanks komh!
      fix broken indentation accidentally introduced in -r1.293     (after checking whether indeed indentation or braces are wrong)
      undocument printf(1), it causes user confusion
      improve rendering of contact information
      make ${var at x} with unknown x fail; spotted by izabera, thanks
      there’s no evidence for -e in any BSD echo (but in ksh93 print)
      in ${foo=bar}, “bar” must be scalar context; spotted by Martijn Dekker
      less assignments
      fixup relation between lksh and mksh (somewhat minimal delta)
      exclude PATH manipulation if we guess at OS/2
      improve wording avoiding bad linebreaks
      add missing -e to print synopsis; From: Jean Delvare <jdelvare at suse.de>     also add missing .Ns (no space) between -u and [n] in its option list
      fixup tilde expansion comments; revert a few bogus dirsep changes
      remove odd use of KEEPASN, I believe it really unnecessary now
      make “builtin” and “wait” not special
      add “\builtin” utility
      unbreak $'\xz' to expand to 'xz'
      add a “\builtin” builtin, make it forward assignments, fix some bugs     related to that:     • while AT&T ksh may do it, POSIX says nothing about allowing       declaration commands only without vars and redirections, and       “without vars” especially seems against which commands they are     • fix relationship between forwarders and real declaration commands     • clean up c_builtin vs shcomexec mess
      document the declaration utility stuff and the new \builtin     also, make global a declaration utility
      add OS/2 PATH note, for komh
      update testsuite accordingly
      fix GNU groff-only formatting bug in the manpage     From: Jean Delvare <jdelvare at suse.de>
      implement “typeset -g”, From: Martijn Dekker <martijn at inlv.org>     also deprecate “global”; thanks!
      Harvey-OS fixed APEX, this is reported to work now
      further change typeset scope description, inspired by Martijn Dekker
      Haiku-related ulimit overhaul:     • print ulimit -a with the flag, like most other shells do     • move ulimit-1 regression test to ulimit-2 and exclude on Haiku:       it can only set the -n and -V limits AFAICT     • document that some OSes (here: Haiku) can only set the soft limits       (so “ulimit -nS 1024” is okay but -S is required)     • check “ulimit -c 0”, which dot.mkshrc uses, everywhere       (if it errors out, hack around it or stub it out with MKSH_NO_LIMITS)
      use the new “\builtin” builtin for quoting, everywhere
      use \\builtin ipv \let] and \set internally
      fix padding in Lb64encode
      introduce a FAQ, move lots of stuff there and add lots of stuff
      add standard variable PATHSEP, for better and easier OS/2 support
      fixup LINENO in eval and alias; patch and initial testcase     From: Martijn Dekker <martijn at inlv.org>
      fixup “\builtin” on OS/2; thanks komh for spotting this
      small character classes overhaul:     • make fast character classes even faster by removing the C_SUBOP2 hack       in favour of a separate seldom-used ksh_issubop2 macro (which also       makes ctype() side-effect-safe) which is a slower class (no change there)     • optimise cases of ksh_isalphx followed by a ksh_isalnux loop       (used parsing variable names)     • remove a misleading comment in initctypes() about \0 from pdksh     • rename C_ALPHA to C_ALPHX to make it more clear the underscore is included     • sprinkle a few ord() in there     • add new ksh_isalpha() which tests for [A-Za-z] (slow character class)     • there is no '_:\' drive on OS/2 (which inspired the whole changeset)
      split path-specific ('C:\FOO' instead of '/foo') stuff into MKSH_DOSPATH:     • backslashes as directory separators     • semicolon as $PATH separator     • drive letters are absolute paths
      POSuX demands persistent history support, so permit it in lksh
      introduce the -T flag to set TEXTMODE (ASCII CR+LF newline support)
      merge mksh-os2 by KO Myung-Hun <komh at chollian.net> from https://github.com/komh/mksh-os2
      do not use getenv() to allow users to change OS2_SHELL during the session
      do not output incomplete multibyte chars in ^R
      handle multibyte backspace in ^R
      move c_typeset() to var.c so we have access to either array_index_calc() or innermost_refflag for 'typeset -p x[2]'
      refactor global(x) into isglobal(x, true)
      fix typeset -p x[2]
      string pooling, and more consistent look for error messages
      komh reports that OS/2 has no chance of supporting UTF-8 (like MSYS)
      fix small inaccuracy
      plug a small memory leak
      streamline some error messages
      limit alias characters to what POSIX requires
      something comfy
      fix reentrancy of 'typeset -f' output in the face of aliases; also,     move alias handling for COMSUBs and friends to parse time by request     of Martijn Dekker (and for consistency with function definitions)
      last tweak, to demonstrate brokenness of the old code
      put the hyphen-minus back into the allowed alias name characters, for     Steffen Nurpmeso <steffen at sdaoden.eu>, except disallow it at the start
      allow 'eval break', from Martijn Dekker
      make -masm=intel safe: don’t call a module-global variable “es”
      disambiguate $((…)) vs. $((…)…) in “typeset -f” output
      Clarify the effect of exit and return in a subshell     From: Jean Delvare <jdelvare at suse.de>
      make compile-time asserts simpler
      fix ^O if modified; LP#1675842
      now we have cheap cta move them into compile time
      (very few) fixes and a couple of workarounds for Coverity
      ok, you’ve got a point there
      add test -v, initially from Martijn Dekker
      fix test operator comment descriptions
      finally document FPOSIX and FSH delta
      do not apply alias name restrictions to directories or “hash”     reported by Seb <sbb at tuxfamily.org>
      fix comment
      amend MAGIC comment
      useful testcase from POSIX
      restore ‘.’ as allowed char in alias names
      fix accidentally defanged PATHSEP test
      on ^C (INTR, QUIT edchars), shove input line into history
      make ord() result unsigned int; add asc() which is:
      now actually do comparisons for sorting ASCIIbetically
      prepare the new fast character classes, not live yet: need sanity check
      debugging 1/2
      convert to the new fast character classes
      fix C_LEX1 which does STILL N̲O̲T̲ include the NUL…
      eliminate legacy macros
      batch of optimisations
      debugging bugs in optimising
      fixup the remaining issues and last optimisations
      allow : and [ in alias names (but forbid [[ explicitly)     to make 'enable' completely work again
      fix return value to signed
      remove debugging code again
      prepare for EBCDIC target environments (with -E option)
      commit the optimisation result from the new fast character classes
      BEL was, and Vi mode is, not EBCDIC-safe
      commit the EBCDIC run-time table conversion code, so it can be reviewed
      apply most of the remaining parts of the EBCDIC patch, sans the CTRL() changes
      fill two complete round-trip maps EBCDIC <-> ASCII
      control character madness, but more compiler-friendly
      allow backslash escapes for bind for ^ and \ o̲n̲l̲y̲; also more EBCDIC-friendly
      rename asc() to asciibetical() to make clear it’s for POSIX ordering only     and switch remaining consumers, except the allowed one, to rtt2asc()
      oops, ctypes are indexed by ASCII value even on EBCDIC systems
      fix C array arithmetics
      add -DMKSH_FAUX_EBCDIC to test the codepaths better
      fill the map backwards (to use first occurrence of duplicates);     add a cache to ensure basic ASCII mapping is bijective
      keep ksh_ctypes[] array keys in EBCDIC
      move three variables into common data, meaning .bss (hopefully)
      add C_ASCII (0x01 .. 0x7F: 7-bit ASCII except NUL)
      since we have -DMKSH_ASSUME_UTF8=0 on z/OS, omit the known-to-fail check on OS/390
      optimise <0x20/>0x7E into !C_PRINT
      instead of disabling, make it work
      handle expected utf8opt-2a failures better (i.e. don’t even try)
      clean up OS exclusions somewhat: have Perl substitute the UTF-8 locale
      reimplement has_globbing() with proper bracket expression parsing,     and take ahead parsing collating symbols, equivalence classes and     character classes already (heck my first draft of this already did     better than GNU bash, ksh93 I still don’t grok its code at all)
      use strnul(); optimise
      add BSDish [[:<:]] and [[:>:]] matching (angle brackets must be escaped)
      clarify; default to xlc(1) as $CC on z/OS
      require Config only if it exists, which it reportedly doesn’t on OS/390
      nuke unused stuff
      commit my WIP for the Beltane Snapshot of the Mainframe Korn Shell, not going to make finishing it tonight ☹
      add -U to test.sh as well, oops…
      handle EBCDIC in the testsuite runner (error display)
      move more EBCDIC logic into check.pl
      sprinkle a few ord() and add an indicator of why some code fails on EBCDIC
      move magic constants into definitions
      move the constants to an EBCDIC-friendly range
      split and adapt some testcases for EBCDIC
      first cut at the new matching code, IT WORKS!!! in the FIRST try!
      ensure NUL in ASCII and EBCDIC both always occurs ordinal 0
      we absolutely require unambiguous mapping between EBCDIC and extended ASCII     to be able to provide a global stronly monotonous order for comparisons and     bracket expression ranges
      some more small EBCDIC fixes
      switch EBCDIC to “nega-UTF8”
      catch z/OS not having $Config not filling in the __perlpath env correctly
      add EBCDIC primer and attribution for iSKUNK
      sprinkle tons more ord() around
      oops, reverted not enough in commitid 1005909EE7C16B07DC3
      exclude nōn-HPFS-safe pathname-using test from OS/2 (thanks komh)     also exclude on cygwin/msys as not FAT/NTFS-safe
      merge commit b0a2ea76327760a7ecf35172fe525f8aa39320b2 from Harvey-OS:
      Unicode 10.0.0
      make readonly idempotent; spotted by selk from Dragora
      plug part of the history problems until we can do better:     do not change the underlying file when truncating; rather,     copy everything back from the tmpfile to histfd while the     latter is locked
      part 2: don’t stop using the history if the file has been truncated
      turn off UTF-8 mode upon entering POSIX mode, for J�rg
      fuck POSIX
      fixup by regenerating with new eawparse which matches what I submitted to     https://sourceware.org/bugzilla/show_bug.cgi?id=21750 even if only FF00     actually changed due to the algorithms in use
      fix a GCC 7 pointer target signedness warning
      Coverity 1416285
      Coverity 1416283
      Coverity 1416282
      go home Coverity, you’re drunk
      optimise structure size calculation to take alignment into account
      fix Red Hat BZ#1479320 by making interactive shells remember async PIDs too
      always expone mksh’s hexdumper
      perform in chunks, don’t read the entire file into memory ahead
      make EBCDIC-safe
      let hd_mksh take from stdin, great simplification
      promote jupp to default editor if installed, in the customisation section
      oh wait, actually…
      we have a FAQ now! (well, two of them, different scope though)
      fix documentation bug, thanks panpo and Riviera for spotting
      unbreak vi mode '0' movement, bug introduced in r1.323     reported by Larry Hynes <larry at larryhynes.com>
      quell a Fink compiler warning; not entirely correct but no harm done either
      monkey-patch offsetof for a klibc/dietlibc warning; bump to R56b (bugfixes)
      remove redundant OS/2 codes (from komh)
      fix part of realpath for drive-qualified DOS paths:
      turns out the slash was already added (later), 10x komh
      introduce mksh_drvltr(s) short-hand macro
      keep drive letter when simplifying path (untested)
      inline OS/2’s mksh_sdirsep() into its mksh_vdirsep()     because we must separate these two
      eval.c has the only mksh_sdirsep caller and uses it on substrings,     so OS/2 drive letter checks are not correct there
      update comment to unpuzzle a future me
      all uses of mksh_vdirsep should exclude “\builtin” from triggering it
      further OS/2 fixes for simplify_path()
      mksh_abspath() on OS/2 now requires a dir separator after the drive letter     and colon for it to recognise a pathname as absolute, as it should be
      handle drive-qualified nōn-absolute pathnames in do_realpath(), untested
      note on rooted pathnames, concept found in original pdksh which had     various forms of path attributes (not just absolute or not), though     we shouldn’t just copy theirs either
      apply fixes from code review by @komh
      komh says these are redundant
      fix a longstanding double substitution
      move slashifying of PATH, TMPDIR and two OS/2-specific variables from     OS/2-specific to common DOSPATH-specific code (ifdef for the latter two)
      fix “cd e:foo” on DOSPATH systems (I think)
      add MKSH_ENVDIR code for Jehanne (OS by Shamar (giacomotesio) from IRC):     instead of parsing extern char **environ; read it from a filesystem     (typical for Plan 9, though this one is __jehanne__ per ifdef)
      move getdrvwd() declaration out of OS/2-specific part:     each MKSH_DOSPATH port is required to define it (and, later, others)
      apply another quickfix by komh
      tentatively fix Debian #878947 by putting an end to (some) nesting


Supplemental git repository wtf-mksh for Evolvis project useful-scripts
(Evolvis project useful-scripts repository wtf-mksh)

More information about the useful-scripts-commits mailing list