- update to 59c:
* [tg] Update character widths (Jamo bugfix)
* [spellintian] Fixes
* [Jonathan Perkin] Don’t use “test -e” in Build.sh
* [Jonathan Perkin] Mac OSX-specific: ensure ulimit -m is present even if it is an alias of ulimit -v (10.4+), for compatibility
* [Finn Thain, Stanley J. Johnson] Port to A/UX
* [tg] Add older ulimit(2) support, if setrlimit(2) is missing
* [tg] More EBCDIC-safeness (slightly…)
* [PerlAcademy] Allow all tests to pass with very old Perl 5
* [tg] Fix test.sh’s output of tested/expected shell version
* [Stanley J. Johnson] Let A/UX default CC to gcc
* [tg] Drop “is being ported” warning from A/UX and OS/2, they work
* [tg] Include <pwd.h> only if MKSH_NOPWNAM is not defined
* [tg] “command -v” must print absolute pathnames, even if $PATH contains relative pathnames under which the command in question was found (orbea)
* [komh] Fix absolute pathnames relative to / on nōn-OS/2, too
* [tg] Fix some more corner cases related to pathname normalisation
* [tg] FAQ: “${@?}: bad substitution” documentation
* [tg] Fix some constructs pointed out by https://www.deepcode.ai/
* [tg] Clean, refactor, optimise some code
* [tg] Allow ^Xe on empty command line; quote editor argument properly
* [tg] FAQ: an IRC user suggests ^Xe for ad-hōc scripts and multiline
* [tg] Eliminate many unnecessary calls to (re‑)allocate memory
* [tg] Correct order during tree-printing of heredocs (LP#1783355)
* [tg] Drop some possibly unreached and probably broken code
* [tg] Increase FAQ2HTML.sh compatibility with pre-POSIX shells
* [tg] Demote some (unlikely called) output code to !MKSH_SMALL
OBS-URL: https://build.opensuse.org/request/show/848014
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=223
- update to 59b:
* [tg] Handle other tmux $TERM types, pointed out by multi via IRC
* [tg] Fix typo in FAQ
* [tg] y='a\*b'; [[ $x = $y ]] regression (Martijn Dekker) fix
* [l0kod] Defuse CLIP OS O_MAYEXEC support (cf. LWN)
* [tg] Make set +o output a command to restore the currently set and (new!) cleared options, keep a reset state per session (experimental)
* [tg] Correct documentation and code regarding to argv[0] parsing: first ‘-’ for login shells, then ‘r’ case-insensitively for restricted shell, then “sh”*, again case-insensitively, for BINSH_* modes; add tests
* [tg] On OS/2, allow case-insensitive name for direct builtin call
* [tg] Always skip startup files if direct builtin call
* [tg] Avoid some sometimes-redundant startup codepaths
* [tg] Repair out-of-tree builds (noticed by rsc)
* [tg] Work around a glibc on Hurd issue in testsuite
* [komh] OS/2 filesystem mtime granularity is two seconds (as in FAT)
* [tg] Replace while with goto: Coverity was confused
* [tg] Fix invocation of some builtins when external utility absent
* [komh] Improve automatic executable suffix for test builtin
* [tg] Style code, refactor, clean up, optimise
* [tg] Use cached egid in test builtin
* [tg] Make bind builtin output reentry-safe; safety fixes
* [tg] If basename(argv[0]) after leading dash removal begins with an ‘r’ enable restricted shell flag; reported by pmjdebruijn via IRC
* [tg] Fix code example in manpage for how tab completion escapes
* [tg] Match full extglob pattern RHS of [[ string comparison like ksh93
* [tg] Implement which with -a in dot.mkshrc
* [tg] Remove global builtin (use typeset -g)
* [tg] alias, command, whence: Print alias names quoted
* [tg] Implement a new quote-region (Esc+Q) editing command
* [tg] Document all built-in aliases (requested by msiism via IRC) and those aliases and functions shipped in dot.mkshrc; completely overhaul builtin and reserved word documentation, for consistency
* [tg] The manual page now features properly spaced em dashes ☻
* [tg] Document that test x = y doesn’t extglob, only [[ x = y ]] does
* [lintian] hyphen-used-as-minus-sign (on jessie, not later, ‽‽‽)
OBS-URL: https://build.opensuse.org/request/show/828290
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=221
R57 rolls up bugfixes, with few hard changes:
[gecko2] Update operating environment reporting for the Macintosh
[Martijn Dekker] make ${foo#'bar'} in here document behave like ksh93
[Martijn Dekker] quote empty strings for re-entry into shell
[tg, G.raud Meyer] Improve documentation, especially for tty states
[tg] Protect against entering line editing with bad saved tty state
[tg] Fix set -o allexport for arrays (which we apparently do)
[tg] Handle lseek(2) returning -1 as pointed out by Coverity Scan
[tg] Fix left-padding UTF-8 strings
[tg, G.raud Meyer] Fix using the “-m” flag on the command line
[tg] Update to UCD 11.0.0
[multiplexd] Fix a segfault using ^W during search in Vi mode
[tg] Fix an error message; add a test for controlling tty
[tg] Permit unsetting LINES and COLUMNS, for those who need it
[tg] Fix manpage bug (RedHat BZ#1612173)
[tg] Minor spelling cleanup
[tg] Unbreak high-bit7 (nōn-ASCII) heredoc separators (LP#1779179)
[tg] Allow dumping high-bit7-char-containing strings in DEBUG mode
[tg] Add some testcases for behaviour questions popped up in IRC
[tg] Trick a GCC warning, to make up for it ignoring lint(1) hints
[tg] Add O_MAYEXEC support for CLIP OS
[tg] Make dup-to-self with ksh-style fd≥3 closing work; catern via IRC
[tg] Add compat glue for newer GNU groff mdoc to the manpages
[tg] Trigger EXIT trap after single-command subshells (Debian #910276)
[tg] Document set -eo pipefail caveat (LP#1804504)
[tg] Fix MKSH_EARLY_LOCALE_TRACKING warning
[tg] Document that, when your Unix is broken, GIGO applies (LP#1817959)
[tg] Improve error message for inaccessible executables (LP#1817789)
- Switch from patching check.t, sh.h and Build.sh to using
KSH_VERSIONNAME_VENDOR_EXT and appending to CPPFLAGS beforehand
- Remove qemu/ppc patches that are upstreamed/no longer necessary
- Drop LTO support which was already always disabled
- Handle newer GCC note output during configure stage
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=211
- [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] 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
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=182
- [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
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=180
- [Goodbox] Fix NULL pointer dereference on “unset x; nameref x”
- [tg] Fix severe regression in field splitting (LP#1378208)
- [tg] Add a warning about not using tainted user input (including
from the environment) in arithmetics, until Stéphane writes it up
nicely
- refresh vendor patch
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=178
- update to SECURITY version 50c
- [tg] Know more rare signals when generating sys_signame[] replacement
- [tg] OpenBSD sync (mostly RCSID only)
- [tg] Document HISTSIZE limit; found by luigi_345 on IRC
- [zacts] Fix link to Debian .mkshrc
- [tg] Cease exporting $RANDOM (Debian #760857)
- [tg] Fix C99 compatibility
- [tg] Work around klibc bug causing a coredump (Debian #763842)
- [tg] Use issetugid(2) as additional check if we are FPRIVILEGED
- [tg] SECURITY: do not permit += from environment
- [tg] Fix more field splitting bugs reported by Stephane Chazelas and
mikeserv; document current status wrt. ambiguous ones as testcases too
- use build log cleaner sed command from home:mirabile package
- enable lksh build-time option to automatically run "set -o posix"
when called as sh or -sh, like home:mirabile package did
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=176
- [Ypnose] Fix operator description in the manpage
- [tg] Change all mention of “eglibc” to “glibc”, it is merged
back
- [Colona] Fix rare infinite loop with invalid UTF-8 in the edit
buffer
- [tg] Make more clear when a shell is interactive in the manpage
- [tg] Document that % is a symmetric remainder operation, and
how to get a mathematical modulus from it, in the manpage
- [tg, Christopher Ferris, Elliott Hughes] Make the cat(1)
builtin also interruptible in the write loop, not just in the
read loop, and avoid it getting SIGPIPE in the smores function
in dot.mkshrc by terminating cat upon user quit
- [tg] Make some comments match the code, after jaredy from obsd
changed IFS split handling
- [tg] Fix some IFS-related mistakes in the manual page
- [tg] Document another issue as known-to-fail test IFS-subst-3
- [tg] Improve check.pl output in some cases
- [tg, Jb_boin] Relax overzealous nameref RHS checks
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=174
- [tg] Fix initial IFS whitespace not being ignored when
expanding
- [tg] MKSH_BINSHREDUCED no longer mistakenly enables brace
expansion
- [tg] Explain more clearly Vi input mode limitations in the
manpage
- [tg] Improve error reporting of the check.pl script (which
needs a maintainer since I don’t speak any perl(1), really),
for lewellyn
- [tg] Use $TMPDIR in test.sh for scratch space
- [tg, Polynomial-C] Check that the scratch space is not mounted
noexec
- [pekster, jilles, tg] Use termcap(5) names, not terminfo(5)
names, in tput(1) examples, for improved portability (e.g. to
MidnightBSD)
- [tg] Avoid C99 Undefined Behaviour in mirtoconf LFS test
(inspired by Debian #742780)
- [tg] Fix ${!foo} for when foo is unset
- [tg] Improve nameref error checking (LP#1277691)
- [tg] Fix readonly bypass found by Bert Münnich
- [Ryan Schmidt] Improved system reporting for Mac OS X
- [nDuff] Explain better [[ extglob handling in the manpage
- [tg] Remove arr=([index]=value) syntax due to regressions
- [tg] IFS-split arithmetic expansions as per POSIX 201x
- [OpenBSD] Add more detailed Authors section to manpage
- [tg] Fix set ±p issue for good: drop privs unless requested
- [tg] Improve signal handling and use a more canonical probing
order
- [tg] Fix return values $? and ${PIPESTATUS[*]} interaction with
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=170
- [tg] dot.mkshrc: fix two issues with the cd wrapper
- [tg] Unbreak set +p (wider issue still to be addressed)
- [Steffen Daode Nurpmeso] Use WCONTINUED with waitpid(2)
- [millert] Add proper suspend builtin handling tty(4) and
setpgrp(2)
- [tg] Sanitise and slightly optimise control character handling
- [tg] Add O_BINARY to all open(2) calls for OS/2 kLIBC support
- [tg] Generate option strings for shell, set, ulimit at compile
time
- [Steffen Daode Nurpmeso] Drop ISTRIP termios(4) mode
- [tg] Mention negative history numbers, octals in the manpage
- [tg] Make check.pl work with Perl < 5.6.1 again
- [tg] Detect getsid(2) and skip the oksh suspend builtin
otherwise
- [tg] Document that set -o noclobber is unsafe for tempfiles
- [tg] Update to Unicode 6.3.0
- [RT] Restore some portability
- [tg] Fix parsing positional argument variable names
- [tg] Sprinkle a few __attribute__((__pure__)); fix warnings
- [tg] Fix build on OSX: always use our wcwidth code; only use
our strlcpy(3) code if the OE doesn’t provide one (prompted by
jonthn on IRC)
- [tg] Optimise sh -c to exec even in MKSH_SMALL
- [tg] Use new BAFH for hashing
OBS-URL: https://build.opensuse.org/package/show/shells/mksh?expand=0&rev=166