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. This bug has been in ksh since 2005.
- 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 theTZ
variable set to "UTC", would always print the time in UTC from then on, even if theTZ
variable was changed to another time zone. - The history expansion character (
!
by default) is now not processed when immediately following${
. This makes it possible to use expansion syntax like${!varname}
and${!prefix@}
on the interactive command line with thehistexpand
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.
Full Changelog: v1.0.9...v1.0.10