|
| 1 | +This document details the changes between this version, bash-5.3-rc1, and |
| 2 | +the previous version, bash-5.3-beta. |
| 3 | + |
| 4 | +1. Changes to Bash |
| 5 | + |
| 6 | +a. Fixed a bug where backslash did not quote multibyte characters in some |
| 7 | + cases. |
| 8 | + |
| 9 | +b. Requesting the length of an element of an unset array is a fatal error |
| 10 | + when `set -u' is enabled and the subscript is not `@' or `*'. |
| 11 | + |
| 12 | +c. Prompt expansion now quotes the results of \U. |
| 13 | + |
| 14 | +d. Changes to `set -e' exit behavior in posix mode, since POSIX now says to |
| 15 | + exit as if executing the `exit builtin with no arguments'. |
| 16 | + |
| 17 | +e. Fixes to the `exec' builtin to undo redirections if it is given a command |
| 18 | + name to execute and the exection fails, but the shell does not exit. This |
| 19 | + is POSIX interp 1896. |
| 20 | + |
| 21 | +f. Fixed a bug that resulted in `wait' setting $? to 255 in some cases when |
| 22 | + waiting for a specific PID. |
| 23 | + |
| 24 | +g. Fixed a bug involving redirections to the file descriptor bash is using to |
| 25 | + read a script. |
| 26 | + |
| 27 | +h. In POSIX mode, `kill' returns a failure status if any of the PID/job |
| 28 | + arguments are not found or if sending the signal fails. |
| 29 | + |
| 30 | +i. Fixed a bug that caused an invalid brace sequence expression to mess up |
| 31 | + expansion of an enclosing brace expansion. |
| 32 | + |
| 33 | +j. Fixed a bug in command printing that output the wrong default file |
| 34 | + descriptor for the <> redirection. |
| 35 | + |
| 36 | +k. User-specified subshells (`(...)') now update BASH_COMMAND in the subshell. |
| 37 | + |
| 38 | +l. Fixed a display bug with the `help -m' and loadable builtins. |
| 39 | + |
| 40 | +m. Fixed a potential file descriptor leak when trying to use a pipe for a |
| 41 | + here document. |
| 42 | + |
| 43 | +n. Fix a bug with multiple assignment statements preceding a simple command |
| 44 | + containing nofork comsubs. |
| 45 | + |
| 46 | +o. Fix a potential bug that could result in a NULL buffered stream even with |
| 47 | + a valid input file descriptor. |
| 48 | + |
| 49 | +2. Changes to Readline |
| 50 | + |
| 51 | +a. Fixed a bug that allowed a history search to change the current history |
| 52 | + list position. |
| 53 | + |
| 54 | +b. Fixed a bug that allowed ^G to retain a saved command to execute. |
| 55 | + |
| 56 | +c. Updates to new export-completions command to allow filename suffixes. |
| 57 | + |
| 58 | +d. Fixed a redisplay bug with prompts containing multiple sequences of |
| 59 | + invisible characters that are longer than the screen width. |
| 60 | + |
| 61 | +3. New Features in Bash |
| 62 | + |
| 63 | +a. There is a new `fltexpr' loadable builtin to perform floating-point |
| 64 | + arithmetic similarly to `let'. |
| 65 | + |
| 66 | +4. New Features in Readline |
| 67 | + |
| 68 | +a. Readline can reset its idea of the screen dimensions when executing after |
| 69 | + a SIGCONT. |
| 70 | + |
| 71 | +------------------------------------------------------------------------------ |
1 | 72 | This document details the changes between this version, bash-5.3-beta, and |
2 | 73 | the previous version, bash-5.3-alpha. |
3 | 74 |
|
@@ -152,7 +223,7 @@ l. There is a new `bash_source_fullpath' shopt option, which makes bash put |
152 | 223 | at configure time. |
153 | 224 |
|
154 | 225 | m. Posix mode now forces job notifications to occur when the new edition of |
155 | | - POSIX specifes (since it now specifies them). |
| 226 | + POSIX specifies (since it now specifies them). |
156 | 227 |
|
157 | 228 | n. Interactive shells don't print job notifications while sourcing scripts. |
158 | 229 |
|
@@ -325,7 +396,7 @@ vv. Fixed a bug that caused unset not to remove a function named a[b] if |
325 | 396 | ww. Posix mode doesn't perform function lookup for function names containing |
326 | 397 | a slash. |
327 | 398 |
|
328 | | -xx. <( and >( can now be used in funtion names. |
| 399 | +xx. <( and >( can now be used in function names. |
329 | 400 |
|
330 | 401 | yy. Fixed a bug that caused tilde expansion not to be performed on some |
331 | 402 | array subscripts. |
@@ -451,7 +522,7 @@ oooo. If the cd builtin uses $OLDPWD, allow it to use $CDPATH if the user has |
451 | 522 | set it to something that's not a full pathname. |
452 | 523 |
|
453 | 524 | pppp. The test builtin only supports the optional argument to -t if parsing |
454 | | - an expression with more than four aguments and not in posix mode. |
| 525 | + an expression with more than four arguments and not in posix mode. |
455 | 526 |
|
456 | 527 | qqqq. Changes to filename quoting and rewriting to deal with NFC and NFD |
457 | 528 | Unicode forms (primarily for macOS). |
@@ -618,7 +689,7 @@ a. Fixed a bug in clearing the visible line structure before redisplay. |
618 | 689 | b. Fix a bug where setlocale(3) returning NULL caused a crash. |
619 | 690 |
|
620 | 691 | c. Fixed signal checking in callback mode to handle signals that arrive before |
621 | | - readline restore's the application's signal handlers. |
| 692 | + readline restores the application's signal handlers. |
622 | 693 |
|
623 | 694 | d. Fixed a bug with word completion where the directory name needs to be |
624 | 695 | dequoted and tilde-expanded. |
@@ -675,7 +746,7 @@ u. Call the filename rewrite hook on the word being completed before comparing |
675 | 746 | strings. |
676 | 747 |
|
677 | 748 | v. Fix infinite recursion that can happen if someone binds a key that doesn't |
678 | | - have a different upper and lower case represenation to do-lowercase-version. |
| 749 | + have a different upper and lower case representation to do-lowercase-version. |
679 | 750 |
|
680 | 751 | w. Check for non-ANSI (dumb) terminals a little more thoroughly. |
681 | 752 |
|
@@ -718,12 +789,12 @@ j. `trap' has a new -P option that prints the trap action associated with each |
718 | 789 | signal argument. |
719 | 790 |
|
720 | 791 | k. The `command' builtin preceding a declaration builtin (e.g., `declare') |
721 | | - preserves the special asisgnment statement parsing for the declation |
| 792 | + preserves the special assignment statement parsing for the declation |
722 | 793 | builtin. This is a new POSIX requirement. |
723 | 794 |
|
724 | 795 | l. `printf' uses the `alternate form' for %q and %Q to force single quoting. |
725 | 796 |
|
726 | | -m. `printf' now interprets %ls (%S) and %lc (%C)nas referring to wide strings |
| 797 | +m. `printf' now interprets %ls (%S) and %lc (%C) as referring to wide strings |
727 | 798 | and characters, respectively, when in a multibyte locale. |
728 | 799 |
|
729 | 800 | n. The shell can be compiled with a different default value for the |
@@ -817,6 +888,8 @@ i. Incremental and non-incremental searches now allow ^V/^Q (or, in the former |
817 | 888 | case, anything bound to quoted-insert) to quote characters in the search |
818 | 889 | string. |
819 | 890 |
|
| 891 | +j. There is a new rl_print_keybinding function that prints the key bindings |
| 892 | + for a single bindable function specified by name. |
820 | 893 | ------------------------------------------------------------------------------ |
821 | 894 | This document details the changes between this version, bash-5.2-release, and |
822 | 895 | the previous version, bash-5.2-rc4. |
@@ -1883,7 +1956,7 @@ n. The `test -N' operator uses nanosecond timestamp granularity if it's |
1883 | 1956 | available. |
1884 | 1957 |
|
1885 | 1958 | o. Bash posix mode now treats assignment statements preceding shell function |
1886 | | - definitions the same as in its default mode, since POSIX has changed and |
| 1959 | + calls the same as in its default mode, since POSIX has changed and |
1887 | 1960 | no longer requires those assignments to persist after the function returns |
1888 | 1961 | (POSIX interp 654). |
1889 | 1962 |
|
|
0 commit comments