mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-27 23:53:18 +02:00
commit bash-20081218 snapshot
This commit is contained in:
@@ -1,8 +1,40 @@
|
||||
This document details the changes between this version, bash-4.0-beta,
|
||||
This document details the changes between this version, bash-4.0-beta2,
|
||||
and the previous version, bash-4.0-alpha.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug that caused failed word expansions to set $? but not
|
||||
PIPESTATUS.
|
||||
|
||||
b. Changed filename completion to quote the tilde in a filename with a
|
||||
leading tilde that exists in the current directory.
|
||||
|
||||
c. Fixed a bug that caused a file descriptor leak when performing
|
||||
redirections attached to a compound command.
|
||||
|
||||
d. Fixed a bug that caused expansions of $@ and $* to not exit the shell if
|
||||
the -u option was enabled and there were no posititional parameters.
|
||||
|
||||
e. Fixed a bug that resulted in bash not terminating immediately if a
|
||||
terminating signal was received while performing output.
|
||||
|
||||
f. Fixed a bug that caused the shell to crash after creating 256 process
|
||||
substitutions during word completion.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
a. Fixed a bug that caused redisplay errors when using prompts with invisible
|
||||
characters and numeric arguments to a command in a multibyte locale.
|
||||
|
||||
b. Fixed a bug that caused redisplay errors when using prompts with invisible
|
||||
characters spanning more than two physical screen lines.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.0-beta,
|
||||
and the previous version, bash-4.0-beta.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a typo that caused a variable to be used before initialization
|
||||
while parsing Posix-style command substitutions.
|
||||
|
||||
|
||||
@@ -43,6 +43,12 @@ l. Fixed a bug that caused stray control characters when evaluating compound
|
||||
m. Fixed a bug that caused redirections involving file descriptor 10 as the
|
||||
target to behave incorrectly.
|
||||
|
||||
n. Fixed a bug that could cause memory to be freed multiple times when
|
||||
assigning to COMP_WORDBREAKS.
|
||||
|
||||
o. Fixed a bug that could cause NULL pointer dereferences when COMP_WORDBREAKS
|
||||
was unset.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
@@ -282,7 +282,8 @@ bash-2.0 were significant.)
|
||||
35. Bash-3.2 (patched) and Bash-4.0 fix a bug that leaves the shell in an
|
||||
inconsistent internal state following an assignment error. One of the
|
||||
changes means that compound commands or { ... } grouping commands are
|
||||
aborted. This is what Posix specifies.
|
||||
aborted under some circumstances in which they previously were not.
|
||||
This is what Posix specifies.
|
||||
|
||||
36. Bash-4.0 now allows process substitution constructs to pass unchanged
|
||||
through brace expansion, so any expansion of the contents will have to be
|
||||
@@ -307,3 +308,7 @@ bash-2.0 were significant.)
|
||||
specified variables, which also causes variables to be set to the empty
|
||||
string if there is not enough input. Previous versions discarded the
|
||||
characters read.
|
||||
|
||||
41. Beginning with bash-4.0, when one of the commands in a pipeline is killed
|
||||
by a SIGINT while executing a command list, the shell acts as if it
|
||||
received the interrupt.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
This document details the incompatibilities between this version of bash,
|
||||
bash-3.2, and the previous widely-available versions, bash-1.14 (which is
|
||||
bash-4.0, and the previous widely-available versions, bash-1.14 (which is
|
||||
still the `standard' version for a few Linux distributions) and bash-2.x.
|
||||
These were discovered by users of bash-2.x and 3.x, so this list is not
|
||||
comprehensive. Some of these incompatibilities occur between the current
|
||||
@@ -275,3 +275,35 @@ bash-2.0 were significant.)
|
||||
operators for the `[[' compound command, and matches any quoted portion
|
||||
of the right-hand-side argument to the =~ operator as a string rather
|
||||
than a regular expression.
|
||||
|
||||
34. Bash-4.0 allows the behavior in the previous item to be modified using
|
||||
the notion of a shell `compatibility level'.
|
||||
|
||||
35. Bash-3.2 (patched) and Bash-4.0 fix a bug that leaves the shell in an
|
||||
inconsistent internal state following an assignment error. One of the
|
||||
changes means that compound commands or { ... } grouping commands are
|
||||
aborted. This is what Posix specifies.
|
||||
|
||||
36. Bash-4.0 now allows process substitution constructs to pass unchanged
|
||||
through brace expansion, so any expansion of the contents will have to be
|
||||
separately specified, and each process subsitution will have to be
|
||||
separately entered.
|
||||
|
||||
37. Bash-4.0 now allows SIGCHLD to interrupt the wait builtin, as Posix
|
||||
specifies, so the SIGCHLD trap is no longer always invoked once per
|
||||
exiting child if you are using `wait' to wait for all children.
|
||||
|
||||
38. Since bash-4.0 now follows Posix rules for finding the closing delimiter
|
||||
of a $() command substitution, it will not behave as previous versions
|
||||
did, but will catch more syntax and parsing errors before spawning a
|
||||
subshell to evaluate the command substitution.
|
||||
|
||||
39. The programmable completion code uses the same set of delimiting characters
|
||||
as readline when breaking the command line into words, rather than the
|
||||
set of shell metacharacters, so programmable completion and readline
|
||||
should be more consistent.
|
||||
|
||||
40. When the read builtin times out, it attempts to assign any input read to
|
||||
specified variables, which also causes variables to be set to the empty
|
||||
string if there is not enough input. Previous versions discarded the
|
||||
characters read.
|
||||
|
||||
@@ -7239,3 +7239,12 @@ lib/readline/display.c
|
||||
builtins/{echo,printf}.def
|
||||
- increment terminate_immediately at entry; decrement before returning.
|
||||
Fix for bug reported by Ralf.Wildenhues@gmx.de
|
||||
|
||||
12/16
|
||||
-----
|
||||
subst.c
|
||||
- fix off-by-one error in /dev/fd version of add_fifo_list; make
|
||||
sure we add to totfds when it is == fd, not just when fd > totfds.
|
||||
Fixes bug reported by marciso@gmail.com
|
||||
|
||||
[bash-4.0-beta2 frozen]
|
||||
|
||||
+11
-4
@@ -7223,10 +7223,6 @@ sig.c
|
||||
- reset the execution context before running the exit trap in
|
||||
termsig_handler
|
||||
|
||||
execute_cmd.c
|
||||
- increment terminate_immediately at entry to execute_builtin; decrement
|
||||
it before returning [TENTATIVE]
|
||||
|
||||
general.c
|
||||
- set and unset terminate_immediately like interrupt_immediately in
|
||||
bash_tilde_expand
|
||||
@@ -7239,3 +7235,14 @@ lib/readline/display.c
|
||||
- slight change to fix from 11/27 to deal with prompts longer than a
|
||||
screen line where the invisible characters all appear after the
|
||||
line wrap. Fixes bug reported by Andreas Schwab <schwab@suse.de>
|
||||
|
||||
builtins/{echo,printf}.def
|
||||
- increment terminate_immediately at entry; decrement before returning.
|
||||
Fix for bug reported by Ralf.Wildenhues@gmx.de
|
||||
|
||||
12/16
|
||||
-----
|
||||
subst.c
|
||||
- fix off-by-one error in /dev/fd version of add_fifo_list; make
|
||||
sure we add to totfds when it is == fd, not just when fd > totfds.
|
||||
Fixes bug reported by marciso@gmail.com
|
||||
|
||||
+11
-11
@@ -1,7 +1,7 @@
|
||||
@%:@! /bin/sh
|
||||
@%:@ From configure.in for Bash 4.0, version 4.007.
|
||||
@%:@ From configure.in for Bash 4.0, version 4.008.
|
||||
@%:@ Guess values for system-dependent variables and create Makefiles.
|
||||
@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-beta.
|
||||
@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-beta2.
|
||||
@%:@
|
||||
@%:@ Report bugs to <bug-bash@gnu.org>.
|
||||
@%:@
|
||||
@@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bash'
|
||||
PACKAGE_TARNAME='bash'
|
||||
PACKAGE_VERSION='4.0-beta'
|
||||
PACKAGE_STRING='bash 4.0-beta'
|
||||
PACKAGE_VERSION='4.0-beta2'
|
||||
PACKAGE_STRING='bash 4.0-beta2'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
|
||||
ac_unique_file="shell.h"
|
||||
@@ -1410,7 +1410,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures bash 4.0-beta to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.0-beta2 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1475,7 +1475,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.0-beta:";;
|
||||
short | recursive ) echo "Configuration of bash 4.0-beta2:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1648,7 +1648,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.0-beta
|
||||
bash configure 4.0-beta2
|
||||
generated by GNU Autoconf 2.62
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1662,7 +1662,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by bash $as_me 4.0-beta, which was
|
||||
It was created by bash $as_me 4.0-beta2, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2072,7 +2072,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.0
|
||||
RELSTATUS=beta
|
||||
RELSTATUS=beta2
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -30127,7 +30127,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by bash $as_me 4.0-beta, which was
|
||||
This file was extended by bash $as_me 4.0-beta2, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -30180,7 +30180,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
bash config.status 4.0-beta
|
||||
bash config.status 4.0-beta2
|
||||
configured by $0, generated by GNU Autoconf 2.62,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
+11
-11
@@ -15,25 +15,25 @@
|
||||
'configure.in'
|
||||
],
|
||||
{
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'AM_PROG_F77_C_O' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'_LT_AC_TAGCONFIG' => 1,
|
||||
'm4_pattern_forbid' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'AC_INIT' => 1,
|
||||
'AC_CANONICAL_TARGET' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'_AM_COND_IF' => 1,
|
||||
'AC_CONFIG_LIBOBJ_DIR' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_SUBST' => 1,
|
||||
'AC_CANONICAL_HOST' => 1,
|
||||
'AC_FC_SRCEXT' => 1,
|
||||
'AC_PROG_LIBTOOL' => 1,
|
||||
'AM_INIT_AUTOMAKE' => 1,
|
||||
'AC_CONFIG_SUBDIRS' => 1,
|
||||
'AM_AUTOMAKE_VERSION' => 1,
|
||||
'LT_CONFIG_LTDL_DIR' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'AC_CONFIG_LINKS' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'AC_REQUIRE_AUX_FILE' => 1,
|
||||
'LT_SUPPORTED_TAG' => 1,
|
||||
'm4_sinclude' => 1,
|
||||
'AM_MAINTAINER_MODE' => 1,
|
||||
'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
|
||||
'_m4_warn' => 1,
|
||||
@@ -49,13 +49,13 @@
|
||||
'AC_CANONICAL_BUILD' => 1,
|
||||
'AC_FC_FREEFORM' => 1,
|
||||
'AH_OUTPUT' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AC_CONFIG_AUX_DIR' => 1,
|
||||
'sinclude' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'_AM_SUBST_NOTMAKE' => 1,
|
||||
'AM_PROG_CC_C_O' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'm4_pattern_allow' => 1,
|
||||
'sinclude' => 1,
|
||||
'AM_CONDITIONAL' => 1,
|
||||
'AC_CANONICAL_SYSTEM' => 1,
|
||||
'AC_CONFIG_HEADERS' => 1,
|
||||
'AC_DEFINE_TRACE_LITERAL' => 1,
|
||||
'm4_include' => 1,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
m4trace:configure.in:29: -1- AC_INIT([bash], [4.0-beta], [bug-bash@gnu.org])
|
||||
m4trace:configure.in:29: -1- AC_INIT([bash], [4.0-beta2], [bug-bash@gnu.org])
|
||||
m4trace:configure.in:29: -1- m4_pattern_forbid([^_?A[CHUM]_])
|
||||
m4trace:configure.in:29: -1- m4_pattern_forbid([_AC_])
|
||||
m4trace:configure.in:29: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
#! /bin/sh
|
||||
# From configure.in for Bash 4.0, version 4.007.
|
||||
# From configure.in for Bash 4.0, version 4.008.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.62 for bash 4.0-beta.
|
||||
# Generated by GNU Autoconf 2.62 for bash 4.0-beta2.
|
||||
#
|
||||
# Report bugs to <bug-bash@gnu.org>.
|
||||
#
|
||||
@@ -597,8 +597,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
|
||||
# Identity of this package.
|
||||
PACKAGE_NAME='bash'
|
||||
PACKAGE_TARNAME='bash'
|
||||
PACKAGE_VERSION='4.0-beta'
|
||||
PACKAGE_STRING='bash 4.0-beta'
|
||||
PACKAGE_VERSION='4.0-beta2'
|
||||
PACKAGE_STRING='bash 4.0-beta2'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
|
||||
ac_unique_file="shell.h"
|
||||
@@ -1410,7 +1410,7 @@ if test "$ac_init_help" = "long"; then
|
||||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures bash 4.0-beta to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.0-beta2 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1475,7 +1475,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.0-beta:";;
|
||||
short | recursive ) echo "Configuration of bash 4.0-beta2:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1648,7 +1648,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.0-beta
|
||||
bash configure 4.0-beta2
|
||||
generated by GNU Autoconf 2.62
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1662,7 +1662,7 @@ cat >config.log <<_ACEOF
|
||||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by bash $as_me 4.0-beta, which was
|
||||
It was created by bash $as_me 4.0-beta2, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2072,7 +2072,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.0
|
||||
RELSTATUS=beta
|
||||
RELSTATUS=beta2
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -30127,7 +30127,7 @@ exec 6>&1
|
||||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by bash $as_me 4.0-beta, which was
|
||||
This file was extended by bash $as_me 4.0-beta2, which was
|
||||
generated by GNU Autoconf 2.62. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -30180,7 +30180,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
bash config.status 4.0-beta
|
||||
bash config.status 4.0-beta2
|
||||
configured by $0, generated by GNU Autoconf 2.62,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
+2
-2
@@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
AC_REVISION([for Bash 4.0, version 4.007])dnl
|
||||
AC_REVISION([for Bash 4.0, version 4.008])dnl
|
||||
|
||||
define(bashvers, 4.0)
|
||||
define(relstatus, beta)
|
||||
define(relstatus, beta2)
|
||||
|
||||
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
|
||||
|
||||
|
||||
+2
-2
@@ -21,10 +21,10 @@ dnl Process this file with autoconf to produce a configure script.
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
AC_REVISION([for Bash 4.0, version 4.006])dnl
|
||||
AC_REVISION([for Bash 4.0, version 4.007])dnl
|
||||
|
||||
define(bashvers, 4.0)
|
||||
define(relstatus, alpha)
|
||||
define(relstatus, beta)
|
||||
|
||||
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
|
||||
|
||||
|
||||
+2
-2
@@ -3334,7 +3334,7 @@ This is semantically equivalent to
|
||||
.PP
|
||||
This type of redirection instructs the shell to read input from the
|
||||
current source until a line containing only
|
||||
.I word
|
||||
.I delimiter
|
||||
(with no trailing blanks)
|
||||
is seen. All of
|
||||
the lines read up to that point are then used as the standard
|
||||
@@ -7997,7 +7997,7 @@ Read-only variables cannot be reset.
|
||||
In \fIposix mode\fP, only shell variables are listed.
|
||||
The output is sorted according to the current locale.
|
||||
When options are specified, they set or unset shell attributes.
|
||||
Any arguments remaining after the options are processed are treated
|
||||
Any arguments remaining after option processing are treated
|
||||
as values for the positional parameters and are assigned, in order, to
|
||||
.BR $1 ,
|
||||
.BR $2 ,
|
||||
|
||||
Reference in New Issue
Block a user