mksh – old versions

This page lists information about mksh R29 and earlier.

Old news

No news yet anyway… stay tuned.

Old instructions

Compilation

Accepted arguments to Build.sh are:

These special values in CPPFLAGS are recognised:

The build script also honours the following environment variables:

Hints and other useful stuff

mksh does not write a history file by default any longer; set the environent variable HISTFILE in ~/.mkshrc (or the profile) if you want this. The history file format of mksh (and oksh and pdksh) differs from that of other shells, so you might want to use a construct like
case $KSH_VERSION in
*MIRBSD\ KSH*) export HISTFILE=~/.mksh-history ;;
*PD\ KDH*MirOS*) export HISTFILE=~/.oldmksh-history ;;
*PD\ KSH*) export HISTFILE=~/.pdoroksh-history ;;
?*) export HISTFILE=~/.ksh-history ;;
*) export HISTFILE=~/.nonksh-history ;;
esac

to avoid them overwriting each others' history file.

Very old sample: this

Official Testing

The MirOS Project has tested mksh on the following operating systems, asked people to test, and hunted mksh down in these packaging systems:

Recent Changes

In mksh R29g we MFCd the following changes:

Please use mksh R29f because of below modifications:

Dedicated to David Ramsey and Coverity, mksh R29e unveils:

Portability improvements in mksh R29d contain:

Minor bugfixes in mksh R29c – you might want it:

Immediately upgrade to mksh R29b please:

Please upgrade to mksh R29 due to the following changes:

Upgrading to mksh R28 with these changes is highly recommended:

We recommended mksh R27e to be used:

What became of mksh R27d in the meanwhile?

Featuring mksh R27c with these changes:

Changes in the minor version R26c, relative to R26b:

Changes in the minor version R26b, relative to R26:

New major version R26 changed this, relative to R25b:

New minor version R25b contains these changes:

New major version R25 contains these changes:

R24c is another clean-up release, with no change to KSH_VERSION.

R24b is a minor clean-up relase, recommended especially on Darwin.

R24 is an important bug fix release and the new required minimum version to be installed for MirMake. Changes are:

R23 comes with an overhauled build system providing more flags for easier configuration, a bug-fix if the relative path to $0 contained a space, and does not need h2ph(1) to build some headers any more. Also, the code has cleaned up a bit and some manual page glitches were corrected. Some of these changes originated by Han Boetes, a few came via the OpenBSD project.

R22d is the first version which works if source or build directory contain spaces in the pathname. It also allows building without bothering to pre-format the manual page.

R22c contains some compile time warning fixes on non-MirOS platforms.

R22b contains an important fix regarding the srand(3) initialisation logic and a portability fix for NetBSD.

R22 is the result of three different kinds of work: integrating diffs from Debian's pdksh package, as needed, including fixing bugs and of course testing and fixing docs; fixing the dreaded emacs-mode filename with brackets (hello AONE); much cleanup and polishing. Also, the new codebase has been tested on a fair number of systems now, with more to follow (maybe even new, currently unsupported, platforms).

R20b contains some minor arc4random and build fixes against R20.

R21 has been a three-way integration work from OpenBSD-current's ksh, MirOS-current's ksh and portable mksh R20. This is the first release to come without autoconf'd script; it is much smaller and installs both faster and easier. Several bugs have been fixed, the testsuite has been enhanced and the code was cleaned up largely. pdksh lookalikeness was largely dropped, and support for octal and sedecimal (hexadecadic) numbers via prefixing with 0 or 0x has been added. This is an experimental release; it is not yet supported e.g. by MirMake – make(1) – or other tools but this will follow soon. MirbsdKsh R21 is to be the only shell available on MirOS #9.

R20 integrated an experimental bugfix from millert@openbsd and shuffled some code around. OS/2 support vanished, and the rest of the code shrank and was optimised. This is the first version since v1.11 to work on SFU (Interix) 3.5 as-is. The upgrade to R20 is highly recommended. Note: the mksh R20 distfile has changed from before Dec 14, 16:00.

R19 changes back a bugfix from R18 which caused a regression (from OpenBSD) and changed behaviour to match ksh88 on Solaris (from OpenBSD).

v1.18 (R18) fixes some core dump bugs and is a recommended update.

v1.17 comes out with the final MirOS licence template applied, but not yet OSI approved (it's not our fault though). There are regression fixes and bug fixes; IFS field splitting now works as documented. This version is a major improvement both over v1.16 and OpenBSD /bin/ksh, so please use it and report possible bugs.

v1.16 IS A BETA VERSION, use at your own risk. This version comes with a code cleanup session (for compilation with -Wall -Werror -W -pedantic and in preparation for doing an indent(1) whack over the source; any volunteers?) and some new features (with -T it spawns on a different tty than you're on - cool for single user mode) and code removed (the mailbox checking functionality, since everyone sane uses UW-IMAPD to access his MBX format folder using IMAPS, port 993, even to localhost). The code is also ANSIfied and protoised, in preparation for style(9) aka KNF.

There were no v1.13, v1.14, and v1.15 was never released as portable version. MirbsdKsh version numbers were pretty much RCS IDs at the time of writing this paragraph.

v1.12 fixes the manpages and minor stuff, as well as a signalling bug and the inability to build without gcc installed as gcc. It also adds installation hints for various operating systems.

v1.11 is a minor update to v1.10 with a few build and style fixes only.

MirOS Logo