commit bash-20160826 snapshot

This commit is contained in:
Chet Ramey
2016-08-29 10:44:57 -04:00
parent ff0adf8a0a
commit 79eedac429
38 changed files with 3528 additions and 3279 deletions
+48 -43
View File
@@ -11,26 +11,26 @@ b. Fixed execution context so `until continue' doesn't disable execution for
c. Fixed trap handling code so traps don't inherit a command's temporary
environment.
d. Fixed a bug that resulted in incorrect line numbers when a function is defined
as part of another function's execution.
d. Fixed a bug that resulted in incorrect line numbers when a function is
defined as part of another function's execution.
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting is not
performed and $IFS is not the default.
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting
is not performed and $IFS is not the default.
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when there are
no positional parameters.
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when
there are no positional parameters.
g. Fixed a bug that caused a shell compiled without job control to use the incorrect
exit status for builtin commands preceded by a command executed from the file
system that causes the shell to call waitpid().
g. Fixed a bug that caused a shell compiled without job control to use the
incorrect exit status for builtin commands preceded by a command executed
from the file system that causes the shell to call waitpid().
h. Improved word completion for quoted strings containing unterminated command
substitutions with embedded double quotes.
2. Changes to Readline
a. Fixed a bug that caused mode strings to be displayed incorrectly if the prompt was
shorter than the mode string.
a. Fixed a bug that caused mode strings to be displayed incorrectly if the
prompt was shorter than the mode string.
3. New Features in Bash
@@ -42,10 +42,11 @@ a. Using ${a[@]} or ${a[*]} with an array without any assigned elements when
a. New application-callable function: rl_pending_signal(): returns the signal
number of any signal readline has caught but not yet handled.
b. New application-settable variable: rl_persistent_signal_handlers: if set to a
non-zero value, readline will enable the readline-6.2 signal handler behavior
in callback mode: handlers are installed when rl_callback_handler_install is
called and removed removed when a complete line has been read.
b. New application-settable variable: rl_persistent_signal_handlers: if set
to a non-zero value, readline will enable the readline-6.2 signal handler
behavior in callback mode: handlers are installed when
rl_callback_handler_install is called and removed removed when a complete
line has been read.
------------------------------------------------------------------------------
This document details the changes between this version, bash-4.4-beta2, and
@@ -188,8 +189,8 @@ b. Fixed a bug that caused the mapfile builtin to not create array variables
c. Fixed a bug that caused prompt expansion to loop when PS1 contained a
syntax error.
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results even
when double-quoted.
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results
even when double-quoted.
e. There is a new implementation of the code that saves the last CHILD_MAX
exited background pids so their status can be queried later.
@@ -198,8 +199,8 @@ f. Bash-4.4 can now be configured and built on very old versions of Solaris 2.
g. Fixed problems with --help support for several builtins.
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited from
the environment.
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited
from the environment.
i. Fixed a bug that caused background processes run from non-interactive shells
with job control enabled to place the terminal in the wrong process group
@@ -208,8 +209,8 @@ i. Fixed a bug that caused background processes run from non-interactive shells
j. Fixed a bug that caused `fc' to return an incorrect exit status when
executing commands from the history list.
k. Fixed a bug that caused the shell to exit when a process substitution received
a SIGINT when run in certain terminal emulators.
k. Fixed a bug that caused the shell to exit when a process substitution
received a SIGINT when run in certain terminal emulators.
l. EXECIGNORE now honors the setting of `extglob' when attempting to match
executable names.
@@ -226,11 +227,11 @@ o. Fixed a bug that caused set -e to be honored in cases of builtins invoking
p. Fixed a bug that caused `readonly' and `export' to create local array
variables when used within shell functions.
q. Fixed a bug that allowed subshells begun to execute process substitutions to
have access to the command's temporary environment.
q. Fixed a bug that allowed subshells begun to execute process substitutions
to have access to the command's temporary environment.
r. Fixed a bug that could cause the shell to dump core when receiving a SIGCHLD
for which a trap has been set while running in posix mode.
r. Fixed a bug that could cause the shell to dump core when receiving a
SIGCHLD for which a trap has been set while running in posix mode.
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV, BASH_SOURCE,
BASH_LINENO, and FUNCNAME if the shell received a SIGINT while reading
@@ -255,11 +256,12 @@ x. Fixed a bug that caused process and command substitution to inherit output
y. Fixed a bug that caused a terminating signal received during `echo' to run
an exit trap in a signal handler context.
z. Fixed a bug that caused a builtin command containing a process substitution to
return the wrong exit status.
z. Fixed a bug that caused a builtin command containing a process substitution
to return the wrong exit status.
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly redirect
the standard input of some of the commands in the subshell from /dev/null.
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly
redirect the standard input of some of the commands in the subshell from
/dev/null.
bb. The history builtin now uses more descriptive error messages for missing or
invalid timestamps.
@@ -269,7 +271,8 @@ bb. The history builtin now uses more descriptive error messages for missing or
a. The history file writing functions only attempt to create and use a backup
history file if the history file exists and is a regular file.
b. Fixed an out-of-bounds read in readline's internal tilde expansion interface.
b. Fixed an out-of-bounds read in readline's internal tilde expansion
interface.
c. Fixed several redisplay bugs with prompt strings containing multibyte
and non-visible characters whose physical length is longer than the screen
@@ -297,32 +300,34 @@ b. inherit_errexit: a new `shopt' option that, when set, causes command
c. New prompt string: PS0. Expanded and displayed by interactive shells after
reading a complete command but before executing it.
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to SIG_DFL
when the shell is started, so they are set to SIG_DFL in child processes.
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to
SIG_DFL when the shell is started, so they are set to SIG_DFL in child
processes.
e. Posix-mode shells now allow double quotes to quote the history expansion
character.
f. OLDPWD can be inherited from the environment if it names a directory.
g. Shells running as root no longer inherit PS4 from the environment, closing a
security hole involving PS4 expansion performing command substitution.
g. Shells running as root no longer inherit PS4 from the environment, closing
a security hole involving PS4 expansion performing command substitution.
h. If executing an implicit `cd' when the `autocd' option is set, bash will now
invoke a function named `cd' if one exists before executing the `cd' builtin.
h. If executing an implicit `cd' when the `autocd' option is set, bash will
now invoke a function named `cd' if one exists before executing the `cd'
builtin.
4. New Features in Readline
a. If an incremental search string has its last character removed with DEL, the
resulting empty search string no longer matches the previous line.
a. If an incremental search string has its last character removed with DEL,
the resulting empty search string no longer matches the previous line.
b. If readline reads a history file that begins with `#' (or the value of
the history comment character) and has enabled history timestamps, the history
entries are assumed to be delimited by timestamps. This allows multi-line
history entries.
the history comment character) and has enabled history timestamps, the
history entries are assumed to be delimited by timestamps. This allows
multi-line history entries.
c. Readline now throws an error if it parses a key binding without a terminating
`:' or whitespace.
c. Readline now throws an error if it parses a key binding without a
terminating `:' or whitespace.
------------------------------------------------------------------------------
This document details the changes between this version, bash-4.4-beta, and
+49 -43
View File
@@ -11,26 +11,26 @@ b. Fixed execution context so `until continue' doesn't disable execution for
c. Fixed trap handling code so traps don't inherit a command's temporary
environment.
d. Fixed a bug that resulted in incorrect line numbers when a function is defined
as part of another function's execution.
d. Fixed a bug that resulted in incorrect line numbers when a function is
defined as part of another function's execution.
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting is not
performed and $IFS is not the default.
e. Fixed a bug in the expansion of ${a[@]} in contexts where word splitting
is not performed and $IFS is not the default.
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when there are
no positional parameters.
f. Fixed a bug that caused ''"$@" to not expand to an empty argument when
there are no positional parameters.
g. Fixed a bug that caused a shell compiled without job control to use the incorrect
exit status for builtin commands preceded by a command executed from the file
system that causes the shell to call waitpid().
g. Fixed a bug that caused a shell compiled without job control to use the
incorrect exit status for builtin commands preceded by a command executed
from the file system that causes the shell to call waitpid().
h. Improved word completion for quoted strings containing unterminated command
substitutions with embedded double quotes.
2. Changes to Readline
a. Fixed a bug that caused mode strings to be displayed incorrectly if the prompt was
shorter than the mode string.
a. Fixed a bug that caused mode strings to be displayed incorrectly if the
prompt was shorter than the mode string.
3. New Features in Bash
@@ -42,10 +42,11 @@ a. Using ${a[@]} or ${a[*]} with an array without any assigned elements when
a. New application-callable function: rl_pending_signal(): returns the signal
number of any signal readline has caught but not yet handled.
b. New application-settable variable: rl_persistent_signal_handlers: if set to a
non-zero value, readline will enable the readline-6.2 signal handler behavior
in callback mode: handlers are installed when rl_callback_handler_install is
called and removed removed when a complete line has been read.
b. New application-settable variable: rl_persistent_signal_handlers: if set
to a non-zero value, readline will enable the readline-6.2 signal handler
behavior in callback mode: handlers are installed when
rl_callback_handler_install is called and removed removed when a complete
line has been read.
------------------------------------------------------------------------------
This document details the changes between this version, bash-4.4-beta2, and
@@ -188,8 +189,8 @@ b. Fixed a bug that caused the mapfile builtin to not create array variables
c. Fixed a bug that caused prompt expansion to loop when PS1 contained a
syntax error.
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results even
when double-quoted.
d. Fixed a bug that caused the ${array[@]@A} expansion to split the results
even when double-quoted.
e. There is a new implementation of the code that saves the last CHILD_MAX
exited background pids so their status can be queried later.
@@ -198,8 +199,8 @@ f. Bash-4.4 can now be configured and built on very old versions of Solaris 2.
g. Fixed problems with --help support for several builtins.
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited from
the environment.
h. Fixed values added to BASH_SOURCE and BASH_LINENO for functions inherited
from the environment.
i. Fixed a bug that caused background processes run from non-interactive shells
with job control enabled to place the terminal in the wrong process group
@@ -208,8 +209,8 @@ i. Fixed a bug that caused background processes run from non-interactive shells
j. Fixed a bug that caused `fc' to return an incorrect exit status when
executing commands from the history list.
k. Fixed a bug that caused the shell to exit when a process substitution received
a SIGINT when run in certain terminal emulators.
k. Fixed a bug that caused the shell to exit when a process substitution
received a SIGINT when run in certain terminal emulators.
l. EXECIGNORE now honors the setting of `extglob' when attempting to match
executable names.
@@ -226,11 +227,11 @@ o. Fixed a bug that caused set -e to be honored in cases of builtins invoking
p. Fixed a bug that caused `readonly' and `export' to create local array
variables when used within shell functions.
q. Fixed a bug that allowed subshells begun to execute process substitutions to
have access to the command's temporary environment.
q. Fixed a bug that allowed subshells begun to execute process substitutions
to have access to the command's temporary environment.
r. Fixed a bug that could cause the shell to dump core when receiving a SIGCHLD
for which a trap has been set while running in posix mode.
r. Fixed a bug that could cause the shell to dump core when receiving a
SIGCHLD for which a trap has been set while running in posix mode.
s. Fixed a bug that caused bash to not restore BASH_ARGC, BASH_ARGV, BASH_SOURCE,
BASH_LINENO, and FUNCNAME if the shell received a SIGINT while reading
@@ -255,11 +256,12 @@ x. Fixed a bug that caused process and command substitution to inherit output
y. Fixed a bug that caused a terminating signal received during `echo' to run
an exit trap in a signal handler context.
z. Fixed a bug that caused a builtin command containing a process substitution to
return the wrong exit status.
z. Fixed a bug that caused a builtin command containing a process substitution
to return the wrong exit status.
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly redirect
the standard input of some of the commands in the subshell from /dev/null.
aa. Fixed a bug that caused `()' subshells with piped input to incorrectly
redirect the standard input of some of the commands in the subshell from
/dev/null.
bb. The history builtin now uses more descriptive error messages for missing or
invalid timestamps.
@@ -269,7 +271,8 @@ bb. The history builtin now uses more descriptive error messages for missing or
a. The history file writing functions only attempt to create and use a backup
history file if the history file exists and is a regular file.
b. Fixed an out-of-bounds read in readline's internal tilde expansion interface.
b. Fixed an out-of-bounds read in readline's internal tilde expansion
interface.
c. Fixed several redisplay bugs with prompt strings containing multibyte
and non-visible characters whose physical length is longer than the screen
@@ -297,32 +300,34 @@ b. inherit_errexit: a new `shopt' option that, when set, causes command
c. New prompt string: PS0. Expanded and displayed by interactive shells after
reading a complete command but before executing it.
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to SIG_DFL
when the shell is started, so they are set to SIG_DFL in child processes.
d. Interactive shells now behave as if SIGTSTP/SIGTTIN/SIGTTOU are set to
SIG_DFL when the shell is started, so they are set to SIG_DFL in child
processes.
e. Posix-mode shells now allow double quotes to quote the history expansion
character.
f. OLDPWD can be inherited from the environment if it names a directory.
g. Shells running as root no longer inherit PS4 from the environment, closing a
security hole involving PS4 expansion performing command substitution.
g. Shells running as root no longer inherit PS4 from the environment, closing
a security hole involving PS4 expansion performing command substitution.
h. If executing an implicit `cd' when the `autocd' option is set, bash will now
invoke a function named `cd' if one exists before executing the `cd' builtin.
h. If executing an implicit `cd' when the `autocd' option is set, bash will
now invoke a function named `cd' if one exists before executing the `cd'
builtin.
4. New Features in Readline
a. If an incremental search string has its last character removed with DEL, the
resulting empty search string no longer matches the previous line.
a. If an incremental search string has its last character removed with DEL,
the resulting empty search string no longer matches the previous line.
b. If readline reads a history file that begins with `#' (or the value of
the history comment character) and has enabled history timestamps, the history
entries are assumed to be delimited by timestamps. This allows multi-line
history entries.
the history comment character) and has enabled history timestamps, the
history entries are assumed to be delimited by timestamps. This allows
multi-line history entries.
c. Readline now throws an error if it parses a key binding without a terminating
`:' or whitespace.
c. Readline now throws an error if it parses a key binding without a
terminating `:' or whitespace.
------------------------------------------------------------------------------
This document details the changes between this version, bash-4.4-beta, and
@@ -999,3 +1004,4 @@ h. The insert-char function attempts to batch-insert all pending typeahead
i. rl_callback_sigcleanup: a new application function that can clean up and
unset any state set by readline's callback mode. Intended to be used
after a signal.
+48
View File
@@ -11601,3 +11601,51 @@ lib/sh/netopen.c
doc/{bash.1,bashref.texi}
- change conditional commands description to make it clearer that
bash doesn't emulate /dev/fd if the OS provides it
8/22
----
braces.c
- expand_amble: free partial and tem on failure to allocate memory
for merged partial+result strvec. Fix from Dmitry Goncharov
<dgoncharov@users.sf.net>
8/23
----
jobs.c
- wait_for: don't call get_tty_state when a job finishes if we're
running it as part of programmable completion. We test
rl_readline_state. Fixes bug reported by Jaro Punta
<silly8888@gmail.com>
8/24
----
subst.c
- pat_subst: fix memory leak (mstr). Fix from Dmitry Goncharov
<dgoncharov@users.sf.net>
- split_at_delims: fix memory leak (d2). Fix from Dmitry Goncharov
<dgoncharov@users.sf.net>
8/26
----
subst.c
- match_upattern,match_wpattern: make sure that a trailing `*' is
not escaped (preceded by an odd number of backslashes) before we
append a `*' when checking whether a pattern matches anywhere in
the string
lib/readline/{input,signals}.c
- protect instances of SIGQUIT with #ifdef SIGQUIT; apparently
MinGW doesn't define it
- protect instances of SIGHUP with #ifdef SIGHUP; apparently
MinGW doesn't define it. From a report from Simon Sobisch
<simonsobisch@gnu.org>
xmalloc.o
- allocerr: only try to find the break and report it if we're using
the bash malloc; there's no guarantee that any other malloc is
using sbrk()
doc/{bash.1,bashref.texi}
- quote removal: add paragraph mentioning quote removal to beginning
of expansions section, referencing later paragraph. Report from
Michel Lanne <michel.lanne@gmail.com>
+14 -5
View File
@@ -186,12 +186,12 @@ j. If an incremental search string has its last character removed with DEL, the
resulting empty search string no longer matches the previous line.
k. If readline reads a history file that begins with `#' (or the value of
the history comment character) and has enabled history timestamps, the history
entries are assumed to be delimited by timestamps. This allows multi-line
history entries.
the history comment character) and has enabled history timestamps, the
history entries are assumed to be delimited by timestamps. This allows
multi-line history entries.
l. Readline now throws an error if it parses a key binding without a terminating
`:' or whitespace.
l. Readline now throws an error if it parses a key binding without a
terminating `:' or whitespace.
m. The default binding for ^W in vi mode now uses word boundaries specified
by Posix (vi-unix-word-rubout is bindable command name).
@@ -212,6 +212,15 @@ q. Fixed a bug with displaying completions when the prefix display length
r. The :p history modifier now applies to the entire line, so any expansion
specifying :p causes the line to be printed instead of expanded.
s. New application-callable function: rl_pending_signal(): returns the signal
number of any signal readline has caught but not yet handled.
t. New application-settable variable: rl_persistent_signal_handlers: if set
to a non-zero value, readline will enable the readline-6.2 signal handler
behavior in callback mode: handlers are installed when
rl_callback_handler_install is called and removed removed when a complete
line has been read.
-------------------------------------------------------------------------------
This is a terse description of the new features added to bash-4.3 since
the release of bash-4.2. As always, the manual page (doc/bash.1) is
+31 -11
View File
@@ -178,17 +178,37 @@ j. If an incremental search string has its last character removed with DEL, the
resulting empty search string no longer matches the previous line.
k. If readline reads a history file that begins with `#' (or the value of
the history comment character) and has enabled history timestamps, the history
entries are assumed to be delimited by timestamps. This allows multi-line
history entries.
the history comment character) and has enabled history timestamps, the
history entries are assumed to be delimited by timestamps. This allows
multi-line history entries.
l. Readline now throws an error if it parses a key binding without a terminating
`:' or whitespace.
l. Readline now throws an error if it parses a key binding without a
terminating `:' or whitespace.
m. New application-callable function: rl_pending_signal(): returns the signal
m. The default binding for ^W in vi mode now uses word boundaries specified
by Posix (vi-unix-word-rubout is bindable command name).
n. rl_clear_visible_line: new application-callable function; clears all
screen lines occupied by the current visible readline line.
o. rl_tty_set_echoing: application-callable function that controls whether
or not readline thinks it is echoing terminal output.
p. Handle >| and strings of digits preceding and following redirection
specifications as single tokens when tokenizing the line for history
expansion.
q. Fixed a bug with displaying completions when the prefix display length
is greater than the length of the completions to be displayed.
r. The :p history modifier now applies to the entire line, so any expansion
specifying :p causes the line to be printed instead of expanded.
s. New application-callable function: rl_pending_signal(): returns the signal
number of any signal readline has caught but not yet handled.
n. New application-settable variable: rl_persistent_signal_handlers: if set to a
non-zero value, readline will enable the readline-6.2 signal handler behavior
in callback mode: handlers are installed when rl_callback_handler_install is
called and removed removed when a complete line has been read.
t. New application-settable variable: rl_persistent_signal_handlers: if set
to a non-zero value, readline will enable the readline-6.2 signal handler
behavior in callback mode: handlers are installed when
rl_callback_handler_install is called and removed removed when a complete
line has been read.
+43 -8
View File
@@ -38,6 +38,12 @@
#if defined (SHELL)
# include "shell.h"
#else
# if defined (TEST)
typedef char *WORD_DESC;
typedef char **WORD_LIST;
#define _(X) X
# endif /* TEST */
#endif /* SHELL */
#include "typemax.h" /* INTMAX_MIN, INTMAX_MAX */
@@ -287,7 +293,9 @@ expand_amble (text, tlen, flags)
char *tem;
int start, i, c;
#if defined (SHELL)
DECLARE_MBSTATE;
#endif
result = (char **)NULL;
@@ -301,7 +309,7 @@ expand_amble (text, tlen, flags)
#else
tem = (char *)xmalloc (1 + (i - start));
strncpy (tem, &text[start], (i - start));
tem[i- start] = '\0';
tem[i - start] = '\0';
#endif
partial = brace_expand (tem);
@@ -319,6 +327,8 @@ expand_amble (text, tlen, flags)
if (tresult == 0)
{
internal_error (_("brace expansion: cannot allocate memory for %s"), tem);
free (tem);
strvec_dispose (partial);
strvec_dispose (result);
result = (char **)NULL;
return result;
@@ -333,7 +343,11 @@ expand_amble (text, tlen, flags)
free (partial);
}
free (tem);
#if defined (SHELL)
ADVANCE_CHAR (text, tlen, i);
#else
i++;
#endif
start = i;
}
return (result);
@@ -623,7 +637,11 @@ brace_gobbler (text, tlen, indx, satisfy)
if (pass_next)
{
pass_next = 0;
#if defined (SHELL)
ADVANCE_CHAR (text, tlen, i);
#else
i++;
#endif
continue;
}
@@ -657,7 +675,11 @@ brace_gobbler (text, tlen, indx, satisfy)
if (quoted == '"' && c == '$' && text[i+1] == '(') /*)*/
goto comsub;
#endif
#if defined (SHELL)
ADVANCE_CHAR (text, tlen, i);
#else
i++;
#endif
continue;
}
@@ -710,7 +732,11 @@ comsub:
commas++;
#endif
#if defined (SHELL)
ADVANCE_CHAR (text, tlen, i);
#else
i++;
#endif
}
*indx = i;
@@ -789,20 +815,29 @@ array_concat (arr1, arr2)
#if defined (TEST)
#include <stdio.h>
fatal_error (format, arg1, arg2)
char *format, *arg1, *arg2;
void *
xmalloc(n)
size_t n;
{
report_error (format, arg1, arg2);
exit (1);
return (malloc (n));
}
report_error (format, arg1, arg2)
void *
xrealloc(p, n)
void *p;
size_t n;
{
return (realloc (p, n));
}
int
internal_error (format, arg1, arg2)
char *format, *arg1, *arg2;
{
fprintf (stderr, format, arg1, arg2);
fprintf (stderr, "\n");
}
main ()
{
char example[256];
@@ -826,7 +861,7 @@ main ()
for (i = 0; result[i]; i++)
printf ("%s\n", result[i]);
free_array (result);
strvec_dispose (result);
}
}
+1 -1
View File
@@ -357,8 +357,8 @@ declare_internal (list, local_var)
#endif
}
#if defined (ARRAY_VARS)
restart_new_var_name:
#if defined (ARRAY_VARS)
var_exists = array_exists = creating_array = 0;
compound_array_assign = simple_array_assign = 0;
array_subscript_assignment = 0;
Vendored
+14 -13
View File
@@ -1,7 +1,7 @@
#! /bin/sh
# From configure.ac for Bash 4.4, version 4.080.
# From configure.ac for Bash 4.4, version 4.081.
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for bash 4.4-rc2.
# Generated by GNU Autoconf 2.69 for bash 4.4-releng.
#
# Report bugs to <bug-bash@gnu.org>.
#
@@ -581,8 +581,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bash'
PACKAGE_TARNAME='bash'
PACKAGE_VERSION='4.4-rc2'
PACKAGE_STRING='bash 4.4-rc2'
PACKAGE_VERSION='4.4-releng'
PACKAGE_STRING='bash 4.4-releng'
PACKAGE_BUGREPORT='bug-bash@gnu.org'
PACKAGE_URL=''
@@ -1393,7 +1393,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.4-rc2 to adapt to many kinds of systems.
\`configure' configures bash 4.4-releng to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1458,7 +1458,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of bash 4.4-rc2:";;
short | recursive ) echo "Configuration of bash 4.4-releng:";;
esac
cat <<\_ACEOF
@@ -1651,7 +1651,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
bash configure 4.4-rc2
bash configure 4.4-releng
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2360,7 +2360,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.4-rc2, which was
It was created by bash $as_me 4.4-releng, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
@@ -2754,10 +2754,10 @@ ac_config_headers="$ac_config_headers config.h"
BASHVERS=4.4
RELSTATUS=rc2
RELSTATUS=releng
case "$RELSTATUS" in
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
*) DEBUG= MALLOC_DEBUG= ;;
esac
@@ -4916,7 +4916,8 @@ CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
# turn off paren warnings in gcc
if test "$GCC" = yes && test -n "$DEBUG"; then
if test "$GCC" = yes # && test -n "$DEBUG"
then
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
fi
@@ -16704,7 +16705,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=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.4-rc2, which was
This file was extended by bash $as_me 4.4-releng, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16770,7 +16771,7 @@ _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
bash config.status 4.4-rc2
bash config.status 4.4-releng
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
+5 -4
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.4, version 4.080])dnl
AC_REVISION([for Bash 4.4, version 4.081])dnl
define(bashvers, 4.4)
define(relstatus, rc2)
define(relstatus, releng)
AC_INIT([bash], bashvers-relstatus, [bug-bash@gnu.org])
@@ -42,7 +42,7 @@ RELSTATUS=relstatus
dnl defaults for debug settings
case "$RELSTATUS" in
alp*|bet*|dev*|rc*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
alp*|bet*|dev*|rc*|releng*|maint*) DEBUG='-DDEBUG' MALLOC_DEBUG='-DMALLOC_DEBUG' ;;
*) DEBUG= MALLOC_DEBUG= ;;
esac
@@ -462,7 +462,8 @@ CFLAGS=${CFLAGS-"$AUTO_CFLAGS"}
# LDFLAGS=${LDFLAGS="$AUTO_LDFLAGS"} # XXX
# turn off paren warnings in gcc
if test "$GCC" = yes && test -n "$DEBUG"; then
if test "$GCC" = yes # && test -n "$DEBUG"
then
CFLAGS="$CFLAGS -Wno-parentheses -Wno-format-security"
fi
+1556 -1553
View File
File diff suppressed because it is too large Load Diff
+6 -2
View File
@@ -5,12 +5,12 @@
.\" Case Western Reserve University
.\" chet.ramey@case.edu
.\"
.\" Last Change: Sun Aug 21 14:47:11 EDT 2016
.\" Last Change: Fri Aug 26 09:45:10 EDT 2016
.\"
.\" bash_builtins, strip all but Built-Ins section
.if \n(zZ=1 .ig zZ
.if \n(zY=1 .ig zY
.TH BASH 1 "2016 August 21" "GNU Bash 4.4"
.TH BASH 1 "2016 August 26" "GNU Bash 4.4"
.\"
.\" There's some problem with having a `@'
.\" in a tagged paragraph with the BSD man macros.
@@ -2681,6 +2681,10 @@ This is performed at the
same time as tilde, parameter, variable, and arithmetic expansion and
command substitution.
.PP
After these expansions are performed, quote characters present in the
original word are removed unless they have been quoted themselves
(\fIquote removal\fP).
.PP
Only brace expansion, word splitting, and pathname expansion
can change the number of words of the expansion; other expansions
expand a single word to a single word.
+8 -3
View File
@@ -3,7 +3,7 @@
</HEAD>
<BODY><TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2016 May 29<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>BASH(1)<TH ALIGN=CENTER width=33%>2016 August 21<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<BR><A HREF="#index">Index</A>
@@ -5533,6 +5533,11 @@ Conditional expressions are used by the <B>[[</B> compound command and
the <B>test</B> and <B>[</B> builtin commands to test file attributes
and perform string and arithmetic comparisons.
Expressions are formed from the following unary or binary primaries.
<B>Bash</B> handles several filenames specially when they are used in
expressions.
If the operating system on which <B>bash</B> is running provides these
special files, bash will use them; otherwise it will emulate them
internally with this behavior:
If any <I>file</I> argument to one of the primaries is of the form
<I>/dev/fd/n</I>, then file descriptor <I>n</I> is checked.
If the <I>file</I> argument to one of the primaries is one of
@@ -13519,7 +13524,7 @@ There may be only one active coprocess at a time.
<HR>
<TABLE WIDTH=100%>
<TR>
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2016 May 29<TH ALIGN=RIGHT width=33%>BASH(1)
<TH ALIGN=LEFT width=33%>GNU Bash 4.4<TH ALIGN=CENTER width=33%>2016 August 21<TH ALIGN=RIGHT width=33%>BASH(1)
</TR>
</TABLE>
<HR>
@@ -13625,6 +13630,6 @@ There may be only one active coprocess at a time.
</DL>
<HR>
This document was created by man2html from bash.1.<BR>
Time: 14 July 2016 11:48:02 EDT
Time: 22 August 2016 09:44:22 EDT
</BODY>
</HTML>
+141 -138
View File
@@ -2,9 +2,9 @@ This is bash.info, produced by makeinfo version 6.1 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 29 May 2016).
Bash shell (version 4.4, 21 August 2016).
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 29 May 2016). The Bash home page is
Bash shell (version 4.4, 21 August 2016). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Bash contains features that appear in other popular shells, and some
@@ -5749,11 +5749,14 @@ Conditional expressions are used by the '[[' compound command and the
Expressions may be unary or binary. Unary expressions are often used
to examine the status of a file. There are string operators and numeric
comparison operators as well. If the FILE argument to one of the
primaries is of the form '/dev/fd/N', then file descriptor N is checked.
If the FILE argument to one of the primaries is one of '/dev/stdin',
'/dev/stdout', or '/dev/stderr', file descriptor 0, 1, or 2,
respectively, is checked.
comparison operators as well. Bash handles several filenames specially
when they are used in expressions. If the operating system on which
Bash is running provides these special files, Bash will use them;
otherwise it will emulate them internally with this behavior: If the
FILE argument to one of the primaries is of the form '/dev/fd/N', then
file descriptor N is checked. If the FILE argument to one of the
primaries is one of '/dev/stdin', '/dev/stdout', or '/dev/stderr', file
descriptor 0, 1, or 2, respectively, is checked.
When used with '[[', the '<' and '>' operators sort lexicographically
using the current locale. The 'test' command uses ASCII ordering.
@@ -11337,134 +11340,134 @@ D.5 Concept Index

Tag Table:
Node: Top887
Node: Introduction2797
Node: What is Bash?3013
Node: What is a shell?4127
Node: Definitions6665
Node: Basic Shell Features9616
Node: Shell Syntax10835
Node: Shell Operation11861
Node: Quoting13154
Node: Escape Character14454
Node: Single Quotes14939
Node: Double Quotes15287
Node: ANSI-C Quoting16565
Node: Locale Translation17818
Node: Comments18714
Node: Shell Commands19332
Node: Simple Commands20204
Node: Pipelines20835
Node: Lists23578
Node: Compound Commands25307
Node: Looping Constructs26310
Node: Conditional Constructs28773
Node: Command Grouping39695
Node: Coprocesses41174
Node: GNU Parallel43006
Node: Shell Functions46979
Node: Shell Parameters52185
Node: Positional Parameters56598
Node: Special Parameters57498
Node: Shell Expansions60835
Node: Brace Expansion62772
Node: Tilde Expansion65553
Node: Shell Parameter Expansion67901
Node: Command Substitution82033
Node: Arithmetic Expansion83388
Node: Process Substitution84320
Node: Word Splitting85440
Node: Filename Expansion87384
Node: Pattern Matching89668
Node: Quote Removal93366
Node: Redirections93661
Node: Executing Commands103081
Node: Simple Command Expansion103751
Node: Command Search and Execution105681
Node: Command Execution Environment108017
Node: Environment111001
Node: Exit Status112660
Node: Signals114330
Node: Shell Scripts116297
Node: Shell Builtin Commands118812
Node: Bourne Shell Builtins120846
Node: Bash Builtins141446
Node: Modifying Shell Behavior170091
Node: The Set Builtin170436
Node: The Shopt Builtin180849
Node: Special Builtins196648
Node: Shell Variables197627
Node: Bourne Shell Variables198064
Node: Bash Variables200095
Node: Bash Features228475
Node: Invoking Bash229374
Node: Bash Startup Files235323
Node: Interactive Shells240426
Node: What is an Interactive Shell?240836
Node: Is this Shell Interactive?241485
Node: Interactive Shell Behavior242300
Node: Bash Conditional Expressions245675
Node: Shell Arithmetic249676
Node: Aliases252493
Node: Arrays255041
Node: The Directory Stack260125
Node: Directory Stack Builtins260909
Node: Controlling the Prompt263877
Node: The Restricted Shell266623
Node: Bash POSIX Mode268448
Node: Job Control278501
Node: Job Control Basics278961
Node: Job Control Builtins283680
Node: Job Control Variables288210
Node: Command Line Editing289366
Node: Introduction and Notation291037
Node: Readline Interaction292660
Node: Readline Bare Essentials293851
Node: Readline Movement Commands295634
Node: Readline Killing Commands296594
Node: Readline Arguments298512
Node: Searching299556
Node: Readline Init File301742
Node: Readline Init File Syntax302889
Node: Conditional Init Constructs323076
Node: Sample Init File325601
Node: Bindable Readline Commands328718
Node: Commands For Moving329922
Node: Commands For History331065
Node: Commands For Text335354
Node: Commands For Killing338743
Node: Numeric Arguments341224
Node: Commands For Completion342363
Node: Keyboard Macros346554
Node: Miscellaneous Commands347241
Node: Readline vi Mode353045
Node: Programmable Completion353952
Node: Programmable Completion Builtins361413
Node: A Programmable Completion Example371299
Node: Using History Interactively376551
Node: Bash History Facilities377235
Node: Bash History Builtins380236
Node: History Interaction384233
Node: Event Designators387197
Node: Word Designators388416
Node: Modifiers390053
Node: Installing Bash391455
Node: Basic Installation392592
Node: Compilers and Options395283
Node: Compiling For Multiple Architectures396024
Node: Installation Names397687
Node: Specifying the System Type398505
Node: Sharing Defaults399221
Node: Operation Controls399894
Node: Optional Features400852
Node: Reporting Bugs411109
Node: Major Differences From The Bourne Shell412303
Node: GNU Free Documentation License429155
Node: Indexes454332
Node: Builtin Index454786
Node: Reserved Word Index461613
Node: Variable Index464061
Node: Function Index479520
Node: Concept Index492677
Node: Top893
Node: Introduction2809
Node: What is Bash?3025
Node: What is a shell?4139
Node: Definitions6677
Node: Basic Shell Features9628
Node: Shell Syntax10847
Node: Shell Operation11873
Node: Quoting13166
Node: Escape Character14466
Node: Single Quotes14951
Node: Double Quotes15299
Node: ANSI-C Quoting16577
Node: Locale Translation17830
Node: Comments18726
Node: Shell Commands19344
Node: Simple Commands20216
Node: Pipelines20847
Node: Lists23590
Node: Compound Commands25319
Node: Looping Constructs26322
Node: Conditional Constructs28785
Node: Command Grouping39707
Node: Coprocesses41186
Node: GNU Parallel43018
Node: Shell Functions46991
Node: Shell Parameters52197
Node: Positional Parameters56610
Node: Special Parameters57510
Node: Shell Expansions60847
Node: Brace Expansion62784
Node: Tilde Expansion65565
Node: Shell Parameter Expansion67913
Node: Command Substitution82045
Node: Arithmetic Expansion83400
Node: Process Substitution84332
Node: Word Splitting85452
Node: Filename Expansion87396
Node: Pattern Matching89680
Node: Quote Removal93378
Node: Redirections93673
Node: Executing Commands103093
Node: Simple Command Expansion103763
Node: Command Search and Execution105693
Node: Command Execution Environment108029
Node: Environment111013
Node: Exit Status112672
Node: Signals114342
Node: Shell Scripts116309
Node: Shell Builtin Commands118824
Node: Bourne Shell Builtins120858
Node: Bash Builtins141458
Node: Modifying Shell Behavior170103
Node: The Set Builtin170448
Node: The Shopt Builtin180861
Node: Special Builtins196660
Node: Shell Variables197639
Node: Bourne Shell Variables198076
Node: Bash Variables200107
Node: Bash Features228487
Node: Invoking Bash229386
Node: Bash Startup Files235335
Node: Interactive Shells240438
Node: What is an Interactive Shell?240848
Node: Is this Shell Interactive?241497
Node: Interactive Shell Behavior242312
Node: Bash Conditional Expressions245687
Node: Shell Arithmetic249927
Node: Aliases252744
Node: Arrays255292
Node: The Directory Stack260376
Node: Directory Stack Builtins261160
Node: Controlling the Prompt264128
Node: The Restricted Shell266874
Node: Bash POSIX Mode268699
Node: Job Control278752
Node: Job Control Basics279212
Node: Job Control Builtins283931
Node: Job Control Variables288461
Node: Command Line Editing289617
Node: Introduction and Notation291288
Node: Readline Interaction292911
Node: Readline Bare Essentials294102
Node: Readline Movement Commands295885
Node: Readline Killing Commands296845
Node: Readline Arguments298763
Node: Searching299807
Node: Readline Init File301993
Node: Readline Init File Syntax303140
Node: Conditional Init Constructs323327
Node: Sample Init File325852
Node: Bindable Readline Commands328969
Node: Commands For Moving330173
Node: Commands For History331316
Node: Commands For Text335605
Node: Commands For Killing338994
Node: Numeric Arguments341475
Node: Commands For Completion342614
Node: Keyboard Macros346805
Node: Miscellaneous Commands347492
Node: Readline vi Mode353296
Node: Programmable Completion354203
Node: Programmable Completion Builtins361664
Node: A Programmable Completion Example371550
Node: Using History Interactively376802
Node: Bash History Facilities377486
Node: Bash History Builtins380487
Node: History Interaction384484
Node: Event Designators387448
Node: Word Designators388667
Node: Modifiers390304
Node: Installing Bash391706
Node: Basic Installation392843
Node: Compilers and Options395534
Node: Compiling For Multiple Architectures396275
Node: Installation Names397938
Node: Specifying the System Type398756
Node: Sharing Defaults399472
Node: Operation Controls400145
Node: Optional Features401103
Node: Reporting Bugs411360
Node: Major Differences From The Bourne Shell412554
Node: GNU Free Documentation License429406
Node: Indexes454583
Node: Builtin Index455037
Node: Reserved Word Index461864
Node: Variable Index464312
Node: Function Index479771
Node: Concept Index492928

End Tag Table
BIN
View File
Binary file not shown.
+688 -678
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -207,9 +207,9 @@
@xrdef{Arrays-pg}{90}
@xrdef{The Directory Stack-title}{The Directory Stack}
@xrdef{The Directory Stack-snt}{Section@tie 6.8}
@xrdef{The Directory Stack-pg}{91}
@xrdef{Directory Stack Builtins-title}{Directory Stack Builtins}
@xrdef{Directory Stack Builtins-snt}{Section@tie 6.8.1}
@xrdef{The Directory Stack-pg}{92}
@xrdef{Directory Stack Builtins-pg}{92}
@xrdef{Controlling the Prompt-title}{Controlling the Prompt}
@xrdef{Controlling the Prompt-snt}{Section@tie 6.9}
+1 -1
View File
@@ -85,7 +85,7 @@
\entry{arithmetic evaluation}{88}{arithmetic evaluation}
\entry{alias expansion}{89}{alias expansion}
\entry{arrays}{90}{arrays}
\entry{directory stack}{91}{directory stack}
\entry{directory stack}{92}{directory stack}
\entry{prompting}{93}{prompting}
\entry{restricted shell}{94}{restricted shell}
\entry{POSIX Mode}{95}{POSIX Mode}
+1 -1
View File
@@ -33,7 +33,7 @@
\entry {control operator}{3}
\entry {coprocess}{15}
\initial {D}
\entry {directory stack}{91}
\entry {directory stack}{92}
\initial {E}
\entry {editing command lines}{104}
\entry {environment}{38}
BIN
View File
Binary file not shown.
+9 -4
View File
@@ -1,9 +1,9 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This text is a brief description of the features that are present in
the Bash shell (version 4.4, 29 May 2016).
the Bash shell (version 4.4, 21 August 2016).
This is Edition 4.4, last updated 29 May 2016,
This is Edition 4.4, last updated 21 August 2016,
of The GNU Bash Reference Manual,
for Bash, Version 4.4.
@@ -284,10 +284,10 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Previou
<h1 class="top">Bash Features</h1>
<p>This text is a brief description of the features that are present in
the Bash shell (version 4.4, 29 May 2016).
the Bash shell (version 4.4, 21 August 2016).
The Bash home page is <a href="http://www.gnu.org/software/bash/">http://www.gnu.org/software/bash/</a>.
</p>
<p>This is Edition 4.4, last updated 29 May 2016,
<p>This is Edition 4.4, last updated 21 August 2016,
of <cite>The GNU Bash Reference Manual</cite>,
for <code>Bash</code>, Version 4.4.
</p>
@@ -7902,6 +7902,11 @@ and the <code>test</code> and <code>[</code> builtin commands.
<p>Expressions may be unary or binary.
Unary expressions are often used to examine the status of a file.
There are string operators and numeric comparison operators as well.
Bash handles several filenames specially when they are used in
expressions.
If the operating system on which Bash is running provides these
special files, Bash will use them; otherwise it will emulate them
internally with this behavior:
If the <var>file</var> argument to one of the primaries is of the form
<samp>/dev/fd/<var>N</var></samp>, then file descriptor <var>N</var> is checked.
If the <var>file</var> argument to one of the primaries is one of
+141 -138
View File
@@ -2,9 +2,9 @@ This is bashref.info, produced by makeinfo version 6.1 from
bashref.texi.
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 29 May 2016).
Bash shell (version 4.4, 21 August 2016).
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@@ -27,10 +27,10 @@ Bash Features
*************
This text is a brief description of the features that are present in the
Bash shell (version 4.4, 29 May 2016). The Bash home page is
Bash shell (version 4.4, 21 August 2016). The Bash home page is
<http://www.gnu.org/software/bash/>.
This is Edition 4.4, last updated 29 May 2016, of 'The GNU Bash
This is Edition 4.4, last updated 21 August 2016, of 'The GNU Bash
Reference Manual', for 'Bash', Version 4.4.
Bash contains features that appear in other popular shells, and some
@@ -5749,11 +5749,14 @@ Conditional expressions are used by the '[[' compound command and the
Expressions may be unary or binary. Unary expressions are often used
to examine the status of a file. There are string operators and numeric
comparison operators as well. If the FILE argument to one of the
primaries is of the form '/dev/fd/N', then file descriptor N is checked.
If the FILE argument to one of the primaries is one of '/dev/stdin',
'/dev/stdout', or '/dev/stderr', file descriptor 0, 1, or 2,
respectively, is checked.
comparison operators as well. Bash handles several filenames specially
when they are used in expressions. If the operating system on which
Bash is running provides these special files, Bash will use them;
otherwise it will emulate them internally with this behavior: If the
FILE argument to one of the primaries is of the form '/dev/fd/N', then
file descriptor N is checked. If the FILE argument to one of the
primaries is one of '/dev/stdin', '/dev/stdout', or '/dev/stderr', file
descriptor 0, 1, or 2, respectively, is checked.
When used with '[[', the '<' and '>' operators sort lexicographically
using the current locale. The 'test' command uses ASCII ordering.
@@ -11337,134 +11340,134 @@ D.5 Concept Index

Tag Table:
Node: Top887
Node: Introduction2797
Node: What is Bash?3013
Node: What is a shell?4127
Node: Definitions6665
Node: Basic Shell Features9616
Node: Shell Syntax10835
Node: Shell Operation11861
Node: Quoting13154
Node: Escape Character14454
Node: Single Quotes14939
Node: Double Quotes15287
Node: ANSI-C Quoting16565
Node: Locale Translation17818
Node: Comments18714
Node: Shell Commands19332
Node: Simple Commands20204
Node: Pipelines20835
Node: Lists23578
Node: Compound Commands25307
Node: Looping Constructs26310
Node: Conditional Constructs28773
Node: Command Grouping39695
Node: Coprocesses41174
Node: GNU Parallel43006
Node: Shell Functions46979
Node: Shell Parameters52185
Node: Positional Parameters56598
Node: Special Parameters57498
Node: Shell Expansions60835
Node: Brace Expansion62772
Node: Tilde Expansion65553
Node: Shell Parameter Expansion67901
Node: Command Substitution82033
Node: Arithmetic Expansion83388
Node: Process Substitution84320
Node: Word Splitting85440
Node: Filename Expansion87384
Node: Pattern Matching89668
Node: Quote Removal93366
Node: Redirections93661
Node: Executing Commands103081
Node: Simple Command Expansion103751
Node: Command Search and Execution105681
Node: Command Execution Environment108017
Node: Environment111001
Node: Exit Status112660
Node: Signals114330
Node: Shell Scripts116297
Node: Shell Builtin Commands118812
Node: Bourne Shell Builtins120846
Node: Bash Builtins141446
Node: Modifying Shell Behavior170091
Node: The Set Builtin170436
Node: The Shopt Builtin180849
Node: Special Builtins196648
Node: Shell Variables197627
Node: Bourne Shell Variables198064
Node: Bash Variables200095
Node: Bash Features228475
Node: Invoking Bash229374
Node: Bash Startup Files235323
Node: Interactive Shells240426
Node: What is an Interactive Shell?240836
Node: Is this Shell Interactive?241485
Node: Interactive Shell Behavior242300
Node: Bash Conditional Expressions245675
Node: Shell Arithmetic249676
Node: Aliases252493
Node: Arrays255041
Node: The Directory Stack260125
Node: Directory Stack Builtins260909
Node: Controlling the Prompt263877
Node: The Restricted Shell266623
Node: Bash POSIX Mode268448
Node: Job Control278501
Node: Job Control Basics278961
Node: Job Control Builtins283680
Node: Job Control Variables288210
Node: Command Line Editing289366
Node: Introduction and Notation291037
Node: Readline Interaction292660
Node: Readline Bare Essentials293851
Node: Readline Movement Commands295634
Node: Readline Killing Commands296594
Node: Readline Arguments298512
Node: Searching299556
Node: Readline Init File301742
Node: Readline Init File Syntax302889
Node: Conditional Init Constructs323076
Node: Sample Init File325601
Node: Bindable Readline Commands328718
Node: Commands For Moving329922
Node: Commands For History331065
Node: Commands For Text335354
Node: Commands For Killing338743
Node: Numeric Arguments341224
Node: Commands For Completion342363
Node: Keyboard Macros346554
Node: Miscellaneous Commands347241
Node: Readline vi Mode353045
Node: Programmable Completion353952
Node: Programmable Completion Builtins361413
Node: A Programmable Completion Example371299
Node: Using History Interactively376551
Node: Bash History Facilities377235
Node: Bash History Builtins380236
Node: History Interaction384233
Node: Event Designators387197
Node: Word Designators388416
Node: Modifiers390053
Node: Installing Bash391455
Node: Basic Installation392592
Node: Compilers and Options395283
Node: Compiling For Multiple Architectures396024
Node: Installation Names397687
Node: Specifying the System Type398505
Node: Sharing Defaults399221
Node: Operation Controls399894
Node: Optional Features400852
Node: Reporting Bugs411109
Node: Major Differences From The Bourne Shell412303
Node: GNU Free Documentation License429155
Node: Indexes454332
Node: Builtin Index454786
Node: Reserved Word Index461613
Node: Variable Index464061
Node: Function Index479520
Node: Concept Index492677
Node: Top893
Node: Introduction2809
Node: What is Bash?3025
Node: What is a shell?4139
Node: Definitions6677
Node: Basic Shell Features9628
Node: Shell Syntax10847
Node: Shell Operation11873
Node: Quoting13166
Node: Escape Character14466
Node: Single Quotes14951
Node: Double Quotes15299
Node: ANSI-C Quoting16577
Node: Locale Translation17830
Node: Comments18726
Node: Shell Commands19344
Node: Simple Commands20216
Node: Pipelines20847
Node: Lists23590
Node: Compound Commands25319
Node: Looping Constructs26322
Node: Conditional Constructs28785
Node: Command Grouping39707
Node: Coprocesses41186
Node: GNU Parallel43018
Node: Shell Functions46991
Node: Shell Parameters52197
Node: Positional Parameters56610
Node: Special Parameters57510
Node: Shell Expansions60847
Node: Brace Expansion62784
Node: Tilde Expansion65565
Node: Shell Parameter Expansion67913
Node: Command Substitution82045
Node: Arithmetic Expansion83400
Node: Process Substitution84332
Node: Word Splitting85452
Node: Filename Expansion87396
Node: Pattern Matching89680
Node: Quote Removal93378
Node: Redirections93673
Node: Executing Commands103093
Node: Simple Command Expansion103763
Node: Command Search and Execution105693
Node: Command Execution Environment108029
Node: Environment111013
Node: Exit Status112672
Node: Signals114342
Node: Shell Scripts116309
Node: Shell Builtin Commands118824
Node: Bourne Shell Builtins120858
Node: Bash Builtins141458
Node: Modifying Shell Behavior170103
Node: The Set Builtin170448
Node: The Shopt Builtin180861
Node: Special Builtins196660
Node: Shell Variables197639
Node: Bourne Shell Variables198076
Node: Bash Variables200107
Node: Bash Features228487
Node: Invoking Bash229386
Node: Bash Startup Files235335
Node: Interactive Shells240438
Node: What is an Interactive Shell?240848
Node: Is this Shell Interactive?241497
Node: Interactive Shell Behavior242312
Node: Bash Conditional Expressions245687
Node: Shell Arithmetic249927
Node: Aliases252744
Node: Arrays255292
Node: The Directory Stack260376
Node: Directory Stack Builtins261160
Node: Controlling the Prompt264128
Node: The Restricted Shell266874
Node: Bash POSIX Mode268699
Node: Job Control278752
Node: Job Control Basics279212
Node: Job Control Builtins283931
Node: Job Control Variables288461
Node: Command Line Editing289617
Node: Introduction and Notation291288
Node: Readline Interaction292911
Node: Readline Bare Essentials294102
Node: Readline Movement Commands295885
Node: Readline Killing Commands296845
Node: Readline Arguments298763
Node: Searching299807
Node: Readline Init File301993
Node: Readline Init File Syntax303140
Node: Conditional Init Constructs323327
Node: Sample Init File325852
Node: Bindable Readline Commands328969
Node: Commands For Moving330173
Node: Commands For History331316
Node: Commands For Text335605
Node: Commands For Killing338994
Node: Numeric Arguments341475
Node: Commands For Completion342614
Node: Keyboard Macros346805
Node: Miscellaneous Commands347492
Node: Readline vi Mode353296
Node: Programmable Completion354203
Node: Programmable Completion Builtins361664
Node: A Programmable Completion Example371550
Node: Using History Interactively376802
Node: Bash History Facilities377486
Node: Bash History Builtins380487
Node: History Interaction384484
Node: Event Designators387448
Node: Word Designators388667
Node: Modifiers390304
Node: Installing Bash391706
Node: Basic Installation392843
Node: Compilers and Options395534
Node: Compiling For Multiple Architectures396275
Node: Installation Names397938
Node: Specifying the System Type398756
Node: Sharing Defaults399472
Node: Operation Controls400145
Node: Optional Features401103
Node: Reporting Bugs411360
Node: Major Differences From The Bourne Shell412554
Node: GNU Free Documentation License429406
Node: Indexes454583
Node: Builtin Index455037
Node: Reserved Word Index461864
Node: Variable Index464312
Node: Function Index479771
Node: Concept Index492928

End Tag Table
+3 -3
View File
@@ -1,4 +1,4 @@
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_0) (preloaded format=pdfetex 2016.7.6) 14 JUL 2016 11:48
This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016/MacPorts 2016_0) (preloaded format=pdfetex 2016.7.6) 22 AUG 2016 09:44
entering extended mode
restricted \write18 enabled.
file:line:error style messages enabled.
@@ -390,7 +390,7 @@ texinfo.tex: doing @include of fdl.texi
Here is how much of TeX's memory you used:
4059 strings out of 497105
47054 string characters out of 6206776
136588 words of memory out of 5000000
136594 words of memory out of 5000000
4846 multiletter control sequences out of 15000+600000
34315 words of font info for 116 fonts, out of 8000000 for 9000
51 hyphenation exceptions out of 8191
@@ -412,7 +412,7 @@ fonts/type1/public/amsfonts/cm/cmti10.pfb></opt/local/share/texmf-texlive/fonts
lic/amsfonts/cm/cmtt9.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm
-super/sfrm1095.pfb></opt/local/share/texmf-texlive/fonts/type1/public/cm-super
/sfrm1440.pfb>
Output written on bashref.pdf (177 pages, 733442 bytes).
Output written on bashref.pdf (177 pages, 733716 bytes).
PDF statistics:
2573 PDF objects out of 2984 (max. 8388607)
2351 compressed objects within 24 object streams
BIN
View File
Binary file not shown.
+616 -611
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -1703,6 +1703,10 @@ This is performed at the
same time as tilde, parameter, variable, and arithmetic expansion and
command substitution.
After these expansions are performed, quote characters present in the
original word are removed unless they have been quoted themselves
(@var{quote removal}).
Only brace expansion, word splitting, and filename expansion
can change the number of words of the expansion; other expansions
expand a single word to a single word.
+1 -1
View File
@@ -77,7 +77,7 @@
@numsecentry{Shell Arithmetic}{6.5}{Shell Arithmetic}{88}
@numsecentry{Aliases}{6.6}{Aliases}{89}
@numsecentry{Arrays}{6.7}{Arrays}{90}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{91}
@numsecentry{The Directory Stack}{6.8}{The Directory Stack}{92}
@numsubsecentry{Directory Stack Builtins}{6.8.1}{Directory Stack Builtins}{92}
@numsecentry{Controlling the Prompt}{6.9}{Controlling the Prompt}{93}
@numsecentry{The Restricted Shell}{6.10}{The Restricted Shell}{94}
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Thu Jul 14 11:47:50 2016
%%CreationDate: Mon Aug 22 09:44:00 2016
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%+ font Times-Italic
+1 -1
View File
@@ -1,6 +1,6 @@
%!PS-Adobe-3.0
%%Creator: groff version 1.22.3
%%CreationDate: Thu Jul 14 11:47:50 2016
%%CreationDate: Mon Aug 22 09:44:00 2016
%%DocumentNeededResources: font Times-Roman
%%+ font Times-Bold
%%DocumentSuppliedResources: procset grops 1.22 3
+2 -2
View File
@@ -2,10 +2,10 @@
Copyright (C) 1988-2016 Free Software Foundation, Inc.
@end ignore
@set LASTCHANGE Sun Aug 21 14:48:56 EDT 2016
@set LASTCHANGE Fri Aug 26 09:44:56 EDT 2016
@set EDITION 4.4
@set VERSION 4.4
@set UPDATED 21 August 2016
@set UPDATED 26 August 2016
@set UPDATED-MONTH August 2016
+3 -3
View File
@@ -4722,11 +4722,11 @@ execute_function (var, words, flags, fds_to_close, async, subshell)
#if defined (ARRAY_VARS)
fa = (struct func_array_state *)xmalloc (sizeof (struct func_array_state));
fa->source_a = bash_source_a;
fa->source_a = (ARRAY *)bash_source_a;
fa->source_v = bash_source_v;
fa->lineno_a = bash_lineno_a;
fa->lineno_a = (ARRAY *)bash_lineno_a;
fa->lineno_v = bash_lineno_v;
fa->funcname_a = funcname_a;
fa->funcname_a = (ARRAY *)funcname_a;
fa->funcname_v = funcname_v;
if (subshell == 0)
add_unwind_protect (restore_funcarray_state, fa);
+9
View File
@@ -75,6 +75,10 @@
#include "builtins/builtext.h"
#include "builtins/common.h"
#if defined (READLINE)
# include <readline/readline.h>
#endif
#if !defined (errno)
extern int errno;
#endif /* !errno */
@@ -2834,6 +2838,11 @@ if (job == NO_JOB)
get_new_window_size (0, (int *)0, (int *)0);
}
else
#if defined (READLINE)
/* We don't want to do this if we are running a process during
programmable completion. */
if (RL_ISSTATE (RL_STATE_COMPLETING) == 0)
#endif
get_tty_state ();
/* If job control is enabled, the job was started with job
+8
View File
@@ -567,10 +567,18 @@ handle_error:
if (errno != EINTR)
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
/* fatal signals of interest */
#if defined (SIGHUP)
else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
#else
else if (_rl_caught_signal == SIGTERM)
#endif
return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
/* keyboard-generated signals of interest */
#if defined (SIGQUIT)
else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
#else
else if (_rl_caught_signal == SIGINT)
#endif
RL_CHECK_SIGNALS ();
/* non-keyboard-generated signals of interest */
else if (_rl_caught_signal == SIGWINCH)
+8
View File
@@ -235,7 +235,9 @@ _rl_handle_signal (sig)
case SIGTTOU:
#endif /* SIGTSTP */
case SIGTERM:
#if defined (SIGHUP)
case SIGHUP:
#endif
#if defined (SIGALRM)
case SIGALRM:
#endif
@@ -415,7 +417,9 @@ rl_set_signals ()
sigaddset (&bset, SIGINT);
sigaddset (&bset, SIGTERM);
#if defined (SIGHUP)
sigaddset (&bset, SIGHUP);
#endif
#if defined (SIGQUIT)
sigaddset (&bset, SIGQUIT);
#endif
@@ -444,7 +448,9 @@ rl_set_signals ()
rl_maybe_set_sighandler (SIGINT, rl_signal_handler, &old_int);
rl_maybe_set_sighandler (SIGTERM, rl_signal_handler, &old_term);
#if defined (SIGHUP)
rl_maybe_set_sighandler (SIGHUP, rl_signal_handler, &old_hup);
#endif
#if defined (SIGQUIT)
rl_maybe_set_sighandler (SIGQUIT, rl_signal_handler, &old_quit);
#endif
@@ -509,7 +515,9 @@ rl_clear_signals ()
overhead */
rl_maybe_restore_sighandler (SIGINT, &old_int);
rl_maybe_restore_sighandler (SIGTERM, &old_term);
#if defined (SIGHUP)
rl_maybe_restore_sighandler (SIGHUP, &old_hup);
#endif
#if defined (SIGQUIT)
rl_maybe_restore_sighandler (SIGQUIT, &old_quit);
#endif
+18 -3
View File
@@ -75,12 +75,27 @@
#define INT_MAX (~0 - INT_MIN)
#endif
/* True if the arithmetic type T is signed. */
#define TYPE_SIGNED(t) (! ((t) 0 < (t) -1))
/* The maximum and minimum values for the integer type T. These
macros have undefined behavior if T is signed and has padding bits.
If this is a problem for you, please let us know how to fix it for
your host. */
#define TYPE_MINIMUM(t) \
((t) (! TYPE_SIGNED (t) \
? (t) 0 \
: ~ TYPE_MAXIMUM (t)))
#define TYPE_MAXIMUM(t) \
((t) (! TYPE_SIGNED (t) \
? (t) -1 \
: ((((t) 1 << (sizeof (t) * CHAR_BIT - 2)) - 1) * 2 + 1)))
#ifndef TIME_T_MIN
#define TIME_T_MIN (0 < (time_t) -1 ? (time_t) 0 \
: ~ (time_t) 0 << (sizeof (time_t) * CHAR_BIT - 1))
# define TIME_T_MIN TYPE_MINIMUM (time_t)
#endif
#ifndef TIME_T_MAX
#define TIME_T_MAX (~ (time_t) 0 - TIME_T_MIN)
# define TIME_T_MAX TYPE_MAXIMUM (time_t)
#endif
#define TM_YEAR_BASE 1900
+45 -2
View File
@@ -2254,7 +2254,10 @@ split_at_delims (string, slen, delims, sentinel, flags, nwp, cwp)
for (i = 0; member (string[i], d) && spctabnl (string[i]); i++)
;
if (string[i] == '\0')
return (ret);
{
FREE (d2);
return (ret);
}
ts = i;
nw = 0;
@@ -4443,14 +4446,36 @@ match_upattern (string, pat, mtype, sp, ep)
len = STRLEN (pat);
if (pat[0] != '*' || (pat[0] == '*' && pat[1] == LPAREN && extended_glob) || pat[len - 1] != '*')
{
int unescaped_backslash;
char *pp;
p = npat = (char *)xmalloc (len + 3);
p1 = pat;
if (*p1 != '*' || (*p1 == '*' && p1[1] == LPAREN && extended_glob))
*p++ = '*';
while (*p1)
*p++ = *p1++;
if (p1[-1] != '*' || p[-2] == '\\')
#if 1
/* Need to also handle a pattern that ends with an unescaped backslash.
For right now, we ignore it because the pattern matching code will
fail the match anyway */
/* If the pattern ends with a `*' we leave it alone if it's preceded by
an even number of backslashes, but if it's escaped by a backslash
we need to add another `*'. */
if (p1[-1] == '*' && (unescaped_backslash = p1[-2] == '\\'))
{
pp = p1 - 3;
while (pp >= pat && *pp-- == '\\')
unescaped_backslash = 1 - unescaped_backslash;
if (unescaped_backslash)
*p++ = '*';
}
else if (p1[-1] != '*')
*p++ = '*';
#else
if (p1[-1] != '*' || p1[-2] == '\\')
*p++ = '*';
#endif
*p = '\0';
}
else
@@ -4584,14 +4609,31 @@ match_wpattern (wstring, indices, wstrlen, wpat, mtype, sp, ep)
len = wcslen (wpat);
if (wpat[0] != L'*' || (wpat[0] == L'*' && wpat[1] == WLPAREN && extended_glob) || wpat[len - 1] != L'*')
{
int unescaped_backslash;
wchar_t *wpp;
wp = nwpat = (wchar_t *)xmalloc ((len + 3) * sizeof (wchar_t));
wp1 = wpat;
if (*wp1 != L'*' || (*wp1 == '*' && wp1[1] == WLPAREN && extended_glob))
*wp++ = L'*';
while (*wp1 != L'\0')
*wp++ = *wp1++;
#if 1
/* See comments above in match_upattern. */
if (wp1[-1] == L'*' && (unescaped_backslash = wp1[-2] == L'\\'))
{
wpp = wp1 - 3;
while (wpp >= wpat && *wpp-- == L'\\')
unescaped_backslash = 1 - unescaped_backslash;
if (unescaped_backslash)
*wp++ = L'*';
}
else if (wp1[-1] != L'*')
*wp++ = L'*';
#else
if (wp1[-1] != L'*' || wp1[-2] == L'\\')
*wp++ = L'*';
#endif
*wp = '\0';
}
else
@@ -7399,6 +7441,7 @@ pat_subst (string, pat, rep, mflags)
mstr[x] = s[x];
mstr[mlen] = '\0';
rstr = strcreplace (rep, '&', mstr, 0);
free (mstr);
rslen = strlen (rstr);
}
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
-1
View File
@@ -1,4 +1,3 @@
#!/local/bin/bash
#Time-stamp: <95/06/07 07:40:40 hrue@imf.unit.no>
getop () {
+3 -3
View File
@@ -1,6 +1,6 @@
/* xmalloc.c -- safe versions of malloc and realloc */
/* Copyright (C) 1991-2009 Free Software Foundation, Inc.
/* Copyright (C) 1991-2016 Free Software Foundation, Inc.
This file is part of GNU Bash, the GNU Bourne Again SHell.
@@ -61,7 +61,7 @@ static size_t allocated;
/* */
/* **************************************************************** */
#if defined (HAVE_SBRK)
#if defined (HAVE_SBRK) && defined (USING_BASH_MALLOC)
#define FINDBRK() \
do { \
if (brkfound == 0) \
@@ -86,7 +86,7 @@ allocerr (func, bytes)
const char *func;
size_t bytes;
{
#if defined (HAVE_SBRK)
#if defined (HAVE_SBRK) && defined (USING_BASH_MALLOC)
allocated = findbrk ();
fatal_error (_("%s: cannot allocate %lu bytes (%lu bytes allocated)"), func, (unsigned long)bytes, (unsigned long)allocated);
#else