Skip to content

Commit 3185942

Browse files
committed
Imported from ../bash-4.0-rc1.tar.gz.
1 parent f1be666 commit 3185942

File tree

666 files changed

+191523
-57487
lines changed

Some content is hidden

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

666 files changed

+191523
-57487
lines changed

AUTHORS

+3
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,7 @@ builtins/let.def Chet Ramey, Brian Fox
125125
builtins/history.def Brian Fox, Chet Ramey
126126
builtins/jobs.def Brian Fox, Chet Ramey
127127
builtins/kill.def Brian Fox, Chet Ramey
128+
builtins/mapfile.def Rocky Bernstein
128129
builtins/mkbuiltins.c Brian Fox, Chet Ramey
129130
builtins/pushd.def Brian Fox, Chet Ramey
130131
builtins/read.def Brian Fox, Chet Ramey
@@ -456,3 +457,5 @@ lib/sh/zread.c Chet Ramey
456457
lib/sh/zwrite.c Chet Ramey
457458

458459
tests/posix-ifs.sh Glenn Fowler
460+
461+
support/checkbashisms Julian Gilbey, Debian Linux team

CHANGES

+624
Large diffs are not rendered by default.

COMPAT

+42-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
This document details the incompatibilities between this version of bash,
2-
bash-3.2, and the previous widely-available versions, bash-1.14 (which is
2+
bash-4.0, and the previous widely-available versions, bash-1.14 (which is
33
still the `standard' version for a few Linux distributions) and bash-2.x.
44
These were discovered by users of bash-2.x and 3.x, so this list is not
55
comprehensive. Some of these incompatibilities occur between the current
@@ -271,5 +271,44 @@ bash-2.0 were significant.)
271271
file permission bits obtained with stat(2). This obeys restrictions of
272272
the file system (e.g., read-only or noexec mounts) not available via stat.
273273

274-
33. Beginning with bash-3.1/readline-5.1, the readline key binding code obeys
275-
the current setting of the `convert-meta' variable.
274+
33. Bash-3.2 adopts the convention used by other string and pattern matching
275+
operators for the `[[' compound command, and matches any quoted portion
276+
of the right-hand-side argument to the =~ operator as a string rather
277+
than a regular expression.
278+
279+
34. Bash-4.0 allows the behavior in the previous item to be modified using
280+
the notion of a shell `compatibility level'.
281+
282+
35. Bash-3.2 (patched) and Bash-4.0 fix a bug that leaves the shell in an
283+
inconsistent internal state following an assignment error. One of the
284+
changes means that compound commands or { ... } grouping commands are
285+
aborted under some circumstances in which they previously were not.
286+
This is what Posix specifies.
287+
288+
36. Bash-4.0 now allows process substitution constructs to pass unchanged
289+
through brace expansion, so any expansion of the contents will have to be
290+
separately specified, and each process subsitution will have to be
291+
separately entered.
292+
293+
37. Bash-4.0 now allows SIGCHLD to interrupt the wait builtin, as Posix
294+
specifies, so the SIGCHLD trap is no longer always invoked once per
295+
exiting child if you are using `wait' to wait for all children.
296+
297+
38. Since bash-4.0 now follows Posix rules for finding the closing delimiter
298+
of a $() command substitution, it will not behave as previous versions
299+
did, but will catch more syntax and parsing errors before spawning a
300+
subshell to evaluate the command substitution.
301+
302+
39. The programmable completion code uses the same set of delimiting characters
303+
as readline when breaking the command line into words, rather than the
304+
set of shell metacharacters, so programmable completion and readline
305+
should be more consistent.
306+
307+
40. When the read builtin times out, it attempts to assign any input read to
308+
specified variables, which also causes variables to be set to the empty
309+
string if there is not enough input. Previous versions discarded the
310+
characters read.
311+
312+
41. Beginning with bash-4.0, when one of the commands in a pipeline is killed
313+
by a SIGINT while executing a command list, the shell acts as if it
314+
received the interrupt.

COPYING

+625-298
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)