Path to this page:
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: