Log message:
Update mksh to R56b.
R56b is a bugfix-only release everyone should upgrade to:
- [tg] Reference the FAQ webpage
- [panpo, Riviera] Fix documentation bug wrt. Esc+Ctrl-L
- [tg, Larry Hynes] Fix '0' movement in vi mode
- [tg] Replace broken libcs' offsetof macro with MirBSD's
R56 is a bugfix release with some experimental fixes:
- [tg, Seb] Do not apply alias name restrictions to hash/tilde tracking
- [tg] Restore '.', ':' and '[' in alias names ('[[' is still forbidden)
- [tg] Fix accidentally defanged $PATHSEP test
- [tg] On ^C (INTR and QUIT edchars), shove edit line into history
- [iSKUNK, tg] Begin porting to z/OS using EBCDIC encoding, incomplete
- [tg] Redo fast character classes code, adding POSIX and other helpers
- [tg] bind parses backslash-escaped '^' (and '\') as escaped
- [tg] Building with -DMKSH_ASSUME_UTF8=0 no longer causes a known failure in
the testsuite
- [tg] New test.sh option -U to pass a UTF-8 locale to use in the tests
- [tg] re_format(7) BSD: [[ $x = *[[:\<:]]foo[[:\>:]]* ]]
- [tg, iSKUNK] Use Config in check.pl only if it exists
- [tg] New matching code for bracket expressions, full POSIX (8bit)
- [komh] Exclude FAT/HPFS/NTFS-unsafe tests on OS/2 (and Cygwin/MSYS)
- [tg] Update to Unicode 10.0.0
- [tg, selk] Make readonly idempotent
- [tg, multiplexd] When truncating the persistent history, do not change the
underlying file, do all operations on the locked one; do not stop using the
history at all if it has been truncated
- [tg, J?rg] Turn off UTF-8 mode upon turning on POSIX mode
- [Martijn Dekker, Geoff Clare, many on the Austin list, tg] In POSIX mode,
make the exec builtin force a $PATH search plus execve
- [tg] Fix GCC 7, Coverity Scan warnings
- [tg, Michal Hlavinka] Track background process PIDs even interactive
- [tg] Always expose mksh's hexdump shell function; speed it up by working on
the input in chunks; use character classes to make it EBCDIC safe
- [tg] Revamp dot.mkshrc default editor selection mechanism
|
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
|
Log message:
Update mksh to R51. From Changelog:
[tg] OpenBSD sync: handle integer base out of band like ksh93 does
[tg] Protect standard code (predefined aliases, internal code, aliases and \
functions in dot.mkshrc) from being overridden by aliases and, in some cases, \
shell functions (i.e. permit overriding but ignore it)
[tg] Implement GNU bash's enable for dot.mkshrc using magic aliases to redirect \
the builtins to external utilities; this differs from GNU bash in that enable \
takes precedence over functions
[tg] Move unaliasing an identifier when defining a POSIX-style function with the \
same name into lksh, as compatibility kludge
[tg] Korn shell style functions now have locally scoped shell options
[tg, iSKUNK] Change some ASCII-isms to be EBCDIC-aware or pluggable
[tg, Ypnose] Mention lksh build instructions on manpage and website
[tg] Overhaul signal handling; support new POSIX NSIG_MAX, add sysconf(_SC_NSIG) \
as a later TODO item
[tg] Fix signal bounds (1 <= signum < NSIG)
[tg] Improve manual pages, especially wrt. standards compliance
[tg, iSKUNK] Initial EBCDIC work for dot.mkshrc
[tg, iSKUNK] Add list of z/OS signals to Build.sh
[tg] Work around the sh(1) backslash-newline problem by moving the code \
triggering it out of *.opt and into the consumers
[colona] Bind another well-known ANSI Del key in the Emacs mode
[tg] Fix ${foo/*/x} pattern checks, spotted by izabera
[carstenh] Fix error output of cd function in dot.mkshrc
[tg] read partial returns in -N and timeout cases
[tg] Fix $LINENO inside PS1; spotted by carstenh
[tg] Ensure correct padding of at least 2 spaces in print_columns
[tg] Note issues with nested complex parameter expansions and follow-up bugfixes \
to expect
[OpenBSD] Some language fixes in documentation; comments
[tg] Reimplement multi-line command history (Debian #783978) + fixes
[Martijn Dekker] Fix command -v for "shell reserved words"
[tg] In dot.mkshrc make use of latest feature: local options
[tg] Fix ""$@ to emit a word
[tg] Change cat(1) hack to look first and not ignore builtin
[KO Myung-Hun] Begin porting mksh to OS/2
[komh, tg] Some generic minor bugfixes from OS/2 porting
[tg] Document mknod(8) isnât normally part of mksh(1)
[tg] Quote arguments to : in build/test scripts as well
[tg] Add cat(1) hack for printf(1)-as-builtin: always prefer external
[tg] Explicitly use binary mode for any and all file I/O in stock mksh
[Ilya Zakharevich] Use termio, not termios(4), on OS/2
[tg] Set edchars to sane BSD defaults if any are NUL
[tg] Implement support for PC scancodes in Vi and Emacs editing mode
[komh] OS/2 uses ; as PATH separator plus support drive letters
|
Log message:
Update to R50f
Upstream changes:
R50f is a required security and bugfix release:
[tg] Add a patch marker for vendor patch versioning to mksh.1
[tg] SECURITY: make unset HISTFILE actually work
[tg] Document some more issues with the current history code
[tg] Remove some unused code
[tg] RCSID-only sync with OpenBSD, for bogus and irrelevant changes
[tg] Also disable field splitting for alias 'local=\typeset'
[tg] Fix read -n-1 to not be identical to read -N-1
[tg] Several fixes and improvements to lksh(1) and mksh(1) manpages
[tg] More code (int size_t), comment and testsuite fixes
[tg] Make dot.mkshrc more robust (LP#1441853)
[tg] Fix issues with IFS='\' read, found by edualbus
[enh, tg] Fix integer overflows related to file descriptor parsing, found by \
Pawel Wylecial (LP#1440685); reduce memory usage for I/O redirs
[tg] Document in the manpage how to set ±U according to the current locale \
settings via LANG/LC_* parameters (cf. Debian #782225)
[igli, tg] Some code cleanup and restructuring
[tg, oksh] Handle number parsing and storing more carefully
R50e is a required bugfix release:
[tg] Add more tests detailing behaviour difference from GNU bash
[tg] Introduce a memory leak for x=<< fixing use of freed memory instead, \
bug tracked as LP#1380389 still live
[tg] Add x+=<< parallel to x=<<
[tg, ormaaj, jilles] POSIX "command" loses builtin special-ness
[tg] Fix LP#1381965 and LP#1381993 (more field splitting)
[jilles] Update location of FreeBSD testsuite for test(1)
[Martin Natano] Remove dead NULL elements from Emacs keybindings
[tg, Stéphane Chazelas, Geoff Clare] Change several testcases for $*/$@ \
expansion with/without quotes to expected-fail, with even more to come â¹
[tg] Fix miscalculating required memory for encoding the double-quoted parts of \
a here document or here string delimiter, leading to a buffer overflow; \
discovered by zacts from IRC
[RT] Rename a function conflicting with a MacRelix system header
[tg] Use size_t (and ssize_t) consistently, stop using ptrdiff_t; fixes some \
arithmetics and S/390 bugs
[tg] Remove old workarounds for Clang 3.2 scan-build
[tg] Remove all Clang/Coverity assertions, making room for new checks
[tg] Fix NSIG generation on Debian sid gcc-snapshot
[tg] Make a testcase not fail in a corner case
[tg] Fix issues detected by GCCâs new sanitisers: data type of a value to \
be shifted constantly must be unsigned (what not, in Câ¦); shebang check \
array accesses are always unsigned char
[tg] Be even more explicit wrt. POSIX in the manpage
[tg] Fix shebang / file magic decoding
[tg] More int â bool conversion
[tg] Let Build.sh be run by GNU bash 1.12.1 (Slackware 1.01)
[Stéphane Chazelas, tg] Fix here string parsing issue
[tg] Point out more future changes in the manpage
[tg] Call setgid(2), setegid(2), setuid(2) before seteuid(2)
[tg] Fix spurious empty line after ENOENT âwhence -vâ, found by Ypnose
[tg] Optimise dot.mkshrc and modernise it a bit
[tg] Use MAXPATHLEN from <sys/param.h> for PATH_MAX fallback
[tg] Some code cleanup and warnings fixes
[tg] Add options -a argv0 and -c to exec
[jsg] Prevent use-after-free when hitting multiple errors unwinding
[tg] Fix use of $* and $@ in scalar context: within [[ ⦠]] and after case \
(spotted by Stéphane Chazelas) and in here documents (spotted by tg@); fix \
here document expansion
[tg] Unbreak when $@ shares double quotes with others
[tg] Fix set -x in PS4 expansion infinite loop
|