| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| Name: mksh | Distribution: openSUSE Step 15 |
| Version: 56c | Vendor: openSUSE |
| Release: 1.2 | Build date: Sat Feb 6 13:29:09 2021 |
| Group: System/Shells | Build host: obs-arm-5 |
| Size: 654825 | Source RPM: mksh-56c-1.2.src.rpm |
| Packager: https://bugs.opensuse.org | |
| Url: http://www.mirbsd.org/mksh.htm | |
| Summary: MirBSD Korn Shell | |
The MirBSD Korn Shell is an actively developed free implementation of the Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh).
MirOS AND ISC
* Tue Apr 17 2018 werner@suse.de
- Remoce patch mksh-locale.patch and use upstream compile flags
MKSH_EARLY_LOCALE_TRACKING as replacement
* Tue Apr 17 2018 werner@suse.de
- Update to version R56c
R56c is a bugfix-only release everyone must upgrade to:
[komh] Remove redundant OS/2-specific code, clean up others
[komh, tg] Fix drive-qualified (absolute and relative) DOS-style
path support in realpath functionality, partially other places
[tg] Don’t substitute ${ENV:-~/.mkshrc} result again
[tg] Improve OS/2 $PATH (et al.) handling, drive-relative paths
[tg] Add MKSH_ENVDIR compile-time option for Jehanne and Plan 9
[tg] Limit nesting when parsing malformed code (Debian #878947)
[tg] Update wcwidth data with bugfixed script (still Unicode 10;
resulting values are identical to glibc git master for extant chars)
[Dr. Werner Fink] Raise some time limits in the testsuite
[Shamar] Add support for the Jehanne operating system
[komh] Set stdin to text mode before executing child processes on OS/2
[komh] Pass arguments via a resonse file if executing a child fails
[Dr. Werner Fink] Early locale tracking as a compile-time option
[tg] Fix regressions introduced with new fast character classes
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
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
* Fri Dec 15 2017 werner@suse.de
- Add patch mksh-locale.patch to enable the mksh to set internal
lcoale settings like utf support during runtime
* Wed Nov 22 2017 werner@suse.de
- Do not change Build.sh for not using hard coded list of signals
and errors but the cpp macros for this (requested by upstream)
* Tue Nov 14 2017 werner@suse.de
- The AT&T ksh is still part of openSUSE but on SLES only mksh
should be used (bsc#1067195)
* Thu Feb 23 2017 werner@suse.de
- Avoid deprecated API for errors and signals
- Be sure to use a clean history file
* Tue Feb 21 2017 werner@suse.de
- Make errors ini test suite fatal
- Avoid -flto as this breaks even with gcc 6.3.1 20170202
* Tue Feb 14 2017 werner@suse.de
- Use screen to provide a tty for test suite scripts
* Tue Feb 14 2017 werner@suse.de
- Update to version R54
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
R51 is a strongly recommended feature release:
[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
* Mon Apr 20 2015 gber@opensuse.org
- mention vendor modifications in manpage as requested by upstream
* Mon Apr 20 2015 gber@opensuse.org
- update to version 50f
- [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
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
* Sun Mar 01 2015 gber@opensuse.org
- update to version 50e
- [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
/bin/ksh /bin/lksh /bin/mksh /bin/pdksh /etc/alternatives/ksh /etc/alternatives/ksh.1.gz /etc/alternatives/usr-bin-ksh /etc/mkshrc /usr/bin/ksh /usr/bin/lksh /usr/bin/mksh /usr/bin/pdksh /usr/share/doc/packages/mksh /usr/share/doc/packages/mksh/dot.mkshrc /usr/share/man/man1/ksh.1.gz /usr/share/man/man1/lksh.1.gz /usr/share/man/man1/mksh.1.gz /usr/share/man/man1/pdksh.1.gz
Generated by rpm2html 1.8.1
Fabrice Bellet, Fri Jul 24 20:06:31 2026