commit bash-20081106 snapshot

This commit is contained in:
Chet Ramey
2011-12-07 09:31:44 -05:00
parent 8c2fef191e
commit 1fa6db607f
23 changed files with 5150 additions and 67 deletions
+72
View File
@@ -1,3 +1,75 @@
This document details the changes between this version, bash-4.0-beta,
and the previous version, bash-4.0-alpha.
1. Changes to Bash
a. Fixed a typo that caused a variable to be used before initialization
while parsing Posix-style command substitutions.
b. Fixed a bug that caused stray ^? when the expansion of a parameter used
as part of a pattern removal expansion is empty, but part of a non-
empty string.
c. Fixed a bug that could cause strings not converted to numbers by strtol
to be treated as if the conversion had been successful.
d. The `return' builtin now accepts no options and requires a `--' before
a negative return value, as Posix requires.
e. Fixed a bug that caused local variables to be created with the empty
string for a value rather than no value.
f. Changed behavior so the shell now acts as if it received an interrupt
when a pipeline is killed by SIGINT while executing a list.
g. Fixed a bug that caused `declare var' and `typeset var' to initialize
`var' to the empty string.
h. Changed `bind' builtin to print a warning but proceed if invoked when
line editing is not active.
i. Fixed a bug that caused the shell to exit when the `errexit' option is
set and a command in a pipeline returns a non-zero exit status.
j. Fixed a bug that caused the shell to not run the exit trap in a command
run with `bash -c' under some circumstances.
k. Fixed a bug that caused parser errors to occasionally not set $? when
running commands with `eval'.
l. Fixed a bug that caused stray control characters when evaluating compound
array assignments containing $'\x7f' escapes.
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.
2. Changes to Readline
3. New Features in Bash
a. A value of 0 for the -t option to `read' now returns success if there is
input available to be read from the specified file descriptor.
b. CDPATH and GLOBIGNORE are ignored when the shell is running in privileged
mode.
c. New bindable readline functions shell-forward-word and shell-backward-word,
which move forward and backward words delimited by shell metacharacters
and honor shell quoting.
d. New bindable readline functions shell-backward-kill-word and shell-kill-word
which kill words backward and forward, but use the same word boundaries
as shell-forward-word and shell-backward-word.
4. New Features in Readline
a. If the kernel supports it, readline displays special characters
corresponding to a keyboard-generated signal when the signal is received.
------------------------------------------------------------------------------
This document details the changes between this version, bash-4.0-alpha,
and the previous version, bash-3.2-release.
+90 -9
View File
@@ -1,3 +1,72 @@
This document details the changes between this version, bash-4.0-beta,
and the previous version, bash-4.0-alpha.
1. Changes to Bash
a. Fixed a typo that caused a variable to be used before initialization
while parsing Posix-style command substitutions.
b. Fixed a bug that caused stray ^? when the expansion of a parameter used
as part of a pattern removal expansion is empty, but part of a non-
empty string.
c. Fixed a bug that could cause strings not converted to numbers by strtol
to be treated as if the conversion had been successful.
d. The `return' builtin now accepts no options and requires a `--' before
a negative return value, as Posix requires.
e. Fixed a bug that caused local variables to be created with the empty
string for a value rather than no value.
f. Changed behavior so the shell now acts as if it received an interrupt
when a pipeline is killed by SIGINT while executing a list.
g. Fixed a bug that caused `declare var' and `typeset var' to initialize
`var' to the empty string.
h. Changed `bind' builtin to print a warning but proceed if invoked when
line editing is not active.
i. Fixed a bug that caused the shell to exit when the `errexit' option is
set and a command in a pipeline returns a non-zero exit status.
j. Fixed a bug that caused the shell to not run the exit trap in a command
run with `bash -c' under some circumstances.
k. Fixed a bug that caused parser errors to occasionally not set $? when
running commands with `eval'.
l. Fixed a bug that caused stray control characters when evaluating compound
array assignments containing $'\x7f' escapes.
m. Fixed a bug that caused redirections involving file descriptor 10 as the
target to behave incorrectly.
2. Changes to Readline
3. New Features in Bash
a. A value of 0 for the -t option to `read' now returns success if there is
input available to be read from the specified file descriptor.
b. CDPATH and GLOBIGNORE are ignored when the shell is running in privileged
mode.
c. New bindable readline functions shell-forward-word and shell-backward-word,
which move forward and backward words delimited by shell metacharacters
and honor shell quoting.
d. New bindable readline functions shell-backward-kill-word and shell-kill-word
which kill words backward and forward, but use the same word boundaries
as shell-forward-word and shell-backward-word.
4. New Features in Readline
a. If the kernel supports it, readline displays special characters
corresponding to a keyboard-generated signal when the signal is received.
------------------------------------------------------------------------------
This document details the changes between this version, bash-4.0-alpha,
and the previous version, bash-3.2-release.
@@ -50,21 +119,22 @@ o. Fixed several bugs in the expansion of $* and $@ (quoted and unquoted)
apply to arrays subscripted with * or @.
p. Fixed several problems with pattern substitution expansions on the
positional parameters and arrays subscripted with * or @.
positional parameters and arrays subscripted with * or @ that occurred
when $IFS was set to the empty string.
q. Made a change to the default locale initialization code that should
result in better behavior from the locale-aware library functions.
r. Fixed a bug that caused compacting the jobs list to drop jobs.
s. Fixed a bug that caused jumps back to the top-level processing loop from a
builtin command to leave the shell in an inconsistent state.
s. Fixed a bug that caused jumps back to the top-level processing loop from
a builtin command to leave the shell in an inconsistent state.
t. Fixed a bug that caused characters that would be escaped internally to be
doubled when escaped with a backslash.
u. Fixed the initialization of mailboxes to not cause maildirs to be read (and
stat(2) called for every message file) at shell startup.
u. Fixed the initialization of mailboxes to not cause maildirs to be read
(and stat(2) called for every message file) at shell startup.
v. Fixed a bug that caused the shell to not display $PS2 when the read builtin
reads a line continued with a backslash.
@@ -117,8 +187,9 @@ kk. Fixed a bug with the `test' builtin that caused it to misinterpret
ll. Fixed bug that could cause the shell to dump core in certain cases where
a command sets the SIGINT disposition to the default.
mm. Fixed a bug in the pattern replacement word expansion that occurred when
the pattern and replacement strings were empty.
mm. Fixed a bug in the pattern replacement (affecting both word expansion
and the `fc' builtin) that occurred when the pattern and replacement
strings were empty.
nn. Fixed a bug that caused an arithmetic evaluation error to disable all
further evaluation.
@@ -265,6 +336,9 @@ eeee. The shell displays more warnings about failures to set the locale.
ffff. Fixed a bug that caused the body of a here-document to not be saved to
the history list.
gggg. Fixed a bug that caused configure to incorrectly conclude that FreeBSD
had /dev/fd available, resulting in problems with process substitution.
2. Changes to Readline
a. Fixed a number of redisplay errors in environments supporting multibyte
@@ -285,8 +359,9 @@ e. Fixed bugs in redisplay occurring when displaying prompts containing
f. Fixed a bug that caused the completion append character to not be reset to
the default after an application-specified completion function changed it.
g. Fixed a problem that caused incorrect positioning of the cursor in emacs
mode when at the end of a line in a locale supporting multibyte characters.
g. Fixed a problem that caused incorrect positioning of the cursor while in
emacs editing mode when moving forward at the end of a line while using
a locale supporting multibyte characters.
h. Fixed an off-by-one error that caused readline to drop every 511th
character of buffered input.
@@ -314,6 +389,12 @@ o. Fixed a bug that caused readline to disable echoing when it was being used
p. Readline now blocks SIGINT while manipulating internal data structures
during redisplay.
q. Fixed a bug in redisplay that caused readline to segfault when pasting a
very long line (over 130,000 characters).
r. Fixed bugs in redisplay when using prompts with no visible printing
characters.
3. New Features in Bash
a. When using substring expansion on the positional parameters, a starting
+26
View File
@@ -7101,3 +7101,29 @@ redir.c
a file descriptor must be > fdbase if fdbase >= SHELL_FD_BASE. A
value of -1 for fdbase means to just use SHELL_FD_BASE. Fixes bug
with 0<&10 reported by Clark Jian Wang <dearvoid@gmail.com>
11/5
----
unwind_prot.c
- new function: have_unwind_protects(); returns 1 if unwind_protect_list
is not empty
unwind_prot.h
- extern declaration for have_unwind_protects
builtins/evalstring.c
- in parse_and_execute_cleanup, make sure that we don't call
run_unwind_frame and expect it to decrement parse_and_execute_level
if there's no unwind_protect_list, since there's a while loop in
throw_to_top_level that calls parse_and_execute_cleanup as long as
parse_and_execute_level is non-zero
11/9
----
variables.c
- fix the assign function for COMP_WORDBREAKS to allocate new memory
to store as the variable's value, to avoid freeing memory twice
if the variable is unset after rl_completer_word_break_characters
is freed and reallocated. Fix from Mike Stroyan <mike@stroyan.net
[bash-4.0-beta frozen]
+26
View File
@@ -7101,3 +7101,29 @@ redir.c
a file descriptor must be > fdbase if fdbase >= SHELL_FD_BASE. A
value of -1 for fdbase means to just use SHELL_FD_BASE. Fixes bug
with 0<&10 reported by Clark Jian Wang <dearvoid@gmail.com>
11/5
----
unwind_prot.c
- new function: have_unwind_protects(); returns 1 if unwind_protect_list
is not empty
unwind_prot.h
- extern declaration for have_unwind_protects
builtins/evalstring.c
- in parse_and_execute_cleanup, make sure that we don't call
run_unwind_frame and expect it to decrement parse_and_execute_level
if there's no unwind_protect_list, since there's a while loop in
throw_to_top_level that calls parse_and_execute_cleanup as long as
parse_and_execute_level is non-zero
11/9
----
variables.c
- fix the assign function for COMP_WORDBREAKS to allocate new memory
to store as the variable's value, to avoid freeing memory twice
if the variable is unset after rl_completer_word_break_characters
is freed and reallocated. Fix from Mike Stroyan <mike@stroyan.net>
[bash-4.0-beta frozen]
+17
View File
@@ -141,6 +141,20 @@ kk. There is a new `coproc' reserved word that specifies a coprocess: an
PID of the coprocess are available to the calling shell in variables
with coproc-specific names.
ll. A value of 0 for the -t option to `read' now returns success if there is
input available to be read from the specified file descriptor.
mm. CDPATH and GLOBIGNORE are ignored when the shell is running in privileged
mode.
nn. New bindable readline functions shell-forward-word and shell-backward-word,
which move forward and backward words delimited by shell metacharacters
and honor shell quoting.
oo. New bindable readline functions shell-backward-kill-word and shell-kill-word
which kill words backward and forward, but use the same word boundaries
as shell-forward-word and shell-backward-word.
2. New Features in Readline
a. A new variable, rl_sort_completion_matches; allows applications to inhibit
@@ -178,6 +192,9 @@ i. There is a new `revert-all-at-newline' variable. If enabled, readline will
undo all outstanding changes to all history lines when `accept-line' is
executed.
j. If the kernel supports it, readline displays special characters
corresponding to a keyboard-generated signal when the signal is received.
-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-3.2 since
the release of bash-3.1. As always, the manual page (doc/bash.1) is
+14
View File
@@ -122,3 +122,17 @@ o There is a new `coproc' reserved word that specifies a coprocess: an
Coprocs can be named. The input and output file descriptors and the
PID of the coprocess are available to the calling shell in variables
with coproc-specific names.
o A value of 0 for the -t option to `read' now returns success if there is
input available to be read from the specified file descriptor.
o CDPATH and GLOBIGNORE are ignored when the shell is running in privileged
mode.
o New bindable readline functions shell-forward-word and shell-backward-word,
which move forward and backward words delimited by shell metacharacters
and honor shell quoting.
o New bindable readline functions shell-backward-kill-word and shell-kill-word
which kill words backward and forward, but use the same word boundaries
as shell-forward-word and shell-backward-word.
+1394
View File
File diff suppressed because it is too large Load Diff
+1395
View File
File diff suppressed because it is too large Load Diff
+11 -11
View File
@@ -1,7 +1,7 @@
@%:@! /bin/sh
@%:@ From configure.in for Bash 4.0, version 4.006.
@%:@ From configure.in for Bash 4.0, version 4.007.
@%:@ Guess values for system-dependent variables and create Makefiles.
@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-alpha.
@%:@ Generated by GNU Autoconf 2.62 for bash 4.0-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.0-alpha'
PACKAGE_STRING='bash 4.0-alpha'
PACKAGE_VERSION='4.0-beta'
PACKAGE_STRING='bash 4.0-beta'
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-alpha to adapt to many kinds of systems.
\`configure' configures bash 4.0-beta 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-alpha:";;
short | recursive ) echo "Configuration of bash 4.0-beta:";;
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-alpha
bash configure 4.0-beta
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-alpha, which was
It was created by bash $as_me 4.0-beta, 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=alpha
RELSTATUS=beta
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-alpha, which was
This file was extended by bash $as_me 4.0-beta, 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-alpha
bash config.status 4.0-beta
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+11 -11
View File
@@ -15,25 +15,25 @@
'configure.in'
],
{
'AM_PROG_F77_C_O' => 1,
'_LT_AC_TAGCONFIG' => 1,
'm4_pattern_forbid' => 1,
'AM_PROG_F77_C_O' => 1,
'AC_INIT' => 1,
'AC_CANONICAL_TARGET' => 1,
'm4_pattern_forbid' => 1,
'_AM_COND_IF' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_CANONICAL_TARGET' => 1,
'AC_SUBST' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_CONFIG_LIBOBJ_DIR' => 1,
'AC_FC_SRCEXT' => 1,
'AC_CANONICAL_HOST' => 1,
'AC_PROG_LIBTOOL' => 1,
'AM_INIT_AUTOMAKE' => 1,
'AC_CONFIG_SUBDIRS' => 1,
'AM_AUTOMAKE_VERSION' => 1,
'LT_CONFIG_LTDL_DIR' => 1,
'AC_CONFIG_LINKS' => 1,
'AC_REQUIRE_AUX_FILE' => 1,
'LT_SUPPORTED_TAG' => 1,
'AC_CONFIG_LINKS' => 1,
'm4_sinclude' => 1,
'LT_SUPPORTED_TAG' => 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,
'AC_CONFIG_AUX_DIR' => 1,
'_AM_SUBST_NOTMAKE' => 1,
'AM_PROG_CC_C_O' => 1,
'm4_pattern_allow' => 1,
'AC_CONFIG_AUX_DIR' => 1,
'sinclude' => 1,
'AM_CONDITIONAL' => 1,
'm4_pattern_allow' => 1,
'AM_PROG_CC_C_O' => 1,
'AC_CANONICAL_SYSTEM' => 1,
'AM_CONDITIONAL' => 1,
'AC_CONFIG_HEADERS' => 1,
'AC_DEFINE_TRACE_LITERAL' => 1,
'm4_include' => 1,
+1 -1
View File
@@ -1,4 +1,4 @@
m4trace:configure.in:29: -1- AC_INIT([bash], [4.0-alpha], [bug-bash@gnu.org])
m4trace:configure.in:29: -1- AC_INIT([bash], [4.0-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'])
+5 -1
View File
@@ -91,7 +91,11 @@ parse_and_execute_cleanup ()
run_trap_cleanup (running_trap - 1);
unfreeze_jobs_list ();
}
run_unwind_frame (PE_TAG);
if (have_unwind_protects ())
run_unwind_frame (PE_TAG);
else
parse_and_execute_level = 0; /* XXX */
}
static void
Vendored
+11 -11
View File
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.in for Bash 4.0, version 4.006.
# From configure.in for Bash 4.0, version 4.007.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.62 for bash 4.0-alpha.
# Generated by GNU Autoconf 2.62 for bash 4.0-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.0-alpha'
PACKAGE_STRING='bash 4.0-alpha'
PACKAGE_VERSION='4.0-beta'
PACKAGE_STRING='bash 4.0-beta'
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-alpha to adapt to many kinds of systems.
\`configure' configures bash 4.0-beta 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-alpha:";;
short | recursive ) echo "Configuration of bash 4.0-beta:";;
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-alpha
bash configure 4.0-beta
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-alpha, which was
It was created by bash $as_me 4.0-beta, 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=alpha
RELSTATUS=beta
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-alpha, which was
This file was extended by bash $as_me 4.0-beta, 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-alpha
bash config.status 4.0-beta
configured by $0, generated by GNU Autoconf 2.62,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+2 -2
View File
@@ -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])
+20 -17
View File
@@ -7,25 +7,24 @@ dnl Process this file with autoconf to produce a configure script.
# Copyright (C) 1987-2008 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
# 02111-1307, USA.
AC_REVISION([for Bash 4.0, version 4.003])dnl
AC_REVISION([for Bash 4.0, version 4.006])dnl
define(bashvers, 4.0)
define(relstatus, devel)
define(relstatus, alpha)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
@@ -729,6 +728,7 @@ AC_CHECK_FUNCS(isascii isblank isgraph isprint isspace isxdigit)
AC_CHECK_FUNCS(getpwent getpwnam getpwuid)
AC_REPLACE_FUNCS(getcwd memset strcasecmp strerror strftime strnlen strpbrk strstr)
AC_REPLACE_FUNCS(strtod strtol strtoul strtoll strtoull strtoimax strtoumax)
AC_REPLACE_FUNCS(fdprintf)
AC_CHECK_DECLS([confstr])
AC_CHECK_DECLS([printf])
@@ -989,7 +989,7 @@ dnl like glob and readline
LOCAL_DEFS=-DSHELL
dnl use this section to possibly define more cpp variables, specify local
dnl libraries, and specify any additional local cc flags
dnl libraries, and specify any additional local cc or ld flags
dnl
dnl this should really go away someday
@@ -1009,6 +1009,9 @@ sco3.2v4*) LOCAL_CFLAGS="-DMUST_UNBLOCK_CHLD -DPATH_MAX=1024" ;;
sco3.2*) LOCAL_CFLAGS=-DMUST_UNBLOCK_CHLD ;;
sunos4*) LOCAL_CFLAGS=-DSunOS4 ;;
solaris2.5*) LOCAL_CFLAGS="-DSunOS5 -DSOLARIS" ;;
solaris2.8*) LOCAL_CFLAGS=-DSOLARIS LOCAL_LDFLAGS='-z interpose' ;;
solaris2.9*) LOCAL_CFLAGS=-DSOLARIS LOCAL_LDFLAGS='-z interpose' ;;
solaris2.10*) LOCAL_CFLAGS=-DSOLARIS LOCAL_LDFLAGS='-z interpose' ;;
solaris2*) LOCAL_CFLAGS=-DSOLARIS ;;
lynxos*) LOCAL_CFLAGS=-DRECYCLES_PIDS ;;
linux*) LOCAL_LDFLAGS=-rdynamic # allow dynamic loading
+14
View File
@@ -522,6 +522,20 @@ o There is a new `coproc' reserved word that specifies a coprocess: an
PID of the coprocess are available to the calling shell in variables
with coproc-specific names.
o A value of 0 for the -t option to `read' now returns success if there is
input available to be read from the specified file descriptor.
o CDPATH and GLOBIGNORE are ignored when the shell is running in privileged
mode.
o New bindable readline functions shell-forward-word and shell-backward-word,
which move forward and backward words delimited by shell metacharacters
and honor shell quoting.
o New bindable readline functions shell-backward-kill-word and shell-kill-word
which kill words backward and forward, but use the same word boundaries
as shell-forward-word and shell-backward-word.
A short feature history dating from Bash-2.0:
Bash-3.2 contained the following new features:
+2027
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -1873,6 +1873,7 @@ make_child (command, async_p)
js.c_totforked++;
js.c_living++;
itrace("make_child: `%s' --> %ld", command, pid);
/* Unblock SIGINT and SIGCHLD unless creating a pipeline, in which case
SIGCHLD remains blocked until all commands in the pipeline have been
created. */
@@ -2526,7 +2527,7 @@ if (job == NO_JOB)
or until loop, act as if the shell received SIGINT as
well, so the loop can be broken. This doesn't call the
SIGINT signal handler; maybe it should. */
if (signal_is_trapped (SIGINT) == 0 && (loop_level || executing_list))
if (signal_is_trapped (SIGINT) == 0 && (loop_level || (shell_compatibility_level > 32 && executing_list)))
ADDINTERRUPT;
else
{
+1 -1
View File
@@ -1,4 +1,4 @@
BUILD_DIR=/usr/local/build/bash/bash-current
BUILD_DIR=/usr/local/build/chet/bash/bash-current
THIS_SH=$BUILD_DIR/bash
PATH=$PATH:$BUILD_DIR
+6
View File
@@ -176,6 +176,12 @@ clear_unwind_protect_list (flags)
}
}
int
have_unwind_protects ()
{
return (unwind_protect_list != 0);
}
/* **************************************************************** */
/* */
/* The Actual Functions */
+1
View File
@@ -29,6 +29,7 @@ extern void add_unwind_protect (); /* Not portable to arbitrary C99 hosts. */
extern void remove_unwind_protect __P((void));
extern void run_unwind_protects __P((void));
extern void clear_unwind_protect_list __P((int));
extern int have_unwind_protects __P((void));
extern void uwp_init __P((void));
/* Define for people who like their code to look a certain way. */
+2 -1
View File
@@ -1419,7 +1419,8 @@ get_comp_wordbreaks (var)
if (rl_completer_word_break_characters == 0 && bash_readline_initialized == 0)
enable_hostname_completion (perform_hostname_completion);
var_setvalue (var, rl_completer_word_break_characters);
FREE (value_cell (var));
var_setvalue (var, savestring (rl_completer_word_break_characters));
return (var);
}
+2 -1
View File
@@ -4234,7 +4234,8 @@ void
sv_globignore (name)
char *name;
{
setup_glob_ignore (name);
if (privileged_mode == 0)
setup_glob_ignore (name);
}
#if defined (READLINE)