From 530bff256d4e775570f84e74a9907fa097a955d1 Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Tue, 13 Jun 2023 16:02:23 +0100 Subject: [PATCH] Release 1.0.6 Sooner than expected after the fifth, here is the sixth ksh 93u+m/1.0 bugfix release. 93u+m/1.0.5 brought a wide range of bugfixes and robustness enhancements, but also introduced a serious regression in pathname expansion, so that previous release is WITHDRAWN and should not be used. Main changes between ksh 93u+m/1.0.5 and 93u+m/1.0.6: - Fixed a serious regression in pathname expansion where quoted wildcard characters were incorrectly expanded if a pattern contains both a brace expansion and a variable expansion. - Fixed a bug where the command to launch a full-screen editor (^X^E in emacs and 'v' in vi) could cause the wrong command line to be edited if two shell sessions share a .sh_history file. Main changes between ksh 93u+m/1.0.4 and 93u+m/1.0.5: - Fixed various bugs causing crashes. - Fixed many bugs in the emacs and vi line editors, in command completion, and in file name completion. - Fixed various bugs in the handling of quotes, backslash escapes and braces when processing shell glob patterns (e.g. in pathname expansion and 'case'). - ksh now throws a panic and exits if a read error (such as an I/O error) occurs while trying to read the next command(s) from a running script. - Fixed many bugs in 'printf' and 'print -f' built-in commands, including: . Multiple bugs causing incorrect output for relative date specifications, e.g., printf %T\\n 'exactly 20 months ago' now outputs a correct result. . More printf bugs with mix and match of % and %x$. . A data corruption bug when using %B with 'printf -v varname'. . A bug causing double evaluation of arithmetic expressions. - Fixed a bug where 'unset -f commandname', executed in a subshell, hides any built-in command by the same name for the duration of that subshell. - Fixed ${var/#/string} and ${var/%/string} (with anchored empty pattern) to work as on mksh, bash and zsh; these are no longer ineffective. - Fixed incorrect result of array slicing ${array[@]:offset:length} where 'length' is a nested expansion involving an array. - Command names can now end in ':' as they can on other shells. - Fixed a spurious syntax error in compound assignments upon encountering a pair of repeated opening parentheses '(('. - Fixed spurious syntax error in ${parameter:offset:length}: the arithmetic expressions 'offset' and 'length' may now contain the operators ( ) & |. - Fixed a parsing bug in the declaration of .sh.math.* arithmetic functions. - Fixed nameref self-reference loop detection for more than two namerefs. - Several improvements to the POSIX compatibility mode. - Many more minor and/or esoteric bugfixes. --- ANNOUNCE | 18 ++++++++++++++---- NEWS | 2 ++ src/cmd/ksh93/include/version.h | 4 ++-- 3 files changed, 18 insertions(+), 6 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index e223d3faa725..90591aa49567 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,9 +1,10 @@ -Announcing: KornShell 93u+m/1.0.5 +Announcing: KornShell 93u+m/1.0.6 https://github.com/ksh93/ksh -This is the fifth ksh 93u+m/1.0 bugfix release, again with a wide range of -bugfixes and robustness enhancements. Many thanks to all contributors for -their hard work! +Sooner than expected after the fifth, here is the sixth ksh 93u+m/1.0 bugfix +release. 93u+m/1.0.5 brought a wide range of bugfixes and robustness +enhancements, but also introduced a serious regression in pathname +expansion, so that previous release is WITHDRAWN and should not be used. Further below is an overview of the main changes. For greater detail, see the NEWS file in the distribution. For complete detail, see the git(1) @@ -69,6 +70,15 @@ Feel free to use Discussions to introduce yourself to the community. You can also join the mailing list/Google group at: https://groups.google.com/g/korn-shell +### MAIN CHANGES between ksh 93u+m/1.0.5 and 93u+m/1.0.6 ### + +- Fixed a serious regression in pathname expansion where quoted wildcard + characters were incorrectly expanded if a pattern contains both a brace + expansion and a variable expansion. +- Fixed a bug where the command to launch a full-screen editor (^X^E in + emacs and 'v' in vi) could cause the wrong command line to be edited + if two shell sessions share a .sh_history file. + ### MAIN CHANGES between ksh 93u+m/1.0.4 and 93u+m/1.0.5 ### - Fixed various bugs causing crashes. diff --git a/NEWS b/NEWS index 44fd8e036f58..7835466b9fe2 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,8 @@ Uppercase BUG_* IDs are shell bug IDs as used by the Modernish shell library. 2023-06-13: +- Release 1.0.6. + - Fixed a serious regression in pathname expansion where quoted wildcard characters were incorrectly expanded if a pattern contains both a brace expansion and a variable expansion. diff --git a/src/cmd/ksh93/include/version.h b/src/cmd/ksh93/include/version.h index 4a67b26c059c..97ae615f9ce5 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.6-alpha" /* semantic version number: https://semver.org */ -#define SH_RELEASE_DATE "2023-06-12" /* must be in this format for $((.sh.version)) */ +#define SH_RELEASE_SVER "1.0.6" /* semantic version number: https://semver.org */ +#define SH_RELEASE_DATE "2023-06-13" /* must be in this format for $((.sh.version)) */ #define SH_RELEASE_CPYR "(c) 2020-2023 Contributors to ksh " SH_RELEASE_FORK /* Scripts sometimes field-split ${.sh.version}, so don't change amount of whitespace. */