mirror of
https://https.git.savannah.gnu.org/git/bash.git
synced 2026-06-27 15:43:18 +02:00
commit bash-20091105 snapshot
This commit is contained in:
@@ -1,3 +1,58 @@
|
||||
This document details the changes between this version, bash-4.1-beta,
|
||||
and the previous version, bash-4.1-alpha.
|
||||
|
||||
1. Changes to Bash
|
||||
|
||||
a. Fixed a bug in mapfile that caused the shell to crash if it was passed the
|
||||
name of an associative array.
|
||||
|
||||
b. Fixed a bug that caused the shell to incorrectly split case patterns if
|
||||
they contained characters in $IFS.
|
||||
|
||||
c. Fixed a bug that caused the shell to set $? to the wrong value when using
|
||||
a construct ending with a variable assignment with set -x enabled and PS4
|
||||
containing a command substitution.
|
||||
|
||||
d. Fixed a bug that caused the shell to read commands incorrectly if an
|
||||
expansion error occurred under certain conditions in a user-specified
|
||||
subshell.
|
||||
|
||||
e. Fixed a bug that caused the shell to set $? incorrectly if a parse error
|
||||
occurred in an evaluation context ("eval", trap command, dot script, etc.)
|
||||
|
||||
f. Fixed a bug that caused the shell to attempt command substitution
|
||||
completion within a single-quoted string.
|
||||
|
||||
g. Fixed a bug that caused the shell to insert an extra single quote during
|
||||
word completion.
|
||||
|
||||
h. Fixed a bug that caused the shell to crash if invoked with the environment
|
||||
variable EMACS having a null value.
|
||||
|
||||
i. Fixed a bug that caused bash to incorrectly report the presence of new
|
||||
mail in a `maildir' environment.
|
||||
|
||||
j. Fixed a bug that caused the shell to not recognize a here-document ending
|
||||
delimiter inside a command substitution.
|
||||
|
||||
k. Fixed a bug that caused the shell to crash when a a dynamic array variable
|
||||
was assigned a scalar value.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
a. The mapfile/readarray builtin no longer stores the commands it invokes via
|
||||
callbacks in the history list.
|
||||
|
||||
b. There is a new `compat40' shopt option.
|
||||
|
||||
c. The < and > operators to [[ do string comparisons using the current locale
|
||||
only if the compatibility level is greater than 40 (set to 41 by default).
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.1-alpha,
|
||||
and the previous version, bash-4.0-release.
|
||||
|
||||
|
||||
@@ -117,7 +117,30 @@ jj. Fixed a bug that caused variable expansion in here documents to look in
|
||||
kk. Bash and readline can now convert file names between precomposed and
|
||||
decomposed Unicode on Mac OS X ("keyboard" and file system forms,
|
||||
respectively). This affects filename completion (using new
|
||||
rl_filename_rewrite_hook) and globbing.
|
||||
rl_filename_rewrite_hook), globbing, and readline redisplay.
|
||||
|
||||
ll. The ERR and EXIT traps now see a non-zero value for $? when a parser
|
||||
error after set -e has been enabled causes the shell to exit.
|
||||
|
||||
mm. Fixed a bug that in brace expansion that caused zero-prefixed terms to
|
||||
not contain the correct number of digits.
|
||||
|
||||
nn. Fixed a bug that caused the shell to free non-allocated memory when
|
||||
unsetting an associative array which had had a value implicitly assigned
|
||||
to index "0".
|
||||
|
||||
oo. Fixed a memory leak in the ${!prefix@} expansion.
|
||||
|
||||
pp. Fixed a bug that caused printf to not correctly report all write errors.
|
||||
|
||||
qq. Fixed a bug that caused single and double quotes to act as delimiters
|
||||
when splitting a command line into words for programmable completion.
|
||||
|
||||
rr. Fixed a bug that caused ** globbing that caused **/path/* to match every
|
||||
directory, not just those matching `path'.
|
||||
|
||||
ss. Fixed a bug that caused the shell to dump core when running `help' without
|
||||
arguments if the terminal width was fewer than 7 characters.
|
||||
|
||||
2. Changes to Readline
|
||||
|
||||
@@ -143,6 +166,16 @@ g. Fixed a bug that caused key sequences of two characters to not be
|
||||
recognized when a longer sequence identical in the first two characters
|
||||
was bound.
|
||||
|
||||
h. Fixed a bug that caused history expansion to be attempted on $'...'
|
||||
single-quoted strings.
|
||||
|
||||
i. Fixed a bug that caused incorrect redisplay when the prompt contained
|
||||
multibyte characters in an `invisible' sequence bracketed by \[ and
|
||||
\].
|
||||
|
||||
j. Fixed a bug that caused history expansion to short-circuit after
|
||||
encountering a multibyte character.
|
||||
|
||||
3. New Features in Bash
|
||||
|
||||
a. Here-documents within $(...) command substitutions may once more be
|
||||
@@ -195,6 +228,25 @@ n. There is a new confgure option that forces the extglob option to be
|
||||
o. New variable $BASH_XTRACEFD; when set to an integer bash will write xtrace
|
||||
output to that file descriptor.
|
||||
|
||||
p. If the optional left-hand-side of a redirection is of the form {var}, the
|
||||
shell assigns the file descriptor used to $var or uses $var as the file
|
||||
descriptor to move or close, depending on the redirection operator.
|
||||
|
||||
q. The < and > operators to the [[ conditional command now do string
|
||||
comparison according to the current locale.
|
||||
|
||||
r. Programmable completion now uses the completion for `b' instead of `a'
|
||||
when completion is attempted on a line like: a $(b c.
|
||||
|
||||
s. Force extglob on temporarily when parsing the pattern argument to
|
||||
the == and != operators to the [[ command, for compatibility.
|
||||
|
||||
t. Changed the behavior of interrupting the wait builtin when a SIGCHLD is
|
||||
received and a trap on SIGCHLD is set to be Posix-mode only.
|
||||
|
||||
u. The read builtin has a new `-N nchars' option, which reads exactly NCHARS
|
||||
characters, ignoring delimiters like newline.
|
||||
|
||||
4. New Features in Readline
|
||||
|
||||
a. New bindable function: menu-complete-backward.
|
||||
@@ -218,6 +270,18 @@ f. New bindable variable: skip-completed-text, active when completing in the
|
||||
middle of a word. If enabled, it means that characters in the completion
|
||||
that match characters in the remainder of the word are "skipped" rather
|
||||
than inserted into the line.
|
||||
|
||||
g. The pre-readline-6.0 version of menu completion is available as
|
||||
"old-menu-complete" for users who do not like the readline-6.0 version.
|
||||
|
||||
h. New bindable variable: echo-control-characters. If enabled, and the
|
||||
tty ECHOCTL bit is set, controls the echoing of characters corresponding
|
||||
to keyboard-generated signals.
|
||||
|
||||
i. New bindable variable: enable-meta-key. Controls whether or not readline
|
||||
sends the smm/rmm sequences if the terminal indicates it has a meta key
|
||||
that enables eight-bit characters.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
This document details the changes between this version, bash-4.0-release,
|
||||
and the previous version, bash-4.0-rc1.
|
||||
|
||||
@@ -9130,3 +9130,26 @@ test.c
|
||||
support/shobj-conf
|
||||
- decrease the default version of FreeBSD that creates shared libraries
|
||||
to 4.x. Advice from Peter Jeremy <peterjeremy@acm.org>
|
||||
|
||||
11/2
|
||||
----
|
||||
parse.y
|
||||
- change parse_comsub to free `heredelim' and set it to 0 whenever the
|
||||
comsub scanner finds the end of a here document. Really need to
|
||||
implement a stack of here doc delimiters like in the parser (can we
|
||||
use redir_stack here, too?)
|
||||
- fix parse_comsub to not attempt to read another here doc delimiter
|
||||
after seeing a shell break character (that is not newline) if we
|
||||
already have one. Fixes Debian bash bug #553485, submitted by
|
||||
Samuel Hym <samuel.hym@gmail.com>
|
||||
|
||||
11/3
|
||||
----
|
||||
variables.c
|
||||
- fix bind_variable_internal to call a variable's dynamic 'set function'
|
||||
with the right arguments depending on whether its an associative
|
||||
array, an indexed array, or a scalar. Fixes Ubuntu bug #471504
|
||||
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/471504 reported
|
||||
by AJ Slater <aj.slater@gmail.com>
|
||||
|
||||
[bash-4.1-beta frozen]
|
||||
|
||||
+57
-1
@@ -9094,4 +9094,60 @@ lib/readline/complete.c
|
||||
documentation states (incorrect in bash-4.1-alpha)
|
||||
- in insert_match, skip over a close quote in the replacement text if
|
||||
the character at point when completion is invoked is a single
|
||||
quote
|
||||
quote. Fixes complaint from bash-bugs@atu.cjb.net
|
||||
|
||||
10/26
|
||||
-----
|
||||
shell.c
|
||||
- in main, make sure "$EMACS" is non-null before calling strstr on its
|
||||
value. Fixes Red Hat bug 530911 submitted by Mitchell Berger
|
||||
|
||||
builtins/mapfile.def
|
||||
- don't save callback commands in shell history. Suggested by
|
||||
Jan Schampera <jan.schampera@web.de>
|
||||
|
||||
mailcheck.c
|
||||
- in file_mod_date_changed, make sure the modification time is later
|
||||
than the saved modification date, not just that it's not equal.
|
||||
Fix from Evgeniy Dushistov <dushistov@mail.ru>
|
||||
- in file_access_date_changed, make sure the access time is later
|
||||
than the saved access time, not just that it's not equal
|
||||
|
||||
10/27
|
||||
-----
|
||||
builtins/shopt.def
|
||||
- added new `compat40' compatibility variable, with associated changes
|
||||
to shell_compatibility_level(), since the default compatibility level
|
||||
is now 41
|
||||
|
||||
test.c
|
||||
- make the < and > operators to [[ use strcoll() only if the shell
|
||||
compatibility level is greater than 40 (it is 41 by default in
|
||||
bash-4.1)
|
||||
|
||||
10/28
|
||||
-----
|
||||
support/shobj-conf
|
||||
- decrease the default version of FreeBSD that creates shared libraries
|
||||
to 4.x. Advice from Peter Jeremy <peterjeremy@acm.org>
|
||||
|
||||
11/2
|
||||
----
|
||||
parse.y
|
||||
- change parse_comsub to free `heredelim' and set it to 0 whenever the
|
||||
comsub scanner finds the end of a here document. Really need to
|
||||
implement a stack of here doc delimiters like in the parser (can we
|
||||
use redir_stack here, too?)
|
||||
- fix parse_comsub to not attempt to read another here doc delimiter
|
||||
after seeing a shell break character (that is not newline) if we
|
||||
already have one. Fixes Debian bash bug #553485, submitted by
|
||||
Samuel Hym <samuel.hym@gmail.com>
|
||||
|
||||
11/3
|
||||
----
|
||||
variables.c
|
||||
- fix bind_variable_internal to call a variable's dynamic 'set function'
|
||||
with the right arguments depending on whether its an associative
|
||||
array, an indexed array, or a scalar. Fixes Ubuntu bug #471504
|
||||
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/471504 reported
|
||||
by AJ Slater <aj.slater@gmail.com>
|
||||
|
||||
@@ -73,6 +73,14 @@ t. Changed the behavior of interrupting the wait builtin when a SIGCHLD is
|
||||
u. The read builtin has a new `-N nchars' option, which reads exactly NCHARS
|
||||
characters, ignoring delimiters like newline.
|
||||
|
||||
v. The mapfile/readarray builtin no longer stores the commands it invokes via
|
||||
callbacks in the history list.
|
||||
|
||||
w. There is a new `compat40' shopt option.
|
||||
|
||||
x. The < and > operators to [[ do string comparisons using the current locale
|
||||
only if the compatibility level is greater than 40 (set to 41 by default).
|
||||
|
||||
2. New Features in Readline
|
||||
|
||||
a. New bindable function: menu-complete-backward.
|
||||
|
||||
+11
-11
@@ -1,7 +1,7 @@
|
||||
@%:@! /bin/sh
|
||||
@%:@ From configure.in for Bash 4.1, version 4.015.
|
||||
@%:@ From configure.in for Bash 4.1, version 4.016.
|
||||
@%:@ Guess values for system-dependent variables and create Makefiles.
|
||||
@%:@ Generated by GNU Autoconf 2.63 for bash 4.1-alpha.
|
||||
@%:@ Generated by GNU Autoconf 2.63 for bash 4.1-beta.
|
||||
@%:@
|
||||
@%:@ 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.1-alpha'
|
||||
PACKAGE_STRING='bash 4.1-alpha'
|
||||
PACKAGE_VERSION='4.1-beta'
|
||||
PACKAGE_STRING='bash 4.1-beta'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
|
||||
ac_unique_file="shell.h"
|
||||
@@ -1411,7 +1411,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.1-alpha to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.1-beta to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1476,7 +1476,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.1-alpha:";;
|
||||
short | recursive ) echo "Configuration of bash 4.1-beta:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1652,7 +1652,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.1-alpha
|
||||
bash configure 4.1-beta
|
||||
generated by GNU Autoconf 2.63
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1666,7 +1666,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.1-alpha, which was
|
||||
It was created by bash $as_me 4.1-beta, which was
|
||||
generated by GNU Autoconf 2.63. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2078,7 +2078,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.1
|
||||
RELSTATUS=alpha
|
||||
RELSTATUS=beta
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -30964,7 +30964,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.1-alpha, which was
|
||||
This file was extended by bash $as_me 4.1-beta, which was
|
||||
generated by GNU Autoconf 2.63. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -31027,7 +31027,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
bash config.status 4.1-alpha
|
||||
bash config.status 4.1-beta
|
||||
configured by $0, generated by GNU Autoconf 2.63,
|
||||
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.1-alpha], [bug-bash@gnu.org])
|
||||
m4trace:configure.in:29: -1- AC_INIT([bash], [4.1-beta], [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.1, version 4.015.
|
||||
# From configure.in for Bash 4.1, version 4.016.
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.63 for bash 4.1-alpha.
|
||||
# Generated by GNU Autoconf 2.63 for bash 4.1-beta.
|
||||
#
|
||||
# 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.1-alpha'
|
||||
PACKAGE_STRING='bash 4.1-alpha'
|
||||
PACKAGE_VERSION='4.1-beta'
|
||||
PACKAGE_STRING='bash 4.1-beta'
|
||||
PACKAGE_BUGREPORT='bug-bash@gnu.org'
|
||||
|
||||
ac_unique_file="shell.h"
|
||||
@@ -1411,7 +1411,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.1-alpha to adapt to many kinds of systems.
|
||||
\`configure' configures bash 4.1-beta to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
@@ -1476,7 +1476,7 @@ fi
|
||||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of bash 4.1-alpha:";;
|
||||
short | recursive ) echo "Configuration of bash 4.1-beta:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
@@ -1652,7 +1652,7 @@ fi
|
||||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
bash configure 4.1-alpha
|
||||
bash configure 4.1-beta
|
||||
generated by GNU Autoconf 2.63
|
||||
|
||||
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
|
||||
@@ -1666,7 +1666,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.1-alpha, which was
|
||||
It was created by bash $as_me 4.1-beta, which was
|
||||
generated by GNU Autoconf 2.63. Invocation command line was
|
||||
|
||||
$ $0 $@
|
||||
@@ -2078,7 +2078,7 @@ ac_config_headers="$ac_config_headers config.h"
|
||||
|
||||
|
||||
BASHVERS=4.1
|
||||
RELSTATUS=alpha
|
||||
RELSTATUS=beta
|
||||
|
||||
case "$RELSTATUS" in
|
||||
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
|
||||
@@ -30964,7 +30964,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.1-alpha, which was
|
||||
This file was extended by bash $as_me 4.1-beta, which was
|
||||
generated by GNU Autoconf 2.63. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
@@ -31027,7 +31027,7 @@ Report bugs to <bug-autoconf@gnu.org>."
|
||||
_ACEOF
|
||||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_version="\\
|
||||
bash config.status 4.1-alpha
|
||||
bash config.status 4.1-beta
|
||||
configured by $0, generated by GNU Autoconf 2.63,
|
||||
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
|
||||
|
||||
|
||||
@@ -701,8 +701,9 @@ bgp_delete (pid)
|
||||
for (prev = p = bgpids.list; p; prev = p, p = p->next)
|
||||
if (p->pid == pid)
|
||||
{
|
||||
prev->next = p->next; /* remove from list */
|
||||
break;
|
||||
if (p != prev)
|
||||
prev->next = p->next; /* remove from list */
|
||||
break;
|
||||
}
|
||||
|
||||
if (p == 0)
|
||||
@@ -3050,6 +3051,12 @@ waitchld (wpid, block)
|
||||
/* Check for terminating signals and exit the shell if we receive one */
|
||||
CHECK_TERMSIG;
|
||||
|
||||
if (block == 1 && queue_sigchld == 0 && (waitpid_flags & WNOHANG) == 0)
|
||||
{
|
||||
internal_warning (_("waitchld: turning on WNOHANG to avoid indefinite block"));
|
||||
waitpid_flags |= WNOHANG;
|
||||
}
|
||||
|
||||
pid = WAITPID (-1, &status, waitpid_flags);
|
||||
|
||||
/* WCONTINUED may be rejected by waitpid as invalid even when defined */
|
||||
|
||||
@@ -481,6 +481,7 @@ stop_pipeline (async, deferred)
|
||||
JOB *newjob;
|
||||
sigset_t set, oset;
|
||||
|
||||
itrace("stop_pipeline");
|
||||
BLOCK_CHILD (set, oset);
|
||||
|
||||
#if defined (PGRP_PIPE)
|
||||
@@ -701,8 +702,9 @@ bgp_delete (pid)
|
||||
for (prev = p = bgpids.list; p; prev = p, p = p->next)
|
||||
if (p->pid == pid)
|
||||
{
|
||||
prev->next = p->next; /* remove from list */
|
||||
break;
|
||||
if (p != prev)
|
||||
prev->next = p->next; /* remove from list */
|
||||
break;
|
||||
}
|
||||
|
||||
if (p == 0)
|
||||
@@ -1100,6 +1102,7 @@ add_process (name, pid)
|
||||
{
|
||||
PROCESS *t, *p;
|
||||
|
||||
itrace("add_process; %s (%d)", name, pid);
|
||||
#if defined (RECYCLES_PIDS)
|
||||
int j;
|
||||
p = find_process (pid, 0, &j);
|
||||
@@ -3050,6 +3053,12 @@ waitchld (wpid, block)
|
||||
/* Check for terminating signals and exit the shell if we receive one */
|
||||
CHECK_TERMSIG;
|
||||
|
||||
if (block == 1 && queue_sigchld == 0 && (waitpid_flags & WNOHANG) == 0)
|
||||
{
|
||||
internal_warning (_("waitchld: turning on WNOHANG to avoid indefinite block"));
|
||||
waitpid_flags |= WNOHANG;
|
||||
}
|
||||
|
||||
pid = WAITPID (-1, &status, waitpid_flags);
|
||||
|
||||
/* WCONTINUED may be rejected by waitpid as invalid even when defined */
|
||||
@@ -3150,7 +3159,7 @@ waitchld (wpid, block)
|
||||
wait_signal_received = SIGCHLD;
|
||||
longjmp (wait_intr_buf, 1);
|
||||
}
|
||||
itrace("waitchld: call run_sigchld_trap (%d)", children_exited);
|
||||
|
||||
run_sigchld_trap (children_exited);
|
||||
}
|
||||
|
||||
|
||||
@@ -3378,6 +3378,8 @@ eof_error:
|
||||
{
|
||||
tflags &= ~(LEX_STRIPDOC|LEX_INHEREDOC);
|
||||
/*itrace("parse_comsub:%d: found here doc end `%s'", line_number, ret + tind);*/
|
||||
free (heredelim);
|
||||
heredelim = 0;
|
||||
lex_firstind = -1;
|
||||
}
|
||||
else
|
||||
@@ -3402,6 +3404,8 @@ eof_error:
|
||||
{
|
||||
tflags &= ~(LEX_STRIPDOC|LEX_INHEREDOC);
|
||||
/*itrace("parse_comsub:%d: found here doc end `%s'", line_number, ret + tind);*/
|
||||
free (heredelim);
|
||||
heredelim = 0;
|
||||
lex_firstind = -1;
|
||||
}
|
||||
}
|
||||
@@ -3482,13 +3486,24 @@ eof_error:
|
||||
{
|
||||
if (lex_firstind == -1 && shellbreak (ch) == 0)
|
||||
lex_firstind = retind;
|
||||
#if 0
|
||||
else if (heredelim && (tflags & LEX_PASSNEXT) == 0 && ch == '\n')
|
||||
{
|
||||
tflags |= LEX_INHEREDOC;
|
||||
tflags &= ~LEX_HEREDELIM;
|
||||
lex_firstind = retind + 1;
|
||||
}
|
||||
#endif
|
||||
else if (lex_firstind >= 0 && (tflags & LEX_PASSNEXT) == 0 && shellbreak (ch))
|
||||
{
|
||||
nestret = substring (ret, lex_firstind, retind);
|
||||
heredelim = string_quote_removal (nestret, 0);
|
||||
free (nestret);
|
||||
hdlen = STRLEN(heredelim);
|
||||
if (heredelim == 0)
|
||||
{
|
||||
nestret = substring (ret, lex_firstind, retind);
|
||||
heredelim = string_quote_removal (nestret, 0);
|
||||
free (nestret);
|
||||
hdlen = STRLEN(heredelim);
|
||||
/*itrace("parse_comsub:%d: found here doc delimiter `%s' (%d)", line_number, heredelim, hdlen);*/
|
||||
}
|
||||
if (ch == '\n')
|
||||
{
|
||||
tflags |= LEX_INHEREDOC;
|
||||
|
||||
+5896
File diff suppressed because it is too large
Load Diff
@@ -10,6 +10,7 @@ shopt -u checkwinsize
|
||||
shopt -s cmdhist
|
||||
shopt -u compat31
|
||||
shopt -u compat32
|
||||
shopt -u compat40
|
||||
shopt -u dirspell
|
||||
shopt -u dotglob
|
||||
shopt -u execfail
|
||||
@@ -63,6 +64,7 @@ shopt -u checkjobs
|
||||
shopt -u checkwinsize
|
||||
shopt -u compat31
|
||||
shopt -u compat32
|
||||
shopt -u compat40
|
||||
shopt -u dirspell
|
||||
shopt -u dotglob
|
||||
shopt -u execfail
|
||||
@@ -93,6 +95,7 @@ checkjobs off
|
||||
checkwinsize off
|
||||
compat31 off
|
||||
compat32 off
|
||||
compat40 off
|
||||
dirspell off
|
||||
dotglob off
|
||||
execfail off
|
||||
|
||||
+6
-1
@@ -2192,7 +2192,12 @@ bind_variable_internal (name, value, table, hflags, aflags)
|
||||
{
|
||||
INVALIDATE_EXPORTSTR (entry);
|
||||
newval = (aflags & ASS_APPEND) ? make_variable_value (entry, value, aflags) : value;
|
||||
entry = (*(entry->assign_func)) (entry, newval, -1, 0);
|
||||
if (assoc_p (entry))
|
||||
entry = (*(entry->assign_func)) (entry, newval, -1, savestring ("0"));
|
||||
else if (array_p (entry))
|
||||
entry = (*(entry->assign_func)) (entry, newval, 0, 0);
|
||||
else
|
||||
entry = (*(entry->assign_func)) (entry, newval, -1, 0);
|
||||
if (newval != value)
|
||||
free (newval);
|
||||
return (entry);
|
||||
|
||||
Reference in New Issue
Block a user