./shells/mksh, MirBSD Korn Shell

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]

Branch: CURRENT, Version: 59bnb1, Package name: mksh-59bnb1, Maintainer: jperkin

mksh is the MirBSD enhanced version of the Public Domain Korn shell (pdksh),
a Bourne-compatible shell which is largely similar to the original AT&T
Korn shell; mksh is the only pdksh derivate currently being actively developed.
It includes bug fixes and feature improvements, in order to produce a modern,
robust shell good for interactive and especially script use.

The code has been thoroughly cleaned up and simplified, bugs fixed, standards
compliance added, and several enhancements (for extended compatibility to other
modern shells, as well as a couple of its own) have been placed. mksh has UTF-8
support (e.g. in the emacs editing mode).

Required to build:

Master sites:

Version history: (Expand)

CVS history: (Expand)

   2021-05-24 21:56:06 by Thomas Klausner | Files touched by this commit (3575)
Log message:
*: recursive bump for perl 5.34
   2020-08-03 17:33:45 by Tobias Nygren | Files touched by this commit (1)
Log message:
mksh: add a CHECK_PORTABILITY_SKIP with a comment
   2020-08-03 17:16:04 by Tobias Nygren | Files touched by this commit (1)
Log message:
undo previous. Apparently one doesn't patch this in the normal way.
   2020-08-03 17:13:55 by Tobias Nygren | Files touched by this commit (1)
Log message:
mksh: remove double brackets
   2020-07-10 13:24:24 by Jonathan Perkin | Files touched by this commit (1)
Log message:
mksh: Don't set PKG_SHELL when used for bootstrap.

This can cause circular problems where the +INSTALL script requires the shell
itself, but also avoids issues trying to add to /etc/shells during bootstrap
where it may not be appropriate, or done outside of the context of where the
bootstrap tarball will finally be installed.

Users who use mksh as a bootstrap shell can simply add to /etc/shells manually
after installing or extracting the bootstrap as required.

While here remove unnecessary extra indents.
   2020-07-06 12:11:35 by Jonathan Perkin | Files touched by this commit (37)
Log message:
mksh: Import unpacked mksh-59b sources.

Two patches have been applied on top, both of which are stored in the
patches directory as manual-Build.sh and manual-funcs.c, to fix issues
on Darwin and SunOS that will be included in the next mksh release.  The
binary mksh.ico file has been manually removed.

This paves the way for  mksh to be used as an alternate bootstrap shell
instead of shells/pdksh, which has been unmaintained for many years and
has some known issues.

Initial bulk build results on Darwin and SunOS look good, and having a
maintained shell which focuses on portability and speed should provide
us with a better long-term option for systems which require a bootstrap
   2020-05-19 17:20:07 by Nia Alarie | Files touched by this commit (3) | Package updated
Log message:
mksh: Update to 59b

R59b is a must-have bugfix upgrade for R59 (not R58):

    [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

R59 has some major fixes, also introducing breaking changes:

    [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

R58 contains a lot of fixes and improvements:

    [lintian] hyphen-used-as-minus-sign (on jessie, not later, ‽‽‽)
    [tg] Fix system info gcc dump{machine,version} shell escaping level
    [tg] Document KSH_VERSIONNAME_VENDOR_EXT in Build.sh
    [tg] Be more explicit about the LTO bug exposed by check.t
    [Todd C. Miller] Add -x (file locks) and AIX-specific -r ulimits
    [tg] Handle Midipix as test environment and fix some warnings
    [tg] Fix some Build.sh issues as Mirtoconf is now used by MirCPIO and MagicPoint
    [komh] Improve CRLF to LF conversion
    [komh] Ensure ECHO mode is enabled at startup so read has local echo
    [komh] Let check.pl retain the PERLIO env variable
    [komh] Unbreak nounset-1 test on systems with drive letters
    [komh, tg] Make ulimit-3 test work without |& (that is, incomplete \ 
ports, i.e. those with -DMKSH_NOPROSPECTOFWORK)
    [tg] Disable xxx-stat-1 test for now, fails when run as root
    [tg] Drop Build.sh flags -c combine, -c lto
    [Martijn Dekker] Exit 126 on execve(2) failure, not 1 (e.g. E2BIG)
    [tg] Behave set and export/readonly-on-read-only-variables when run with \ 
command and command dot, bugreports by Martijn Dekker
    [tg] dot.mkshrc: simplify; enhance (un)setting locale example
    [tg, selk] Catch build errors earlier
    [tg] Add -fno-lto (if GCC is detected) to CFLAGS and LDFLAGS
    [tg] Limit HISTSIZE to 65535, as long pre-announced
    [tg] Unbreak testsuite selftest-tty-absent for lksh
    [tg] Begin work on support for neatcc (needs neatcc to evolve first)
    [tg] Fix possibly not enough aligned access in struct job
    [tg] Support going full setugid by running “set -p” once interactive
    [tg] Document another (arcane, almost nowhere needed) definition
    [tg] Improve code legibility and testsuite reliability and maintenance
    [tg] Speed up trivial += cases (LP#1855167)
    [tg] Some further code and memory optimisation and test coverage
    [tg] Document that += is always string append (LP#1857702)
    [tg] Fix “set -e appears active within eval but isn’t” reported by \ 
Martijn Dekker and another bug related to using set ±e inside eval
    [tg] Handle parameter assignment in front of invocations of POSIX-style \ 
functions like ksh-style ones and external utilities; cf. Debian #935115
    [tg] Fix bad memory access for invalid syntax (LP#1857828, LP#1857826)
    [Brian Callahan] Update MALLOC_OPTIONS-using testcase for newer OpenBSD
    [tg] Support lacc as compiler (just detecting, no change), thanks Brian
    [tg] Share __IDSTRING with jupp
    [tg] Update string comparison/pattern documentation
    [tg, veedeeh] Document vi command line editing mode state better
    [tg] Add FAQ2HTML.sh to convert mksh.faq to local valid XHTML+CSS
    [tg] Correct backslash expansion documentation; caveat re. 16-bit UCS
    [tg] Fix extra empty field on IFS-NWS trim expansion (Martijn Dekker)
    [tg] Improve code performance, quality, robustness and correctness
    [tg] Allow ${x:n} where n is an identifier (veedeeh)
    [tg] Permit ‘+’ in alias names, but not leading (Aleksey Cheusov)
    [tg] Fix here strings for $@ (LP#1857195), reported by jvdh
    [multiplexd] Add vi mode PgDn, similar to PgUp doing history search
    [tg] Build.sh fixup unreliable test -n/-z
    [multiplexd] Correct documentation of vi mode @c
    [tg] Update to UCD 13.0.0
    [tg] Use nanoseconds in test -nt / -ot (LP#1855325)
   2020-02-25 02:02:37 by David H. Gutteridge | Files touched by this commit (1)
Log message:
mksh: fix typos in DESCR