From f0999ab76dd2e0d977298348ec5c4535a360710d Mon Sep 17 00:00:00 2001 From: Martijn Dekker Date: Thu, 1 Aug 2024 23:54:10 +0100 Subject: [PATCH] Release 1.0.10 Here is the tenth ksh 93u+m/1.0 bugfix release -- exactly two years after 93u+m/1.0.0 and twelve years after 93u+. Unfortunately, we're not done fixing bugs yet, but progress continues steadily. Main changes between ksh 93u+m/1.0.9 and 93u+m/1.0.10: - Fixed a serious and longstanding bug in the arithmetic subsystem that was triggered on non-Intel processors (such as ARM): any division of an integer by a negative integer threw a spurious "divide by zero" error. - Fixed a regression where a broken pipe signal (SIGPIPE), when occurring in a pipe construct within a subshell, caused incorrect signal handling in the parent/main shell, in some cases causing a script to abort. - Fixed a bug where printf %T, after having printed the time in UTC once with the TZ variable set to "UTC", would always print the time in UTC from then on, even if the TZ variable was changed to another time zone. - The history expansion character ('!' by default) is now not processed when immediately following '${'. This makes it psosible to use expansion syntax like ${!varname} and ${!prefix@} on the interactive command line with the histexpand option on; these no longer trigger an "event not found" error. - The shell is now capable of handling more than 32767 simultaneous background jobs, subject to system limitations. --- ANNOUNCE | 40 ++++++++++++++++++++++++--------- NEWS | 4 ++++ TODO | 11 ++++----- src/cmd/ksh93/include/version.h | 2 +- 4 files changed, 41 insertions(+), 16 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 1810ee5b2bf9..9671fa9e35aa 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,16 +1,18 @@ -Announcing: KornShell 93u+m/1.0.9 +Announcing: KornShell 93u+m/1.0.10 https://github.com/ksh93/ksh -Here is the ninth ksh 93u+m/1.0 bugfix release. This release contains many -fixes of old and not-so-old bugs (including a couple of regressions in the -printf built-in introduced in 93u+m/1.0.5), adds Android/Termux as a -supported platform, and reintroduces the ability to build a dynamically -linked ksh (with libast, libdll, libcmd, and libshell available for other -applications to use) on most supported platforms. +Here is the tenth ksh 93u+m/1.0 bugfix release -- exactly two years after +93u+m/1.0.0 and twelve years after 93u+. Unfortunately, we're not done +fixing bugs yet, but progress continues steadily. -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) -commit log, which has full documentation of every significant change. +This release fixes a serious bug in the arithmetic subsystem that was +triggered on non-Intel processors (such as ARM): any division of an integer +by a negative integer threw a spurious "divide by zero" error. This bug has +been in ksh since 2005. There are other bug fixes as well; see below. + +For greater detail, see the NEWS file in the distribution. For complete +detail, see the git(1) commit log, which has full documentation of every +significant change. ### HOW TO GET IT ### @@ -72,6 +74,24 @@ 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.9 and 93u+m/1.0.10 ### + +- Fixed a serious and longstanding bug in the arithmetic subsystem that was + triggered on non-Intel processors (such as ARM): any division of an + integer by a negative integer threw a spurious "divide by zero" error. +- Fixed a regression where a broken pipe signal (SIGPIPE), when occurring in + a pipe construct within a subshell, caused incorrect signal handling in the + parent/main shell, in some cases causing a script to abort. +- Fixed a bug where printf %T, after having printed the time in UTC once + with the TZ variable set to "UTC", would always print the time in UTC from + then on, even if the TZ variable was changed to another time zone. +- The history expansion character ('!' by default) is now not processed when + immediately following '${'. This makes it psosible to use expansion syntax + like ${!varname} and ${!prefix@} on the interactive command line with the + histexpand option on; these no longer trigger an "event not found" error. +- The shell is now capable of handling more than 32767 simultaneous + background jobs, subject to system limitations. + ### MAIN CHANGES between ksh 93u+m/1.0.8 and 93u+m/1.0.9 ### - Android/Termux is now a supported platform. Build dependencies: binutils, diff --git a/NEWS b/NEWS index 6e8e164c194a..f9b6e463c023 100644 --- a/NEWS +++ b/NEWS @@ -2,6 +2,10 @@ 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. +2024-08-01: + +- Release 1.0.10 -- exactly two years after 1.0.0 and twelve years after 93u+. + 2024-07-31: - Fixed a bug where printf %T, after having printed the time in UTC once diff --git a/TODO b/TODO index 574304240891..45c6a9cee076 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -The following bugs and issues are known for ksh 93u+m 1.0.9: +The following bugs and issues are known for ksh 93u+m 1.0.10: Memory leak when initialising associative array in subshell https://github.com/ksh93/ksh/issues/94 @@ -6,9 +6,6 @@ https://github.com/ksh93/ksh/issues/94 command substitution botches output of non-waited-for child processes https://github.com/ksh93/ksh/issues/124 -typeset -L/-R: string length breaks on multibyte characters -https://github.com/ksh93/ksh/issues/189 - Segfault with very large extended glob patterns https://github.com/ksh93/ksh/issues/207 @@ -48,7 +45,7 @@ https://github.com/ksh93/ksh/issues/672 bogus typeset -p output for compounds with disciplines https://github.com/ksh93/ksh/issues/729 -test a = a b: undetected error bug +test a = a b: undetected error https://github.com/ksh93/ksh/issues/739 Occasional "write error" when writing to pipe @@ -56,3 +53,7 @@ https://github.com/ksh93/ksh/issues/741 sleep 10 | read hangs interactive shell after ^Z https://github.com/ksh93/ksh/issues/750 + +Shell arithmetic is broken for integer values beyond the system's maximum +float precision +https://github.com/ksh93/ksh/issues/771 diff --git a/src/cmd/ksh93/include/version.h b/src/cmd/ksh93/include/version.h index 04645e4f61c4..b516bff6d8f1 100644 --- a/src/cmd/ksh93/include/version.h +++ b/src/cmd/ksh93/include/version.h @@ -17,7 +17,7 @@ #include #define SH_RELEASE_FORK "93u+m" /* only change if you develop a new ksh93 fork */ -#define SH_RELEASE_SVER "1.0.10-beta" /* semantic version number: https://semver.org */ +#define SH_RELEASE_SVER "1.0.10" /* semantic version number: https://semver.org */ #define SH_RELEASE_DATE "2024-08-01" /* must be in this format for $((.sh.version)) */ #define SH_RELEASE_CPYR "(c) 2020-2024 Contributors to ksh " SH_RELEASE_FORK