Skip to content

Commit

Permalink
Release 1.0.4
Browse files Browse the repository at this point in the history
Main changes between 1.0.3 and 1.0.4:

- Fixed multiple scoping-related bugs in the += additive assignment
  operator.
- A number of crashing bugs have been fixed.
- Various fixes for the Haiku operating system, notably 'ulimit -a'
  now works.
- Fixed the expansion of out-of-range \n back references in the
  string part of ${parameter//pattern/string}. For example:
	v=AB; echo "${v/@(A)B/\0:\1:\2}"
  now yields 'AB:A:' instead of 'AB:A:\2'.
- Fixed quoted '!', '^' and '-' within [bracket] expressions in
  glob patterns; single or double quotes failed to disable their
  operator behaviour.
- Fixed a bug introduced on 2021-04-04 that incorrectly allowed
  'typeset' to turn off the readonly and export attributes on a
  readonly variable.
- In the emacs line editor, the Ctrl+R reverse-search prompt is
  now visually distinct from a literal control character ("^R: "
  instead of "^R").
- In the vi line editor, fixed the behaviour of 'C', 'c$' and 'I'
  to be consistent with standard vi(1) and with Bolsky & Korn
  (1995, p. 121).
- Aliases for many GNU long options have been added to the
  /opt/ast/bin built-in commands. Additionally, 'kill -s' now has
  a --signal long option alias compatible with the util-linux
  option.
- Backported support for 'print -u p' from ksh 93v- for
  compatibility with scripts written for 93v-/ksh2020 (this is
  equivalent to 'print -p').
  • Loading branch information
McDutchie committed Oct 22, 2022
1 parent 525ac23 commit d4503c1
Show file tree
Hide file tree
Showing 4 changed files with 38 additions and 7 deletions.
30 changes: 26 additions & 4 deletions ANNOUNCE
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
Announcing: KornShell 93u+m/1.0.3
Announcing: KornShell 93u+m/1.0.4
https://github.com/ksh93/ksh

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
This is the fourth 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 over a thousand bugs fixed. It incorporates
a fair number of enhancements as well.

### CONTRIBUTORS ###
Expand Down Expand Up @@ -42,6 +42,28 @@ 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.3 and 1.0.4 ###

- Fixed multiple scoping-related bugs in the += additive assignment operator.
- A number of crashing bugs have been fixed.
- Various fixes for the Haiku operating system, notably 'ulimit -a' now works.
- Fixed the expansion of out-of-range \n back references in the string part of
${parameter//pattern/string}. For example: v=AB; echo "${v/@(A)B/\0:\1:\2}"
now yields 'AB:A:' instead of 'AB:A:\2'.
- Fixed quoted '!', '^' and '-' within [bracket] expressions in glob patterns;
single or double quotes failed to disable their operator behaviour.
- Fixed a bug introduced on 2021-04-04 that incorrectly allowed 'typeset' to
turn off the readonly and export attributes on a readonly variable.
- In the emacs line editor, the Ctrl+R reverse-search prompt is now visually
distinct from a literal control character ("^R: " instead of "^R").
- In the vi line editor, fixed the behaviour of 'C', 'c$' and 'I' to be
consistent with standard vi(1) and with Bolsky & Korn (1995, p. 121).
- Aliases for many GNU long options have been added to the /opt/ast/bin
built-in commands. Additionally, 'kill -s' now has a --signal long option
alias compatible with the util-linux option.
- Backported support for 'print -u p' from ksh 93v- for compatibility with
scripts written for 93v-/ksh2020 (this is equivalent to 'print -p').

### MAIN CHANGES between ksh 93u+m 1.0.2 and 1.0.3 ###

This point release fixes the following:
Expand Down
4 changes: 4 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
Expand Up @@ -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.

2022-10-22:

- Release 1.0.4.

2022-10-18:

- Fixed the expansion of out-of-range \n back references in the string part of
Expand Down
7 changes: 6 additions & 1 deletion src/cmd/ksh93/COMPATIBILITY
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ksh 93u+m/1.0.0 vs. ksh 93u+
ksh 93u+m/1.0.4 vs. ksh 93u+

The following is a list of changes between ksh 93u+ 2012-08-01 and the new
ksh 93u+m reboot that could cause incompatibilities in rare corner cases.
Expand Down Expand Up @@ -179,6 +179,11 @@ For more details, see the NEWS file and for complete details, see the git log.
that are only supported by the shell and do not in fact exist in the
file system, such as /dev/tcp/*.

34. Single and double quotes now work like backslashes to quote '!', '^'
and '-' in bracket expressions in shell glob patterns, e.g., the glob
pattern ["!a-z"] now matches !, a, - or z and is no longer misparsed
as [!a-z]. This restores compatibility with ksh88 and non-ksh shells.

____________________________________________________________________________

KSH-93 VS. KSH-88
Expand Down
4 changes: 2 additions & 2 deletions src/cmd/ksh93/include/version.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@
#include <releaseflags.h>

#define SH_RELEASE_FORK "93u+m" /* only change if you develop a new ksh93 fork */
#define SH_RELEASE_SVER "1.0.4-alpha" /* semantic version number: https://semver.org */
#define SH_RELEASE_DATE "2022-10-18" /* must be in this format for $((.sh.version)) */
#define SH_RELEASE_SVER "1.0.4" /* semantic version number: https://semver.org */
#define SH_RELEASE_DATE "2022-10-22" /* 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. */
Expand Down

0 comments on commit d4503c1

Please sign in to comment.