Skip to content

Commit a4eef19

Browse files
author
Chet Ramey
committed
bash-4.4 beta2 release
1 parent 690150f commit a4eef19

File tree

205 files changed

+13848
-8437
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

205 files changed

+13848
-8437
lines changed

CHANGES

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,129 @@
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+
------------------------------------------------------------------------------
1127
This document details the changes between this version, bash-4.4-rc1, and
2128
the previous version, bash-4.4-beta.
3129

0 commit comments

Comments
 (0)