Subject: CVS commit: pkgsrc/shells/mksh
From: Benny Siegert
Date: 2017-04-13 16:36:46
Message id: 20170413143646.E0CF9FBE4@cvs.NetBSD.org

Log Message:
Update mksh to R55.

R55 is mostly a feature release with summary bugfixes:

  * [komh] Fix OS/2 search_access() and UNC path logic
  * [tg] Undocument printf(1) to avoid user confusion
  * [Jean Delvare, tg] Fix printf builtin -R option
  * [tg] Make ${var@x}, unknown x, fail (thanks izabera)
  * [tg] ${var=x} must evaluate x in scalar context (10x Martijn Dekker)
  * [tg] Fixup relation between lksh and mksh, reduce delta
  * [tg] Improve manpage display; add OS/2 $PATH FAQ
  * [Jean Delvare] Fix bugs in manpage
  * [tg] Review tilde expansion, removing ?odd use of KEEPASN? and introduce
    POSIX ?declaration utility? concept; wait isn?t one
  * [tg] Add \builtin utility, declaration utility forwarder
  * [tg] Make $'\xz' expand to xz, not \0
  * [tg] Use fixed string pooling (requires the above change in host mksh)
  * [tg] POSIX declaration commands can have varassign and redirections
  * [Martijn Dekker] Add typeset -g, replacing homegrown ?global?
  * [Harvey-OS] Disable NOPROSPECTOFWORK, APEX is reportedly fixed now
  * [tg] Display ulimit -a output with flags; improve Haiku
  * [tg] Drop old let] hack, use \builtin internally
  * [tg] Fix padding in Lb64encode in dot.mkshrc
  * [tg] Move FAQ content to a separate, new FAQ section in the manpage
  * [tg] Add new standard variable PATHSEP (?:?, ?;? on OS/2)
  * [Martijn Dekker] Fix LINENO in eval and alias
  * [komh] Fix ?\builtin? on OS/2
  * [tg] Improve (internal) character classes code for speed
  * [tg] Fix: the underscore is no drive letter
  * [tg] No longer hard-disable persistent history support in lksh
  * [tg] Introduce build flag -T for enabling ?textmode? on OS/2 (supporting
    CR+LF line endings, but incompatible with mksh proper)
  * [tg] Merge mksh-os2
  * [tg] Permit changing $OS2_SHELL during a running shell
  * [tg] Fix multibyte handling in ^R (Emacs search-history)
  * [tg] Allow ?typeset -p arrname[2]? to work
  * [tg] Make some error messages more consistent
  * [tg, komh] Disable UTF-8 detection code for OS/2 as unrealistic
  * [tg, sdaoden] Limit alias name chars to POSIX plus non-leading ?-?
  * [tg, Martijn Dekker] Expand aliases at COMSUB parse time
  * [tg] Make ?typeset -f? output alias-resistent
  * [tg, Martijn Dekker] Permit ?eval break? and ?eval continue?
  * [tg] Make -masm=intel safe on i386
  * [tg] Disambiguate $((?)) vs. $((?)?) in ?typeset -f? output
  * [Jean Delvare] Clarify the effect of exit and return in a subshell
  * [tg] Simplify compile-time asserts and make them actually compile-time
  * [tg] Fix ^O in Emacs mode if the line was modified (LP#1675842)
  * [tg] Address Coverity Scan? stuff? now that it builds again
  * [Martijn Dekker, tg] Add test -v
  * [tg] Document set -o posix/sh completely

R54 is a bugfix release with moderate new features:

  * [tg] Simplify and improve code and manual page
  * [tg] Try GCC 5?s new -malign-data=abi
  * [tg] Allow interrupting builtin cat even on fast devices (LP#1616692)
  * [tg] Update to Unicode 9.0.0
  * [Andreas Buschka] Correct English spelling
  * [tg] Handle set -e-related error propagation in || and && constructs
    correctly
  * [tg] Initialise memory for RNG even when not targeting Valgrind
  * [tg] Shrink binary size
  * [Brian Callahan] Improve support for the contemporary pcc compiler
  * [tg] Fix side effects with lazy evaluation; spotted by ormaaj
  * [tg] New flags -c (columnise), -l, -N for the print builtin
  * [Larry Hynes] Fix English, spelling mistakes, typos in the manpage
  * [tg, ormaah] Return 128+SIGALRM if read -t times out, like GNU bash
  * [Martijn Dekker] Install both manpages from Build.sh
  * [Martijn Dekker] Document case changes are ASCII-only
  * [Ronald G. Minnich, Elbing Miss, ?lvaro Jurado, tg] Begin porting to
    Harvey-OS and APEX (similar to Plan 9 and APE)
  * [KO Myung-Hun] More infrastructure for the OS/2 (EMX, KLIBC) port

R53a is a snapshot/feature release:

  * [lintian] Fix spelling
  * [tg] Unbreak multi-line command history broken by history flush
  * [tg] Fix redefining POSIX functions that were Korn functions before
  * [tg, TNF] Fix bounds checks in Vi editing mode
  * [tg] Handle combining characters at end of string or output correctly
  * [tg] Fix ${!#} ${!?} ${!-} (POSIX, prompted by izabera)
  * [tg] Fix shf.c-internal buffer overread on printing digits
  * [J?rg] Fix a typo in the testsuite
  * [arekm] Increase default edit line size (unless MKSH_SMALL)
  * [tg] Improve description of Emacs mode keybindings, especially ^U
  * [tg, arekm, jilles] Abort read builtin in case of read(2) errors
  * [tg, izabera, carstenh] Fix most of the ambiguous corner cases related to $
    {[pfx]var[op[word]]} (${@:-1} still unsupported)
  * [carstenh] Contribute some more testsuite coverage
  * [tg] WDS_TPUTS now emits QCHAR newline reentrant-safe
  * [tg] Fix var=<< implementation (LP#1380389)
  * [tg, FreeBSD] Make XSI test(1) extensions behave as if they were POSIX
  * [tg, izabera] Add $(<<<x) and $(<<EOF?) implementation
  * [tg] Lower minimum screen size accepted as ?sane? from the OS to 4?2
  * [tg, Torsten Sillke] Simplify tilde-expanded parameters
  * [tg, Torsten Sillke] Fix default PS1 for substring matches
  * [tg] Apply defer-builtin-with-arguments logic to realpath builtin
  * [tg] Rework string pooling (own vs. compiler?s) (LP#1580348)
  * [tg] Feature: print -A, prints arguments as characters
  * [tg, izabera] Replace <<< and >>> as ROL and ROR operators \ 
with their new ^
    < and ^> spelling as per this proposal
  * [tg, slagtc] Clear-to-EOL under tmux to work around its anti-feature
  * [tg, p120ph37] Remove support for using file descriptors with more than a
    single digit, in preparation for named file descriptors
  * [tg] Correct, but simplify (at the potential cost of more tty I/O than
    strictly necessary, though never redundant and (probably) not more than
    before when it was miscalculated), line clearing and redrawing
  * [slagtc, tg] Implement new evaluate-region editing command Esc+Ctrl-E
  * [tg] Prefer external rename utility over the recovery builtin
  * [tg] Remove redundant full-line redraws
  * [tg, Natureshadow] Fix errorlevel of ?.? (?dot? special builtin) when the
    sourced script does not run any commands, for POSIX compliance
  * [tg] Refactor op tokens and edchars to shave off some more bytes
  * [tg] Fix some bugs in the manpage and some occasional/minor code bugs
  * [tg, Brian Callahan] Mark tests requiring new perl as !need-pass
  * [tg, slagtc] Add $KSH_MATCH and, to make it usable, ${foo@/bar/baz}
  * [tg, Score_Under] Fix bogus patch from OpenBSD: only NULL the global source
    in unwind when actually reclaiming its Area
  * [izabera] Mention in the manpage that integer bases go up to 36
  * [Natureshadow] Fix /= operator broken during refactoring

R52c is a bugfix-only release:

  * [tg] Shave 200 bytes off .text by revisiting string pooling
  * [tg, J?rg] Fix manpage for ditroff on Schillix
  * [tg, wbx] Use sed 1q instead of unportable head(1)
  * [tg] Implement underrun debugging tool for area-based memory allocator
  * [tg] Fix history underrun when first interactive command is entered
  * [tg, bef0rd] Do not misinterpret ?${0/}? as ?${0//?, fixes segfault
  * [tg, St?phane Chazelas] Fix display problems with special parameters
  * [tg, St?phane Chazelas] Catch attempt to trim $* and $@ with ?, fixes
    segfault (Todd Miller did this in 2004 for ${x[*]} already, so just sync)
  * [Martijn Dekker] Fix ?command -p? with -Vv to behave as POSIX requires
  * [tg, jilles, Oleg Bulatov] Fix recusive parser with active heredocs
  * [tg] Flush even syntax-failing or interrupted commands to history
  * [tg, fmunozs] Fix invalid memory access for ?'\0'? in arithmetics
  * [tg] Explicitly reserve SIGEXIT and SIGERR for ksh
  * [tg, izabera] Catch missing here documents at EOF even under ?set -n?
  * [kre, tg] Document Austin#1015 handling (not considered a violation)
  * [tg, fmunozs] Fix buffer overread for empty nameref targets
  * [tg] Fix warnings pointed out by latest Debian gcc-snapshot
  * [tg, Martijn Dekker] Document upcoming set +o changes
  * [Martijn Dekker] Expand testsuite for command/whence

R52b is a strongly recommended bugfix-only release:

  * [tg] Recognise ksh93 compiled scripts and LZIP compressed files as binary
    (i.e. to not run as mksh plaintext script)
  * [tg] Document that we will implement locale tracking later
  * [tg] Add EEXIST to failback strerror(3)
  * [jilles] Make set -C; :>foo race-free
  * [tg] Don?t use unset in portable build script
  * [tg] Plug warning on GNU/kFreeBSD, GNU/Hurd
  * [tg] Document read -a resets the integer base
  * [J?rg] Fix manpage: time is not a builtin but a reserved word
  * [J?rg, tg] Make exit (and return) eat -1
  * [tg] parse ?$( (( ? ) ? ) ? )? correctly (LP#1532621), Jan Palus
  * [tg] reduce memory footprint by free(3)ing more aggressively
  * [tg] fix buffer overrun (LP#1533394), bugreport by izabera
  * [tg] correctly handle nested ADELIM parsing (LP#1453827), Teckids
  * [tg] permit ?read -A/-a arr[idx]? as long as only one element is read; fix
    corruption of array indic?s with this construct (LP#1533396), izabera
  * [tg] Sanitise OS-provided signal number in even more places
  * [tg] As requested by J?rg, be clear manpage advice is for mksh
  * [tg] Revert (as it was a regression) POSIX bugfix from R52/2005 related to
    accent gravis-style command substitution until POSIX decides either way
  * [tg] Handle export et al. after command (Austin#351)
  * [tg] Catch EPIPE in built-in cat and return as SIGPIPE (LP#1532621)
  * [tg] Fix errno in print/echo builtin; optimise that and unbksl
  * [tg] Update documentation, point out POSIX violation (Austin#1015)

R52 is a strongly recommended bugfix release:

  * [_0bitcount] Move moving external link from mksh(1) to the #ksh channel
    homepage linked therein
  * [tg] Make setenv ?set -u?-safe and fix when invoked with no args
  * [tg] Make ?typeset -f? output reentrant if name is a reserved word
  * [oksh] Zero-pad seconds in ?time? output to align columns
  * [tg] Check signals and errorlevels from OS to be within bounds
  * [komh, tg] Quote and document ?;? as PATH separator in some places
  * [oksh, tg] Simplify code to call afree() even if arg is NULL
  * [tg] Fix tree-printing and reentrancy of multiple here documents
  * [tg] Work around LP#1030581 by permitting exactly one space after
  * [tg, oksh] Code quality work, cleanups
  * [tg] New code for here documents/strings with several bugfixes
  * [tg] Stop using issetugid(2) for ?p checks, wrong tool for the job
  * [tg] Reintroduce some -o posix changes lost in 2005, plus fixes
  * [tg] Make ?source? into a built-in command
  * [tg] Drop ?stop? alias, lksh(1) functionality to auto-unalias
  * [tg] Fix \u0000 ignored in $'?' and print
  * [tg] Improve portability of Build.sh
  * [Jilles Tjoelker] Improve portability of testsuite
  * [tg] Fix tilde expansion for some substitutions (izabera, Chet, Geoff)
  * [tg] Improve reparsing of ((?) |?) as ( (?) |?)
  * [Martijn Dekker] Fix test(1) not returning evaluation errors
  * [tg] Fix ${*:+x} constructs (carstenh)
  * [tg] Make (( ? )) into a compound command (ormaaj)
  * [tg] Repair a few parameter substitution expansion mistakes

Files:
RevisionActionfile
1.35modifypkgsrc/shells/mksh/Makefile
1.30modifypkgsrc/shells/mksh/distinfo
1.10modifypkgsrc/shells/mksh/patches/patch-mksh.1