From b16c91f0120895eaae2618e821cac5b4eda27ac2 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Thu, 25 Aug 2022 19:46:53 +0100 Subject: [PATCH] Release 1.0.3 This point release mainly fixes the following: - A bug in history expansion (set -H) where any use of the history comment character caused processing to be aborted as if it were an invalid history expansion. Affected e.g. 'echo ${#v}'. - A bug in command line options processing that caused short-form option equivalents on some built-in commands to be ignored after one use, e.g., the new read -a equivalent of read -A. - Ksh freezing or using excessive memory if HISTSIZE is assigned a pathologically large value. - A bug that caused ksh in the vi editor mode to crash or produce invalid completions if ESC = was used at the beginning of a line. --- ANNOUNCE | 51 ++++++++++++++++++++++++--------- COPYRIGHT | 3 +- NEWS | 7 +++++ TODO | 8 +++--- src/cmd/INIT/README-mamake.md | 2 -- src/cmd/ksh93/bltins/whence.c | 1 + src/cmd/ksh93/edit/emacs.c | 1 + src/cmd/ksh93/include/version.h | 4 +-- src/lib/libcmd/cut.c | 1 + src/lib/libcmd/wc.c | 1 + 10 files changed, 56 insertions(+), 23 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 39699b125376..0974c953ac60 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,18 +1,10 @@ -Announcing: KornShell 93u+m/1.0.0 +Announcing: KornShell 93u+m/1.0.3 https://github.com/ksh93/ksh - _ _ ___ _____ ___ ___ ___ -| | _____| |__ / _ \___ / _ _ _ _ __ ___ / / | / _ \ / _ \ -| |/ / __| '_ \ | (_) ||_ \| | | |_| |_| '_ ` _ \ / /| || | | | | | | -| <\__ \ | | | \__, |__) | |_| |_ _| | | | | |/ / | || |_| | |_| | -|_|\_\___/_| |_| /_/____/ \__,_| |_| |_| |_| |_/_/ |_(_)___(_)___/ -It may have been exactly a decade since the last one, but here it is at last: -a proper new ksh release. :) Many thanks to all contributors for their hard -work! Compared to an unpatched ksh 93u+ 2012-08-01, this release has roughly -a thousand bugs fixed. It incorporates a fair number of enhancements as well. - -This being an initial release, not all known bugs have been worked out yet. -Let's hope this release will rekindle interest and attract more bug hunters. +This is the third bugfix release in the ksh 93u+m/1.0 series. Many thanks to +all contributors for their hard work! Compared to an unpatched ksh 93u+ +2012-08-01, this release has roughly a thousand bugs fixed. It incorporates +a fair number of enhancements as well. ### CONTRIBUTORS ### @@ -27,7 +19,7 @@ Also includes backported contributions by: David Korn, Glenn Fowler, Lefteris Koutsofios, Siteshwar Vashisht, Kurtis Rader, Roland Mainz, Finnbarr P. Murphy, Lijo George, OpenSUSE ksh 93u+ patch authors, Red Hat ksh 93u+ path authors, Solaris ksh 93u+ patch authors, Debian ksh 93u+ -patch authors, Apple ksh 93u+ patch authors +patch authors, Apple ksh 93u+ patch authors, Graphviz maintainers Many fixes have also been backported from the AT&T 93v- beta as well as the former ksh2020 project lead by Kurtis Rader and Siteshwar Vashisht; @@ -50,6 +42,37 @@ To get involved in development, read the brief policy information in README.md and then jump right in with a pull request or email a patch. See the TODO file in the top-level directory for a to-do list. +### MAIN CHANGES between ksh 93u+m 1.0.2 and 1.0.3 ### + +This point release fixes the following: +- An old bug in history expansion (set -H) where any use of the history + comment character caused processing to be aborted as if it were an invalid + history expansion. +- A bug in command line options processing that caused short-form + option equivalents on some built-in commands to be ignored after one use, + e.g., the new read -a equivalent of read -A. +- Ksh freezing or using excessive memory if HISTSIZE is assigned a + pathologically large value. +- A bug that caused ksh in the vi editor mode to crash or produce invalid + completions if ESC = was used at the beginning of a line. + +### MAIN CHANGES between ksh 93u+m 1.0.1 and 1.0.2 ### + +This bugfix release fixes the interactive shell crashing when one of the +predefined aliases (currently 'history' and 'r') is redefined, whether from +a profile/kshrc script or manually. This crash occurred in two scenarios: +1. when redefining and then unsetting a predefined alias; +2. when redefining a predefined alias and then executing a shell script that + does not begin with a #! path. + +### MAIN CHANGES between ksh 93u+m 1.0.0 and 1.0.1 ### + +This is an urgent bugfix release that removes an incorrect exec +optimization that was capable of terminating the execution of scripts +prematurely in certain corner cases. It is known to make the build scripts +of GNU binutils produce corrupted results if ksh is used as /bin/sh. +See https://github.com/ksh93/ksh/issues/507 for more information. + ### MAIN CHANGES between ksh 93u+ 2012-08-01 and 93u+m/1.0.0 ### Roughly a thousand bugs have been fixed, including many serious/critical diff --git a/COPYRIGHT b/COPYRIGHT index 0eb11193773d..f1279c100c3e 100644 --- a/COPYRIGHT +++ b/COPYRIGHT @@ -20,13 +20,13 @@ ksh 93u+m general copyright notice # Anuradha Weeraman # # Lev Kujawski # # atheik <14833674+atheik@users.noreply.github.com> # +# K. Eugene Carlson # # Ryan Schmidt # # Chase # # Vincent Mihalkovic # # Trey Valenta # # Sterling Jensen <5555776+sterlingjensen@users.noreply.github.com> # # Marc Wilson # -# K. Eugene Carlson # # Harald van Dijk # # Govind Kamat # # Andy Fiddaman # @@ -46,6 +46,7 @@ ksh 93u+m general copyright notice # Solaris ksh 93u+ patch authors # # Debian ksh 93u+ patch authors # # Apple ksh 93u+ patch authors # +# Graphviz maintainers (libast, sfio) # # # ######################################################################## diff --git a/NEWS b/NEWS index 952624149d9d..229fd48a8de7 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,13 @@ This documents significant changes in the 1.0 branch of ksh 93u+m. For full details, see the git log at: https://github.com/ksh93/ksh/tree/1.0 Uppercase BUG_* IDs are shell bug IDs as used by the Modernish shell library. +2022-08-25: + +- Release 1.0.3. + +- In the vi line editor, a bug was fixed that caused erratic behaviour after + using the 0 or ^ commands when already at the beginning of the command line. + 2022-08-24: - Fixed a bug that caused ksh in the vi editor mode to crash or produce diff --git a/TODO b/TODO index 1e86f1844205..1a4a3a20dab9 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -The following bugs and issues are known for ksh 93u+m 1.0.0-rc1: +The following bugs and issues are known for ksh 93u+m 1.0.3: Memory leak when initialising associative array in subshell https://github.com/ksh93/ksh/issues/94 @@ -36,9 +36,6 @@ https://github.com/ksh93/ksh/issues/313 bug in printf when %b and %x$ are used in same format https://github.com/ksh93/ksh/issues/324 -namespaces don't work properly when defined within functions -https://github.com/ksh93/ksh/issues/325 - Associative arrays of various types fail to be unset https://github.com/ksh93/ksh/issues/345 @@ -68,3 +65,6 @@ https://github.com/ksh93/ksh/issues/484 Shell quoting within bracket patterns has no effect https://github.com/ksh93/ksh/issues/488 + +OPTIND not initialised correctly on Solaris/SPARC when compiled with gcc +https://github.com/ksh93/ksh/issues/515 diff --git a/src/cmd/INIT/README-mamake.md b/src/cmd/INIT/README-mamake.md index 5f975153857b..9525dc7b5f91 100644 --- a/src/cmd/INIT/README-mamake.md +++ b/src/cmd/INIT/README-mamake.md @@ -90,8 +90,6 @@ by appending them to the `make` or `done` command: By convention, a virtual rule named `all` makes everything, and a virtual rule named `install` performs installation. -Unrecognized attributes produce a warning and are then ignored. - ### Referencing previously defined rules ### `prev` *rule* [ *attribute* ... ] diff --git a/src/cmd/ksh93/bltins/whence.c b/src/cmd/ksh93/bltins/whence.c index 08ccd361364b..b93108f6d683 100644 --- a/src/cmd/ksh93/bltins/whence.c +++ b/src/cmd/ksh93/bltins/whence.c @@ -12,6 +12,7 @@ * * * David Korn * * Martijn Dekker * +* Johnothan King * * * ***********************************************************************/ /* diff --git a/src/cmd/ksh93/edit/emacs.c b/src/cmd/ksh93/edit/emacs.c index 4e18aa0f1ed6..e0c9f6cba066 100644 --- a/src/cmd/ksh93/edit/emacs.c +++ b/src/cmd/ksh93/edit/emacs.c @@ -13,6 +13,7 @@ * David Korn * * Martijn Dekker * * Johnothan King * +* K. Eugene Carlson * * * ***********************************************************************/ /* Original version by Michael T. Veach diff --git a/src/cmd/ksh93/include/version.h b/src/cmd/ksh93/include/version.h index 3d6ac882e843..de538f99e7fe 100644 --- a/src/cmd/ksh93/include/version.h +++ b/src/cmd/ksh93/include/version.h @@ -17,8 +17,8 @@ #include #define SH_RELEASE_FORK "93u+m" /* only change if you develop a new ksh93 fork */ -#define SH_RELEASE_SVER "1.0.3-alpha" /* semantic version number: https://semver.org */ -#define SH_RELEASE_DATE "2022-08-24" /* must be in this format for $((.sh.version)) */ +#define SH_RELEASE_SVER "1.0.3" /* semantic version number: https://semver.org */ +#define SH_RELEASE_DATE "2022-08-25" /* must be in this format for $((.sh.version)) */ #define SH_RELEASE_CPYR "(c) 2020-2022 Contributors to ksh " SH_RELEASE_FORK /* Scripts sometimes field-split ${.sh.version}, so don't change amount of whitespace. */ diff --git a/src/lib/libcmd/cut.c b/src/lib/libcmd/cut.c index 7dea61fd103c..feb35e80820b 100644 --- a/src/lib/libcmd/cut.c +++ b/src/lib/libcmd/cut.c @@ -13,6 +13,7 @@ * Glenn Fowler * * David Korn * * Martijn Dekker * +* Johnothan King * * * ***********************************************************************/ /* diff --git a/src/lib/libcmd/wc.c b/src/lib/libcmd/wc.c index 86e3d6474821..5209b1cf443b 100644 --- a/src/lib/libcmd/wc.c +++ b/src/lib/libcmd/wc.c @@ -13,6 +13,7 @@ * Glenn Fowler * * David Korn * * Martijn Dekker * +* Johnothan King * * * ***********************************************************************/ /*