|
| 1 | +This document details the changes between this version, bash-4.4-beta2, and |
| 2 | +the previous version, bash-4.4-rc1. |
| 3 | + |
| 4 | +1. Changes to Bash |
| 5 | + |
| 6 | +a. Fixed a memory leak when processing ${!var[@]}. |
| 7 | + |
| 8 | +b. Fixed a bug that caused subshells to free trap strings associated with |
| 9 | + inherited signals. |
| 10 | + |
| 11 | +c. Inheriting BASHOPTS from the environment now works to force actions |
| 12 | + associated with enabling an option, instead of just marking the option |
| 13 | + as enabled. |
| 14 | + |
| 15 | +d. Fixed a bug that allowed assignments to BASH_CMDS when the shell was in |
| 16 | + restricted mode. |
| 17 | + |
| 18 | +e. Fixed a bug caused by an accidental omission of part of the original patch |
| 19 | + for EXECIGNORE. |
| 20 | + |
| 21 | +e. Prompt expansion now quotes the results of the \s, \h, and \H expansions. |
| 22 | + |
| 23 | +f. Fixed a bug that caused parsing errors in command substitutions with |
| 24 | + consecutive case statements separated by newlines. |
| 25 | + |
| 26 | +g. Updated logic used to decide whether bash is running inside an emacs |
| 27 | + terminal emulator to work with future emacs versions. |
| 28 | + |
| 29 | +h. Fixed two extended pattern matching bugs caused by premature short- |
| 30 | + circuiting. |
| 31 | + |
| 32 | +i. Fixed a memory leak in the code that removes duplicate history entries. |
| 33 | + |
| 34 | +j. There are a number of bug fixes to coproc, mapfile, declare, unset, |
| 35 | + and assignment statements that prevent nameref variables from creating |
| 36 | + and unsetting variables with invalid names. |
| 37 | + |
| 38 | +k. Fixed a bug that caused variables to be inadvertently marked as both an |
| 39 | + associative and an indexed array. |
| 40 | + |
| 41 | +l. Fixed a bug that caused `bash -c' to not run a trap specified in the |
| 42 | + command string. |
| 43 | + |
| 44 | +j. There are a number of bug fixes to coproc, mapfile, declare, and assignment |
| 45 | + statements that prevent nameref variables from overwriting or modifying |
| 46 | + attributes of readonly variables. |
| 47 | + |
| 48 | +k. Fixed a bug that caused command substitution to attempt to set the |
| 49 | + terminal's process group incorrectly. |
| 50 | + |
| 51 | +l. Fixed a bug that could cause prompt string expansion to display error |
| 52 | + messages when the `nounset' shell option is set. |
| 53 | + |
| 54 | +m. Fixed a bug that caused "$@" to not expand to an empty string under the |
| 55 | + circumstances when Posix says it should ("${@-${@-$@}}"). |
| 56 | + |
| 57 | +n. Fixed several bugs caused by referencing nameref variables whose values |
| 58 | + are names of unset variables (or names that are valid for referencing |
| 59 | + but not assignment), including creating variables in the temporary |
| 60 | + environment. |
| 61 | + |
| 62 | +o. Function tracing and error tracing are disabled if --debugger is supplied |
| 63 | + at startup but the shell can't find the debugger start file. |
| 64 | + |
| 65 | +p. Fixed a bug when IFS is used as the control variable in a for statement. |
| 66 | + |
| 67 | +q. Fixed a bug with SIGINT received by a command substitution in an interactive |
| 68 | + shell. |
| 69 | + |
| 70 | +r. The checks for nameref variable self-references are more thorough. |
| 71 | + |
| 72 | +s. Fixed several bugs with multi-line aliases. |
| 73 | + |
| 74 | +t. Fixed `test' to handle the four-argument case where $1 == '(' and |
| 75 | + $4 == ')'. |
| 76 | + |
| 77 | +u. Fixed a bug in the expansion of $* in the cases where word splitting is |
| 78 | + not performed. |
| 79 | + |
| 80 | +v. Fixed a bug in execution of case statements where IFS includes the |
| 81 | + pattern matching characters. |
| 82 | + |
| 83 | +2. Changes to Readline |
| 84 | + |
| 85 | +a. When refreshing the line as the result of a key sequence, Readline attempts |
| 86 | + to redraw only the last line of a multiline prompt. |
| 87 | + |
| 88 | +b. Fixed an issue that caused completion of git commands to display |
| 89 | + incorrectly when using colored-completion-prefix. |
| 90 | + |
| 91 | +c. Fixed several redisplay bugs having to do with multibyte characters and |
| 92 | + invisible characters in prompt strings. |
| 93 | + |
| 94 | +3. New Features in Bash |
| 95 | + |
| 96 | +a. Value conversions (arithmetic expansions, case modification, etc.) now |
| 97 | + happen when assigning elements of an array using compound assignment. |
| 98 | + |
| 99 | +b. There is a new option settable in config-top.h that makes multiple |
| 100 | + directory arguments to `cd' a fatal error. |
| 101 | + |
| 102 | +c. Bash now uses mktemp() when creating internal temporary files; it produces |
| 103 | + a warning at build time on many Linux systems. |
| 104 | + |
| 105 | +4. New Features in Readline |
| 106 | + |
| 107 | +a. The default binding for ^W in vi mode now uses word boundaries specified |
| 108 | + by Posix (vi-unix-word-rubout is bindable command name). |
| 109 | + |
| 110 | +b. rl_clear_visible_line: new application-callable function; clears all |
| 111 | + screen lines occupied by the current visible readline line. |
| 112 | + |
| 113 | +c. rl_tty_set_echoing: application-callable function that controls whether |
| 114 | + or not readline thinks it is echoing terminal output. |
| 115 | + |
| 116 | +d. Handle >| and strings of digits preceding and following redirection |
| 117 | + specifications as single tokens when tokenizing the line for history |
| 118 | + expansion. |
| 119 | + |
| 120 | +e. Fixed a bug with displaying completions when the prefix display length |
| 121 | + is greater than the length of the completions to be displayed. |
| 122 | + |
| 123 | +f. The :p history modifier now applies to the entire line, so any expansion |
| 124 | + specifying :p causes the line to be printed instead of expanded. |
| 125 | + |
| 126 | +------------------------------------------------------------------------------ |
1 | 127 | This document details the changes between this version, bash-4.4-rc1, and
|
2 | 128 | the previous version, bash-4.4-beta.
|
3 | 129 |
|
|
0 commit comments